diff --git a/404.html b/404.html index 45b46ff3..9f2358b7 100644 --- a/404.html +++ b/404.html @@ -17,7 +17,7 @@
- + \ No newline at end of file diff --git a/GLOSSARY_OF_TERMS.html b/GLOSSARY_OF_TERMS.html index 57ac1c95..65d730de 100644 --- a/GLOSSARY_OF_TERMS.html +++ b/GLOSSARY_OF_TERMS.html @@ -13,14 +13,14 @@ - + -
Skip to content

术语中英对照表

译者在翻译时使用了一些尚未统一的中文术语译词,统一罗列如下:

Rust 术语

术语中文翻译
Build构建
crate包,项目(需基于上下文来区分)
feature特性
lifetime生命周期
panic恐慌
Range<_>范围
struct结构体
Vec动态数组
workspace⼯作空间(指在⼀个根包(crate)下包含了多个⼦包(crate)的项目)

WebGPU 术语

术语中文翻译
Buffer缓冲区
BindGroup绑定组
Device逻辑设备(区别于物理设备)
Fragment片元
Frame
Frame Buffer帧缓冲区
Instance Buffer实例缓冲区
wgpu::InstanceGPU 实例(简称为:实例)
PresentMode呈现模式
Queue命令队列
Sample采样
Sampler采样器
Slot插槽
Staging Buffer中继缓冲区
Surface展示平面(区别于 Canvas 画布,服务于帧画面的呈现)
Texture纹理
TextureView纹理视图
Texel纹素
Uniform Buffer统一缓冲区
Vec2, Vec3, Vec4向量
Vertex顶点

其它术语

术语中文翻译
Camera虚拟摄像机(简称为:摄像机,相机)
Controller控制器
Instancing实例化绘制
Mapping映射
Matrice矩阵
Material材质
Mesh网格
Normal法向量(又称为:法线)
Object绘制对象,对象
Quaternion四元数
View视图
VSync垂直同步
- +
Skip to content

术语中英对照表

译者在翻译时使用了一些尚未统一的中文术语译词,统一罗列如下:

Rust 术语

术语中文翻译
Build构建
crate包,项目(需基于上下文来区分)
feature特性
lifetime生命周期
panic恐慌
Range<_>范围
struct结构体
Vec动态数组
workspace⼯作空间(指在⼀个根包(crate)下包含了多个⼦包(crate)的项目)

WebGPU 术语

术语中文翻译
Buffer缓冲区
BindGroup绑定组
Device逻辑设备(区别于物理设备)
Fragment片元
Frame
Frame Buffer帧缓冲区
Instance Buffer实例缓冲区
wgpu::InstanceGPU 实例(简称为:实例)
PresentMode呈现模式
Queue命令队列
Sample采样
Sampler采样器
Slot插槽
Staging Buffer中继缓冲区
Surface展示平面(区别于 Canvas 画布,服务于帧画面的呈现)
Texture纹理
TextureView纹理视图
Texel纹素
Uniform Buffer统一缓冲区
Vec2, Vec3, Vec4向量
Vertex顶点

其它术语

术语中文翻译
Camera虚拟摄像机(简称为:摄像机,相机)
Controller控制器
Instancing实例化绘制
Mapping映射
Matrice矩阵
Material材质
Mesh网格
Normal法向量(又称为:法线)
Object绘制对象,对象
Quaternion四元数
View视图
VSync垂直同步
+ \ No newline at end of file diff --git a/assets/GLOSSARY_OF_TERMS.md.C1LKv77e.js b/assets/GLOSSARY_OF_TERMS.md.Btqh71Le.js similarity index 98% rename from assets/GLOSSARY_OF_TERMS.md.C1LKv77e.js rename to assets/GLOSSARY_OF_TERMS.md.Btqh71Le.js index cb9e0655..2f6139a9 100644 --- a/assets/GLOSSARY_OF_TERMS.md.C1LKv77e.js +++ b/assets/GLOSSARY_OF_TERMS.md.Btqh71Le.js @@ -1 +1 @@ -import{_ as d,c as r,a1 as e,o as a}from"./chunks/framework.C82C2wD0.js";const b=JSON.parse('{"title":"术语中英对照表","description":"","frontmatter":{},"headers":[],"relativePath":"GLOSSARY_OF_TERMS.md","filePath":"GLOSSARY_OF_TERMS.md","lastUpdated":1732966628000}'),n={name:"GLOSSARY_OF_TERMS.md"};function o(i,t,l,h,c,s){return a(),r("div",null,t[0]||(t[0]=[e('

术语中英对照表

译者在翻译时使用了一些尚未统一的中文术语译词,统一罗列如下:

Rust 术语

术语中文翻译
Build构建
crate包,项目(需基于上下文来区分)
feature特性
lifetime生命周期
panic恐慌
Range<_>范围
struct结构体
Vec动态数组
workspace⼯作空间(指在⼀个根包(crate)下包含了多个⼦包(crate)的项目)

WebGPU 术语

术语中文翻译
Buffer缓冲区
BindGroup绑定组
Device逻辑设备(区别于物理设备)
Fragment片元
Frame
Frame Buffer帧缓冲区
Instance Buffer实例缓冲区
wgpu::InstanceGPU 实例(简称为:实例)
PresentMode呈现模式
Queue命令队列
Sample采样
Sampler采样器
Slot插槽
Staging Buffer中继缓冲区
Surface展示平面(区别于 Canvas 画布,服务于帧画面的呈现)
Texture纹理
TextureView纹理视图
Texel纹素
Uniform Buffer统一缓冲区
Vec2, Vec3, Vec4向量
Vertex顶点

其它术语

术语中文翻译
Camera虚拟摄像机(简称为:摄像机,相机)
Controller控制器
Instancing实例化绘制
Mapping映射
Matrice矩阵
Material材质
Mesh网格
Normal法向量(又称为:法线)
Object绘制对象,对象
Quaternion四元数
View视图
VSync垂直同步
',8)]))}const f=d(n,[["render",o]]);export{b as __pageData,f as default}; +import{_ as d,c as r,a1 as e,o as a}from"./chunks/framework.C82C2wD0.js";const b=JSON.parse('{"title":"术语中英对照表","description":"","frontmatter":{},"headers":[],"relativePath":"GLOSSARY_OF_TERMS.md","filePath":"GLOSSARY_OF_TERMS.md","lastUpdated":1733013181000}'),n={name:"GLOSSARY_OF_TERMS.md"};function o(i,t,l,h,c,s){return a(),r("div",null,t[0]||(t[0]=[e('

术语中英对照表

译者在翻译时使用了一些尚未统一的中文术语译词,统一罗列如下:

Rust 术语

术语中文翻译
Build构建
crate包,项目(需基于上下文来区分)
feature特性
lifetime生命周期
panic恐慌
Range<_>范围
struct结构体
Vec动态数组
workspace⼯作空间(指在⼀个根包(crate)下包含了多个⼦包(crate)的项目)

WebGPU 术语

术语中文翻译
Buffer缓冲区
BindGroup绑定组
Device逻辑设备(区别于物理设备)
Fragment片元
Frame
Frame Buffer帧缓冲区
Instance Buffer实例缓冲区
wgpu::InstanceGPU 实例(简称为:实例)
PresentMode呈现模式
Queue命令队列
Sample采样
Sampler采样器
Slot插槽
Staging Buffer中继缓冲区
Surface展示平面(区别于 Canvas 画布,服务于帧画面的呈现)
Texture纹理
TextureView纹理视图
Texel纹素
Uniform Buffer统一缓冲区
Vec2, Vec3, Vec4向量
Vertex顶点

其它术语

术语中文翻译
Camera虚拟摄像机(简称为:摄像机,相机)
Controller控制器
Instancing实例化绘制
Mapping映射
Matrice矩阵
Material材质
Mesh网格
Normal法向量(又称为:法线)
Object绘制对象,对象
Quaternion四元数
View视图
VSync垂直同步
',8)]))}const f=d(n,[["render",o]]);export{b as __pageData,f as default}; diff --git a/assets/GLOSSARY_OF_TERMS.md.C1LKv77e.lean.js b/assets/GLOSSARY_OF_TERMS.md.Btqh71Le.lean.js similarity index 98% rename from assets/GLOSSARY_OF_TERMS.md.C1LKv77e.lean.js rename to assets/GLOSSARY_OF_TERMS.md.Btqh71Le.lean.js index cb9e0655..2f6139a9 100644 --- a/assets/GLOSSARY_OF_TERMS.md.C1LKv77e.lean.js +++ b/assets/GLOSSARY_OF_TERMS.md.Btqh71Le.lean.js @@ -1 +1 @@ -import{_ as d,c as r,a1 as e,o as a}from"./chunks/framework.C82C2wD0.js";const b=JSON.parse('{"title":"术语中英对照表","description":"","frontmatter":{},"headers":[],"relativePath":"GLOSSARY_OF_TERMS.md","filePath":"GLOSSARY_OF_TERMS.md","lastUpdated":1732966628000}'),n={name:"GLOSSARY_OF_TERMS.md"};function o(i,t,l,h,c,s){return a(),r("div",null,t[0]||(t[0]=[e('

术语中英对照表

译者在翻译时使用了一些尚未统一的中文术语译词,统一罗列如下:

Rust 术语

术语中文翻译
Build构建
crate包,项目(需基于上下文来区分)
feature特性
lifetime生命周期
panic恐慌
Range<_>范围
struct结构体
Vec动态数组
workspace⼯作空间(指在⼀个根包(crate)下包含了多个⼦包(crate)的项目)

WebGPU 术语

术语中文翻译
Buffer缓冲区
BindGroup绑定组
Device逻辑设备(区别于物理设备)
Fragment片元
Frame
Frame Buffer帧缓冲区
Instance Buffer实例缓冲区
wgpu::InstanceGPU 实例(简称为:实例)
PresentMode呈现模式
Queue命令队列
Sample采样
Sampler采样器
Slot插槽
Staging Buffer中继缓冲区
Surface展示平面(区别于 Canvas 画布,服务于帧画面的呈现)
Texture纹理
TextureView纹理视图
Texel纹素
Uniform Buffer统一缓冲区
Vec2, Vec3, Vec4向量
Vertex顶点

其它术语

术语中文翻译
Camera虚拟摄像机(简称为:摄像机,相机)
Controller控制器
Instancing实例化绘制
Mapping映射
Matrice矩阵
Material材质
Mesh网格
Normal法向量(又称为:法线)
Object绘制对象,对象
Quaternion四元数
View视图
VSync垂直同步
',8)]))}const f=d(n,[["render",o]]);export{b as __pageData,f as default}; +import{_ as d,c as r,a1 as e,o as a}from"./chunks/framework.C82C2wD0.js";const b=JSON.parse('{"title":"术语中英对照表","description":"","frontmatter":{},"headers":[],"relativePath":"GLOSSARY_OF_TERMS.md","filePath":"GLOSSARY_OF_TERMS.md","lastUpdated":1733013181000}'),n={name:"GLOSSARY_OF_TERMS.md"};function o(i,t,l,h,c,s){return a(),r("div",null,t[0]||(t[0]=[e('

术语中英对照表

译者在翻译时使用了一些尚未统一的中文术语译词,统一罗列如下:

Rust 术语

术语中文翻译
Build构建
crate包,项目(需基于上下文来区分)
feature特性
lifetime生命周期
panic恐慌
Range<_>范围
struct结构体
Vec动态数组
workspace⼯作空间(指在⼀个根包(crate)下包含了多个⼦包(crate)的项目)

WebGPU 术语

术语中文翻译
Buffer缓冲区
BindGroup绑定组
Device逻辑设备(区别于物理设备)
Fragment片元
Frame
Frame Buffer帧缓冲区
Instance Buffer实例缓冲区
wgpu::InstanceGPU 实例(简称为:实例)
PresentMode呈现模式
Queue命令队列
Sample采样
Sampler采样器
Slot插槽
Staging Buffer中继缓冲区
Surface展示平面(区别于 Canvas 画布,服务于帧画面的呈现)
Texture纹理
TextureView纹理视图
Texel纹素
Uniform Buffer统一缓冲区
Vec2, Vec3, Vec4向量
Vertex顶点

其它术语

术语中文翻译
Camera虚拟摄像机(简称为:摄像机,相机)
Controller控制器
Instancing实例化绘制
Mapping映射
Matrice矩阵
Material材质
Mesh网格
Normal法向量(又称为:法线)
Object绘制对象,对象
Quaternion四元数
View视图
VSync垂直同步
',8)]))}const f=d(n,[["render",o]]);export{b as __pageData,f as default}; diff --git a/assets/beginner_tutorial1-window.md.C8ZI0hg5.js b/assets/beginner_tutorial1-window.md.B7zlm0Sv.js similarity index 99% rename from assets/beginner_tutorial1-window.md.C8ZI0hg5.js rename to assets/beginner_tutorial1-window.md.B7zlm0Sv.js index 8db4f714..0eb1ca62 100644 --- a/assets/beginner_tutorial1-window.md.C8ZI0hg5.js +++ b/assets/beginner_tutorial1-window.md.B7zlm0Sv.js @@ -1,4 +1,4 @@ -import{_ as p,c as h,a1 as t,G as i,B as a,o as k}from"./chunks/framework.C82C2wD0.js";const F=JSON.parse('{"title":"依赖与窗口","description":"","frontmatter":{},"headers":[],"relativePath":"beginner/tutorial1-window.md","filePath":"beginner/tutorial1-window.md","lastUpdated":1732966628000}'),e={name:"beginner/tutorial1-window.md"};function r(d,s,E,g,y,c){const n=a("WasmExample"),l=a("AutoGithubLink");return k(),h("div",null,[s[0]||(s[0]=t(`

依赖与窗口

部分读者可能已经熟悉如何在 Rust 中打开窗口程序,且有自己偏好的窗口管理库。但本教程是为所有人设计的,所以不免要涉及这部分的内容。所幸你可以跳过这部分,但有一点值得了解,即无论使用什么样的窗口解决方案,都需要实现 raw-window-handle 里定义的 HasWindowHandleHasDisplayHandle 两个抽象接口。如果有兴趣自己动手来为 wgpu 实现一个基础的窗口,可以参考 wgpu-in-app与 Android App 集成这一章节也有详情的介绍。

我们要使用哪些包?

我将尽量保持基础部分的简单性。后续会逐渐添加依赖,先列出相关的 Cargo.toml 依赖项如下:

toml
[dependencies]
+import{_ as p,c as h,a1 as t,G as i,B as a,o as k}from"./chunks/framework.C82C2wD0.js";const F=JSON.parse('{"title":"依赖与窗口","description":"","frontmatter":{},"headers":[],"relativePath":"beginner/tutorial1-window.md","filePath":"beginner/tutorial1-window.md","lastUpdated":1733013181000}'),e={name:"beginner/tutorial1-window.md"};function r(d,s,E,g,y,c){const n=a("WasmExample"),l=a("AutoGithubLink");return k(),h("div",null,[s[0]||(s[0]=t(`

依赖与窗口

部分读者可能已经熟悉如何在 Rust 中打开窗口程序,且有自己偏好的窗口管理库。但本教程是为所有人设计的,所以不免要涉及这部分的内容。所幸你可以跳过这部分,但有一点值得了解,即无论使用什么样的窗口解决方案,都需要实现 raw-window-handle 里定义的 HasWindowHandleHasDisplayHandle 两个抽象接口。如果有兴趣自己动手来为 wgpu 实现一个基础的窗口,可以参考 wgpu-in-app与 Android App 集成这一章节也有详情的介绍。

我们要使用哪些包?

我将尽量保持基础部分的简单性。后续会逐渐添加依赖,先列出相关的 Cargo.toml 依赖项如下:

toml
[dependencies]
 env_logger = "0.11"
 log = "0.4"
 parking_lot = "0.12"
diff --git a/assets/beginner_tutorial1-window.md.C8ZI0hg5.lean.js b/assets/beginner_tutorial1-window.md.B7zlm0Sv.lean.js
similarity index 99%
rename from assets/beginner_tutorial1-window.md.C8ZI0hg5.lean.js
rename to assets/beginner_tutorial1-window.md.B7zlm0Sv.lean.js
index 8db4f714..0eb1ca62 100644
--- a/assets/beginner_tutorial1-window.md.C8ZI0hg5.lean.js
+++ b/assets/beginner_tutorial1-window.md.B7zlm0Sv.lean.js
@@ -1,4 +1,4 @@
-import{_ as p,c as h,a1 as t,G as i,B as a,o as k}from"./chunks/framework.C82C2wD0.js";const F=JSON.parse('{"title":"依赖与窗口","description":"","frontmatter":{},"headers":[],"relativePath":"beginner/tutorial1-window.md","filePath":"beginner/tutorial1-window.md","lastUpdated":1732966628000}'),e={name:"beginner/tutorial1-window.md"};function r(d,s,E,g,y,c){const n=a("WasmExample"),l=a("AutoGithubLink");return k(),h("div",null,[s[0]||(s[0]=t(`

依赖与窗口

部分读者可能已经熟悉如何在 Rust 中打开窗口程序,且有自己偏好的窗口管理库。但本教程是为所有人设计的,所以不免要涉及这部分的内容。所幸你可以跳过这部分,但有一点值得了解,即无论使用什么样的窗口解决方案,都需要实现 raw-window-handle 里定义的 HasWindowHandleHasDisplayHandle 两个抽象接口。如果有兴趣自己动手来为 wgpu 实现一个基础的窗口,可以参考 wgpu-in-app与 Android App 集成这一章节也有详情的介绍。

我们要使用哪些包?

我将尽量保持基础部分的简单性。后续会逐渐添加依赖,先列出相关的 Cargo.toml 依赖项如下:

toml
[dependencies]
+import{_ as p,c as h,a1 as t,G as i,B as a,o as k}from"./chunks/framework.C82C2wD0.js";const F=JSON.parse('{"title":"依赖与窗口","description":"","frontmatter":{},"headers":[],"relativePath":"beginner/tutorial1-window.md","filePath":"beginner/tutorial1-window.md","lastUpdated":1733013181000}'),e={name:"beginner/tutorial1-window.md"};function r(d,s,E,g,y,c){const n=a("WasmExample"),l=a("AutoGithubLink");return k(),h("div",null,[s[0]||(s[0]=t(`

依赖与窗口

部分读者可能已经熟悉如何在 Rust 中打开窗口程序,且有自己偏好的窗口管理库。但本教程是为所有人设计的,所以不免要涉及这部分的内容。所幸你可以跳过这部分,但有一点值得了解,即无论使用什么样的窗口解决方案,都需要实现 raw-window-handle 里定义的 HasWindowHandleHasDisplayHandle 两个抽象接口。如果有兴趣自己动手来为 wgpu 实现一个基础的窗口,可以参考 wgpu-in-app与 Android App 集成这一章节也有详情的介绍。

我们要使用哪些包?

我将尽量保持基础部分的简单性。后续会逐渐添加依赖,先列出相关的 Cargo.toml 依赖项如下:

toml
[dependencies]
 env_logger = "0.11"
 log = "0.4"
 parking_lot = "0.12"
diff --git a/assets/beginner_tutorial2-surface_index.md.ByWMdwf-.js b/assets/beginner_tutorial2-surface_index.md.CfKWAhfY.js
similarity index 99%
rename from assets/beginner_tutorial2-surface_index.md.ByWMdwf-.js
rename to assets/beginner_tutorial2-surface_index.md.CfKWAhfY.js
index aa43a8f7..7f876649 100644
--- a/assets/beginner_tutorial2-surface_index.md.ByWMdwf-.js
+++ b/assets/beginner_tutorial2-surface_index.md.CfKWAhfY.js
@@ -1,4 +1,4 @@
-import{_ as k,c as e,a1 as t,G as i,j as n,a as r,B as a,o as d}from"./chunks/framework.C82C2wD0.js";const E="/learn-wgpu-zh/assets/cleared-window.10li6dW0.png",g="/learn-wgpu-zh/assets/no-clear.K5Wk4781.png",D=JSON.parse('{"title":"展示平面 (Surface)","description":"","frontmatter":{},"headers":[],"relativePath":"beginner/tutorial2-surface/index.md","filePath":"beginner/tutorial2-surface/index.md","lastUpdated":1732966628000}'),y={name:"beginner/tutorial2-surface/index.md"};function c(F,s,o,u,b,m){const p=a("WasmExample"),l=a("AutoGithubLink"),h=a("JoinWeiChatGroup");return d(),e("div",null,[s[0]||(s[0]=t(`

展示平面 (Surface)

封装 WgpuApp

为方便起见,我们将所有字段封装在一个结构体内,并在其上添加一些函数:

rust
// lib.rs
+import{_ as k,c as e,a1 as t,G as i,j as n,a as r,B as a,o as d}from"./chunks/framework.C82C2wD0.js";const E="/learn-wgpu-zh/assets/cleared-window.10li6dW0.png",g="/learn-wgpu-zh/assets/no-clear.K5Wk4781.png",D=JSON.parse('{"title":"展示平面 (Surface)","description":"","frontmatter":{},"headers":[],"relativePath":"beginner/tutorial2-surface/index.md","filePath":"beginner/tutorial2-surface/index.md","lastUpdated":1733013181000}'),y={name:"beginner/tutorial2-surface/index.md"};function c(F,s,o,u,b,m){const p=a("WasmExample"),l=a("AutoGithubLink"),h=a("JoinWeiChatGroup");return d(),e("div",null,[s[0]||(s[0]=t(`

展示平面 (Surface)

封装 WgpuApp

为方便起见,我们将所有字段封装在一个结构体内,并在其上添加一些函数:

rust
// lib.rs
 use winit::window::Window;
 
 struct WgpuApp {
diff --git a/assets/beginner_tutorial2-surface_index.md.ByWMdwf-.lean.js b/assets/beginner_tutorial2-surface_index.md.CfKWAhfY.lean.js
similarity index 99%
rename from assets/beginner_tutorial2-surface_index.md.ByWMdwf-.lean.js
rename to assets/beginner_tutorial2-surface_index.md.CfKWAhfY.lean.js
index aa43a8f7..7f876649 100644
--- a/assets/beginner_tutorial2-surface_index.md.ByWMdwf-.lean.js
+++ b/assets/beginner_tutorial2-surface_index.md.CfKWAhfY.lean.js
@@ -1,4 +1,4 @@
-import{_ as k,c as e,a1 as t,G as i,j as n,a as r,B as a,o as d}from"./chunks/framework.C82C2wD0.js";const E="/learn-wgpu-zh/assets/cleared-window.10li6dW0.png",g="/learn-wgpu-zh/assets/no-clear.K5Wk4781.png",D=JSON.parse('{"title":"展示平面 (Surface)","description":"","frontmatter":{},"headers":[],"relativePath":"beginner/tutorial2-surface/index.md","filePath":"beginner/tutorial2-surface/index.md","lastUpdated":1732966628000}'),y={name:"beginner/tutorial2-surface/index.md"};function c(F,s,o,u,b,m){const p=a("WasmExample"),l=a("AutoGithubLink"),h=a("JoinWeiChatGroup");return d(),e("div",null,[s[0]||(s[0]=t(`

展示平面 (Surface)

封装 WgpuApp

为方便起见,我们将所有字段封装在一个结构体内,并在其上添加一些函数:

rust
// lib.rs
+import{_ as k,c as e,a1 as t,G as i,j as n,a as r,B as a,o as d}from"./chunks/framework.C82C2wD0.js";const E="/learn-wgpu-zh/assets/cleared-window.10li6dW0.png",g="/learn-wgpu-zh/assets/no-clear.K5Wk4781.png",D=JSON.parse('{"title":"展示平面 (Surface)","description":"","frontmatter":{},"headers":[],"relativePath":"beginner/tutorial2-surface/index.md","filePath":"beginner/tutorial2-surface/index.md","lastUpdated":1733013181000}'),y={name:"beginner/tutorial2-surface/index.md"};function c(F,s,o,u,b,m){const p=a("WasmExample"),l=a("AutoGithubLink"),h=a("JoinWeiChatGroup");return d(),e("div",null,[s[0]||(s[0]=t(`

展示平面 (Surface)

封装 WgpuApp

为方便起见,我们将所有字段封装在一个结构体内,并在其上添加一些函数:

rust
// lib.rs
 use winit::window::Window;
 
 struct WgpuApp {
diff --git a/assets/beginner_tutorial3-pipeline_index.md.DI_8qMbn.js b/assets/beginner_tutorial3-pipeline_index.md.gz4l2pcY.js
similarity index 99%
rename from assets/beginner_tutorial3-pipeline_index.md.DI_8qMbn.js
rename to assets/beginner_tutorial3-pipeline_index.md.gz4l2pcY.js
index 79ec9935..43c36d23 100644
--- a/assets/beginner_tutorial3-pipeline_index.md.DI_8qMbn.js
+++ b/assets/beginner_tutorial3-pipeline_index.md.gz4l2pcY.js
@@ -1,4 +1,4 @@
-import{_ as l,c as e,a1 as h,G as i,B as a,o as k}from"./chunks/framework.C82C2wD0.js";const t="/learn-wgpu-zh/assets/tutorial3-pipeline-vertices.Cmi0J73P.png",r="/learn-wgpu-zh/assets/tutorial3-pipeline-triangle.4hahlChO.png",b=JSON.parse('{"title":"管线 (Pipeline)","description":"","frontmatter":{},"headers":[],"relativePath":"beginner/tutorial3-pipeline/index.md","filePath":"beginner/tutorial3-pipeline/index.md","lastUpdated":1732966628000}'),d={name:"beginner/tutorial3-pipeline/index.md"};function E(g,s,c,y,o,F){const n=a("WasmExample"),p=a("AutoGithubLink");return k(),e("div",null,[s[0]||(s[0]=h('

管线 (Pipeline)

什么是管线?

管线ComputePipelineRenderPipeline)由一系列资源绑定、可编程阶段(着色器)设置及固定功能状态组成。它代表了由 GPU 硬件、驱动程序和用户代理组合而成的完整功能对象,描述了 GPU 将对一组数据执行的所有操作。在本节中,我们将具体创建一个渲染管线RenderPipeline)。

什么是着色器?

着色器(Shader)是你发送给 GPU 的微型程序,用于对数据进行操作。有三种主要类型的着色器:顶点(Vertex)、片元(Fragment)和计算(Compute)着色器。另外还有其他的如几何着色器,但它们属于进阶话题。现在,我们只需要使用顶点和片元着色器。

什么是顶点和片元?

顶点(Vertex)就是三维(或二维)空间中的一个点。这些顶点会两个一组以构成线段集合,或者三个一组以构成三角形集合。

Vertices Graphic

从简单的立方体到复杂的人体结构,大多数现代渲染系统都使用三角形来建模所有图形。这些三角形被存储为构成三角形角的顶点。

我们使用顶点着色器来操作顶点,以便按我们想要的样子做图形的变换。

然后顶点经过光栅化(rasterization)后流转到片元着色阶段,片元着色器决定了片元的颜色。渲染结果图像中的每个像素至少对应一个片元,每个片元可输出一个颜色,该颜色会被存储到其相应的像素上(准确的说,片元的输出是存储到 Color Attachment 的纹素上)。

WebGPU 着色器语言: WGSL

WGSL (WebGPU Shading Language) 是 WebGPU 的着色器语言。 WGSL 的开发重点是让它轻松转换为与后端对应的着色器语言;例如,Vulkan 的 SPIR-V、Metal 的 MSL、DX12 的 HLSL 和 OpenGL 的 GLSL。 这种转换是在内部完成的,我们不需要关心这些细节。 就 wgpu 而言,它是由名为 naga完成的。

WGSL 着色器语言 一章中,有对 WGSL 的由来及语法的更详细介绍。

WGSL 规范及其在 WGPU 中的应用仍在开发中。如果在使用中遇到问题,你或许希望 https://app.element.io/#/room/#wgpu:matrix.org 社区的人帮忙看一下你的代码。

编写着色器

main.rs 所在的目录中创建一个 shader.wgsl 文件。在其中写入以下代码:

rust
// 顶点着色器
+import{_ as l,c as e,a1 as h,G as i,B as a,o as k}from"./chunks/framework.C82C2wD0.js";const t="/learn-wgpu-zh/assets/tutorial3-pipeline-vertices.Cmi0J73P.png",r="/learn-wgpu-zh/assets/tutorial3-pipeline-triangle.4hahlChO.png",b=JSON.parse('{"title":"管线 (Pipeline)","description":"","frontmatter":{},"headers":[],"relativePath":"beginner/tutorial3-pipeline/index.md","filePath":"beginner/tutorial3-pipeline/index.md","lastUpdated":1733013181000}'),d={name:"beginner/tutorial3-pipeline/index.md"};function E(g,s,c,y,o,F){const n=a("WasmExample"),p=a("AutoGithubLink");return k(),e("div",null,[s[0]||(s[0]=h('

管线 (Pipeline)

什么是管线?

管线ComputePipelineRenderPipeline)由一系列资源绑定、可编程阶段(着色器)设置及固定功能状态组成。它代表了由 GPU 硬件、驱动程序和用户代理组合而成的完整功能对象,描述了 GPU 将对一组数据执行的所有操作。在本节中,我们将具体创建一个渲染管线RenderPipeline)。

什么是着色器?

着色器(Shader)是你发送给 GPU 的微型程序,用于对数据进行操作。有三种主要类型的着色器:顶点(Vertex)、片元(Fragment)和计算(Compute)着色器。另外还有其他的如几何着色器,但它们属于进阶话题。现在,我们只需要使用顶点和片元着色器。

什么是顶点和片元?

顶点(Vertex)就是三维(或二维)空间中的一个点。这些顶点会两个一组以构成线段集合,或者三个一组以构成三角形集合。

Vertices Graphic

从简单的立方体到复杂的人体结构,大多数现代渲染系统都使用三角形来建模所有图形。这些三角形被存储为构成三角形角的顶点。

我们使用顶点着色器来操作顶点,以便按我们想要的样子做图形的变换。

然后顶点经过光栅化(rasterization)后流转到片元着色阶段,片元着色器决定了片元的颜色。渲染结果图像中的每个像素至少对应一个片元,每个片元可输出一个颜色,该颜色会被存储到其相应的像素上(准确的说,片元的输出是存储到 Color Attachment 的纹素上)。

WebGPU 着色器语言: WGSL

WGSL (WebGPU Shading Language) 是 WebGPU 的着色器语言。 WGSL 的开发重点是让它轻松转换为与后端对应的着色器语言;例如,Vulkan 的 SPIR-V、Metal 的 MSL、DX12 的 HLSL 和 OpenGL 的 GLSL。 这种转换是在内部完成的,我们不需要关心这些细节。 就 wgpu 而言,它是由名为 naga完成的。

WGSL 着色器语言 一章中,有对 WGSL 的由来及语法的更详细介绍。

WGSL 规范及其在 WGPU 中的应用仍在开发中。如果在使用中遇到问题,你或许希望 https://app.element.io/#/room/#wgpu:matrix.org 社区的人帮忙看一下你的代码。

编写着色器

main.rs 所在的目录中创建一个 shader.wgsl 文件。在其中写入以下代码:

rust
// 顶点着色器
 
 struct VertexOutput {
     @builtin(position) clip_position: vec4f,
diff --git a/assets/beginner_tutorial3-pipeline_index.md.DI_8qMbn.lean.js b/assets/beginner_tutorial3-pipeline_index.md.gz4l2pcY.lean.js
similarity index 99%
rename from assets/beginner_tutorial3-pipeline_index.md.DI_8qMbn.lean.js
rename to assets/beginner_tutorial3-pipeline_index.md.gz4l2pcY.lean.js
index 79ec9935..43c36d23 100644
--- a/assets/beginner_tutorial3-pipeline_index.md.DI_8qMbn.lean.js
+++ b/assets/beginner_tutorial3-pipeline_index.md.gz4l2pcY.lean.js
@@ -1,4 +1,4 @@
-import{_ as l,c as e,a1 as h,G as i,B as a,o as k}from"./chunks/framework.C82C2wD0.js";const t="/learn-wgpu-zh/assets/tutorial3-pipeline-vertices.Cmi0J73P.png",r="/learn-wgpu-zh/assets/tutorial3-pipeline-triangle.4hahlChO.png",b=JSON.parse('{"title":"管线 (Pipeline)","description":"","frontmatter":{},"headers":[],"relativePath":"beginner/tutorial3-pipeline/index.md","filePath":"beginner/tutorial3-pipeline/index.md","lastUpdated":1732966628000}'),d={name:"beginner/tutorial3-pipeline/index.md"};function E(g,s,c,y,o,F){const n=a("WasmExample"),p=a("AutoGithubLink");return k(),e("div",null,[s[0]||(s[0]=h('

管线 (Pipeline)

什么是管线?

管线ComputePipelineRenderPipeline)由一系列资源绑定、可编程阶段(着色器)设置及固定功能状态组成。它代表了由 GPU 硬件、驱动程序和用户代理组合而成的完整功能对象,描述了 GPU 将对一组数据执行的所有操作。在本节中,我们将具体创建一个渲染管线RenderPipeline)。

什么是着色器?

着色器(Shader)是你发送给 GPU 的微型程序,用于对数据进行操作。有三种主要类型的着色器:顶点(Vertex)、片元(Fragment)和计算(Compute)着色器。另外还有其他的如几何着色器,但它们属于进阶话题。现在,我们只需要使用顶点和片元着色器。

什么是顶点和片元?

顶点(Vertex)就是三维(或二维)空间中的一个点。这些顶点会两个一组以构成线段集合,或者三个一组以构成三角形集合。

Vertices Graphic

从简单的立方体到复杂的人体结构,大多数现代渲染系统都使用三角形来建模所有图形。这些三角形被存储为构成三角形角的顶点。

我们使用顶点着色器来操作顶点,以便按我们想要的样子做图形的变换。

然后顶点经过光栅化(rasterization)后流转到片元着色阶段,片元着色器决定了片元的颜色。渲染结果图像中的每个像素至少对应一个片元,每个片元可输出一个颜色,该颜色会被存储到其相应的像素上(准确的说,片元的输出是存储到 Color Attachment 的纹素上)。

WebGPU 着色器语言: WGSL

WGSL (WebGPU Shading Language) 是 WebGPU 的着色器语言。 WGSL 的开发重点是让它轻松转换为与后端对应的着色器语言;例如,Vulkan 的 SPIR-V、Metal 的 MSL、DX12 的 HLSL 和 OpenGL 的 GLSL。 这种转换是在内部完成的,我们不需要关心这些细节。 就 wgpu 而言,它是由名为 naga完成的。

WGSL 着色器语言 一章中,有对 WGSL 的由来及语法的更详细介绍。

WGSL 规范及其在 WGPU 中的应用仍在开发中。如果在使用中遇到问题,你或许希望 https://app.element.io/#/room/#wgpu:matrix.org 社区的人帮忙看一下你的代码。

编写着色器

main.rs 所在的目录中创建一个 shader.wgsl 文件。在其中写入以下代码:

rust
// 顶点着色器
+import{_ as l,c as e,a1 as h,G as i,B as a,o as k}from"./chunks/framework.C82C2wD0.js";const t="/learn-wgpu-zh/assets/tutorial3-pipeline-vertices.Cmi0J73P.png",r="/learn-wgpu-zh/assets/tutorial3-pipeline-triangle.4hahlChO.png",b=JSON.parse('{"title":"管线 (Pipeline)","description":"","frontmatter":{},"headers":[],"relativePath":"beginner/tutorial3-pipeline/index.md","filePath":"beginner/tutorial3-pipeline/index.md","lastUpdated":1733013181000}'),d={name:"beginner/tutorial3-pipeline/index.md"};function E(g,s,c,y,o,F){const n=a("WasmExample"),p=a("AutoGithubLink");return k(),e("div",null,[s[0]||(s[0]=h('

管线 (Pipeline)

什么是管线?

管线ComputePipelineRenderPipeline)由一系列资源绑定、可编程阶段(着色器)设置及固定功能状态组成。它代表了由 GPU 硬件、驱动程序和用户代理组合而成的完整功能对象,描述了 GPU 将对一组数据执行的所有操作。在本节中,我们将具体创建一个渲染管线RenderPipeline)。

什么是着色器?

着色器(Shader)是你发送给 GPU 的微型程序,用于对数据进行操作。有三种主要类型的着色器:顶点(Vertex)、片元(Fragment)和计算(Compute)着色器。另外还有其他的如几何着色器,但它们属于进阶话题。现在,我们只需要使用顶点和片元着色器。

什么是顶点和片元?

顶点(Vertex)就是三维(或二维)空间中的一个点。这些顶点会两个一组以构成线段集合,或者三个一组以构成三角形集合。

Vertices Graphic

从简单的立方体到复杂的人体结构,大多数现代渲染系统都使用三角形来建模所有图形。这些三角形被存储为构成三角形角的顶点。

我们使用顶点着色器来操作顶点,以便按我们想要的样子做图形的变换。

然后顶点经过光栅化(rasterization)后流转到片元着色阶段,片元着色器决定了片元的颜色。渲染结果图像中的每个像素至少对应一个片元,每个片元可输出一个颜色,该颜色会被存储到其相应的像素上(准确的说,片元的输出是存储到 Color Attachment 的纹素上)。

WebGPU 着色器语言: WGSL

WGSL (WebGPU Shading Language) 是 WebGPU 的着色器语言。 WGSL 的开发重点是让它轻松转换为与后端对应的着色器语言;例如,Vulkan 的 SPIR-V、Metal 的 MSL、DX12 的 HLSL 和 OpenGL 的 GLSL。 这种转换是在内部完成的,我们不需要关心这些细节。 就 wgpu 而言,它是由名为 naga完成的。

WGSL 着色器语言 一章中,有对 WGSL 的由来及语法的更详细介绍。

WGSL 规范及其在 WGPU 中的应用仍在开发中。如果在使用中遇到问题,你或许希望 https://app.element.io/#/room/#wgpu:matrix.org 社区的人帮忙看一下你的代码。

编写着色器

main.rs 所在的目录中创建一个 shader.wgsl 文件。在其中写入以下代码:

rust
// 顶点着色器
 
 struct VertexOutput {
     @builtin(position) clip_position: vec4f,
diff --git a/assets/beginner_tutorial4-buffer_index.md.CBVcI70M.js b/assets/beginner_tutorial4-buffer_index.md.Cg7bRp8Q.js
similarity index 99%
rename from assets/beginner_tutorial4-buffer_index.md.CBVcI70M.js
rename to assets/beginner_tutorial4-buffer_index.md.Cg7bRp8Q.js
index 8bab4f48..a1fe3d70 100644
--- a/assets/beginner_tutorial4-buffer_index.md.CBVcI70M.js
+++ b/assets/beginner_tutorial4-buffer_index.md.Cg7bRp8Q.js
@@ -1,4 +1,4 @@
-import{_ as p,c as l,a1 as k,G as i,B as a,o as t}from"./chunks/framework.C82C2wD0.js";const e="/learn-wgpu-zh/assets/vb_desc._JhNKX2y.png",r="/learn-wgpu-zh/assets/triangle.CjxPy2bu.png",E="/learn-wgpu-zh/assets/pentagon.YuCXjeB2.png",d="/learn-wgpu-zh/assets/indexed-pentagon.CGRRDyy5.png",m=JSON.parse('{"title":"缓冲区与索引","description":"","frontmatter":{},"headers":[],"relativePath":"beginner/tutorial4-buffer/index.md","filePath":"beginner/tutorial4-buffer/index.md","lastUpdated":1732966628000}'),g={name:"beginner/tutorial4-buffer/index.md"};function y(F,s,c,o,u,b){const n=a("WasmExample"),h=a("AutoGithubLink");return t(),l("div",null,[s[0]||(s[0]=k(`

缓冲区与索引

终于要讨论它们了!

你可能已经厌倦了我老说 "我们会在讨论缓冲区的时候再详细介绍" 之类的话。现在终于到了谈论缓冲区的时候了,但首先...

什么是缓冲区?

缓冲区(Buffer)一个可用于 GPU 操作的内存块。缓冲区数据是以线性布局存储的,这意味着分配的每个字节都可以通过其从缓冲区开始的偏移量来寻址,但要根据操作的不同而有对齐限制。

缓冲区常用于存储结构体或数组等简单的数据,但也可以存储更复杂的数据,如树等图结构(只要所有节点都存储在一起,且不引用缓冲区以外的任何数据)。我们会经常用到缓冲区,所以让我们从最重要的两个开始:顶点缓冲区(Vertex Buffer)和索引缓冲区(Index Buffer)。

顶点缓冲区

之前我们是直接在顶点着色器中存储的顶点数据。这在学习的起始阶段很有效,但这不是长远之计,因为需要绘制的对象的类型会有不同的大小,且每当需要更新模型时就得重新编译着色器,这会大大减慢我们的程序。我们将改为使用顶点缓冲区来存储想要绘制的顶点数据。在此之前,需要创建一个新的结构体来描述顶点:

rust
// lib.rs
+import{_ as p,c as l,a1 as k,G as i,B as a,o as t}from"./chunks/framework.C82C2wD0.js";const e="/learn-wgpu-zh/assets/vb_desc._JhNKX2y.png",r="/learn-wgpu-zh/assets/triangle.CjxPy2bu.png",E="/learn-wgpu-zh/assets/pentagon.YuCXjeB2.png",d="/learn-wgpu-zh/assets/indexed-pentagon.CGRRDyy5.png",m=JSON.parse('{"title":"缓冲区与索引","description":"","frontmatter":{},"headers":[],"relativePath":"beginner/tutorial4-buffer/index.md","filePath":"beginner/tutorial4-buffer/index.md","lastUpdated":1733013181000}'),g={name:"beginner/tutorial4-buffer/index.md"};function y(F,s,c,o,u,b){const n=a("WasmExample"),h=a("AutoGithubLink");return t(),l("div",null,[s[0]||(s[0]=k(`

缓冲区与索引

终于要讨论它们了!

你可能已经厌倦了我老说 "我们会在讨论缓冲区的时候再详细介绍" 之类的话。现在终于到了谈论缓冲区的时候了,但首先...

什么是缓冲区?

缓冲区(Buffer)一个可用于 GPU 操作的内存块。缓冲区数据是以线性布局存储的,这意味着分配的每个字节都可以通过其从缓冲区开始的偏移量来寻址,但要根据操作的不同而有对齐限制。

缓冲区常用于存储结构体或数组等简单的数据,但也可以存储更复杂的数据,如树等图结构(只要所有节点都存储在一起,且不引用缓冲区以外的任何数据)。我们会经常用到缓冲区,所以让我们从最重要的两个开始:顶点缓冲区(Vertex Buffer)和索引缓冲区(Index Buffer)。

顶点缓冲区

之前我们是直接在顶点着色器中存储的顶点数据。这在学习的起始阶段很有效,但这不是长远之计,因为需要绘制的对象的类型会有不同的大小,且每当需要更新模型时就得重新编译着色器,这会大大减慢我们的程序。我们将改为使用顶点缓冲区来存储想要绘制的顶点数据。在此之前,需要创建一个新的结构体来描述顶点:

rust
// lib.rs
 #[repr(C)]
 #[derive(Copy, Clone, Debug)]
 struct Vertex {
diff --git a/assets/beginner_tutorial4-buffer_index.md.CBVcI70M.lean.js b/assets/beginner_tutorial4-buffer_index.md.Cg7bRp8Q.lean.js
similarity index 99%
rename from assets/beginner_tutorial4-buffer_index.md.CBVcI70M.lean.js
rename to assets/beginner_tutorial4-buffer_index.md.Cg7bRp8Q.lean.js
index 8bab4f48..a1fe3d70 100644
--- a/assets/beginner_tutorial4-buffer_index.md.CBVcI70M.lean.js
+++ b/assets/beginner_tutorial4-buffer_index.md.Cg7bRp8Q.lean.js
@@ -1,4 +1,4 @@
-import{_ as p,c as l,a1 as k,G as i,B as a,o as t}from"./chunks/framework.C82C2wD0.js";const e="/learn-wgpu-zh/assets/vb_desc._JhNKX2y.png",r="/learn-wgpu-zh/assets/triangle.CjxPy2bu.png",E="/learn-wgpu-zh/assets/pentagon.YuCXjeB2.png",d="/learn-wgpu-zh/assets/indexed-pentagon.CGRRDyy5.png",m=JSON.parse('{"title":"缓冲区与索引","description":"","frontmatter":{},"headers":[],"relativePath":"beginner/tutorial4-buffer/index.md","filePath":"beginner/tutorial4-buffer/index.md","lastUpdated":1732966628000}'),g={name:"beginner/tutorial4-buffer/index.md"};function y(F,s,c,o,u,b){const n=a("WasmExample"),h=a("AutoGithubLink");return t(),l("div",null,[s[0]||(s[0]=k(`

缓冲区与索引

终于要讨论它们了!

你可能已经厌倦了我老说 "我们会在讨论缓冲区的时候再详细介绍" 之类的话。现在终于到了谈论缓冲区的时候了,但首先...

什么是缓冲区?

缓冲区(Buffer)一个可用于 GPU 操作的内存块。缓冲区数据是以线性布局存储的,这意味着分配的每个字节都可以通过其从缓冲区开始的偏移量来寻址,但要根据操作的不同而有对齐限制。

缓冲区常用于存储结构体或数组等简单的数据,但也可以存储更复杂的数据,如树等图结构(只要所有节点都存储在一起,且不引用缓冲区以外的任何数据)。我们会经常用到缓冲区,所以让我们从最重要的两个开始:顶点缓冲区(Vertex Buffer)和索引缓冲区(Index Buffer)。

顶点缓冲区

之前我们是直接在顶点着色器中存储的顶点数据。这在学习的起始阶段很有效,但这不是长远之计,因为需要绘制的对象的类型会有不同的大小,且每当需要更新模型时就得重新编译着色器,这会大大减慢我们的程序。我们将改为使用顶点缓冲区来存储想要绘制的顶点数据。在此之前,需要创建一个新的结构体来描述顶点:

rust
// lib.rs
+import{_ as p,c as l,a1 as k,G as i,B as a,o as t}from"./chunks/framework.C82C2wD0.js";const e="/learn-wgpu-zh/assets/vb_desc._JhNKX2y.png",r="/learn-wgpu-zh/assets/triangle.CjxPy2bu.png",E="/learn-wgpu-zh/assets/pentagon.YuCXjeB2.png",d="/learn-wgpu-zh/assets/indexed-pentagon.CGRRDyy5.png",m=JSON.parse('{"title":"缓冲区与索引","description":"","frontmatter":{},"headers":[],"relativePath":"beginner/tutorial4-buffer/index.md","filePath":"beginner/tutorial4-buffer/index.md","lastUpdated":1733013181000}'),g={name:"beginner/tutorial4-buffer/index.md"};function y(F,s,c,o,u,b){const n=a("WasmExample"),h=a("AutoGithubLink");return t(),l("div",null,[s[0]||(s[0]=k(`

缓冲区与索引

终于要讨论它们了!

你可能已经厌倦了我老说 "我们会在讨论缓冲区的时候再详细介绍" 之类的话。现在终于到了谈论缓冲区的时候了,但首先...

什么是缓冲区?

缓冲区(Buffer)一个可用于 GPU 操作的内存块。缓冲区数据是以线性布局存储的,这意味着分配的每个字节都可以通过其从缓冲区开始的偏移量来寻址,但要根据操作的不同而有对齐限制。

缓冲区常用于存储结构体或数组等简单的数据,但也可以存储更复杂的数据,如树等图结构(只要所有节点都存储在一起,且不引用缓冲区以外的任何数据)。我们会经常用到缓冲区,所以让我们从最重要的两个开始:顶点缓冲区(Vertex Buffer)和索引缓冲区(Index Buffer)。

顶点缓冲区

之前我们是直接在顶点着色器中存储的顶点数据。这在学习的起始阶段很有效,但这不是长远之计,因为需要绘制的对象的类型会有不同的大小,且每当需要更新模型时就得重新编译着色器,这会大大减慢我们的程序。我们将改为使用顶点缓冲区来存储想要绘制的顶点数据。在此之前,需要创建一个新的结构体来描述顶点:

rust
// lib.rs
 #[repr(C)]
 #[derive(Copy, Clone, Debug)]
 struct Vertex {
diff --git a/assets/beginner_tutorial5-textures_index.md.D7BOSf3I.js b/assets/beginner_tutorial5-textures_index.md.H_E1oIHA.js
similarity index 99%
rename from assets/beginner_tutorial5-textures_index.md.D7BOSf3I.js
rename to assets/beginner_tutorial5-textures_index.md.H_E1oIHA.js
index 9e670dce..e5a4e20b 100644
--- a/assets/beginner_tutorial5-textures_index.md.D7BOSf3I.js
+++ b/assets/beginner_tutorial5-textures_index.md.H_E1oIHA.js
@@ -1,4 +1,4 @@
-import{_ as h,c as l,a1 as k,G as i,B as a,o as t}from"./chunks/framework.C82C2wD0.js";const e="/learn-wgpu-zh/assets/happy-tree.C0rRZfsX.png",r="/learn-wgpu-zh/assets/address_mode.CHohhQ7D.png",E="/learn-wgpu-zh/assets/upside-down.Cxjf2bzg.png",d="/learn-wgpu-zh/assets/happy-tree-uv-coords.DdC0O8hw.png",g="/learn-wgpu-zh/assets/rightside-up.DJRqzYex.png",D=JSON.parse('{"title":"纹理和绑定组","description":"","frontmatter":{},"headers":[],"relativePath":"beginner/tutorial5-textures/index.md","filePath":"beginner/tutorial5-textures/index.md","lastUpdated":1732966628000}'),y={name:"beginner/tutorial5-textures/index.md"};function F(c,s,u,b,o,m){const n=a("WasmExample"),p=a("AutoGithubLink");return t(),l("div",null,[s[0]||(s[0]=k('

纹理和绑定组

目前为止,我们一直在绘制简单的图形。当然可以只用三角形来做游戏,而试图绘制高精度的对象又会极大地限制能运行我们游戏的设备。不过,可以用 纹理 来解决此问题。

纹理(Textures)是叠加在三角形网格(Mesh)上的图像,使其看起来有丰富的细节。有多种类型的纹理,如法线贴图(Normal Maps,也就是法线纹理)、凹凸贴图(Bump Maps)、镜面贴图和漫反射贴图。下边将讨论漫反射贴图,简单来说也就是颜色纹理。

加载图像文件

要把一个图像映射到对象网格上,首先是需要有一个图像文件。就使用下边这棵快乐的小树吧:

一棵快乐的树

我们将使用 image 包 来加载这棵树。先把它添加到依赖项中:

toml
[dependencies.image]
+import{_ as h,c as l,a1 as k,G as i,B as a,o as t}from"./chunks/framework.C82C2wD0.js";const e="/learn-wgpu-zh/assets/happy-tree.C0rRZfsX.png",r="/learn-wgpu-zh/assets/address_mode.CHohhQ7D.png",E="/learn-wgpu-zh/assets/upside-down.Cxjf2bzg.png",d="/learn-wgpu-zh/assets/happy-tree-uv-coords.DdC0O8hw.png",g="/learn-wgpu-zh/assets/rightside-up.DJRqzYex.png",D=JSON.parse('{"title":"纹理和绑定组","description":"","frontmatter":{},"headers":[],"relativePath":"beginner/tutorial5-textures/index.md","filePath":"beginner/tutorial5-textures/index.md","lastUpdated":1733013181000}'),y={name:"beginner/tutorial5-textures/index.md"};function F(c,s,u,b,o,m){const n=a("WasmExample"),p=a("AutoGithubLink");return t(),l("div",null,[s[0]||(s[0]=k('

纹理和绑定组

目前为止,我们一直在绘制简单的图形。当然可以只用三角形来做游戏,而试图绘制高精度的对象又会极大地限制能运行我们游戏的设备。不过,可以用 纹理 来解决此问题。

纹理(Textures)是叠加在三角形网格(Mesh)上的图像,使其看起来有丰富的细节。有多种类型的纹理,如法线贴图(Normal Maps,也就是法线纹理)、凹凸贴图(Bump Maps)、镜面贴图和漫反射贴图。下边将讨论漫反射贴图,简单来说也就是颜色纹理。

加载图像文件

要把一个图像映射到对象网格上,首先是需要有一个图像文件。就使用下边这棵快乐的小树吧:

一棵快乐的树

我们将使用 image 包 来加载这棵树。先把它添加到依赖项中:

toml
[dependencies.image]
 version = "0.24"
 default-features = false
 features = ["png", "jpeg"]

image 包含的 jpeg 解码器使用 rayon 来加速线程的解码速度。WASM 目前不支持线程,所以我们需要禁用这一特性,这样代码在尝试加载网络上的 jpeg 时就不会崩溃。

在 WASM 中解码 jpeg 性能不高。如果你想在 WASM 中加快图像加载速度,可以选择使用浏览器的内置解码器来替换 wasm-bindgen 构建时使用 的 image。这涉及到在 Rust 中创建一个 <img> 标记来获取图像,然后创建一个 <canvas> 来获取像素数据,我把这留作读者的练习。

WgpuAppnew() 函数中,于 AppSurface::new(window).await 之后添加以下代码:

rust
let app = AppSurface::new(window).await;
diff --git a/assets/beginner_tutorial5-textures_index.md.D7BOSf3I.lean.js b/assets/beginner_tutorial5-textures_index.md.H_E1oIHA.lean.js
similarity index 99%
rename from assets/beginner_tutorial5-textures_index.md.D7BOSf3I.lean.js
rename to assets/beginner_tutorial5-textures_index.md.H_E1oIHA.lean.js
index 9e670dce..e5a4e20b 100644
--- a/assets/beginner_tutorial5-textures_index.md.D7BOSf3I.lean.js
+++ b/assets/beginner_tutorial5-textures_index.md.H_E1oIHA.lean.js
@@ -1,4 +1,4 @@
-import{_ as h,c as l,a1 as k,G as i,B as a,o as t}from"./chunks/framework.C82C2wD0.js";const e="/learn-wgpu-zh/assets/happy-tree.C0rRZfsX.png",r="/learn-wgpu-zh/assets/address_mode.CHohhQ7D.png",E="/learn-wgpu-zh/assets/upside-down.Cxjf2bzg.png",d="/learn-wgpu-zh/assets/happy-tree-uv-coords.DdC0O8hw.png",g="/learn-wgpu-zh/assets/rightside-up.DJRqzYex.png",D=JSON.parse('{"title":"纹理和绑定组","description":"","frontmatter":{},"headers":[],"relativePath":"beginner/tutorial5-textures/index.md","filePath":"beginner/tutorial5-textures/index.md","lastUpdated":1732966628000}'),y={name:"beginner/tutorial5-textures/index.md"};function F(c,s,u,b,o,m){const n=a("WasmExample"),p=a("AutoGithubLink");return t(),l("div",null,[s[0]||(s[0]=k('

纹理和绑定组

目前为止,我们一直在绘制简单的图形。当然可以只用三角形来做游戏,而试图绘制高精度的对象又会极大地限制能运行我们游戏的设备。不过,可以用 纹理 来解决此问题。

纹理(Textures)是叠加在三角形网格(Mesh)上的图像,使其看起来有丰富的细节。有多种类型的纹理,如法线贴图(Normal Maps,也就是法线纹理)、凹凸贴图(Bump Maps)、镜面贴图和漫反射贴图。下边将讨论漫反射贴图,简单来说也就是颜色纹理。

加载图像文件

要把一个图像映射到对象网格上,首先是需要有一个图像文件。就使用下边这棵快乐的小树吧:

一棵快乐的树

我们将使用 image 包 来加载这棵树。先把它添加到依赖项中:

toml
[dependencies.image]
+import{_ as h,c as l,a1 as k,G as i,B as a,o as t}from"./chunks/framework.C82C2wD0.js";const e="/learn-wgpu-zh/assets/happy-tree.C0rRZfsX.png",r="/learn-wgpu-zh/assets/address_mode.CHohhQ7D.png",E="/learn-wgpu-zh/assets/upside-down.Cxjf2bzg.png",d="/learn-wgpu-zh/assets/happy-tree-uv-coords.DdC0O8hw.png",g="/learn-wgpu-zh/assets/rightside-up.DJRqzYex.png",D=JSON.parse('{"title":"纹理和绑定组","description":"","frontmatter":{},"headers":[],"relativePath":"beginner/tutorial5-textures/index.md","filePath":"beginner/tutorial5-textures/index.md","lastUpdated":1733013181000}'),y={name:"beginner/tutorial5-textures/index.md"};function F(c,s,u,b,o,m){const n=a("WasmExample"),p=a("AutoGithubLink");return t(),l("div",null,[s[0]||(s[0]=k('

纹理和绑定组

目前为止,我们一直在绘制简单的图形。当然可以只用三角形来做游戏,而试图绘制高精度的对象又会极大地限制能运行我们游戏的设备。不过,可以用 纹理 来解决此问题。

纹理(Textures)是叠加在三角形网格(Mesh)上的图像,使其看起来有丰富的细节。有多种类型的纹理,如法线贴图(Normal Maps,也就是法线纹理)、凹凸贴图(Bump Maps)、镜面贴图和漫反射贴图。下边将讨论漫反射贴图,简单来说也就是颜色纹理。

加载图像文件

要把一个图像映射到对象网格上,首先是需要有一个图像文件。就使用下边这棵快乐的小树吧:

一棵快乐的树

我们将使用 image 包 来加载这棵树。先把它添加到依赖项中:

toml
[dependencies.image]
 version = "0.24"
 default-features = false
 features = ["png", "jpeg"]

image 包含的 jpeg 解码器使用 rayon 来加速线程的解码速度。WASM 目前不支持线程,所以我们需要禁用这一特性,这样代码在尝试加载网络上的 jpeg 时就不会崩溃。

在 WASM 中解码 jpeg 性能不高。如果你想在 WASM 中加快图像加载速度,可以选择使用浏览器的内置解码器来替换 wasm-bindgen 构建时使用 的 image。这涉及到在 Rust 中创建一个 <img> 标记来获取图像,然后创建一个 <canvas> 来获取像素数据,我把这留作读者的练习。

WgpuAppnew() 函数中,于 AppSurface::new(window).await 之后添加以下代码:

rust
let app = AppSurface::new(window).await;
diff --git a/assets/beginner_tutorial6-uniforms_index.md.CyrO-8g-.js b/assets/beginner_tutorial6-uniforms_index.md.eQLJ9t_O.js
similarity index 99%
rename from assets/beginner_tutorial6-uniforms_index.md.CyrO-8g-.js
rename to assets/beginner_tutorial6-uniforms_index.md.eQLJ9t_O.js
index 3c419e64..5e25f86f 100644
--- a/assets/beginner_tutorial6-uniforms_index.md.CyrO-8g-.js
+++ b/assets/beginner_tutorial6-uniforms_index.md.eQLJ9t_O.js
@@ -1,4 +1,4 @@
-import{_ as l,c as h,a1 as k,G as i,B as a,o as e}from"./chunks/framework.C82C2wD0.js";const t="/learn-wgpu-zh/assets/static-tree.CnUnFqC5.png",u=JSON.parse('{"title":"Uniform 缓冲区与 3D 虚拟摄像机","description":"","frontmatter":{},"headers":[],"relativePath":"beginner/tutorial6-uniforms/index.md","filePath":"beginner/tutorial6-uniforms/index.md","lastUpdated":1732966628000}'),r={name:"beginner/tutorial6-uniforms/index.md"};function E(d,s,g,y,F,c){const n=a("WasmExample"),p=a("AutoGithubLink");return e(),h("div",null,[s[0]||(s[0]=k(`

Uniform 缓冲区与 3D 虚拟摄像机

虽然我们之前的渲染似乎都是在 2D 空间下进行的,但实际上我们一直都是在 3D 空间下渲染的!这就是为什么 Vertex 结构体的 position 是 3 个浮点数的数组而不是 2 个。由于我们是在正面观察,所以才无法真正看到场景的立体感。下面将通过创建一个虚拟摄像机Camera)来改变我们的观察视角。

透视摄像机

本教程聚焦于 wgpu 的教学,而不是线性代数,所以会略过很多涉及的数学知识。如果你对线性代数感兴趣,网上有大量的阅读材料。我们将使用 glam 来处理所有数学问题,在 Cargo.toml 中添加以下依赖:

toml
[dependencies]
+import{_ as l,c as h,a1 as k,G as i,B as a,o as e}from"./chunks/framework.C82C2wD0.js";const t="/learn-wgpu-zh/assets/static-tree.CnUnFqC5.png",u=JSON.parse('{"title":"Uniform 缓冲区与 3D 虚拟摄像机","description":"","frontmatter":{},"headers":[],"relativePath":"beginner/tutorial6-uniforms/index.md","filePath":"beginner/tutorial6-uniforms/index.md","lastUpdated":1733013181000}'),r={name:"beginner/tutorial6-uniforms/index.md"};function E(d,s,g,y,F,c){const n=a("WasmExample"),p=a("AutoGithubLink");return e(),h("div",null,[s[0]||(s[0]=k(`

Uniform 缓冲区与 3D 虚拟摄像机

虽然我们之前的渲染似乎都是在 2D 空间下进行的,但实际上我们一直都是在 3D 空间下渲染的!这就是为什么 Vertex 结构体的 position 是 3 个浮点数的数组而不是 2 个。由于我们是在正面观察,所以才无法真正看到场景的立体感。下面将通过创建一个虚拟摄像机Camera)来改变我们的观察视角。

透视摄像机

本教程聚焦于 wgpu 的教学,而不是线性代数,所以会略过很多涉及的数学知识。如果你对线性代数感兴趣,网上有大量的阅读材料。我们将使用 glam 来处理所有数学问题,在 Cargo.toml 中添加以下依赖:

toml
[dependencies]
 # other deps...
 glam = "0.29"

现在让我们开始使用此数学!在 WgpuApp 结构体上方创建摄像机结构体:

rust
struct Camera {
     eye: glam::Vec3,
diff --git a/assets/beginner_tutorial6-uniforms_index.md.CyrO-8g-.lean.js b/assets/beginner_tutorial6-uniforms_index.md.eQLJ9t_O.lean.js
similarity index 99%
rename from assets/beginner_tutorial6-uniforms_index.md.CyrO-8g-.lean.js
rename to assets/beginner_tutorial6-uniforms_index.md.eQLJ9t_O.lean.js
index 3c419e64..5e25f86f 100644
--- a/assets/beginner_tutorial6-uniforms_index.md.CyrO-8g-.lean.js
+++ b/assets/beginner_tutorial6-uniforms_index.md.eQLJ9t_O.lean.js
@@ -1,4 +1,4 @@
-import{_ as l,c as h,a1 as k,G as i,B as a,o as e}from"./chunks/framework.C82C2wD0.js";const t="/learn-wgpu-zh/assets/static-tree.CnUnFqC5.png",u=JSON.parse('{"title":"Uniform 缓冲区与 3D 虚拟摄像机","description":"","frontmatter":{},"headers":[],"relativePath":"beginner/tutorial6-uniforms/index.md","filePath":"beginner/tutorial6-uniforms/index.md","lastUpdated":1732966628000}'),r={name:"beginner/tutorial6-uniforms/index.md"};function E(d,s,g,y,F,c){const n=a("WasmExample"),p=a("AutoGithubLink");return e(),h("div",null,[s[0]||(s[0]=k(`

Uniform 缓冲区与 3D 虚拟摄像机

虽然我们之前的渲染似乎都是在 2D 空间下进行的,但实际上我们一直都是在 3D 空间下渲染的!这就是为什么 Vertex 结构体的 position 是 3 个浮点数的数组而不是 2 个。由于我们是在正面观察,所以才无法真正看到场景的立体感。下面将通过创建一个虚拟摄像机Camera)来改变我们的观察视角。

透视摄像机

本教程聚焦于 wgpu 的教学,而不是线性代数,所以会略过很多涉及的数学知识。如果你对线性代数感兴趣,网上有大量的阅读材料。我们将使用 glam 来处理所有数学问题,在 Cargo.toml 中添加以下依赖:

toml
[dependencies]
+import{_ as l,c as h,a1 as k,G as i,B as a,o as e}from"./chunks/framework.C82C2wD0.js";const t="/learn-wgpu-zh/assets/static-tree.CnUnFqC5.png",u=JSON.parse('{"title":"Uniform 缓冲区与 3D 虚拟摄像机","description":"","frontmatter":{},"headers":[],"relativePath":"beginner/tutorial6-uniforms/index.md","filePath":"beginner/tutorial6-uniforms/index.md","lastUpdated":1733013181000}'),r={name:"beginner/tutorial6-uniforms/index.md"};function E(d,s,g,y,F,c){const n=a("WasmExample"),p=a("AutoGithubLink");return e(),h("div",null,[s[0]||(s[0]=k(`

Uniform 缓冲区与 3D 虚拟摄像机

虽然我们之前的渲染似乎都是在 2D 空间下进行的,但实际上我们一直都是在 3D 空间下渲染的!这就是为什么 Vertex 结构体的 position 是 3 个浮点数的数组而不是 2 个。由于我们是在正面观察,所以才无法真正看到场景的立体感。下面将通过创建一个虚拟摄像机Camera)来改变我们的观察视角。

透视摄像机

本教程聚焦于 wgpu 的教学,而不是线性代数,所以会略过很多涉及的数学知识。如果你对线性代数感兴趣,网上有大量的阅读材料。我们将使用 glam 来处理所有数学问题,在 Cargo.toml 中添加以下依赖:

toml
[dependencies]
 # other deps...
 glam = "0.29"

现在让我们开始使用此数学!在 WgpuApp 结构体上方创建摄像机结构体:

rust
struct Camera {
     eye: glam::Vec3,
diff --git a/assets/beginner_tutorial7-instancing_index.md.C_URgdnh.js b/assets/beginner_tutorial7-instancing_index.md.DeW__MEG.js
similarity index 99%
rename from assets/beginner_tutorial7-instancing_index.md.C_URgdnh.js
rename to assets/beginner_tutorial7-instancing_index.md.DeW__MEG.js
index a65c1014..f4f0528a 100644
--- a/assets/beginner_tutorial7-instancing_index.md.C_URgdnh.js
+++ b/assets/beginner_tutorial7-instancing_index.md.DeW__MEG.js
@@ -1,4 +1,4 @@
-import{_ as h,c as l,a1 as k,G as i,B as a,o as t}from"./chunks/framework.C82C2wD0.js";const e="/learn-wgpu-zh/assets/forest.pUstyShS.png",o=JSON.parse('{"title":"实例化绘制","description":"","frontmatter":{},"headers":[],"relativePath":"beginner/tutorial7-instancing/index.md","filePath":"beginner/tutorial7-instancing/index.md","lastUpdated":1732966628000}'),r={name:"beginner/tutorial7-instancing/index.md"};function E(d,s,g,y,F,c){const n=a("WasmExample"),p=a("AutoGithubLink");return t(),l("div",null,[s[0]||(s[0]=k(`

实例化绘制

我们目前的场景非常简单:仅有一个以坐标 (0,0,0) 为中心的对象。如果想要绘制更多的对象呢? 这,就是实例化绘制(Instancing)的用武之地了。

实例化绘制允许我们以不同的属性(位置、方向、大小、颜色等)多次绘制同一个对象。有多种方式可以实现实例化绘制。其中一种方式是修改 Uniform 缓冲区以加入这些属性,并在绘制每个对象实例之前更新它。

出于性能原因,我们不推荐这种方式。因为逐实例更新时,uniform 缓冲区需要为每一帧复制多个缓冲区而消耗 GPU 内存带宽, 且随实例数增加的绘制命令更是会消耗 GPU 的执行时间。

如果查阅 wgpu 文档draw_indexed 函数的参数 ,我们可以看到解决这一问题的方式:

rust
pub fn draw_indexed(
+import{_ as h,c as l,a1 as k,G as i,B as a,o as t}from"./chunks/framework.C82C2wD0.js";const e="/learn-wgpu-zh/assets/forest.pUstyShS.png",o=JSON.parse('{"title":"实例化绘制","description":"","frontmatter":{},"headers":[],"relativePath":"beginner/tutorial7-instancing/index.md","filePath":"beginner/tutorial7-instancing/index.md","lastUpdated":1733013181000}'),r={name:"beginner/tutorial7-instancing/index.md"};function E(d,s,g,y,F,c){const n=a("WasmExample"),p=a("AutoGithubLink");return t(),l("div",null,[s[0]||(s[0]=k(`

实例化绘制

我们目前的场景非常简单:仅有一个以坐标 (0,0,0) 为中心的对象。如果想要绘制更多的对象呢? 这,就是实例化绘制(Instancing)的用武之地了。

实例化绘制允许我们以不同的属性(位置、方向、大小、颜色等)多次绘制同一个对象。有多种方式可以实现实例化绘制。其中一种方式是修改 Uniform 缓冲区以加入这些属性,并在绘制每个对象实例之前更新它。

出于性能原因,我们不推荐这种方式。因为逐实例更新时,uniform 缓冲区需要为每一帧复制多个缓冲区而消耗 GPU 内存带宽, 且随实例数增加的绘制命令更是会消耗 GPU 的执行时间。

如果查阅 wgpu 文档draw_indexed 函数的参数 ,我们可以看到解决这一问题的方式:

rust
pub fn draw_indexed(
     &mut self,
     indices: Range<u32>,
     base_vertex: i32,
diff --git a/assets/beginner_tutorial7-instancing_index.md.C_URgdnh.lean.js b/assets/beginner_tutorial7-instancing_index.md.DeW__MEG.lean.js
similarity index 99%
rename from assets/beginner_tutorial7-instancing_index.md.C_URgdnh.lean.js
rename to assets/beginner_tutorial7-instancing_index.md.DeW__MEG.lean.js
index a65c1014..f4f0528a 100644
--- a/assets/beginner_tutorial7-instancing_index.md.C_URgdnh.lean.js
+++ b/assets/beginner_tutorial7-instancing_index.md.DeW__MEG.lean.js
@@ -1,4 +1,4 @@
-import{_ as h,c as l,a1 as k,G as i,B as a,o as t}from"./chunks/framework.C82C2wD0.js";const e="/learn-wgpu-zh/assets/forest.pUstyShS.png",o=JSON.parse('{"title":"实例化绘制","description":"","frontmatter":{},"headers":[],"relativePath":"beginner/tutorial7-instancing/index.md","filePath":"beginner/tutorial7-instancing/index.md","lastUpdated":1732966628000}'),r={name:"beginner/tutorial7-instancing/index.md"};function E(d,s,g,y,F,c){const n=a("WasmExample"),p=a("AutoGithubLink");return t(),l("div",null,[s[0]||(s[0]=k(`

实例化绘制

我们目前的场景非常简单:仅有一个以坐标 (0,0,0) 为中心的对象。如果想要绘制更多的对象呢? 这,就是实例化绘制(Instancing)的用武之地了。

实例化绘制允许我们以不同的属性(位置、方向、大小、颜色等)多次绘制同一个对象。有多种方式可以实现实例化绘制。其中一种方式是修改 Uniform 缓冲区以加入这些属性,并在绘制每个对象实例之前更新它。

出于性能原因,我们不推荐这种方式。因为逐实例更新时,uniform 缓冲区需要为每一帧复制多个缓冲区而消耗 GPU 内存带宽, 且随实例数增加的绘制命令更是会消耗 GPU 的执行时间。

如果查阅 wgpu 文档draw_indexed 函数的参数 ,我们可以看到解决这一问题的方式:

rust
pub fn draw_indexed(
+import{_ as h,c as l,a1 as k,G as i,B as a,o as t}from"./chunks/framework.C82C2wD0.js";const e="/learn-wgpu-zh/assets/forest.pUstyShS.png",o=JSON.parse('{"title":"实例化绘制","description":"","frontmatter":{},"headers":[],"relativePath":"beginner/tutorial7-instancing/index.md","filePath":"beginner/tutorial7-instancing/index.md","lastUpdated":1733013181000}'),r={name:"beginner/tutorial7-instancing/index.md"};function E(d,s,g,y,F,c){const n=a("WasmExample"),p=a("AutoGithubLink");return t(),l("div",null,[s[0]||(s[0]=k(`

实例化绘制

我们目前的场景非常简单:仅有一个以坐标 (0,0,0) 为中心的对象。如果想要绘制更多的对象呢? 这,就是实例化绘制(Instancing)的用武之地了。

实例化绘制允许我们以不同的属性(位置、方向、大小、颜色等)多次绘制同一个对象。有多种方式可以实现实例化绘制。其中一种方式是修改 Uniform 缓冲区以加入这些属性,并在绘制每个对象实例之前更新它。

出于性能原因,我们不推荐这种方式。因为逐实例更新时,uniform 缓冲区需要为每一帧复制多个缓冲区而消耗 GPU 内存带宽, 且随实例数增加的绘制命令更是会消耗 GPU 的执行时间。

如果查阅 wgpu 文档draw_indexed 函数的参数 ,我们可以看到解决这一问题的方式:

rust
pub fn draw_indexed(
     &mut self,
     indices: Range<u32>,
     base_vertex: i32,
diff --git a/assets/beginner_tutorial8-depth_index.md.Drl7CZ3w.js b/assets/beginner_tutorial8-depth_index.md.BukaYSdF.js
similarity index 99%
rename from assets/beginner_tutorial8-depth_index.md.Drl7CZ3w.js
rename to assets/beginner_tutorial8-depth_index.md.BukaYSdF.js
index c2650242..effd9b03 100644
--- a/assets/beginner_tutorial8-depth_index.md.Drl7CZ3w.js
+++ b/assets/beginner_tutorial8-depth_index.md.BukaYSdF.js
@@ -1,4 +1,4 @@
-import{_ as h,c as l,a1 as k,G as i,B as a,o as t}from"./chunks/framework.C82C2wD0.js";const e="/learn-wgpu-zh/assets/depth_problems.D-zJpdrI.png",r="/learn-wgpu-zh/assets/forest_fixed.D_G04Mjk.png",b=JSON.parse('{"title":"深度缓冲区","description":"","frontmatter":{},"headers":[],"relativePath":"beginner/tutorial8-depth/index.md","filePath":"beginner/tutorial8-depth/index.md","lastUpdated":1732966628000}'),d={name:"beginner/tutorial8-depth/index.md"};function E(g,s,y,F,c,o){const n=a("WasmExample"),p=a("AutoGithubLink");return t(),l("div",null,[s[0]||(s[0]=k('

深度缓冲区

让我们换个摄像机角度来仔细观察上个教程中的例子:

depth_problems.png

应该排在后面的对象被渲染在了前面的对象之前。这是由绘制顺序引起的。默认情况下,新对象的像素数据将取代帧缓冲区(FrameBuffer)相同坐标上旧的像素数据。

有两种方式可以解决这个问题:将数据从后往前排序; 或者使用深度缓冲区(Depth Buffer)。

从后往前排序

这是 2D 渲染的常用方法,因为很容易计算绘制对象的前后关系,甚至可以直接使用 Z 轴顺序。而在 3D 渲染中就有点棘手了,因为对象的前后关系会根据摄像机的角度而改变。

一个简单的方法是按照对象摄像机的距离来排序。但这种方法也有缺陷,因为当大对象的模型中心坐标处在小对象后面时,大对象中本应在小对象前面的部分也会被渲染到后面。我们还会遇到对象本身重叠的问题。

如果想正确地实现绘制对象的前后关系,就需要有像素级的精度。这,就是 深度缓冲区 的作用。

像素深度

深度缓冲区是一个用来存储已渲染像素的 Z 轴坐标的纹理。在绘制新的像素时,wgpu 使用它来决定是替换数据还是丢弃。这种技术被称为深度测试,它将解决绘制顺序问题,而不需要我们对绘制对象进行排序!

让我们在 texture.rs 中添加一个函数来创建深度纹理

rust
impl Texture {
+import{_ as h,c as l,a1 as k,G as i,B as a,o as t}from"./chunks/framework.C82C2wD0.js";const e="/learn-wgpu-zh/assets/depth_problems.D-zJpdrI.png",r="/learn-wgpu-zh/assets/forest_fixed.D_G04Mjk.png",b=JSON.parse('{"title":"深度缓冲区","description":"","frontmatter":{},"headers":[],"relativePath":"beginner/tutorial8-depth/index.md","filePath":"beginner/tutorial8-depth/index.md","lastUpdated":1733013181000}'),d={name:"beginner/tutorial8-depth/index.md"};function E(g,s,y,F,c,o){const n=a("WasmExample"),p=a("AutoGithubLink");return t(),l("div",null,[s[0]||(s[0]=k('

深度缓冲区

让我们换个摄像机角度来仔细观察上个教程中的例子:

depth_problems.png

应该排在后面的对象被渲染在了前面的对象之前。这是由绘制顺序引起的。默认情况下,新对象的像素数据将取代帧缓冲区(FrameBuffer)相同坐标上旧的像素数据。

有两种方式可以解决这个问题:将数据从后往前排序; 或者使用深度缓冲区(Depth Buffer)。

从后往前排序

这是 2D 渲染的常用方法,因为很容易计算绘制对象的前后关系,甚至可以直接使用 Z 轴顺序。而在 3D 渲染中就有点棘手了,因为对象的前后关系会根据摄像机的角度而改变。

一个简单的方法是按照对象摄像机的距离来排序。但这种方法也有缺陷,因为当大对象的模型中心坐标处在小对象后面时,大对象中本应在小对象前面的部分也会被渲染到后面。我们还会遇到对象本身重叠的问题。

如果想正确地实现绘制对象的前后关系,就需要有像素级的精度。这,就是 深度缓冲区 的作用。

像素深度

深度缓冲区是一个用来存储已渲染像素的 Z 轴坐标的纹理。在绘制新的像素时,wgpu 使用它来决定是替换数据还是丢弃。这种技术被称为深度测试,它将解决绘制顺序问题,而不需要我们对绘制对象进行排序!

让我们在 texture.rs 中添加一个函数来创建深度纹理

rust
impl Texture {
     pub const DEPTH_FORMAT: wgpu::TextureFormat = wgpu::TextureFormat::Depth32Float; // 1.
 
     pub fn create_depth_texture(device: &wgpu::Device, config: &wgpu::SurfaceConfiguration, label: &str) -> Self {
diff --git a/assets/beginner_tutorial8-depth_index.md.Drl7CZ3w.lean.js b/assets/beginner_tutorial8-depth_index.md.BukaYSdF.lean.js
similarity index 99%
rename from assets/beginner_tutorial8-depth_index.md.Drl7CZ3w.lean.js
rename to assets/beginner_tutorial8-depth_index.md.BukaYSdF.lean.js
index c2650242..effd9b03 100644
--- a/assets/beginner_tutorial8-depth_index.md.Drl7CZ3w.lean.js
+++ b/assets/beginner_tutorial8-depth_index.md.BukaYSdF.lean.js
@@ -1,4 +1,4 @@
-import{_ as h,c as l,a1 as k,G as i,B as a,o as t}from"./chunks/framework.C82C2wD0.js";const e="/learn-wgpu-zh/assets/depth_problems.D-zJpdrI.png",r="/learn-wgpu-zh/assets/forest_fixed.D_G04Mjk.png",b=JSON.parse('{"title":"深度缓冲区","description":"","frontmatter":{},"headers":[],"relativePath":"beginner/tutorial8-depth/index.md","filePath":"beginner/tutorial8-depth/index.md","lastUpdated":1732966628000}'),d={name:"beginner/tutorial8-depth/index.md"};function E(g,s,y,F,c,o){const n=a("WasmExample"),p=a("AutoGithubLink");return t(),l("div",null,[s[0]||(s[0]=k('

深度缓冲区

让我们换个摄像机角度来仔细观察上个教程中的例子:

depth_problems.png

应该排在后面的对象被渲染在了前面的对象之前。这是由绘制顺序引起的。默认情况下,新对象的像素数据将取代帧缓冲区(FrameBuffer)相同坐标上旧的像素数据。

有两种方式可以解决这个问题:将数据从后往前排序; 或者使用深度缓冲区(Depth Buffer)。

从后往前排序

这是 2D 渲染的常用方法,因为很容易计算绘制对象的前后关系,甚至可以直接使用 Z 轴顺序。而在 3D 渲染中就有点棘手了,因为对象的前后关系会根据摄像机的角度而改变。

一个简单的方法是按照对象摄像机的距离来排序。但这种方法也有缺陷,因为当大对象的模型中心坐标处在小对象后面时,大对象中本应在小对象前面的部分也会被渲染到后面。我们还会遇到对象本身重叠的问题。

如果想正确地实现绘制对象的前后关系,就需要有像素级的精度。这,就是 深度缓冲区 的作用。

像素深度

深度缓冲区是一个用来存储已渲染像素的 Z 轴坐标的纹理。在绘制新的像素时,wgpu 使用它来决定是替换数据还是丢弃。这种技术被称为深度测试,它将解决绘制顺序问题,而不需要我们对绘制对象进行排序!

让我们在 texture.rs 中添加一个函数来创建深度纹理

rust
impl Texture {
+import{_ as h,c as l,a1 as k,G as i,B as a,o as t}from"./chunks/framework.C82C2wD0.js";const e="/learn-wgpu-zh/assets/depth_problems.D-zJpdrI.png",r="/learn-wgpu-zh/assets/forest_fixed.D_G04Mjk.png",b=JSON.parse('{"title":"深度缓冲区","description":"","frontmatter":{},"headers":[],"relativePath":"beginner/tutorial8-depth/index.md","filePath":"beginner/tutorial8-depth/index.md","lastUpdated":1733013181000}'),d={name:"beginner/tutorial8-depth/index.md"};function E(g,s,y,F,c,o){const n=a("WasmExample"),p=a("AutoGithubLink");return t(),l("div",null,[s[0]||(s[0]=k('

深度缓冲区

让我们换个摄像机角度来仔细观察上个教程中的例子:

depth_problems.png

应该排在后面的对象被渲染在了前面的对象之前。这是由绘制顺序引起的。默认情况下,新对象的像素数据将取代帧缓冲区(FrameBuffer)相同坐标上旧的像素数据。

有两种方式可以解决这个问题:将数据从后往前排序; 或者使用深度缓冲区(Depth Buffer)。

从后往前排序

这是 2D 渲染的常用方法,因为很容易计算绘制对象的前后关系,甚至可以直接使用 Z 轴顺序。而在 3D 渲染中就有点棘手了,因为对象的前后关系会根据摄像机的角度而改变。

一个简单的方法是按照对象摄像机的距离来排序。但这种方法也有缺陷,因为当大对象的模型中心坐标处在小对象后面时,大对象中本应在小对象前面的部分也会被渲染到后面。我们还会遇到对象本身重叠的问题。

如果想正确地实现绘制对象的前后关系,就需要有像素级的精度。这,就是 深度缓冲区 的作用。

像素深度

深度缓冲区是一个用来存储已渲染像素的 Z 轴坐标的纹理。在绘制新的像素时,wgpu 使用它来决定是替换数据还是丢弃。这种技术被称为深度测试,它将解决绘制顺序问题,而不需要我们对绘制对象进行排序!

让我们在 texture.rs 中添加一个函数来创建深度纹理

rust
impl Texture {
     pub const DEPTH_FORMAT: wgpu::TextureFormat = wgpu::TextureFormat::Depth32Float; // 1.
 
     pub fn create_depth_texture(device: &wgpu::Device, config: &wgpu::SurfaceConfiguration, label: &str) -> Self {
diff --git a/assets/beginner_tutorial9-models_index.md.D3BzPIHP.js b/assets/beginner_tutorial9-models_index.md.rqNdd8PH.js
similarity index 99%
rename from assets/beginner_tutorial9-models_index.md.D3BzPIHP.js
rename to assets/beginner_tutorial9-models_index.md.rqNdd8PH.js
index 1abe37e5..b15d8185 100644
--- a/assets/beginner_tutorial9-models_index.md.D3BzPIHP.js
+++ b/assets/beginner_tutorial9-models_index.md.rqNdd8PH.js
@@ -1,4 +1,4 @@
-import{_ as l,c as p,a1 as k,G as i,B as a,o as t}from"./chunks/framework.C82C2wD0.js";const e="/learn-wgpu-zh/assets/cubes.3kx3FCDj.png",r="/learn-wgpu-zh/assets/cube-diffuse.apkbEDtR.jpg",E="/learn-wgpu-zh/assets/cubes-correct.CSpVk1pc.png",o=JSON.parse('{"title":"模型加载","description":"","frontmatter":{},"headers":[],"relativePath":"beginner/tutorial9-models/index.md","filePath":"beginner/tutorial9-models/index.md","lastUpdated":1732966628000}'),d={name:"beginner/tutorial9-models/index.md"};function g(y,s,F,c,b,u){const n=a("WasmExample"),h=a("AutoGithubLink");return t(),p("div",null,[s[0]||(s[0]=k(`

模型加载

到目前为止,我们一直在手动创建模型。简单的模型当然可以这么干,但如果是有成千上万多边形的复杂模型,那就行不通了。因此,我们将修改代码以利用 .obj 模型格式,以便可以利用 Blender 等软件来创建模型并运用到项目中。

lib.rs 文件中堆砌的代码已经很多了,让我们创建一个 model.rs 文件来安置所有模型加载相关的代码:

rust
// model.rs
+import{_ as l,c as p,a1 as k,G as i,B as a,o as t}from"./chunks/framework.C82C2wD0.js";const e="/learn-wgpu-zh/assets/cubes.3kx3FCDj.png",r="/learn-wgpu-zh/assets/cube-diffuse.apkbEDtR.jpg",E="/learn-wgpu-zh/assets/cubes-correct.CSpVk1pc.png",o=JSON.parse('{"title":"模型加载","description":"","frontmatter":{},"headers":[],"relativePath":"beginner/tutorial9-models/index.md","filePath":"beginner/tutorial9-models/index.md","lastUpdated":1733013181000}'),d={name:"beginner/tutorial9-models/index.md"};function g(y,s,F,c,b,u){const n=a("WasmExample"),h=a("AutoGithubLink");return t(),p("div",null,[s[0]||(s[0]=k(`

模型加载

到目前为止,我们一直在手动创建模型。简单的模型当然可以这么干,但如果是有成千上万多边形的复杂模型,那就行不通了。因此,我们将修改代码以利用 .obj 模型格式,以便可以利用 Blender 等软件来创建模型并运用到项目中。

lib.rs 文件中堆砌的代码已经很多了,让我们创建一个 model.rs 文件来安置所有模型加载相关的代码:

rust
// model.rs
 pub trait Vertex {
     fn desc<'a>() -> wgpu::VertexBufferLayout<'a>;
 }
diff --git a/assets/beginner_tutorial9-models_index.md.D3BzPIHP.lean.js b/assets/beginner_tutorial9-models_index.md.rqNdd8PH.lean.js
similarity index 99%
rename from assets/beginner_tutorial9-models_index.md.D3BzPIHP.lean.js
rename to assets/beginner_tutorial9-models_index.md.rqNdd8PH.lean.js
index 1abe37e5..b15d8185 100644
--- a/assets/beginner_tutorial9-models_index.md.D3BzPIHP.lean.js
+++ b/assets/beginner_tutorial9-models_index.md.rqNdd8PH.lean.js
@@ -1,4 +1,4 @@
-import{_ as l,c as p,a1 as k,G as i,B as a,o as t}from"./chunks/framework.C82C2wD0.js";const e="/learn-wgpu-zh/assets/cubes.3kx3FCDj.png",r="/learn-wgpu-zh/assets/cube-diffuse.apkbEDtR.jpg",E="/learn-wgpu-zh/assets/cubes-correct.CSpVk1pc.png",o=JSON.parse('{"title":"模型加载","description":"","frontmatter":{},"headers":[],"relativePath":"beginner/tutorial9-models/index.md","filePath":"beginner/tutorial9-models/index.md","lastUpdated":1732966628000}'),d={name:"beginner/tutorial9-models/index.md"};function g(y,s,F,c,b,u){const n=a("WasmExample"),h=a("AutoGithubLink");return t(),p("div",null,[s[0]||(s[0]=k(`

模型加载

到目前为止,我们一直在手动创建模型。简单的模型当然可以这么干,但如果是有成千上万多边形的复杂模型,那就行不通了。因此,我们将修改代码以利用 .obj 模型格式,以便可以利用 Blender 等软件来创建模型并运用到项目中。

lib.rs 文件中堆砌的代码已经很多了,让我们创建一个 model.rs 文件来安置所有模型加载相关的代码:

rust
// model.rs
+import{_ as l,c as p,a1 as k,G as i,B as a,o as t}from"./chunks/framework.C82C2wD0.js";const e="/learn-wgpu-zh/assets/cubes.3kx3FCDj.png",r="/learn-wgpu-zh/assets/cube-diffuse.apkbEDtR.jpg",E="/learn-wgpu-zh/assets/cubes-correct.CSpVk1pc.png",o=JSON.parse('{"title":"模型加载","description":"","frontmatter":{},"headers":[],"relativePath":"beginner/tutorial9-models/index.md","filePath":"beginner/tutorial9-models/index.md","lastUpdated":1733013181000}'),d={name:"beginner/tutorial9-models/index.md"};function g(y,s,F,c,b,u){const n=a("WasmExample"),h=a("AutoGithubLink");return t(),p("div",null,[s[0]||(s[0]=k(`

模型加载

到目前为止,我们一直在手动创建模型。简单的模型当然可以这么干,但如果是有成千上万多边形的复杂模型,那就行不通了。因此,我们将修改代码以利用 .obj 模型格式,以便可以利用 Blender 等软件来创建模型并运用到项目中。

lib.rs 文件中堆砌的代码已经很多了,让我们创建一个 model.rs 文件来安置所有模型加载相关的代码:

rust
// model.rs
 pub trait Vertex {
     fn desc<'a>() -> wgpu::VertexBufferLayout<'a>;
 }
diff --git a/assets/beginner_wgsl.md.sWJZXsDE.js b/assets/beginner_wgsl.md.CcD3RxrU.js
similarity index 99%
rename from assets/beginner_wgsl.md.sWJZXsDE.js
rename to assets/beginner_wgsl.md.CcD3RxrU.js
index 4ba76be7..d968a6a1 100644
--- a/assets/beginner_wgsl.md.sWJZXsDE.js
+++ b/assets/beginner_wgsl.md.CcD3RxrU.js
@@ -1,4 +1,4 @@
-import{_ as i,c as a,a1 as n,o as l}from"./chunks/framework.C82C2wD0.js";const g=JSON.parse('{"title":"WGSL 着色器语言","description":"WebGPU 着色器语言 WGSL 介绍及与 GLSL 的语法对比","frontmatter":{"head":[["meta",{"name":"description","content":"WebGPU 着色器语言 WGSL 介绍及与 GLSL 的语法对比"}],["meta",{"name":"keywords","content":"WGSL GLSL Shader WebGPU wgpu"}]]},"headers":[],"relativePath":"beginner/wgsl.md","filePath":"beginner/wgsl.md","lastUpdated":1732966628000}'),h={name:"beginner/wgsl.md"};function p(k,s,t,e,r,E){return l(),a("div",null,s[0]||(s[0]=[n(`

WGSL 着色器语言

WGSL 的来由

WebGPU 的目标是要在各个现代底层图形 API 之上抽象出一套统一的图形 API,而每个底层图形 API 后端都有自己的着色语言:

  • DirectX 使用 HLSL(High Level Shading Language)
  • Metal 使用 MSL(Metal Shading Language)
  • OpenGL 使用 GLSL(OpenGL Shading Language)
  • Vulkan 使用的着色语言又跟之前的图形 API 都不同,它的着色器必须以 SPIR-V 这种二进制字节码的格式提供(有一些库能提供将其它语言编写的着色器编译为 SPIR-V 的能力,比如 shaderc )。

WGSL (WebGPU Shading Language) 出现之前,很多开发者或团队是通过宏及各种转译工具来将自己的着色器编译到不同目标平台的,他们自然是希望有一个标准化的统一语言。

WebGPU 成员花了 2 年半的时间来争论 WebGPU 是否应该有自己的着色语言。kvark 将这场争论中的核心论点组成了一张流图,它是 SVG 格式的,支持在网页中无损放大查看。

WGSL 的目标不是要与 GLSL 兼容,它是对现代着色器语言的重新设计。

2020 年 4 月 27 日,WGSL 标准有了第一次提交。自此开始,wgpu 和 dawn 都摆脱了对 shaderc 之类复杂繁重的着色器转译工具的依赖。wgpu 里使用的 WGSL 转译工具叫 naga, kvark 有一篇博客(Shader translation benchmark)对比了 naga 相比于其它转译工具的性能优化,总体来说,有 10 倍以上的性能优势。

2023 年之前,WGSL 的学习资源不多,唯一好的参考是 WGSL 规范,但它是对语言实现细节的规范,对普通用户来说有点难以理解。 我从 2018 年开始使用 wgpu (那时还是 使用 GLSL 做为着色器语言),2021 年底完成了个人作品 字习 Pro 及其他几个练手作品从 GLSL 到 WGSL 的 100 多个着色器的移植工作,在这个过程中对这两个着色器语言有了比较深入的了解。这个增补章节旨在介绍 WGSL 的一些基础知识,希望这对从 OpenGL / WebGL 迁移到 WebGPU 的朋友带来一点有益的经验(下边的所有 GLSL 代码均是按照 GLSL450 标准编写的)。

增补两个网上新出现的学习资源:

Tour of WGSLcompute.toys

一个简单的绘制着色器:对比 GLSL

GLSL 的绘制着色器:

rust
// 顶点着色器文件
+import{_ as i,c as a,a1 as n,o as l}from"./chunks/framework.C82C2wD0.js";const g=JSON.parse('{"title":"WGSL 着色器语言","description":"WebGPU 着色器语言 WGSL 介绍及与 GLSL 的语法对比","frontmatter":{"head":[["meta",{"name":"description","content":"WebGPU 着色器语言 WGSL 介绍及与 GLSL 的语法对比"}],["meta",{"name":"keywords","content":"WGSL GLSL Shader WebGPU wgpu"}]]},"headers":[],"relativePath":"beginner/wgsl.md","filePath":"beginner/wgsl.md","lastUpdated":1733013181000}'),h={name:"beginner/wgsl.md"};function p(k,s,t,e,r,E){return l(),a("div",null,s[0]||(s[0]=[n(`

WGSL 着色器语言

WGSL 的来由

WebGPU 的目标是要在各个现代底层图形 API 之上抽象出一套统一的图形 API,而每个底层图形 API 后端都有自己的着色语言:

  • DirectX 使用 HLSL(High Level Shading Language)
  • Metal 使用 MSL(Metal Shading Language)
  • OpenGL 使用 GLSL(OpenGL Shading Language)
  • Vulkan 使用的着色语言又跟之前的图形 API 都不同,它的着色器必须以 SPIR-V 这种二进制字节码的格式提供(有一些库能提供将其它语言编写的着色器编译为 SPIR-V 的能力,比如 shaderc )。

WGSL (WebGPU Shading Language) 出现之前,很多开发者或团队是通过宏及各种转译工具来将自己的着色器编译到不同目标平台的,他们自然是希望有一个标准化的统一语言。

WebGPU 成员花了 2 年半的时间来争论 WebGPU 是否应该有自己的着色语言。kvark 将这场争论中的核心论点组成了一张流图,它是 SVG 格式的,支持在网页中无损放大查看。

WGSL 的目标不是要与 GLSL 兼容,它是对现代着色器语言的重新设计。

2020 年 4 月 27 日,WGSL 标准有了第一次提交。自此开始,wgpu 和 dawn 都摆脱了对 shaderc 之类复杂繁重的着色器转译工具的依赖。wgpu 里使用的 WGSL 转译工具叫 naga, kvark 有一篇博客(Shader translation benchmark)对比了 naga 相比于其它转译工具的性能优化,总体来说,有 10 倍以上的性能优势。

2023 年之前,WGSL 的学习资源不多,唯一好的参考是 WGSL 规范,但它是对语言实现细节的规范,对普通用户来说有点难以理解。 我从 2018 年开始使用 wgpu (那时还是 使用 GLSL 做为着色器语言),2021 年底完成了个人作品 字习 Pro 及其他几个练手作品从 GLSL 到 WGSL 的 100 多个着色器的移植工作,在这个过程中对这两个着色器语言有了比较深入的了解。这个增补章节旨在介绍 WGSL 的一些基础知识,希望这对从 OpenGL / WebGL 迁移到 WebGPU 的朋友带来一点有益的经验(下边的所有 GLSL 代码均是按照 GLSL450 标准编写的)。

增补两个网上新出现的学习资源:

Tour of WGSLcompute.toys

一个简单的绘制着色器:对比 GLSL

GLSL 的绘制着色器:

rust
// 顶点着色器文件
 layout(location = 0) in vec3 position;
 layout(location = 1) in vec2 texcoord;
 layout(location = 0) out vec2 uv;
diff --git a/assets/beginner_wgsl.md.sWJZXsDE.lean.js b/assets/beginner_wgsl.md.CcD3RxrU.lean.js
similarity index 99%
rename from assets/beginner_wgsl.md.sWJZXsDE.lean.js
rename to assets/beginner_wgsl.md.CcD3RxrU.lean.js
index 4ba76be7..d968a6a1 100644
--- a/assets/beginner_wgsl.md.sWJZXsDE.lean.js
+++ b/assets/beginner_wgsl.md.CcD3RxrU.lean.js
@@ -1,4 +1,4 @@
-import{_ as i,c as a,a1 as n,o as l}from"./chunks/framework.C82C2wD0.js";const g=JSON.parse('{"title":"WGSL 着色器语言","description":"WebGPU 着色器语言 WGSL 介绍及与 GLSL 的语法对比","frontmatter":{"head":[["meta",{"name":"description","content":"WebGPU 着色器语言 WGSL 介绍及与 GLSL 的语法对比"}],["meta",{"name":"keywords","content":"WGSL GLSL Shader WebGPU wgpu"}]]},"headers":[],"relativePath":"beginner/wgsl.md","filePath":"beginner/wgsl.md","lastUpdated":1732966628000}'),h={name:"beginner/wgsl.md"};function p(k,s,t,e,r,E){return l(),a("div",null,s[0]||(s[0]=[n(`

WGSL 着色器语言

WGSL 的来由

WebGPU 的目标是要在各个现代底层图形 API 之上抽象出一套统一的图形 API,而每个底层图形 API 后端都有自己的着色语言:

  • DirectX 使用 HLSL(High Level Shading Language)
  • Metal 使用 MSL(Metal Shading Language)
  • OpenGL 使用 GLSL(OpenGL Shading Language)
  • Vulkan 使用的着色语言又跟之前的图形 API 都不同,它的着色器必须以 SPIR-V 这种二进制字节码的格式提供(有一些库能提供将其它语言编写的着色器编译为 SPIR-V 的能力,比如 shaderc )。

WGSL (WebGPU Shading Language) 出现之前,很多开发者或团队是通过宏及各种转译工具来将自己的着色器编译到不同目标平台的,他们自然是希望有一个标准化的统一语言。

WebGPU 成员花了 2 年半的时间来争论 WebGPU 是否应该有自己的着色语言。kvark 将这场争论中的核心论点组成了一张流图,它是 SVG 格式的,支持在网页中无损放大查看。

WGSL 的目标不是要与 GLSL 兼容,它是对现代着色器语言的重新设计。

2020 年 4 月 27 日,WGSL 标准有了第一次提交。自此开始,wgpu 和 dawn 都摆脱了对 shaderc 之类复杂繁重的着色器转译工具的依赖。wgpu 里使用的 WGSL 转译工具叫 naga, kvark 有一篇博客(Shader translation benchmark)对比了 naga 相比于其它转译工具的性能优化,总体来说,有 10 倍以上的性能优势。

2023 年之前,WGSL 的学习资源不多,唯一好的参考是 WGSL 规范,但它是对语言实现细节的规范,对普通用户来说有点难以理解。 我从 2018 年开始使用 wgpu (那时还是 使用 GLSL 做为着色器语言),2021 年底完成了个人作品 字习 Pro 及其他几个练手作品从 GLSL 到 WGSL 的 100 多个着色器的移植工作,在这个过程中对这两个着色器语言有了比较深入的了解。这个增补章节旨在介绍 WGSL 的一些基础知识,希望这对从 OpenGL / WebGL 迁移到 WebGPU 的朋友带来一点有益的经验(下边的所有 GLSL 代码均是按照 GLSL450 标准编写的)。

增补两个网上新出现的学习资源:

Tour of WGSLcompute.toys

一个简单的绘制着色器:对比 GLSL

GLSL 的绘制着色器:

rust
// 顶点着色器文件
+import{_ as i,c as a,a1 as n,o as l}from"./chunks/framework.C82C2wD0.js";const g=JSON.parse('{"title":"WGSL 着色器语言","description":"WebGPU 着色器语言 WGSL 介绍及与 GLSL 的语法对比","frontmatter":{"head":[["meta",{"name":"description","content":"WebGPU 着色器语言 WGSL 介绍及与 GLSL 的语法对比"}],["meta",{"name":"keywords","content":"WGSL GLSL Shader WebGPU wgpu"}]]},"headers":[],"relativePath":"beginner/wgsl.md","filePath":"beginner/wgsl.md","lastUpdated":1733013181000}'),h={name:"beginner/wgsl.md"};function p(k,s,t,e,r,E){return l(),a("div",null,s[0]||(s[0]=[n(`

WGSL 着色器语言

WGSL 的来由

WebGPU 的目标是要在各个现代底层图形 API 之上抽象出一套统一的图形 API,而每个底层图形 API 后端都有自己的着色语言:

  • DirectX 使用 HLSL(High Level Shading Language)
  • Metal 使用 MSL(Metal Shading Language)
  • OpenGL 使用 GLSL(OpenGL Shading Language)
  • Vulkan 使用的着色语言又跟之前的图形 API 都不同,它的着色器必须以 SPIR-V 这种二进制字节码的格式提供(有一些库能提供将其它语言编写的着色器编译为 SPIR-V 的能力,比如 shaderc )。

WGSL (WebGPU Shading Language) 出现之前,很多开发者或团队是通过宏及各种转译工具来将自己的着色器编译到不同目标平台的,他们自然是希望有一个标准化的统一语言。

WebGPU 成员花了 2 年半的时间来争论 WebGPU 是否应该有自己的着色语言。kvark 将这场争论中的核心论点组成了一张流图,它是 SVG 格式的,支持在网页中无损放大查看。

WGSL 的目标不是要与 GLSL 兼容,它是对现代着色器语言的重新设计。

2020 年 4 月 27 日,WGSL 标准有了第一次提交。自此开始,wgpu 和 dawn 都摆脱了对 shaderc 之类复杂繁重的着色器转译工具的依赖。wgpu 里使用的 WGSL 转译工具叫 naga, kvark 有一篇博客(Shader translation benchmark)对比了 naga 相比于其它转译工具的性能优化,总体来说,有 10 倍以上的性能优势。

2023 年之前,WGSL 的学习资源不多,唯一好的参考是 WGSL 规范,但它是对语言实现细节的规范,对普通用户来说有点难以理解。 我从 2018 年开始使用 wgpu (那时还是 使用 GLSL 做为着色器语言),2021 年底完成了个人作品 字习 Pro 及其他几个练手作品从 GLSL 到 WGSL 的 100 多个着色器的移植工作,在这个过程中对这两个着色器语言有了比较深入的了解。这个增补章节旨在介绍 WGSL 的一些基础知识,希望这对从 OpenGL / WebGL 迁移到 WebGPU 的朋友带来一点有益的经验(下边的所有 GLSL 代码均是按照 GLSL450 标准编写的)。

增补两个网上新出现的学习资源:

Tour of WGSLcompute.toys

一个简单的绘制着色器:对比 GLSL

GLSL 的绘制着色器:

rust
// 顶点着色器文件
 layout(location = 0) in vec3 position;
 layout(location = 1) in vec2 texcoord;
 layout(location = 0) out vec2 uv;
diff --git a/assets/index.md.DcsObarj.js b/assets/index.md.BFjKA99M.js
similarity index 99%
rename from assets/index.md.DcsObarj.js
rename to assets/index.md.BFjKA99M.js
index 6e73f3cc..4edbd93a 100644
--- a/assets/index.md.DcsObarj.js
+++ b/assets/index.md.BFjKA99M.js
@@ -1,4 +1,4 @@
-import{_ as r,c as s,a1 as i,G as n,B as t,o as p}from"./chunks/framework.C82C2wD0.js";const l="/learn-wgpu-zh/res/WebGPU-1.0.png",o="/learn-wgpu-zh/res/safari.png",h="/learn-wgpu-zh/res/firefox.png",w=JSON.parse('{"title":"介绍","description":"","frontmatter":{},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1732966628000}'),g={name:"index.md"};function u(b,e,c,d,k,m){const a=t("JoinWeiChatGroup");return p(),s("div",null,[e[0]||(e[0]=i('

介绍

为了便于读者的理解,译者选择性的添加了一些内容,并对原文中有歧义或错误的地方进行重新表述。所有的添加与修改均不会做单独标记。

翻译时采用了第一人称视角,故,除了带 🆕 标记的章节,教程中的主要指的是原作者 @sotrh

另外,专有名词在一个段落中第一次出现时做了加粗处理,同一段落里反复出现时就不再加粗。

什么是 WebGPU

WebGPU 是由 W3C GPU for the Web 社区组所发布的规范,目标是允许网页代码以高性能且安全可靠的方式访问 GPU 功能。它通过借鉴 Vulkan API,并将其转换为宿主硬件上使用的各式 API(如 DirectX、Metal、Vulkan)来实现这一目标。

wgpu 与 WebGPU 的关系

wgpu 是基于 WebGPU API 规范的、跨平台的、安全的、纯 Rust 图形 API。它是 Firefox、Servo 和 Deno 中 WebGPU 整合的核心。

wgpu 不仅可以在 Web 环境运行,还可以在 macOS / iOS、Android、Window 和 Linux 等系统上原生运行。

为什么选择 Rust

wgpu 实际上提供了 C 语言绑定 (wgpu-native),你可以写 C/C++ 或其他能与 C 互通的语言来使用它。尽管如此,wgpu 本身是用 Rust 实现的,它便利的 Rust 绑定能减少你使用中的阻碍。更重要的是,Rust 是一门高性能,内存和线程安全且极具生产力的现代底层语言。

在学习本教程之前你需要先熟悉 Rust,因为这里不会详细介绍 Rust 的语法知识。如果对 Rust 还不太熟悉,可以回顾一下 Rust 教程Rust 语言圣经。另外还需要熟悉 Rust 包管理工具 Cargo

为什么要学习 wgpu,直接用 JS/TS 搞 WebGPU 开发不香吗?

从 wgpu 及 dawn 这两个主要的 WebGPU 标准的实现库的开发动向可以看出,大量的扩展特性目前只有在 Native 端(Windows、macOS、Linux、iOS、Android)原生运行才能支持。wgpu 更是将 Native 端运行做为首要目标,WebGPU 是做为最低支持的特性集而存在。

使用 wgpu 在桌面及移动端做跨平台原生应用开发的体验极好,甚至我偏向于认为:WebGPU 更容易在 Native 端得到普及。因为不用受限于 1.0 标准啥时候发布,用户的浏览器是否支持等问题,现在就可以发布采用了 wgpu 的商业应用。

学习 wgpu 还有另一个重要的优势,那就是可以利用各种强大的桌面端 GPU 调试工具。在开发大型 2D/3D 应用时,通过使用命令记录/回放、帧捕捉、Buffer 视图等功能,可以快速定位 GPU 层代码/数据的性能瓶颈和程序缺陷。相较于仅依靠浏览器提供的有限调试能力,这些工具能够事半功倍,帮助开发者更快地解决问题。

wgpu/WebGPU 的学习资料是不是很少?

其实不用纠结于 WebGPU 方面的直接学习资料的多少。

WebGPU 就是一套图形接口,绝大部分概念都是各图形接口里通用的,任何一本经典图形学书籍都是我们的学习资料。 要利用好这些经典资料,前提仅仅就是要先学习一套图形接口。因为图形学的书不是使用统一的特定图形接口所写,先学会一个图形接口及常见的概念,然后再去深入学习某个方面的资料就会事半功倍。

现在学习 wgpu 是不是为时尚早?

WebGPU 1.0 API 已经稳定,Google 已经在 2023/4/6 宣布从 Chrome 113 版本开始正式支持 WebGPU

WebGPU Spec 1.0 补充一下 @Kangz 的话: Web 规范有点滑稽,因为“草案”或“推荐”之类的名称在很大程度上是一个管理细节,实际上对规范是否稳定可用没有任何影响。事实上,W3C 程序建议至少有两个浏览器在规范通过“草案”之前已经发布了兼容的实现,但显然这些浏览器会认为规范相当稳定,然后才愿意发布实现。然而,这确实令开发人员感到困惑,我们对此深表歉意。

如何运行示例代码

本教程的示例代码大部分放在 code/ 目录下,且示例程序的名称与程序目录同名。 比如,第一章 依赖与窗口 所有在的目录是 code/beginner/tutorial1-window, 此示例程序的名称也叫 tutorial1-window:

sh
# 在桌面环境本地运行
+import{_ as r,c as s,a1 as i,G as n,B as t,o as p}from"./chunks/framework.C82C2wD0.js";const l="/learn-wgpu-zh/res/WebGPU-1.0.png",o="/learn-wgpu-zh/res/safari.png",h="/learn-wgpu-zh/res/firefox.png",w=JSON.parse('{"title":"介绍","description":"","frontmatter":{},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1733013181000}'),g={name:"index.md"};function u(b,e,c,d,k,m){const a=t("JoinWeiChatGroup");return p(),s("div",null,[e[0]||(e[0]=i('

介绍

为了便于读者的理解,译者选择性的添加了一些内容,并对原文中有歧义或错误的地方进行重新表述。所有的添加与修改均不会做单独标记。

翻译时采用了第一人称视角,故,除了带 🆕 标记的章节,教程中的主要指的是原作者 @sotrh

另外,专有名词在一个段落中第一次出现时做了加粗处理,同一段落里反复出现时就不再加粗。

什么是 WebGPU

WebGPU 是由 W3C GPU for the Web 社区组所发布的规范,目标是允许网页代码以高性能且安全可靠的方式访问 GPU 功能。它通过借鉴 Vulkan API,并将其转换为宿主硬件上使用的各式 API(如 DirectX、Metal、Vulkan)来实现这一目标。

wgpu 与 WebGPU 的关系

wgpu 是基于 WebGPU API 规范的、跨平台的、安全的、纯 Rust 图形 API。它是 Firefox、Servo 和 Deno 中 WebGPU 整合的核心。

wgpu 不仅可以在 Web 环境运行,还可以在 macOS / iOS、Android、Window 和 Linux 等系统上原生运行。

为什么选择 Rust

wgpu 实际上提供了 C 语言绑定 (wgpu-native),你可以写 C/C++ 或其他能与 C 互通的语言来使用它。尽管如此,wgpu 本身是用 Rust 实现的,它便利的 Rust 绑定能减少你使用中的阻碍。更重要的是,Rust 是一门高性能,内存和线程安全且极具生产力的现代底层语言。

在学习本教程之前你需要先熟悉 Rust,因为这里不会详细介绍 Rust 的语法知识。如果对 Rust 还不太熟悉,可以回顾一下 Rust 教程Rust 语言圣经。另外还需要熟悉 Rust 包管理工具 Cargo

为什么要学习 wgpu,直接用 JS/TS 搞 WebGPU 开发不香吗?

从 wgpu 及 dawn 这两个主要的 WebGPU 标准的实现库的开发动向可以看出,大量的扩展特性目前只有在 Native 端(Windows、macOS、Linux、iOS、Android)原生运行才能支持。wgpu 更是将 Native 端运行做为首要目标,WebGPU 是做为最低支持的特性集而存在。

使用 wgpu 在桌面及移动端做跨平台原生应用开发的体验极好,甚至我偏向于认为:WebGPU 更容易在 Native 端得到普及。因为不用受限于 1.0 标准啥时候发布,用户的浏览器是否支持等问题,现在就可以发布采用了 wgpu 的商业应用。

学习 wgpu 还有另一个重要的优势,那就是可以利用各种强大的桌面端 GPU 调试工具。在开发大型 2D/3D 应用时,通过使用命令记录/回放、帧捕捉、Buffer 视图等功能,可以快速定位 GPU 层代码/数据的性能瓶颈和程序缺陷。相较于仅依靠浏览器提供的有限调试能力,这些工具能够事半功倍,帮助开发者更快地解决问题。

wgpu/WebGPU 的学习资料是不是很少?

其实不用纠结于 WebGPU 方面的直接学习资料的多少。

WebGPU 就是一套图形接口,绝大部分概念都是各图形接口里通用的,任何一本经典图形学书籍都是我们的学习资料。 要利用好这些经典资料,前提仅仅就是要先学习一套图形接口。因为图形学的书不是使用统一的特定图形接口所写,先学会一个图形接口及常见的概念,然后再去深入学习某个方面的资料就会事半功倍。

现在学习 wgpu 是不是为时尚早?

WebGPU 1.0 API 已经稳定,Google 已经在 2023/4/6 宣布从 Chrome 113 版本开始正式支持 WebGPU

WebGPU Spec 1.0 补充一下 @Kangz 的话: Web 规范有点滑稽,因为“草案”或“推荐”之类的名称在很大程度上是一个管理细节,实际上对规范是否稳定可用没有任何影响。事实上,W3C 程序建议至少有两个浏览器在规范通过“草案”之前已经发布了兼容的实现,但显然这些浏览器会认为规范相当稳定,然后才愿意发布实现。然而,这确实令开发人员感到困惑,我们对此深表歉意。

如何运行示例代码

本教程的示例代码大部分放在 code/ 目录下,且示例程序的名称与程序目录同名。 比如,第一章 依赖与窗口 所有在的目录是 code/beginner/tutorial1-window, 此示例程序的名称也叫 tutorial1-window:

sh
# 在桌面环境本地运行
 cargo run --bin tutorial3-pipeline
 
 # 在浏览器中运行
diff --git a/assets/index.md.DcsObarj.lean.js b/assets/index.md.BFjKA99M.lean.js
similarity index 99%
rename from assets/index.md.DcsObarj.lean.js
rename to assets/index.md.BFjKA99M.lean.js
index 6e73f3cc..4edbd93a 100644
--- a/assets/index.md.DcsObarj.lean.js
+++ b/assets/index.md.BFjKA99M.lean.js
@@ -1,4 +1,4 @@
-import{_ as r,c as s,a1 as i,G as n,B as t,o as p}from"./chunks/framework.C82C2wD0.js";const l="/learn-wgpu-zh/res/WebGPU-1.0.png",o="/learn-wgpu-zh/res/safari.png",h="/learn-wgpu-zh/res/firefox.png",w=JSON.parse('{"title":"介绍","description":"","frontmatter":{},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1732966628000}'),g={name:"index.md"};function u(b,e,c,d,k,m){const a=t("JoinWeiChatGroup");return p(),s("div",null,[e[0]||(e[0]=i('

介绍

为了便于读者的理解,译者选择性的添加了一些内容,并对原文中有歧义或错误的地方进行重新表述。所有的添加与修改均不会做单独标记。

翻译时采用了第一人称视角,故,除了带 🆕 标记的章节,教程中的主要指的是原作者 @sotrh

另外,专有名词在一个段落中第一次出现时做了加粗处理,同一段落里反复出现时就不再加粗。

什么是 WebGPU

WebGPU 是由 W3C GPU for the Web 社区组所发布的规范,目标是允许网页代码以高性能且安全可靠的方式访问 GPU 功能。它通过借鉴 Vulkan API,并将其转换为宿主硬件上使用的各式 API(如 DirectX、Metal、Vulkan)来实现这一目标。

wgpu 与 WebGPU 的关系

wgpu 是基于 WebGPU API 规范的、跨平台的、安全的、纯 Rust 图形 API。它是 Firefox、Servo 和 Deno 中 WebGPU 整合的核心。

wgpu 不仅可以在 Web 环境运行,还可以在 macOS / iOS、Android、Window 和 Linux 等系统上原生运行。

为什么选择 Rust

wgpu 实际上提供了 C 语言绑定 (wgpu-native),你可以写 C/C++ 或其他能与 C 互通的语言来使用它。尽管如此,wgpu 本身是用 Rust 实现的,它便利的 Rust 绑定能减少你使用中的阻碍。更重要的是,Rust 是一门高性能,内存和线程安全且极具生产力的现代底层语言。

在学习本教程之前你需要先熟悉 Rust,因为这里不会详细介绍 Rust 的语法知识。如果对 Rust 还不太熟悉,可以回顾一下 Rust 教程Rust 语言圣经。另外还需要熟悉 Rust 包管理工具 Cargo

为什么要学习 wgpu,直接用 JS/TS 搞 WebGPU 开发不香吗?

从 wgpu 及 dawn 这两个主要的 WebGPU 标准的实现库的开发动向可以看出,大量的扩展特性目前只有在 Native 端(Windows、macOS、Linux、iOS、Android)原生运行才能支持。wgpu 更是将 Native 端运行做为首要目标,WebGPU 是做为最低支持的特性集而存在。

使用 wgpu 在桌面及移动端做跨平台原生应用开发的体验极好,甚至我偏向于认为:WebGPU 更容易在 Native 端得到普及。因为不用受限于 1.0 标准啥时候发布,用户的浏览器是否支持等问题,现在就可以发布采用了 wgpu 的商业应用。

学习 wgpu 还有另一个重要的优势,那就是可以利用各种强大的桌面端 GPU 调试工具。在开发大型 2D/3D 应用时,通过使用命令记录/回放、帧捕捉、Buffer 视图等功能,可以快速定位 GPU 层代码/数据的性能瓶颈和程序缺陷。相较于仅依靠浏览器提供的有限调试能力,这些工具能够事半功倍,帮助开发者更快地解决问题。

wgpu/WebGPU 的学习资料是不是很少?

其实不用纠结于 WebGPU 方面的直接学习资料的多少。

WebGPU 就是一套图形接口,绝大部分概念都是各图形接口里通用的,任何一本经典图形学书籍都是我们的学习资料。 要利用好这些经典资料,前提仅仅就是要先学习一套图形接口。因为图形学的书不是使用统一的特定图形接口所写,先学会一个图形接口及常见的概念,然后再去深入学习某个方面的资料就会事半功倍。

现在学习 wgpu 是不是为时尚早?

WebGPU 1.0 API 已经稳定,Google 已经在 2023/4/6 宣布从 Chrome 113 版本开始正式支持 WebGPU

WebGPU Spec 1.0 补充一下 @Kangz 的话: Web 规范有点滑稽,因为“草案”或“推荐”之类的名称在很大程度上是一个管理细节,实际上对规范是否稳定可用没有任何影响。事实上,W3C 程序建议至少有两个浏览器在规范通过“草案”之前已经发布了兼容的实现,但显然这些浏览器会认为规范相当稳定,然后才愿意发布实现。然而,这确实令开发人员感到困惑,我们对此深表歉意。

如何运行示例代码

本教程的示例代码大部分放在 code/ 目录下,且示例程序的名称与程序目录同名。 比如,第一章 依赖与窗口 所有在的目录是 code/beginner/tutorial1-window, 此示例程序的名称也叫 tutorial1-window:

sh
# 在桌面环境本地运行
+import{_ as r,c as s,a1 as i,G as n,B as t,o as p}from"./chunks/framework.C82C2wD0.js";const l="/learn-wgpu-zh/res/WebGPU-1.0.png",o="/learn-wgpu-zh/res/safari.png",h="/learn-wgpu-zh/res/firefox.png",w=JSON.parse('{"title":"介绍","description":"","frontmatter":{},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1733013181000}'),g={name:"index.md"};function u(b,e,c,d,k,m){const a=t("JoinWeiChatGroup");return p(),s("div",null,[e[0]||(e[0]=i('

介绍

为了便于读者的理解,译者选择性的添加了一些内容,并对原文中有歧义或错误的地方进行重新表述。所有的添加与修改均不会做单独标记。

翻译时采用了第一人称视角,故,除了带 🆕 标记的章节,教程中的主要指的是原作者 @sotrh

另外,专有名词在一个段落中第一次出现时做了加粗处理,同一段落里反复出现时就不再加粗。

什么是 WebGPU

WebGPU 是由 W3C GPU for the Web 社区组所发布的规范,目标是允许网页代码以高性能且安全可靠的方式访问 GPU 功能。它通过借鉴 Vulkan API,并将其转换为宿主硬件上使用的各式 API(如 DirectX、Metal、Vulkan)来实现这一目标。

wgpu 与 WebGPU 的关系

wgpu 是基于 WebGPU API 规范的、跨平台的、安全的、纯 Rust 图形 API。它是 Firefox、Servo 和 Deno 中 WebGPU 整合的核心。

wgpu 不仅可以在 Web 环境运行,还可以在 macOS / iOS、Android、Window 和 Linux 等系统上原生运行。

为什么选择 Rust

wgpu 实际上提供了 C 语言绑定 (wgpu-native),你可以写 C/C++ 或其他能与 C 互通的语言来使用它。尽管如此,wgpu 本身是用 Rust 实现的,它便利的 Rust 绑定能减少你使用中的阻碍。更重要的是,Rust 是一门高性能,内存和线程安全且极具生产力的现代底层语言。

在学习本教程之前你需要先熟悉 Rust,因为这里不会详细介绍 Rust 的语法知识。如果对 Rust 还不太熟悉,可以回顾一下 Rust 教程Rust 语言圣经。另外还需要熟悉 Rust 包管理工具 Cargo

为什么要学习 wgpu,直接用 JS/TS 搞 WebGPU 开发不香吗?

从 wgpu 及 dawn 这两个主要的 WebGPU 标准的实现库的开发动向可以看出,大量的扩展特性目前只有在 Native 端(Windows、macOS、Linux、iOS、Android)原生运行才能支持。wgpu 更是将 Native 端运行做为首要目标,WebGPU 是做为最低支持的特性集而存在。

使用 wgpu 在桌面及移动端做跨平台原生应用开发的体验极好,甚至我偏向于认为:WebGPU 更容易在 Native 端得到普及。因为不用受限于 1.0 标准啥时候发布,用户的浏览器是否支持等问题,现在就可以发布采用了 wgpu 的商业应用。

学习 wgpu 还有另一个重要的优势,那就是可以利用各种强大的桌面端 GPU 调试工具。在开发大型 2D/3D 应用时,通过使用命令记录/回放、帧捕捉、Buffer 视图等功能,可以快速定位 GPU 层代码/数据的性能瓶颈和程序缺陷。相较于仅依靠浏览器提供的有限调试能力,这些工具能够事半功倍,帮助开发者更快地解决问题。

wgpu/WebGPU 的学习资料是不是很少?

其实不用纠结于 WebGPU 方面的直接学习资料的多少。

WebGPU 就是一套图形接口,绝大部分概念都是各图形接口里通用的,任何一本经典图形学书籍都是我们的学习资料。 要利用好这些经典资料,前提仅仅就是要先学习一套图形接口。因为图形学的书不是使用统一的特定图形接口所写,先学会一个图形接口及常见的概念,然后再去深入学习某个方面的资料就会事半功倍。

现在学习 wgpu 是不是为时尚早?

WebGPU 1.0 API 已经稳定,Google 已经在 2023/4/6 宣布从 Chrome 113 版本开始正式支持 WebGPU

WebGPU Spec 1.0 补充一下 @Kangz 的话: Web 规范有点滑稽,因为“草案”或“推荐”之类的名称在很大程度上是一个管理细节,实际上对规范是否稳定可用没有任何影响。事实上,W3C 程序建议至少有两个浏览器在规范通过“草案”之前已经发布了兼容的实现,但显然这些浏览器会认为规范相当稳定,然后才愿意发布实现。然而,这确实令开发人员感到困惑,我们对此深表歉意。

如何运行示例代码

本教程的示例代码大部分放在 code/ 目录下,且示例程序的名称与程序目录同名。 比如,第一章 依赖与窗口 所有在的目录是 code/beginner/tutorial1-window, 此示例程序的名称也叫 tutorial1-window:

sh
# 在桌面环境本地运行
 cargo run --bin tutorial3-pipeline
 
 # 在浏览器中运行
diff --git a/assets/integration-and-debugging_android_index.md.DfI_uwOa.js b/assets/integration-and-debugging_android_index.md.B6mU7e9b.js
similarity index 99%
rename from assets/integration-and-debugging_android_index.md.DfI_uwOa.js
rename to assets/integration-and-debugging_android_index.md.B6mU7e9b.js
index 25da4ae5..1fe401e0 100644
--- a/assets/integration-and-debugging_android_index.md.DfI_uwOa.js
+++ b/assets/integration-and-debugging_android_index.md.B6mU7e9b.js
@@ -1,4 +1,4 @@
-import{_ as i,c as a,a1 as n,o as l}from"./chunks/framework.C82C2wD0.js";const p="/learn-wgpu-zh/assets/tools.SDfH2BFP.png",h="/learn-wgpu-zh/assets/on_android.BmWZaLNk.png",c=JSON.parse('{"title":"与 Android App 集成","description":"","frontmatter":{},"headers":[],"relativePath":"integration-and-debugging/android/index.md","filePath":"integration-and-debugging/android/index.md","lastUpdated":1732966628000}'),k={name:"integration-and-debugging/android/index.md"};function e(t,s,r,d,E,g){return l(),a("div",null,s[0]||(s[0]=[n('

与 Android App 集成

开发环境配置

假设你的电脑上已经安装了 Android Studio,从菜单栏打开 SDK 管理器(Tools > SDK Manager > Android SDK > SDK Tools),勾选以下 3 个选项后点击 OK 按钮确认:

  • Android SDK Build-Tools
  • Android SDK Command-line Tools
  • NDK(Side by side)

然后,设置如下两个系统环境变量:

sh
export ANDROID_SDK_ROOT=$HOME/Library/Android/sdk
+import{_ as i,c as a,a1 as n,o as l}from"./chunks/framework.C82C2wD0.js";const p="/learn-wgpu-zh/assets/tools.SDfH2BFP.png",h="/learn-wgpu-zh/assets/on_android.BmWZaLNk.png",c=JSON.parse('{"title":"与 Android App 集成","description":"","frontmatter":{},"headers":[],"relativePath":"integration-and-debugging/android/index.md","filePath":"integration-and-debugging/android/index.md","lastUpdated":1733013181000}'),k={name:"integration-and-debugging/android/index.md"};function e(t,s,r,d,E,g){return l(),a("div",null,s[0]||(s[0]=[n('

与 Android App 集成

开发环境配置

假设你的电脑上已经安装了 Android Studio,从菜单栏打开 SDK 管理器(Tools > SDK Manager > Android SDK > SDK Tools),勾选以下 3 个选项后点击 OK 按钮确认:

  • Android SDK Build-Tools
  • Android SDK Command-line Tools
  • NDK(Side by side)

然后,设置如下两个系统环境变量:

sh
export ANDROID_SDK_ROOT=$HOME/Library/Android/sdk
 # 注意,此处需要替换为你电脑上安装的 NDK 的版本号
 export NDK_HOME=$ANDROID_SDK_ROOT/ndk/23.1.7779620

添加安卓构建目标支持

到目前为止,Android 模拟器和虚拟设备还不支持 Vulkan 图形 API(仅支持 OpenGL ES),所以开发或调试 wgpu 程序在 Android 系统上的运行时,建议使用真机(各种云测平台的云真机也行)。

如果需要支持模拟器运行,还得加上 x86_64-linux-androidi686-linux-android 这两个构建目标的支持。需要注意的是,如果指定了 wgpu 项目使用 Vulkan 图形后端(Instance::new(wgpu::Backends::VULKAN)),则在模拟内运行时会崩溃:

sh
rustup target add aarch64-linux-android armv7-linux-androideabi

自定义窗口对象

要实现一个 wgpu 里能使用的窗口对象,就必须实现 raw-window-handle 中 raw_window_handle() raw_display_handle() 这两个分别定义在 HasRawWindowHandle HasRawDisplayHandle trait 里的抽象接口。

实现 raw_display_handle() 最为简单, 只需要实例化一个空的 AndroidDisplayHandle 对象做为参数。查看 raw-window-handle 的源码就会发现,实现 raw_window_handle() 抽象接口需要用到 AndroidNdkWindowHandle 对象,此对象有一个叫 a_native_window 的字段,用来指向安卓 App 的 ANativeWindow 实例。 下面我们来一步步实现它。

先给项目添加必要的依赖:

toml
[target.'cfg(target_os = "android")'.dependencies]
 jni = "0.19"
diff --git a/assets/integration-and-debugging_android_index.md.DfI_uwOa.lean.js b/assets/integration-and-debugging_android_index.md.B6mU7e9b.lean.js
similarity index 99%
rename from assets/integration-and-debugging_android_index.md.DfI_uwOa.lean.js
rename to assets/integration-and-debugging_android_index.md.B6mU7e9b.lean.js
index 25da4ae5..1fe401e0 100644
--- a/assets/integration-and-debugging_android_index.md.DfI_uwOa.lean.js
+++ b/assets/integration-and-debugging_android_index.md.B6mU7e9b.lean.js
@@ -1,4 +1,4 @@
-import{_ as i,c as a,a1 as n,o as l}from"./chunks/framework.C82C2wD0.js";const p="/learn-wgpu-zh/assets/tools.SDfH2BFP.png",h="/learn-wgpu-zh/assets/on_android.BmWZaLNk.png",c=JSON.parse('{"title":"与 Android App 集成","description":"","frontmatter":{},"headers":[],"relativePath":"integration-and-debugging/android/index.md","filePath":"integration-and-debugging/android/index.md","lastUpdated":1732966628000}'),k={name:"integration-and-debugging/android/index.md"};function e(t,s,r,d,E,g){return l(),a("div",null,s[0]||(s[0]=[n('

与 Android App 集成

开发环境配置

假设你的电脑上已经安装了 Android Studio,从菜单栏打开 SDK 管理器(Tools > SDK Manager > Android SDK > SDK Tools),勾选以下 3 个选项后点击 OK 按钮确认:

  • Android SDK Build-Tools
  • Android SDK Command-line Tools
  • NDK(Side by side)

然后,设置如下两个系统环境变量:

sh
export ANDROID_SDK_ROOT=$HOME/Library/Android/sdk
+import{_ as i,c as a,a1 as n,o as l}from"./chunks/framework.C82C2wD0.js";const p="/learn-wgpu-zh/assets/tools.SDfH2BFP.png",h="/learn-wgpu-zh/assets/on_android.BmWZaLNk.png",c=JSON.parse('{"title":"与 Android App 集成","description":"","frontmatter":{},"headers":[],"relativePath":"integration-and-debugging/android/index.md","filePath":"integration-and-debugging/android/index.md","lastUpdated":1733013181000}'),k={name:"integration-and-debugging/android/index.md"};function e(t,s,r,d,E,g){return l(),a("div",null,s[0]||(s[0]=[n('

与 Android App 集成

开发环境配置

假设你的电脑上已经安装了 Android Studio,从菜单栏打开 SDK 管理器(Tools > SDK Manager > Android SDK > SDK Tools),勾选以下 3 个选项后点击 OK 按钮确认:

  • Android SDK Build-Tools
  • Android SDK Command-line Tools
  • NDK(Side by side)

然后,设置如下两个系统环境变量:

sh
export ANDROID_SDK_ROOT=$HOME/Library/Android/sdk
 # 注意,此处需要替换为你电脑上安装的 NDK 的版本号
 export NDK_HOME=$ANDROID_SDK_ROOT/ndk/23.1.7779620

添加安卓构建目标支持

到目前为止,Android 模拟器和虚拟设备还不支持 Vulkan 图形 API(仅支持 OpenGL ES),所以开发或调试 wgpu 程序在 Android 系统上的运行时,建议使用真机(各种云测平台的云真机也行)。

如果需要支持模拟器运行,还得加上 x86_64-linux-androidi686-linux-android 这两个构建目标的支持。需要注意的是,如果指定了 wgpu 项目使用 Vulkan 图形后端(Instance::new(wgpu::Backends::VULKAN)),则在模拟内运行时会崩溃:

sh
rustup target add aarch64-linux-android armv7-linux-androideabi

自定义窗口对象

要实现一个 wgpu 里能使用的窗口对象,就必须实现 raw-window-handle 中 raw_window_handle() raw_display_handle() 这两个分别定义在 HasRawWindowHandle HasRawDisplayHandle trait 里的抽象接口。

实现 raw_display_handle() 最为简单, 只需要实例化一个空的 AndroidDisplayHandle 对象做为参数。查看 raw-window-handle 的源码就会发现,实现 raw_window_handle() 抽象接口需要用到 AndroidNdkWindowHandle 对象,此对象有一个叫 a_native_window 的字段,用来指向安卓 App 的 ANativeWindow 实例。 下面我们来一步步实现它。

先给项目添加必要的依赖:

toml
[target.'cfg(target_os = "android")'.dependencies]
 jni = "0.19"
diff --git a/assets/integration-and-debugging_bevy_index.md.CrTu7iUb.js b/assets/integration-and-debugging_bevy_index.md.BbyyLarL.js
similarity index 99%
rename from assets/integration-and-debugging_bevy_index.md.CrTu7iUb.js
rename to assets/integration-and-debugging_bevy_index.md.BbyyLarL.js
index 405767fb..58c85bf1 100644
--- a/assets/integration-and-debugging_bevy_index.md.CrTu7iUb.js
+++ b/assets/integration-and-debugging_bevy_index.md.BbyyLarL.js
@@ -1,4 +1,4 @@
-import{_ as i,c as a,a1 as n,o as p}from"./chunks/framework.C82C2wD0.js";const l="/learn-wgpu-zh/assets/bevy_in_android.CCRFQ9-W.png",h="/learn-wgpu-zh/assets/bevy_in_ios.DGgIi9R9.png",F=JSON.parse('{"title":"在 iOS Android App 中集成 Bevy 游戏引擎","description":"","frontmatter":{},"headers":[],"relativePath":"integration-and-debugging/bevy/index.md","filePath":"integration-and-debugging/bevy/index.md","lastUpdated":1732966628000}'),k={name:"integration-and-debugging/bevy/index.md"};function e(t,s,r,d,E,g){return p(),a("div",null,s[0]||(s[0]=[n(`

在 iOS Android App 中集成 Bevy 游戏引擎

认识 Bevy

Bevy 是一个开源、跨平台的 Rust 游戏引擎,设计目的是提供一个简单、高效且易于使用的游戏开发框架。它的特点包括:

  • 模块化设计:游戏引擎的各个组件皆为单独的模块,方便选择需要的组件并扩展。
  • 灵活的插件系统:支持自定义插件,可以创建并集成自己的插件。
  • 易于使用的 API:API 简单易懂,帮助快速开始游戏开发。
  • 强大的渲染系统:使用了 wgpu 作为渲染后端,以提供强大的图形渲染能力。
  • 跨平台:除了支持在 Windows、MacOS 和 Linux 桌面系统及 iOS、Android 移动设备上运行,还能在支持 WebGPU 的浏览器上运行。

Bevy 是一个适合新手的游戏引擎,其简单性和灵活性使得能够轻松地开始游戏开发,随着经验的增加,它也能满足更高级的定制需求。

需求场景

如果需要给已有的 App 添加一个开屏小游戏,或者实现一些动态 UI 组件、图表...,又或者只是想充分利用手机上的 Motion Sensors 来实现令人惊艳的游戏体验,那么就不能使用 Bevy 默认的 WinitPlugin 了。因为 winit 会完全控制 App 的初始化过程和窗口,而我们需要的是在已有的 App 实例中创建 bevy::App, 并且我们可能还希望 bevy::App 能在任意大小的 iOS UIView 或 Android SurfaceView 中运行。

本章我们将逐步实现一个此类场景,并且利用手机的 Motion Sensor 来玩 breakout 小游戏。

Bevy 中的窗口插件

Bevy 中有两个窗口插件:WindowPluginWinitPlugin

WindowPlugin 是 Bevy 中构建游戏或应用程序的基础插件, 它提供了一套简单易用的接口来管理窗口的属性(标题、是否可见...)、行为(获取焦点,缩放约束,窗口显示层级...)、与事件(鼠标、键盘、触摸事件...)。WindowPlugin 并不负责实际的窗口创建,它需要与其他插件配合使用

WinitPlugin 为 Bevy 提供实际的窗口及事件循环的创建与管理。顾名思义,它依赖了 winit 窗口管理库。

下面通过源码来看看 WinitPlugin 是如何完成工作的:

rust
// crates/bevy_winit/src/lib.rs
+import{_ as i,c as a,a1 as n,o as p}from"./chunks/framework.C82C2wD0.js";const l="/learn-wgpu-zh/assets/bevy_in_android.CCRFQ9-W.png",h="/learn-wgpu-zh/assets/bevy_in_ios.DGgIi9R9.png",F=JSON.parse('{"title":"在 iOS Android App 中集成 Bevy 游戏引擎","description":"","frontmatter":{},"headers":[],"relativePath":"integration-and-debugging/bevy/index.md","filePath":"integration-and-debugging/bevy/index.md","lastUpdated":1733013181000}'),k={name:"integration-and-debugging/bevy/index.md"};function e(t,s,r,d,E,g){return p(),a("div",null,s[0]||(s[0]=[n(`

在 iOS Android App 中集成 Bevy 游戏引擎

认识 Bevy

Bevy 是一个开源、跨平台的 Rust 游戏引擎,设计目的是提供一个简单、高效且易于使用的游戏开发框架。它的特点包括:

  • 模块化设计:游戏引擎的各个组件皆为单独的模块,方便选择需要的组件并扩展。
  • 灵活的插件系统:支持自定义插件,可以创建并集成自己的插件。
  • 易于使用的 API:API 简单易懂,帮助快速开始游戏开发。
  • 强大的渲染系统:使用了 wgpu 作为渲染后端,以提供强大的图形渲染能力。
  • 跨平台:除了支持在 Windows、MacOS 和 Linux 桌面系统及 iOS、Android 移动设备上运行,还能在支持 WebGPU 的浏览器上运行。

Bevy 是一个适合新手的游戏引擎,其简单性和灵活性使得能够轻松地开始游戏开发,随着经验的增加,它也能满足更高级的定制需求。

需求场景

如果需要给已有的 App 添加一个开屏小游戏,或者实现一些动态 UI 组件、图表...,又或者只是想充分利用手机上的 Motion Sensors 来实现令人惊艳的游戏体验,那么就不能使用 Bevy 默认的 WinitPlugin 了。因为 winit 会完全控制 App 的初始化过程和窗口,而我们需要的是在已有的 App 实例中创建 bevy::App, 并且我们可能还希望 bevy::App 能在任意大小的 iOS UIView 或 Android SurfaceView 中运行。

本章我们将逐步实现一个此类场景,并且利用手机的 Motion Sensor 来玩 breakout 小游戏。

Bevy 中的窗口插件

Bevy 中有两个窗口插件:WindowPluginWinitPlugin

WindowPlugin 是 Bevy 中构建游戏或应用程序的基础插件, 它提供了一套简单易用的接口来管理窗口的属性(标题、是否可见...)、行为(获取焦点,缩放约束,窗口显示层级...)、与事件(鼠标、键盘、触摸事件...)。WindowPlugin 并不负责实际的窗口创建,它需要与其他插件配合使用

WinitPlugin 为 Bevy 提供实际的窗口及事件循环的创建与管理。顾名思义,它依赖了 winit 窗口管理库。

下面通过源码来看看 WinitPlugin 是如何完成工作的:

rust
// crates/bevy_winit/src/lib.rs
 
 #[derive(Default)]
 pub struct WinitPlugin;
diff --git a/assets/integration-and-debugging_bevy_index.md.CrTu7iUb.lean.js b/assets/integration-and-debugging_bevy_index.md.BbyyLarL.lean.js
similarity index 99%
rename from assets/integration-and-debugging_bevy_index.md.CrTu7iUb.lean.js
rename to assets/integration-and-debugging_bevy_index.md.BbyyLarL.lean.js
index 405767fb..58c85bf1 100644
--- a/assets/integration-and-debugging_bevy_index.md.CrTu7iUb.lean.js
+++ b/assets/integration-and-debugging_bevy_index.md.BbyyLarL.lean.js
@@ -1,4 +1,4 @@
-import{_ as i,c as a,a1 as n,o as p}from"./chunks/framework.C82C2wD0.js";const l="/learn-wgpu-zh/assets/bevy_in_android.CCRFQ9-W.png",h="/learn-wgpu-zh/assets/bevy_in_ios.DGgIi9R9.png",F=JSON.parse('{"title":"在 iOS Android App 中集成 Bevy 游戏引擎","description":"","frontmatter":{},"headers":[],"relativePath":"integration-and-debugging/bevy/index.md","filePath":"integration-and-debugging/bevy/index.md","lastUpdated":1732966628000}'),k={name:"integration-and-debugging/bevy/index.md"};function e(t,s,r,d,E,g){return p(),a("div",null,s[0]||(s[0]=[n(`

在 iOS Android App 中集成 Bevy 游戏引擎

认识 Bevy

Bevy 是一个开源、跨平台的 Rust 游戏引擎,设计目的是提供一个简单、高效且易于使用的游戏开发框架。它的特点包括:

  • 模块化设计:游戏引擎的各个组件皆为单独的模块,方便选择需要的组件并扩展。
  • 灵活的插件系统:支持自定义插件,可以创建并集成自己的插件。
  • 易于使用的 API:API 简单易懂,帮助快速开始游戏开发。
  • 强大的渲染系统:使用了 wgpu 作为渲染后端,以提供强大的图形渲染能力。
  • 跨平台:除了支持在 Windows、MacOS 和 Linux 桌面系统及 iOS、Android 移动设备上运行,还能在支持 WebGPU 的浏览器上运行。

Bevy 是一个适合新手的游戏引擎,其简单性和灵活性使得能够轻松地开始游戏开发,随着经验的增加,它也能满足更高级的定制需求。

需求场景

如果需要给已有的 App 添加一个开屏小游戏,或者实现一些动态 UI 组件、图表...,又或者只是想充分利用手机上的 Motion Sensors 来实现令人惊艳的游戏体验,那么就不能使用 Bevy 默认的 WinitPlugin 了。因为 winit 会完全控制 App 的初始化过程和窗口,而我们需要的是在已有的 App 实例中创建 bevy::App, 并且我们可能还希望 bevy::App 能在任意大小的 iOS UIView 或 Android SurfaceView 中运行。

本章我们将逐步实现一个此类场景,并且利用手机的 Motion Sensor 来玩 breakout 小游戏。

Bevy 中的窗口插件

Bevy 中有两个窗口插件:WindowPluginWinitPlugin

WindowPlugin 是 Bevy 中构建游戏或应用程序的基础插件, 它提供了一套简单易用的接口来管理窗口的属性(标题、是否可见...)、行为(获取焦点,缩放约束,窗口显示层级...)、与事件(鼠标、键盘、触摸事件...)。WindowPlugin 并不负责实际的窗口创建,它需要与其他插件配合使用

WinitPlugin 为 Bevy 提供实际的窗口及事件循环的创建与管理。顾名思义,它依赖了 winit 窗口管理库。

下面通过源码来看看 WinitPlugin 是如何完成工作的:

rust
// crates/bevy_winit/src/lib.rs
+import{_ as i,c as a,a1 as n,o as p}from"./chunks/framework.C82C2wD0.js";const l="/learn-wgpu-zh/assets/bevy_in_android.CCRFQ9-W.png",h="/learn-wgpu-zh/assets/bevy_in_ios.DGgIi9R9.png",F=JSON.parse('{"title":"在 iOS Android App 中集成 Bevy 游戏引擎","description":"","frontmatter":{},"headers":[],"relativePath":"integration-and-debugging/bevy/index.md","filePath":"integration-and-debugging/bevy/index.md","lastUpdated":1733013181000}'),k={name:"integration-and-debugging/bevy/index.md"};function e(t,s,r,d,E,g){return p(),a("div",null,s[0]||(s[0]=[n(`

在 iOS Android App 中集成 Bevy 游戏引擎

认识 Bevy

Bevy 是一个开源、跨平台的 Rust 游戏引擎,设计目的是提供一个简单、高效且易于使用的游戏开发框架。它的特点包括:

  • 模块化设计:游戏引擎的各个组件皆为单独的模块,方便选择需要的组件并扩展。
  • 灵活的插件系统:支持自定义插件,可以创建并集成自己的插件。
  • 易于使用的 API:API 简单易懂,帮助快速开始游戏开发。
  • 强大的渲染系统:使用了 wgpu 作为渲染后端,以提供强大的图形渲染能力。
  • 跨平台:除了支持在 Windows、MacOS 和 Linux 桌面系统及 iOS、Android 移动设备上运行,还能在支持 WebGPU 的浏览器上运行。

Bevy 是一个适合新手的游戏引擎,其简单性和灵活性使得能够轻松地开始游戏开发,随着经验的增加,它也能满足更高级的定制需求。

需求场景

如果需要给已有的 App 添加一个开屏小游戏,或者实现一些动态 UI 组件、图表...,又或者只是想充分利用手机上的 Motion Sensors 来实现令人惊艳的游戏体验,那么就不能使用 Bevy 默认的 WinitPlugin 了。因为 winit 会完全控制 App 的初始化过程和窗口,而我们需要的是在已有的 App 实例中创建 bevy::App, 并且我们可能还希望 bevy::App 能在任意大小的 iOS UIView 或 Android SurfaceView 中运行。

本章我们将逐步实现一个此类场景,并且利用手机的 Motion Sensor 来玩 breakout 小游戏。

Bevy 中的窗口插件

Bevy 中有两个窗口插件:WindowPluginWinitPlugin

WindowPlugin 是 Bevy 中构建游戏或应用程序的基础插件, 它提供了一套简单易用的接口来管理窗口的属性(标题、是否可见...)、行为(获取焦点,缩放约束,窗口显示层级...)、与事件(鼠标、键盘、触摸事件...)。WindowPlugin 并不负责实际的窗口创建,它需要与其他插件配合使用

WinitPlugin 为 Bevy 提供实际的窗口及事件循环的创建与管理。顾名思义,它依赖了 winit 窗口管理库。

下面通过源码来看看 WinitPlugin 是如何完成工作的:

rust
// crates/bevy_winit/src/lib.rs
 
 #[derive(Default)]
 pub struct WinitPlugin;
diff --git a/assets/integration-and-debugging_index.md.CFBzd_c7.js b/assets/integration-and-debugging_index.md.DPhtkj8c.js
similarity index 97%
rename from assets/integration-and-debugging_index.md.CFBzd_c7.js
rename to assets/integration-and-debugging_index.md.DPhtkj8c.js
index bffba34f..2b253468 100644
--- a/assets/integration-and-debugging_index.md.CFBzd_c7.js
+++ b/assets/integration-and-debugging_index.md.DPhtkj8c.js
@@ -1 +1 @@
-import{_ as n,c as r,a1 as a,G as o,B as i,o as p}from"./chunks/framework.C82C2wD0.js";const s="/learn-wgpu-zh/res/tools.png",f=JSON.parse('{"title":"楔子","description":"","frontmatter":{},"headers":[],"relativePath":"integration-and-debugging/index.md","filePath":"integration-and-debugging/index.md","lastUpdated":1732966628000}'),d={name:"integration-and-debugging/index.md"};function g(u,e,c,w,l,h){const t=i("JoinWeiChatGroup");return p(),r("div",null,[e[0]||(e[0]=a('

楔子

调试工具集

教程的开篇我们就已提到:wgpu 是基于 WebGPU 规范的跨平台图形 API。也就是说,wgpu 不光能运行在 Web 及桌面环境里,更是能运行在 iOS、Android 两大移动操作系统上。

wgpu 的运行并不依赖于任何窗口程序,所以也不提供窗口的创建及管理功能,只有在创建基于窗口的绘制表面(Surface)时,才可能需要一个实现了 raw-window-handle 抽象接口的实参(之所以说是可能需要,是因为在 iOS/macOS 上,使用 CAMetalLayer 也能创建绘制表面的实例)。 winit 是一个实现了 raw-window-handle 抽象接口的、跨平台的窗口创建及管理(crate)。 在桌面端(macOS、Windows、Linux)及移动端(iOS、Android),winit 会接管整个 App (应用程序)的窗口管理(包括事件循环(Events loop))。

毫无疑问,对于游戏类 App, 使用 wgpu + winit 的组合是非常合适的。但是,大量非游戏类 App 也经常有使用图形 API 的需求(比如,图表、图片滤镜等),这些 App 需要用到大量的系统 UI 组件及交互,winit 这种接管整个 App 窗口的方式是不合适的。所以,将 wgpu 集成到现有的 iOS、Android App 且不使用 winit 将非常有用。

我们都知道,调试和分析是优化程序性能的必备技能。

虽然 wgpu 会在运行时验证 API 调用及参数设置来保证只有有效的工作负载才能提交给 GPU 执行,但是,这并不能保证渲染计算着色(Compute Shading)的正确性。本章中我们还会学习到如何利用调试工具来分析 wgpu 程序的性能及查找难以发现的错误!

加入 wgpu 微信学习交流群

',8)),o(t)])}const _=n(d,[["render",g]]);export{f as __pageData,_ as default}; +import{_ as n,c as r,a1 as a,G as o,B as i,o as p}from"./chunks/framework.C82C2wD0.js";const s="/learn-wgpu-zh/res/tools.png",f=JSON.parse('{"title":"楔子","description":"","frontmatter":{},"headers":[],"relativePath":"integration-and-debugging/index.md","filePath":"integration-and-debugging/index.md","lastUpdated":1733013181000}'),d={name:"integration-and-debugging/index.md"};function g(u,e,c,w,l,h){const t=i("JoinWeiChatGroup");return p(),r("div",null,[e[0]||(e[0]=a('

楔子

调试工具集

教程的开篇我们就已提到:wgpu 是基于 WebGPU 规范的跨平台图形 API。也就是说,wgpu 不光能运行在 Web 及桌面环境里,更是能运行在 iOS、Android 两大移动操作系统上。

wgpu 的运行并不依赖于任何窗口程序,所以也不提供窗口的创建及管理功能,只有在创建基于窗口的绘制表面(Surface)时,才可能需要一个实现了 raw-window-handle 抽象接口的实参(之所以说是可能需要,是因为在 iOS/macOS 上,使用 CAMetalLayer 也能创建绘制表面的实例)。 winit 是一个实现了 raw-window-handle 抽象接口的、跨平台的窗口创建及管理(crate)。 在桌面端(macOS、Windows、Linux)及移动端(iOS、Android),winit 会接管整个 App (应用程序)的窗口管理(包括事件循环(Events loop))。

毫无疑问,对于游戏类 App, 使用 wgpu + winit 的组合是非常合适的。但是,大量非游戏类 App 也经常有使用图形 API 的需求(比如,图表、图片滤镜等),这些 App 需要用到大量的系统 UI 组件及交互,winit 这种接管整个 App 窗口的方式是不合适的。所以,将 wgpu 集成到现有的 iOS、Android App 且不使用 winit 将非常有用。

我们都知道,调试和分析是优化程序性能的必备技能。

虽然 wgpu 会在运行时验证 API 调用及参数设置来保证只有有效的工作负载才能提交给 GPU 执行,但是,这并不能保证渲染计算着色(Compute Shading)的正确性。本章中我们还会学习到如何利用调试工具来分析 wgpu 程序的性能及查找难以发现的错误!

加入 wgpu 微信学习交流群

',8)),o(t)])}const _=n(d,[["render",g]]);export{f as __pageData,_ as default}; diff --git a/assets/integration-and-debugging_index.md.CFBzd_c7.lean.js b/assets/integration-and-debugging_index.md.DPhtkj8c.lean.js similarity index 97% rename from assets/integration-and-debugging_index.md.CFBzd_c7.lean.js rename to assets/integration-and-debugging_index.md.DPhtkj8c.lean.js index bffba34f..2b253468 100644 --- a/assets/integration-and-debugging_index.md.CFBzd_c7.lean.js +++ b/assets/integration-and-debugging_index.md.DPhtkj8c.lean.js @@ -1 +1 @@ -import{_ as n,c as r,a1 as a,G as o,B as i,o as p}from"./chunks/framework.C82C2wD0.js";const s="/learn-wgpu-zh/res/tools.png",f=JSON.parse('{"title":"楔子","description":"","frontmatter":{},"headers":[],"relativePath":"integration-and-debugging/index.md","filePath":"integration-and-debugging/index.md","lastUpdated":1732966628000}'),d={name:"integration-and-debugging/index.md"};function g(u,e,c,w,l,h){const t=i("JoinWeiChatGroup");return p(),r("div",null,[e[0]||(e[0]=a('

楔子

调试工具集

教程的开篇我们就已提到:wgpu 是基于 WebGPU 规范的跨平台图形 API。也就是说,wgpu 不光能运行在 Web 及桌面环境里,更是能运行在 iOS、Android 两大移动操作系统上。

wgpu 的运行并不依赖于任何窗口程序,所以也不提供窗口的创建及管理功能,只有在创建基于窗口的绘制表面(Surface)时,才可能需要一个实现了 raw-window-handle 抽象接口的实参(之所以说是可能需要,是因为在 iOS/macOS 上,使用 CAMetalLayer 也能创建绘制表面的实例)。 winit 是一个实现了 raw-window-handle 抽象接口的、跨平台的窗口创建及管理(crate)。 在桌面端(macOS、Windows、Linux)及移动端(iOS、Android),winit 会接管整个 App (应用程序)的窗口管理(包括事件循环(Events loop))。

毫无疑问,对于游戏类 App, 使用 wgpu + winit 的组合是非常合适的。但是,大量非游戏类 App 也经常有使用图形 API 的需求(比如,图表、图片滤镜等),这些 App 需要用到大量的系统 UI 组件及交互,winit 这种接管整个 App 窗口的方式是不合适的。所以,将 wgpu 集成到现有的 iOS、Android App 且不使用 winit 将非常有用。

我们都知道,调试和分析是优化程序性能的必备技能。

虽然 wgpu 会在运行时验证 API 调用及参数设置来保证只有有效的工作负载才能提交给 GPU 执行,但是,这并不能保证渲染计算着色(Compute Shading)的正确性。本章中我们还会学习到如何利用调试工具来分析 wgpu 程序的性能及查找难以发现的错误!

加入 wgpu 微信学习交流群

',8)),o(t)])}const _=n(d,[["render",g]]);export{f as __pageData,_ as default}; +import{_ as n,c as r,a1 as a,G as o,B as i,o as p}from"./chunks/framework.C82C2wD0.js";const s="/learn-wgpu-zh/res/tools.png",f=JSON.parse('{"title":"楔子","description":"","frontmatter":{},"headers":[],"relativePath":"integration-and-debugging/index.md","filePath":"integration-and-debugging/index.md","lastUpdated":1733013181000}'),d={name:"integration-and-debugging/index.md"};function g(u,e,c,w,l,h){const t=i("JoinWeiChatGroup");return p(),r("div",null,[e[0]||(e[0]=a('

楔子

调试工具集

教程的开篇我们就已提到:wgpu 是基于 WebGPU 规范的跨平台图形 API。也就是说,wgpu 不光能运行在 Web 及桌面环境里,更是能运行在 iOS、Android 两大移动操作系统上。

wgpu 的运行并不依赖于任何窗口程序,所以也不提供窗口的创建及管理功能,只有在创建基于窗口的绘制表面(Surface)时,才可能需要一个实现了 raw-window-handle 抽象接口的实参(之所以说是可能需要,是因为在 iOS/macOS 上,使用 CAMetalLayer 也能创建绘制表面的实例)。 winit 是一个实现了 raw-window-handle 抽象接口的、跨平台的窗口创建及管理(crate)。 在桌面端(macOS、Windows、Linux)及移动端(iOS、Android),winit 会接管整个 App (应用程序)的窗口管理(包括事件循环(Events loop))。

毫无疑问,对于游戏类 App, 使用 wgpu + winit 的组合是非常合适的。但是,大量非游戏类 App 也经常有使用图形 API 的需求(比如,图表、图片滤镜等),这些 App 需要用到大量的系统 UI 组件及交互,winit 这种接管整个 App 窗口的方式是不合适的。所以,将 wgpu 集成到现有的 iOS、Android App 且不使用 winit 将非常有用。

我们都知道,调试和分析是优化程序性能的必备技能。

虽然 wgpu 会在运行时验证 API 调用及参数设置来保证只有有效的工作负载才能提交给 GPU 执行,但是,这并不能保证渲染计算着色(Compute Shading)的正确性。本章中我们还会学习到如何利用调试工具来分析 wgpu 程序的性能及查找难以发现的错误!

加入 wgpu 微信学习交流群

',8)),o(t)])}const _=n(d,[["render",g]]);export{f as __pageData,_ as default}; diff --git a/assets/integration-and-debugging_ios_index.md.ClAGeCtq.js b/assets/integration-and-debugging_ios_index.md.Cxl1hdmz.js similarity index 99% rename from assets/integration-and-debugging_ios_index.md.ClAGeCtq.js rename to assets/integration-and-debugging_ios_index.md.Cxl1hdmz.js index 6abfe4a5..e2a863ea 100644 --- a/assets/integration-and-debugging_ios_index.md.ClAGeCtq.js +++ b/assets/integration-and-debugging_ios_index.md.Cxl1hdmz.js @@ -1,4 +1,4 @@ -import{_ as i,c as a,a1 as n,o as l}from"./chunks/framework.C82C2wD0.js";const p="/learn-wgpu-zh/assets/lib.C4KVABUI.png",e="/learn-wgpu-zh/assets/search.Be-o0PQT.png",h="/learn-wgpu-zh/assets/links.DKRFlC3q.png",k="/learn-wgpu-zh/assets/on_ios.C0AJlDAY.png",F=JSON.parse('{"title":"与 iOS App 集成","description":"","frontmatter":{},"headers":[],"relativePath":"integration-and-debugging/ios/index.md","filePath":"integration-and-debugging/ios/index.md","lastUpdated":1732966628000}'),t={name:"integration-and-debugging/ios/index.md"};function r(d,s,g,E,c,y){return l(),a("div",null,s[0]||(s[0]=[n(`

与 iOS App 集成

与 iOS App 集成相比于 Android 要简单一些。

添加 iOS 构建目标支持

sh
# 添加 iOS 构建目标支持
+import{_ as i,c as a,a1 as n,o as l}from"./chunks/framework.C82C2wD0.js";const p="/learn-wgpu-zh/assets/lib.C4KVABUI.png",e="/learn-wgpu-zh/assets/search.Be-o0PQT.png",h="/learn-wgpu-zh/assets/links.DKRFlC3q.png",k="/learn-wgpu-zh/assets/on_ios.C0AJlDAY.png",F=JSON.parse('{"title":"与 iOS App 集成","description":"","frontmatter":{},"headers":[],"relativePath":"integration-and-debugging/ios/index.md","filePath":"integration-and-debugging/ios/index.md","lastUpdated":1733013181000}'),t={name:"integration-and-debugging/ios/index.md"};function r(d,s,g,E,c,y){return l(),a("div",null,s[0]||(s[0]=[n(`

与 iOS App 集成

与 iOS App 集成相比于 Android 要简单一些。

添加 iOS 构建目标支持

sh
# 添加 iOS 构建目标支持
 rustup target add aarch64-apple-ios 
 
 # 添加 iOS 模拟器构建目标支持
diff --git a/assets/integration-and-debugging_ios_index.md.ClAGeCtq.lean.js b/assets/integration-and-debugging_ios_index.md.Cxl1hdmz.lean.js
similarity index 99%
rename from assets/integration-and-debugging_ios_index.md.ClAGeCtq.lean.js
rename to assets/integration-and-debugging_ios_index.md.Cxl1hdmz.lean.js
index 6abfe4a5..e2a863ea 100644
--- a/assets/integration-and-debugging_ios_index.md.ClAGeCtq.lean.js
+++ b/assets/integration-and-debugging_ios_index.md.Cxl1hdmz.lean.js
@@ -1,4 +1,4 @@
-import{_ as i,c as a,a1 as n,o as l}from"./chunks/framework.C82C2wD0.js";const p="/learn-wgpu-zh/assets/lib.C4KVABUI.png",e="/learn-wgpu-zh/assets/search.Be-o0PQT.png",h="/learn-wgpu-zh/assets/links.DKRFlC3q.png",k="/learn-wgpu-zh/assets/on_ios.C0AJlDAY.png",F=JSON.parse('{"title":"与 iOS App 集成","description":"","frontmatter":{},"headers":[],"relativePath":"integration-and-debugging/ios/index.md","filePath":"integration-and-debugging/ios/index.md","lastUpdated":1732966628000}'),t={name:"integration-and-debugging/ios/index.md"};function r(d,s,g,E,c,y){return l(),a("div",null,s[0]||(s[0]=[n(`

与 iOS App 集成

与 iOS App 集成相比于 Android 要简单一些。

添加 iOS 构建目标支持

sh
# 添加 iOS 构建目标支持
+import{_ as i,c as a,a1 as n,o as l}from"./chunks/framework.C82C2wD0.js";const p="/learn-wgpu-zh/assets/lib.C4KVABUI.png",e="/learn-wgpu-zh/assets/search.Be-o0PQT.png",h="/learn-wgpu-zh/assets/links.DKRFlC3q.png",k="/learn-wgpu-zh/assets/on_ios.C0AJlDAY.png",F=JSON.parse('{"title":"与 iOS App 集成","description":"","frontmatter":{},"headers":[],"relativePath":"integration-and-debugging/ios/index.md","filePath":"integration-and-debugging/ios/index.md","lastUpdated":1733013181000}'),t={name:"integration-and-debugging/ios/index.md"};function r(d,s,g,E,c,y){return l(),a("div",null,s[0]||(s[0]=[n(`

与 iOS App 集成

与 iOS App 集成相比于 Android 要简单一些。

添加 iOS 构建目标支持

sh
# 添加 iOS 构建目标支持
 rustup target add aarch64-apple-ios 
 
 # 添加 iOS 模拟器构建目标支持
diff --git a/assets/integration-and-debugging_snapdragon-profiler_index.md.Dw0yHUNM.js b/assets/integration-and-debugging_snapdragon-profiler_index.md.B8pn0hiK.js
similarity index 99%
rename from assets/integration-and-debugging_snapdragon-profiler_index.md.Dw0yHUNM.js
rename to assets/integration-and-debugging_snapdragon-profiler_index.md.B8pn0hiK.js
index fca73282..409dbf90 100644
--- a/assets/integration-and-debugging_snapdragon-profiler_index.md.Dw0yHUNM.js
+++ b/assets/integration-and-debugging_snapdragon-profiler_index.md.B8pn0hiK.js
@@ -1,4 +1,4 @@
-import{_ as a,c as n,a1 as r,o as e}from"./chunks/framework.C82C2wD0.js";const i="/learn-wgpu-zh/assets/connect.C0TAtll3.jpg",o="/learn-wgpu-zh/assets/realtime-left.CdlLCa0K.jpg",t="/learn-wgpu-zh/assets/realtime.CLyhQxd0.jpg",p="/learn-wgpu-zh/assets/trace.8lsKW7oK.png",l="/learn-wgpu-zh/assets/GMEM_load.oVBo5Sc9.jpg",d="/learn-wgpu-zh/assets/GMEM_store.CBuellf0.jpg",g="/learn-wgpu-zh/assets/frame.C0qmYsUH.jpg",c="/learn-wgpu-zh/assets/resource-left.Bra8lAST.jpg",h="/learn-wgpu-zh/assets/resource-right.rDQXVpUV.jpg",v=JSON.parse('{"title":"使用 Snapdragon Profiler 调试 wgpu 程序","description":"","frontmatter":{},"headers":[],"relativePath":"integration-and-debugging/snapdragon-profiler/index.md","filePath":"integration-and-debugging/snapdragon-profiler/index.md","lastUpdated":1732966628000}'),u={name:"integration-and-debugging/snapdragon-profiler/index.md"};function k(m,s,f,b,P,y){return e(),n("div",null,s[0]||(s[0]=[r('

使用 Snapdragon Profiler 调试 wgpu 程序

与 Android App 集成章节我们已经学习了 wgpu 与 Android App 的集成,现在来看看集成后的调试。

Snapdragon Profiler 工具介绍

Snapdragon Profiler 是高通公司开发的一款可运行在 Windows、Mac 和 Linux 平台上的性能分析和帧调试工具。 它通过 USB 与安卓设备连接,允许开发人员分析 CPU、GPU、内存等数据,以便我们发现并修复性能瓶颈。

Snapdragon Profiler 工具的功能特点:

  • 实时监测 GPU 性能;
  • 查看 CPU 调度和 GPU 阶段数据,了解应用程序将时间花在哪里;
  • GPU 捕获;
  • 单步调试绘制;
  • 查看和编辑着色器并在设备上预览结果;
  • 查看和调试像素历史记录;
  • 捕获和查看每次绘制调用的 GPU 指标;

上面的官网链接提供了对应平台安装包的免费下载。如果是 Mac 和 Linux 平台, 在安装 Snapdragon Profiler 之前需要先安装 momo 框架(mono 是 Windows .Net 框架的跨平台开源实现)。 在运行 Snapdragon Profiler 之前需要确保系统上安装了 Android Studio 或者 AndroidSDK,并且已将 ADB 路径添加到系统环境变量中。

实时模式查看 GPU 统计数据

USB 连接要调试的 Android 手机后打开 Snapdragon Profiler,点击窗口左边栏的 Start a Session, 此时右边出现的小弹窗里会列出当前与电脑连接的所有可调试设备,我们选中列表中的设备,勾选上弹窗左下角的 Auto connect 再点击右下角的 Connect,这样,下回再次调试同一台设备时就能自动连接到 Snapdragon Profiler 了:

连接后,有四种调试模式供我们选择:实时、追踪、帧捕获及 CPU 采样,现在选择实时(左图),在实时窗口的左边栏展示了实时指标列表,我们可以选择相应的指标项来收集 CPU、GPU、内存、网络、电源和散热的实时指标(右图):

实时模式
实时预览

上面的右图中,我选择了 GPU GeneralGPU Stalls 两个指标类别,窗口右边展示了每个细分指标的实时数据图表,要添加新的指标图表,只需双击类别(以添加类别中的所有指标)或单个指标,或者将类别或指标拖放到右侧的“图表”窗格中。

追踪模式检查片上内存装载

片上内存(on-chip memory)装载是影响移动应用中 GPU 性能的常见问题之一。在本节中,我们来学习如何使用 Snapdragon Profiler 查找和定位引起片上内存装载的应用程序代码。

Snapdragon Profiler 里将片上内存称之为图形内存(GMEM,全称 Graphic Memory),但是这里的图形内存跟显存容易混淆,它俩并不是一回事。故,下边统一使用片上内存来指代 GMEM。

什么是片上内存装载?

移动 GPU 的 Tiling 架构管线包括一个渲染通道。在渲染过程中,每个 Tile 都是先被渲染到片上内存中。按照驱动程序的默认行为,先前的帧缓冲区数据被从设备内存加载到每个 Tile 的片上内存中,即发生片上内存装载。

所谓 Tiling,本质上就是管理 GPU 内存的技术。Tiling 利用片上内存(on-chip memory)去降低设备内存的访问次数,从而降低 GPU 内存带宽的消耗及访问延迟。 正确理解并利用 Tiling 架构的内存管理特性,可以有效的提高 GPU 程序的性能。

为什么要尽可能地减少或避免片上内存装载?

因为每一次片上内存的加载都会减慢 GPU 的处理速度。
如果在 begin_render_pass 时通过设置 Clear() 来清理片上内存,驱动程序就可以避免在片上内存中装载帧缓冲区数据。虽然这涉及到一个额外的图形指令调用及其相关的开销,但它比为每个正在渲染的 Tile 将帧缓冲区数据加载回片上内存的开销要低得多。

导致片上内存装载的最主要原因是: 对驱动程序的不恰当提示。 应用程序代码使驱动程序认为需要帧缓冲区的先前内容。

检测片上内存装载

在 Snapdragon Profiler 的追踪模式下,我们可以让渲染阶段(Rendering Stages) 指标突出显示其自身通道中的片上内存装载(GMEM Loads)。

GPU 应用必须在项目的 AndroidManifest.xml 文件中包含 INTERNET 权限以启用图形 API 及 GPU 指标的追踪:

toml
<uses-permission android:name="android.permission.INTERNET" />

另外,Snapdragon Profiler 的追踪模式不允许追踪捕获超过 10 秒。也就是说,从点击 Start Capture 开始到点击 Stop Capture 结束,时长不得超过 10 秒。

启用追踪模式的操作步骤:

  • 连接好 Android 设备后,从 Start Page 界面单击左边栏的 System Trace Analysis,此时,就创建了一个新的 Trace 选项卡。
  • 选择刚创建的 Trace 选项卡,进入一个类似于实时模式的视图,然后在 Data Sources 边栏上端的应用列表中选中要追踪的应用(如果列表中找不到,就通过列表右上角的 Launch 按钮去启动要追踪的应用)。
  • Data Sources 边栏下端,选中 Process -> Vulkan -> Rendering Stages 项。

点击 Start Capture 开始追踪,在 10 秒内的任意段点击 Stop Capture,在等待 N 秒(取决于电脑性能)后就会展示出如下图表:

上图渲染阶段的设置对话框显示,这些片上内存装载消耗了总渲染时间的 23% 左右。

我们来看看源码帧渲染中的这条 begin_render_pass() 命令,颜色附件的片上操作使用了 Load:

rust
ops: wgpu::Operations {
+import{_ as a,c as n,a1 as r,o as e}from"./chunks/framework.C82C2wD0.js";const i="/learn-wgpu-zh/assets/connect.C0TAtll3.jpg",o="/learn-wgpu-zh/assets/realtime-left.CdlLCa0K.jpg",t="/learn-wgpu-zh/assets/realtime.CLyhQxd0.jpg",p="/learn-wgpu-zh/assets/trace.8lsKW7oK.png",l="/learn-wgpu-zh/assets/GMEM_load.oVBo5Sc9.jpg",d="/learn-wgpu-zh/assets/GMEM_store.CBuellf0.jpg",g="/learn-wgpu-zh/assets/frame.C0qmYsUH.jpg",c="/learn-wgpu-zh/assets/resource-left.Bra8lAST.jpg",h="/learn-wgpu-zh/assets/resource-right.rDQXVpUV.jpg",v=JSON.parse('{"title":"使用 Snapdragon Profiler 调试 wgpu 程序","description":"","frontmatter":{},"headers":[],"relativePath":"integration-and-debugging/snapdragon-profiler/index.md","filePath":"integration-and-debugging/snapdragon-profiler/index.md","lastUpdated":1733013181000}'),u={name:"integration-and-debugging/snapdragon-profiler/index.md"};function k(m,s,f,b,P,y){return e(),n("div",null,s[0]||(s[0]=[r('

使用 Snapdragon Profiler 调试 wgpu 程序

与 Android App 集成章节我们已经学习了 wgpu 与 Android App 的集成,现在来看看集成后的调试。

Snapdragon Profiler 工具介绍

Snapdragon Profiler 是高通公司开发的一款可运行在 Windows、Mac 和 Linux 平台上的性能分析和帧调试工具。 它通过 USB 与安卓设备连接,允许开发人员分析 CPU、GPU、内存等数据,以便我们发现并修复性能瓶颈。

Snapdragon Profiler 工具的功能特点:

  • 实时监测 GPU 性能;
  • 查看 CPU 调度和 GPU 阶段数据,了解应用程序将时间花在哪里;
  • GPU 捕获;
  • 单步调试绘制;
  • 查看和编辑着色器并在设备上预览结果;
  • 查看和调试像素历史记录;
  • 捕获和查看每次绘制调用的 GPU 指标;

上面的官网链接提供了对应平台安装包的免费下载。如果是 Mac 和 Linux 平台, 在安装 Snapdragon Profiler 之前需要先安装 momo 框架(mono 是 Windows .Net 框架的跨平台开源实现)。 在运行 Snapdragon Profiler 之前需要确保系统上安装了 Android Studio 或者 AndroidSDK,并且已将 ADB 路径添加到系统环境变量中。

实时模式查看 GPU 统计数据

USB 连接要调试的 Android 手机后打开 Snapdragon Profiler,点击窗口左边栏的 Start a Session, 此时右边出现的小弹窗里会列出当前与电脑连接的所有可调试设备,我们选中列表中的设备,勾选上弹窗左下角的 Auto connect 再点击右下角的 Connect,这样,下回再次调试同一台设备时就能自动连接到 Snapdragon Profiler 了:

连接后,有四种调试模式供我们选择:实时、追踪、帧捕获及 CPU 采样,现在选择实时(左图),在实时窗口的左边栏展示了实时指标列表,我们可以选择相应的指标项来收集 CPU、GPU、内存、网络、电源和散热的实时指标(右图):

实时模式
实时预览

上面的右图中,我选择了 GPU GeneralGPU Stalls 两个指标类别,窗口右边展示了每个细分指标的实时数据图表,要添加新的指标图表,只需双击类别(以添加类别中的所有指标)或单个指标,或者将类别或指标拖放到右侧的“图表”窗格中。

追踪模式检查片上内存装载

片上内存(on-chip memory)装载是影响移动应用中 GPU 性能的常见问题之一。在本节中,我们来学习如何使用 Snapdragon Profiler 查找和定位引起片上内存装载的应用程序代码。

Snapdragon Profiler 里将片上内存称之为图形内存(GMEM,全称 Graphic Memory),但是这里的图形内存跟显存容易混淆,它俩并不是一回事。故,下边统一使用片上内存来指代 GMEM。

什么是片上内存装载?

移动 GPU 的 Tiling 架构管线包括一个渲染通道。在渲染过程中,每个 Tile 都是先被渲染到片上内存中。按照驱动程序的默认行为,先前的帧缓冲区数据被从设备内存加载到每个 Tile 的片上内存中,即发生片上内存装载。

所谓 Tiling,本质上就是管理 GPU 内存的技术。Tiling 利用片上内存(on-chip memory)去降低设备内存的访问次数,从而降低 GPU 内存带宽的消耗及访问延迟。 正确理解并利用 Tiling 架构的内存管理特性,可以有效的提高 GPU 程序的性能。

为什么要尽可能地减少或避免片上内存装载?

因为每一次片上内存的加载都会减慢 GPU 的处理速度。
如果在 begin_render_pass 时通过设置 Clear() 来清理片上内存,驱动程序就可以避免在片上内存中装载帧缓冲区数据。虽然这涉及到一个额外的图形指令调用及其相关的开销,但它比为每个正在渲染的 Tile 将帧缓冲区数据加载回片上内存的开销要低得多。

导致片上内存装载的最主要原因是: 对驱动程序的不恰当提示。 应用程序代码使驱动程序认为需要帧缓冲区的先前内容。

检测片上内存装载

在 Snapdragon Profiler 的追踪模式下,我们可以让渲染阶段(Rendering Stages) 指标突出显示其自身通道中的片上内存装载(GMEM Loads)。

GPU 应用必须在项目的 AndroidManifest.xml 文件中包含 INTERNET 权限以启用图形 API 及 GPU 指标的追踪:

toml
<uses-permission android:name="android.permission.INTERNET" />

另外,Snapdragon Profiler 的追踪模式不允许追踪捕获超过 10 秒。也就是说,从点击 Start Capture 开始到点击 Stop Capture 结束,时长不得超过 10 秒。

启用追踪模式的操作步骤:

  • 连接好 Android 设备后,从 Start Page 界面单击左边栏的 System Trace Analysis,此时,就创建了一个新的 Trace 选项卡。
  • 选择刚创建的 Trace 选项卡,进入一个类似于实时模式的视图,然后在 Data Sources 边栏上端的应用列表中选中要追踪的应用(如果列表中找不到,就通过列表右上角的 Launch 按钮去启动要追踪的应用)。
  • Data Sources 边栏下端,选中 Process -> Vulkan -> Rendering Stages 项。

点击 Start Capture 开始追踪,在 10 秒内的任意段点击 Stop Capture,在等待 N 秒(取决于电脑性能)后就会展示出如下图表:

上图渲染阶段的设置对话框显示,这些片上内存装载消耗了总渲染时间的 23% 左右。

我们来看看源码帧渲染中的这条 begin_render_pass() 命令,颜色附件的片上操作使用了 Load:

rust
ops: wgpu::Operations {
     // load: wgpu::LoadOp::Clear(wgpu::Color::BLACK),
     load: wgpu::LoadOp::Load,
     store: wgpu::StoreOp::Store
diff --git a/assets/integration-and-debugging_snapdragon-profiler_index.md.Dw0yHUNM.lean.js b/assets/integration-and-debugging_snapdragon-profiler_index.md.B8pn0hiK.lean.js
similarity index 99%
rename from assets/integration-and-debugging_snapdragon-profiler_index.md.Dw0yHUNM.lean.js
rename to assets/integration-and-debugging_snapdragon-profiler_index.md.B8pn0hiK.lean.js
index fca73282..409dbf90 100644
--- a/assets/integration-and-debugging_snapdragon-profiler_index.md.Dw0yHUNM.lean.js
+++ b/assets/integration-and-debugging_snapdragon-profiler_index.md.B8pn0hiK.lean.js
@@ -1,4 +1,4 @@
-import{_ as a,c as n,a1 as r,o as e}from"./chunks/framework.C82C2wD0.js";const i="/learn-wgpu-zh/assets/connect.C0TAtll3.jpg",o="/learn-wgpu-zh/assets/realtime-left.CdlLCa0K.jpg",t="/learn-wgpu-zh/assets/realtime.CLyhQxd0.jpg",p="/learn-wgpu-zh/assets/trace.8lsKW7oK.png",l="/learn-wgpu-zh/assets/GMEM_load.oVBo5Sc9.jpg",d="/learn-wgpu-zh/assets/GMEM_store.CBuellf0.jpg",g="/learn-wgpu-zh/assets/frame.C0qmYsUH.jpg",c="/learn-wgpu-zh/assets/resource-left.Bra8lAST.jpg",h="/learn-wgpu-zh/assets/resource-right.rDQXVpUV.jpg",v=JSON.parse('{"title":"使用 Snapdragon Profiler 调试 wgpu 程序","description":"","frontmatter":{},"headers":[],"relativePath":"integration-and-debugging/snapdragon-profiler/index.md","filePath":"integration-and-debugging/snapdragon-profiler/index.md","lastUpdated":1732966628000}'),u={name:"integration-and-debugging/snapdragon-profiler/index.md"};function k(m,s,f,b,P,y){return e(),n("div",null,s[0]||(s[0]=[r('

使用 Snapdragon Profiler 调试 wgpu 程序

与 Android App 集成章节我们已经学习了 wgpu 与 Android App 的集成,现在来看看集成后的调试。

Snapdragon Profiler 工具介绍

Snapdragon Profiler 是高通公司开发的一款可运行在 Windows、Mac 和 Linux 平台上的性能分析和帧调试工具。 它通过 USB 与安卓设备连接,允许开发人员分析 CPU、GPU、内存等数据,以便我们发现并修复性能瓶颈。

Snapdragon Profiler 工具的功能特点:

  • 实时监测 GPU 性能;
  • 查看 CPU 调度和 GPU 阶段数据,了解应用程序将时间花在哪里;
  • GPU 捕获;
  • 单步调试绘制;
  • 查看和编辑着色器并在设备上预览结果;
  • 查看和调试像素历史记录;
  • 捕获和查看每次绘制调用的 GPU 指标;

上面的官网链接提供了对应平台安装包的免费下载。如果是 Mac 和 Linux 平台, 在安装 Snapdragon Profiler 之前需要先安装 momo 框架(mono 是 Windows .Net 框架的跨平台开源实现)。 在运行 Snapdragon Profiler 之前需要确保系统上安装了 Android Studio 或者 AndroidSDK,并且已将 ADB 路径添加到系统环境变量中。

实时模式查看 GPU 统计数据

USB 连接要调试的 Android 手机后打开 Snapdragon Profiler,点击窗口左边栏的 Start a Session, 此时右边出现的小弹窗里会列出当前与电脑连接的所有可调试设备,我们选中列表中的设备,勾选上弹窗左下角的 Auto connect 再点击右下角的 Connect,这样,下回再次调试同一台设备时就能自动连接到 Snapdragon Profiler 了:

连接后,有四种调试模式供我们选择:实时、追踪、帧捕获及 CPU 采样,现在选择实时(左图),在实时窗口的左边栏展示了实时指标列表,我们可以选择相应的指标项来收集 CPU、GPU、内存、网络、电源和散热的实时指标(右图):

实时模式
实时预览

上面的右图中,我选择了 GPU GeneralGPU Stalls 两个指标类别,窗口右边展示了每个细分指标的实时数据图表,要添加新的指标图表,只需双击类别(以添加类别中的所有指标)或单个指标,或者将类别或指标拖放到右侧的“图表”窗格中。

追踪模式检查片上内存装载

片上内存(on-chip memory)装载是影响移动应用中 GPU 性能的常见问题之一。在本节中,我们来学习如何使用 Snapdragon Profiler 查找和定位引起片上内存装载的应用程序代码。

Snapdragon Profiler 里将片上内存称之为图形内存(GMEM,全称 Graphic Memory),但是这里的图形内存跟显存容易混淆,它俩并不是一回事。故,下边统一使用片上内存来指代 GMEM。

什么是片上内存装载?

移动 GPU 的 Tiling 架构管线包括一个渲染通道。在渲染过程中,每个 Tile 都是先被渲染到片上内存中。按照驱动程序的默认行为,先前的帧缓冲区数据被从设备内存加载到每个 Tile 的片上内存中,即发生片上内存装载。

所谓 Tiling,本质上就是管理 GPU 内存的技术。Tiling 利用片上内存(on-chip memory)去降低设备内存的访问次数,从而降低 GPU 内存带宽的消耗及访问延迟。 正确理解并利用 Tiling 架构的内存管理特性,可以有效的提高 GPU 程序的性能。

为什么要尽可能地减少或避免片上内存装载?

因为每一次片上内存的加载都会减慢 GPU 的处理速度。
如果在 begin_render_pass 时通过设置 Clear() 来清理片上内存,驱动程序就可以避免在片上内存中装载帧缓冲区数据。虽然这涉及到一个额外的图形指令调用及其相关的开销,但它比为每个正在渲染的 Tile 将帧缓冲区数据加载回片上内存的开销要低得多。

导致片上内存装载的最主要原因是: 对驱动程序的不恰当提示。 应用程序代码使驱动程序认为需要帧缓冲区的先前内容。

检测片上内存装载

在 Snapdragon Profiler 的追踪模式下,我们可以让渲染阶段(Rendering Stages) 指标突出显示其自身通道中的片上内存装载(GMEM Loads)。

GPU 应用必须在项目的 AndroidManifest.xml 文件中包含 INTERNET 权限以启用图形 API 及 GPU 指标的追踪:

toml
<uses-permission android:name="android.permission.INTERNET" />

另外,Snapdragon Profiler 的追踪模式不允许追踪捕获超过 10 秒。也就是说,从点击 Start Capture 开始到点击 Stop Capture 结束,时长不得超过 10 秒。

启用追踪模式的操作步骤:

  • 连接好 Android 设备后,从 Start Page 界面单击左边栏的 System Trace Analysis,此时,就创建了一个新的 Trace 选项卡。
  • 选择刚创建的 Trace 选项卡,进入一个类似于实时模式的视图,然后在 Data Sources 边栏上端的应用列表中选中要追踪的应用(如果列表中找不到,就通过列表右上角的 Launch 按钮去启动要追踪的应用)。
  • Data Sources 边栏下端,选中 Process -> Vulkan -> Rendering Stages 项。

点击 Start Capture 开始追踪,在 10 秒内的任意段点击 Stop Capture,在等待 N 秒(取决于电脑性能)后就会展示出如下图表:

上图渲染阶段的设置对话框显示,这些片上内存装载消耗了总渲染时间的 23% 左右。

我们来看看源码帧渲染中的这条 begin_render_pass() 命令,颜色附件的片上操作使用了 Load:

rust
ops: wgpu::Operations {
+import{_ as a,c as n,a1 as r,o as e}from"./chunks/framework.C82C2wD0.js";const i="/learn-wgpu-zh/assets/connect.C0TAtll3.jpg",o="/learn-wgpu-zh/assets/realtime-left.CdlLCa0K.jpg",t="/learn-wgpu-zh/assets/realtime.CLyhQxd0.jpg",p="/learn-wgpu-zh/assets/trace.8lsKW7oK.png",l="/learn-wgpu-zh/assets/GMEM_load.oVBo5Sc9.jpg",d="/learn-wgpu-zh/assets/GMEM_store.CBuellf0.jpg",g="/learn-wgpu-zh/assets/frame.C0qmYsUH.jpg",c="/learn-wgpu-zh/assets/resource-left.Bra8lAST.jpg",h="/learn-wgpu-zh/assets/resource-right.rDQXVpUV.jpg",v=JSON.parse('{"title":"使用 Snapdragon Profiler 调试 wgpu 程序","description":"","frontmatter":{},"headers":[],"relativePath":"integration-and-debugging/snapdragon-profiler/index.md","filePath":"integration-and-debugging/snapdragon-profiler/index.md","lastUpdated":1733013181000}'),u={name:"integration-and-debugging/snapdragon-profiler/index.md"};function k(m,s,f,b,P,y){return e(),n("div",null,s[0]||(s[0]=[r('

使用 Snapdragon Profiler 调试 wgpu 程序

与 Android App 集成章节我们已经学习了 wgpu 与 Android App 的集成,现在来看看集成后的调试。

Snapdragon Profiler 工具介绍

Snapdragon Profiler 是高通公司开发的一款可运行在 Windows、Mac 和 Linux 平台上的性能分析和帧调试工具。 它通过 USB 与安卓设备连接,允许开发人员分析 CPU、GPU、内存等数据,以便我们发现并修复性能瓶颈。

Snapdragon Profiler 工具的功能特点:

  • 实时监测 GPU 性能;
  • 查看 CPU 调度和 GPU 阶段数据,了解应用程序将时间花在哪里;
  • GPU 捕获;
  • 单步调试绘制;
  • 查看和编辑着色器并在设备上预览结果;
  • 查看和调试像素历史记录;
  • 捕获和查看每次绘制调用的 GPU 指标;

上面的官网链接提供了对应平台安装包的免费下载。如果是 Mac 和 Linux 平台, 在安装 Snapdragon Profiler 之前需要先安装 momo 框架(mono 是 Windows .Net 框架的跨平台开源实现)。 在运行 Snapdragon Profiler 之前需要确保系统上安装了 Android Studio 或者 AndroidSDK,并且已将 ADB 路径添加到系统环境变量中。

实时模式查看 GPU 统计数据

USB 连接要调试的 Android 手机后打开 Snapdragon Profiler,点击窗口左边栏的 Start a Session, 此时右边出现的小弹窗里会列出当前与电脑连接的所有可调试设备,我们选中列表中的设备,勾选上弹窗左下角的 Auto connect 再点击右下角的 Connect,这样,下回再次调试同一台设备时就能自动连接到 Snapdragon Profiler 了:

连接后,有四种调试模式供我们选择:实时、追踪、帧捕获及 CPU 采样,现在选择实时(左图),在实时窗口的左边栏展示了实时指标列表,我们可以选择相应的指标项来收集 CPU、GPU、内存、网络、电源和散热的实时指标(右图):

实时模式
实时预览

上面的右图中,我选择了 GPU GeneralGPU Stalls 两个指标类别,窗口右边展示了每个细分指标的实时数据图表,要添加新的指标图表,只需双击类别(以添加类别中的所有指标)或单个指标,或者将类别或指标拖放到右侧的“图表”窗格中。

追踪模式检查片上内存装载

片上内存(on-chip memory)装载是影响移动应用中 GPU 性能的常见问题之一。在本节中,我们来学习如何使用 Snapdragon Profiler 查找和定位引起片上内存装载的应用程序代码。

Snapdragon Profiler 里将片上内存称之为图形内存(GMEM,全称 Graphic Memory),但是这里的图形内存跟显存容易混淆,它俩并不是一回事。故,下边统一使用片上内存来指代 GMEM。

什么是片上内存装载?

移动 GPU 的 Tiling 架构管线包括一个渲染通道。在渲染过程中,每个 Tile 都是先被渲染到片上内存中。按照驱动程序的默认行为,先前的帧缓冲区数据被从设备内存加载到每个 Tile 的片上内存中,即发生片上内存装载。

所谓 Tiling,本质上就是管理 GPU 内存的技术。Tiling 利用片上内存(on-chip memory)去降低设备内存的访问次数,从而降低 GPU 内存带宽的消耗及访问延迟。 正确理解并利用 Tiling 架构的内存管理特性,可以有效的提高 GPU 程序的性能。

为什么要尽可能地减少或避免片上内存装载?

因为每一次片上内存的加载都会减慢 GPU 的处理速度。
如果在 begin_render_pass 时通过设置 Clear() 来清理片上内存,驱动程序就可以避免在片上内存中装载帧缓冲区数据。虽然这涉及到一个额外的图形指令调用及其相关的开销,但它比为每个正在渲染的 Tile 将帧缓冲区数据加载回片上内存的开销要低得多。

导致片上内存装载的最主要原因是: 对驱动程序的不恰当提示。 应用程序代码使驱动程序认为需要帧缓冲区的先前内容。

检测片上内存装载

在 Snapdragon Profiler 的追踪模式下,我们可以让渲染阶段(Rendering Stages) 指标突出显示其自身通道中的片上内存装载(GMEM Loads)。

GPU 应用必须在项目的 AndroidManifest.xml 文件中包含 INTERNET 权限以启用图形 API 及 GPU 指标的追踪:

toml
<uses-permission android:name="android.permission.INTERNET" />

另外,Snapdragon Profiler 的追踪模式不允许追踪捕获超过 10 秒。也就是说,从点击 Start Capture 开始到点击 Stop Capture 结束,时长不得超过 10 秒。

启用追踪模式的操作步骤:

  • 连接好 Android 设备后,从 Start Page 界面单击左边栏的 System Trace Analysis,此时,就创建了一个新的 Trace 选项卡。
  • 选择刚创建的 Trace 选项卡,进入一个类似于实时模式的视图,然后在 Data Sources 边栏上端的应用列表中选中要追踪的应用(如果列表中找不到,就通过列表右上角的 Launch 按钮去启动要追踪的应用)。
  • Data Sources 边栏下端,选中 Process -> Vulkan -> Rendering Stages 项。

点击 Start Capture 开始追踪,在 10 秒内的任意段点击 Stop Capture,在等待 N 秒(取决于电脑性能)后就会展示出如下图表:

上图渲染阶段的设置对话框显示,这些片上内存装载消耗了总渲染时间的 23% 左右。

我们来看看源码帧渲染中的这条 begin_render_pass() 命令,颜色附件的片上操作使用了 Load:

rust
ops: wgpu::Operations {
     // load: wgpu::LoadOp::Clear(wgpu::Color::BLACK),
     load: wgpu::LoadOp::Load,
     store: wgpu::StoreOp::Store
diff --git a/assets/integration-and-debugging_xcode_index.md.C5BZo0Bn.js b/assets/integration-and-debugging_xcode_index.md.C_yUZzL3.js
similarity index 99%
rename from assets/integration-and-debugging_xcode_index.md.C5BZo0Bn.js
rename to assets/integration-and-debugging_xcode_index.md.C_yUZzL3.js
index 3e7f4da8..0bf0219b 100644
--- a/assets/integration-and-debugging_xcode_index.md.C5BZo0Bn.js
+++ b/assets/integration-and-debugging_xcode_index.md.C_yUZzL3.js
@@ -1,4 +1,4 @@
-import{_ as a,c as e,a1 as i,o as t}from"./chunks/framework.C82C2wD0.js";const n="/learn-wgpu-zh/assets/create.8jrvG0KT.png",r="/learn-wgpu-zh/assets/template.BlpAS8O6.png",l="/learn-wgpu-zh/assets/name.Ts5Wzm2h.png",p="/learn-wgpu-zh/assets/project.4mJ4k618.png",o="/learn-wgpu-zh/assets/option.C2CxaI0C.png",d="/learn-wgpu-zh/assets/info.DMiHBHeW.png",h="/learn-wgpu-zh/assets/triangle.CzA8fH6i.png",c="/learn-wgpu-zh/assets/run.Bqd7ED1d.png",g="/learn-wgpu-zh/assets/result.3LSmTeIA.png",k="/learn-wgpu-zh/assets/fps.oe0BmjqE.png",u="/learn-wgpu-zh/assets/capture.BQ-IXEGO.png",m="/learn-wgpu-zh/assets/debug_navigator.f9gkzIxB.png",E="/learn-wgpu-zh/assets/buffer_data.DpIVszbr.png",A=JSON.parse('{"title":"使用 Xcode 调试 wgpu 程序","description":"","frontmatter":{},"headers":[],"relativePath":"integration-and-debugging/xcode/index.md","filePath":"integration-and-debugging/xcode/index.md","lastUpdated":1732966628000}'),b={name:"integration-and-debugging/xcode/index.md"};function y(P,s,f,v,F,_){return t(),e("div",null,s[0]||(s[0]=[i('

使用 Xcode 调试 wgpu 程序

Xcode 与 Metal

Xcode 是苹果官方提供的运行在 macOS 系统上的 IDE,它提供了一整套工具来方便为苹果设备(比如,iPad、iPhone、Mac 等等)创建、测试、优化 App 并最终发布到 App Store。Xcode 是免费的,如果你使用的是 macOS 系统,就可以从 App Store 上下载安装。

Metal 是 wgpu 在苹果平台上使用的图形后端,Metal 框架(Framework)通过提供低开销的底层 GPU 编程 API、图形和计算管线之间的紧密集成以及一套强大的 GPU 分析和调试工具,为苹果平台上的图形硬件加速提供动力。

2014 年,苹果在全球开发者大会 (WWDC) 上宣布为 iOS 推出全新的 Metal 框架, 一年后的 WWDC 2015,苹果宣布了 macOS 上也将支持 Metal,随后是 watchOS 和 tvOS。 随着 Metal API 的不断发展,在 WWDC 2017 上推出了新版本,Metal 2。它增加了对虚拟现实 (VR)、增强现实 (AR) 和机器学习 (ML) 的支持,以及其它许多新功能.

今年(WWDC 2022)推出的 Metal 3,引入了更为强大的功能,能帮助游戏和专业应用程序充分挖掘苹果芯片的潜力:借助高性能放大和抗锯齿(anti-aliasing)功能,能在更短的时间内渲染高分辨率的图形; 使用异步 I/O 将资源数据直接从存储优化流式传输到 Metal 纹理和缓冲区,能更快地加载资源; 新的光线追踪(Metal Ray Tracing)构建加速结构所花费的 GPU 时间更少,可以通过将剔除(Culling)工作转移到 GPU 以减少 CPU 开销,并且通过直接访问原始数据来优化光线求交和着色; 还有机器学习加速及新的网格着色器(Mesh Shader)等等。

创建调试项目

首先,我们打开 Xcode,使用菜单或启动对话框中的 Create a new Xcode project 来创建一个新项目(左图),然后单击 Other 选项卡, 选中外部构建系统(External Build System)作为项目模板(右图):

创建一个新的 Xcode 项目
选择项目模板

然后,在构建工具(Build Tool)字段中填入要使用的构建工具,Xcode 在运行项目时,将会调用此处设置的构建工具。 如果希望 Xcode 运行 cargo 构建命令,就可以填写 cargo 在你的 macOS 上的安装路径(默认的路径是 ${HOME}/.cargo/bin/cargo),也可以留空来表示跳过构建步骤,以避免 Xcode 为我们构建项目。

其余的字段实际上对我们来说并不重要,因此可以随意填,但产品名称(Product Name)字段还是尽量填一个有意义的名称吧:

构建工具设置

编辑 Scheme

接着编辑项目的方案(Scheme)来启用 Metal 的 GPU 帧捕获(Frame Capture)及 接口验证(API Validation)工具集。 通常,如果 Xcode 项目里的代码调用了 Metal 框架或任何其他使用了 Metal API 的框架,Xcode 会自动启用 GPU 帧捕获 和 Metal 接口验证,但我们的这个项目使用的是外部构建系统(External Build System),只能手动设置。

手动设置其实非常简单:

1,单击项目名称,然后单击 Edit Scheme(左图)(或者,从顶部菜单栏上选择 Product -> Scheme -> Edit Scheme);

2,在弹出的方案功能面板中选中左边栏的 Run,将右边的功能配置表切换至 Options 选项卡,设置 GPU Frame Capture 栏为 Metal 来启用 GPU 帧捕获(右图);

GPU Frame Capture 栏三个选项的详细说明:
  • Automatically:自动捕获项目中的 Metal 或 OpenGL ES API 使用情况。如果项目未链接到 Metal 或 OpenGL ES 框架,则 Capture GPU Frame 按钮不会显示在调试栏中。如果项目同时使用 Metal 和 OpenGL ES API,则可以单击并按住 Capture GPU Frame 按钮来选择要捕获的 API;
  • Metal:仅捕获项目中的 Metal API 使用情况;
  • Disabled:禁用 GPU 帧捕获功能;
Edit Scheme
GPU frame capture

3,在 Info 选项卡下的 executable 栏(左图),我们来指定要运行的可执行文件:单击可选项里的 Other,然后在目标目录中找到由 cargo 创建的二进制文件(右图)。

Info 选项卡
如何找到 cargo 创建的二进制可执行文件?

我们以管线教程的示例代码为例,先在项目根目录(learn-wgpu-zh/)运行管线示例:

cargo run --bin tutorial3-pipeline

然后在 learn-wgpu-zh/target/debug/ 路径下你就能找到一个名为 tutorial3-pipeline 的可执行文件。

接下来,点击 Start 按钮,Xcode 就能运行我们指定的二进制文件了:

你应该能看三角形绘制程序正在运行,并且 Xcode 控制台的一些输出告诉我们已启用了 Metal 接口验证:

查看实时 GPU 统计数据

仅需点击 Start 按钮运行我们要调试的程序,然后将 Xcode 左边栏切换至调试导航栏(Debug Navigator,通常 Xcode 会在调试项目启动时自动跳转到调试导航栏), 就能查看到实时的内存、CPU 占用及帧率(FPS)等,选中每一栏还可查看详情,以帧率栏为例,详情内还提供了 CPU 与 GPU 的每帧耗时,GPU 顶点片元运算单元的利用率等信息,方便我们诊断出程序的性能瓶颈之所在:

GPU 帧捕获

要启动 Metal 的调试器(Debugger),在点击 Start 按钮运行程序之后,需再点击 Xcode 调试区(Debug Area)工具栏的 Capture GPU Frame 按钮(上面有个 Metal 图标的按钮)。 捕获一帧之后,我们就能够使用所有常规的 Metal 调试工具(例如 GPU 统计、着色器及缓冲区调试等)了:

调试帧数据

我们以 Uniform 缓冲区 教程的示例为例来调试 Uniform 缓冲区中的数据: 捕获一帧之后,在调试导航栏选择 Render Pass 下的 All Resources 项,右边的列表里将会列出当前程序使用到的各种资源(纹理,缓冲区等)(左图),双击 Camera Buffer 就能格式化展示此缓冲区的数据了,同时数据展示区的下边会多出来一栏工具,方便我们切换数据的格式化类型及展示列数等(右图)。

Debug 导航栏
Camera 缓冲区的数据
不知你有没有注意到

左侧的调试导航栏中的 Render Pass 及右侧资源列表里展示的名称(如,Camera Buffer)都是我们在代码里设置的 labal 参数:

rust
let mut render_pass = encoder.begin_render_pass(&wgpu::RenderPassDescriptor {
+import{_ as a,c as e,a1 as i,o as t}from"./chunks/framework.C82C2wD0.js";const n="/learn-wgpu-zh/assets/create.8jrvG0KT.png",r="/learn-wgpu-zh/assets/template.BlpAS8O6.png",l="/learn-wgpu-zh/assets/name.Ts5Wzm2h.png",p="/learn-wgpu-zh/assets/project.4mJ4k618.png",o="/learn-wgpu-zh/assets/option.C2CxaI0C.png",d="/learn-wgpu-zh/assets/info.DMiHBHeW.png",h="/learn-wgpu-zh/assets/triangle.CzA8fH6i.png",c="/learn-wgpu-zh/assets/run.Bqd7ED1d.png",g="/learn-wgpu-zh/assets/result.3LSmTeIA.png",k="/learn-wgpu-zh/assets/fps.oe0BmjqE.png",u="/learn-wgpu-zh/assets/capture.BQ-IXEGO.png",m="/learn-wgpu-zh/assets/debug_navigator.f9gkzIxB.png",E="/learn-wgpu-zh/assets/buffer_data.DpIVszbr.png",A=JSON.parse('{"title":"使用 Xcode 调试 wgpu 程序","description":"","frontmatter":{},"headers":[],"relativePath":"integration-and-debugging/xcode/index.md","filePath":"integration-and-debugging/xcode/index.md","lastUpdated":1733013181000}'),b={name:"integration-and-debugging/xcode/index.md"};function y(P,s,f,v,F,_){return t(),e("div",null,s[0]||(s[0]=[i('

使用 Xcode 调试 wgpu 程序

Xcode 与 Metal

Xcode 是苹果官方提供的运行在 macOS 系统上的 IDE,它提供了一整套工具来方便为苹果设备(比如,iPad、iPhone、Mac 等等)创建、测试、优化 App 并最终发布到 App Store。Xcode 是免费的,如果你使用的是 macOS 系统,就可以从 App Store 上下载安装。

Metal 是 wgpu 在苹果平台上使用的图形后端,Metal 框架(Framework)通过提供低开销的底层 GPU 编程 API、图形和计算管线之间的紧密集成以及一套强大的 GPU 分析和调试工具,为苹果平台上的图形硬件加速提供动力。

2014 年,苹果在全球开发者大会 (WWDC) 上宣布为 iOS 推出全新的 Metal 框架, 一年后的 WWDC 2015,苹果宣布了 macOS 上也将支持 Metal,随后是 watchOS 和 tvOS。 随着 Metal API 的不断发展,在 WWDC 2017 上推出了新版本,Metal 2。它增加了对虚拟现实 (VR)、增强现实 (AR) 和机器学习 (ML) 的支持,以及其它许多新功能.

今年(WWDC 2022)推出的 Metal 3,引入了更为强大的功能,能帮助游戏和专业应用程序充分挖掘苹果芯片的潜力:借助高性能放大和抗锯齿(anti-aliasing)功能,能在更短的时间内渲染高分辨率的图形; 使用异步 I/O 将资源数据直接从存储优化流式传输到 Metal 纹理和缓冲区,能更快地加载资源; 新的光线追踪(Metal Ray Tracing)构建加速结构所花费的 GPU 时间更少,可以通过将剔除(Culling)工作转移到 GPU 以减少 CPU 开销,并且通过直接访问原始数据来优化光线求交和着色; 还有机器学习加速及新的网格着色器(Mesh Shader)等等。

创建调试项目

首先,我们打开 Xcode,使用菜单或启动对话框中的 Create a new Xcode project 来创建一个新项目(左图),然后单击 Other 选项卡, 选中外部构建系统(External Build System)作为项目模板(右图):

创建一个新的 Xcode 项目
选择项目模板

然后,在构建工具(Build Tool)字段中填入要使用的构建工具,Xcode 在运行项目时,将会调用此处设置的构建工具。 如果希望 Xcode 运行 cargo 构建命令,就可以填写 cargo 在你的 macOS 上的安装路径(默认的路径是 ${HOME}/.cargo/bin/cargo),也可以留空来表示跳过构建步骤,以避免 Xcode 为我们构建项目。

其余的字段实际上对我们来说并不重要,因此可以随意填,但产品名称(Product Name)字段还是尽量填一个有意义的名称吧:

构建工具设置

编辑 Scheme

接着编辑项目的方案(Scheme)来启用 Metal 的 GPU 帧捕获(Frame Capture)及 接口验证(API Validation)工具集。 通常,如果 Xcode 项目里的代码调用了 Metal 框架或任何其他使用了 Metal API 的框架,Xcode 会自动启用 GPU 帧捕获 和 Metal 接口验证,但我们的这个项目使用的是外部构建系统(External Build System),只能手动设置。

手动设置其实非常简单:

1,单击项目名称,然后单击 Edit Scheme(左图)(或者,从顶部菜单栏上选择 Product -> Scheme -> Edit Scheme);

2,在弹出的方案功能面板中选中左边栏的 Run,将右边的功能配置表切换至 Options 选项卡,设置 GPU Frame Capture 栏为 Metal 来启用 GPU 帧捕获(右图);

GPU Frame Capture 栏三个选项的详细说明:
  • Automatically:自动捕获项目中的 Metal 或 OpenGL ES API 使用情况。如果项目未链接到 Metal 或 OpenGL ES 框架,则 Capture GPU Frame 按钮不会显示在调试栏中。如果项目同时使用 Metal 和 OpenGL ES API,则可以单击并按住 Capture GPU Frame 按钮来选择要捕获的 API;
  • Metal:仅捕获项目中的 Metal API 使用情况;
  • Disabled:禁用 GPU 帧捕获功能;
Edit Scheme
GPU frame capture

3,在 Info 选项卡下的 executable 栏(左图),我们来指定要运行的可执行文件:单击可选项里的 Other,然后在目标目录中找到由 cargo 创建的二进制文件(右图)。

Info 选项卡
如何找到 cargo 创建的二进制可执行文件?

我们以管线教程的示例代码为例,先在项目根目录(learn-wgpu-zh/)运行管线示例:

cargo run --bin tutorial3-pipeline

然后在 learn-wgpu-zh/target/debug/ 路径下你就能找到一个名为 tutorial3-pipeline 的可执行文件。

接下来,点击 Start 按钮,Xcode 就能运行我们指定的二进制文件了:

你应该能看三角形绘制程序正在运行,并且 Xcode 控制台的一些输出告诉我们已启用了 Metal 接口验证:

查看实时 GPU 统计数据

仅需点击 Start 按钮运行我们要调试的程序,然后将 Xcode 左边栏切换至调试导航栏(Debug Navigator,通常 Xcode 会在调试项目启动时自动跳转到调试导航栏), 就能查看到实时的内存、CPU 占用及帧率(FPS)等,选中每一栏还可查看详情,以帧率栏为例,详情内还提供了 CPU 与 GPU 的每帧耗时,GPU 顶点片元运算单元的利用率等信息,方便我们诊断出程序的性能瓶颈之所在:

GPU 帧捕获

要启动 Metal 的调试器(Debugger),在点击 Start 按钮运行程序之后,需再点击 Xcode 调试区(Debug Area)工具栏的 Capture GPU Frame 按钮(上面有个 Metal 图标的按钮)。 捕获一帧之后,我们就能够使用所有常规的 Metal 调试工具(例如 GPU 统计、着色器及缓冲区调试等)了:

调试帧数据

我们以 Uniform 缓冲区 教程的示例为例来调试 Uniform 缓冲区中的数据: 捕获一帧之后,在调试导航栏选择 Render Pass 下的 All Resources 项,右边的列表里将会列出当前程序使用到的各种资源(纹理,缓冲区等)(左图),双击 Camera Buffer 就能格式化展示此缓冲区的数据了,同时数据展示区的下边会多出来一栏工具,方便我们切换数据的格式化类型及展示列数等(右图)。

Debug 导航栏
Camera 缓冲区的数据
不知你有没有注意到

左侧的调试导航栏中的 Render Pass 及右侧资源列表里展示的名称(如,Camera Buffer)都是我们在代码里设置的 labal 参数:

rust
let mut render_pass = encoder.begin_render_pass(&wgpu::RenderPassDescriptor {
     label: Some("Render Pass"),
     // ...
 };
diff --git a/assets/integration-and-debugging_xcode_index.md.C5BZo0Bn.lean.js b/assets/integration-and-debugging_xcode_index.md.C_yUZzL3.lean.js
similarity index 99%
rename from assets/integration-and-debugging_xcode_index.md.C5BZo0Bn.lean.js
rename to assets/integration-and-debugging_xcode_index.md.C_yUZzL3.lean.js
index 3e7f4da8..0bf0219b 100644
--- a/assets/integration-and-debugging_xcode_index.md.C5BZo0Bn.lean.js
+++ b/assets/integration-and-debugging_xcode_index.md.C_yUZzL3.lean.js
@@ -1,4 +1,4 @@
-import{_ as a,c as e,a1 as i,o as t}from"./chunks/framework.C82C2wD0.js";const n="/learn-wgpu-zh/assets/create.8jrvG0KT.png",r="/learn-wgpu-zh/assets/template.BlpAS8O6.png",l="/learn-wgpu-zh/assets/name.Ts5Wzm2h.png",p="/learn-wgpu-zh/assets/project.4mJ4k618.png",o="/learn-wgpu-zh/assets/option.C2CxaI0C.png",d="/learn-wgpu-zh/assets/info.DMiHBHeW.png",h="/learn-wgpu-zh/assets/triangle.CzA8fH6i.png",c="/learn-wgpu-zh/assets/run.Bqd7ED1d.png",g="/learn-wgpu-zh/assets/result.3LSmTeIA.png",k="/learn-wgpu-zh/assets/fps.oe0BmjqE.png",u="/learn-wgpu-zh/assets/capture.BQ-IXEGO.png",m="/learn-wgpu-zh/assets/debug_navigator.f9gkzIxB.png",E="/learn-wgpu-zh/assets/buffer_data.DpIVszbr.png",A=JSON.parse('{"title":"使用 Xcode 调试 wgpu 程序","description":"","frontmatter":{},"headers":[],"relativePath":"integration-and-debugging/xcode/index.md","filePath":"integration-and-debugging/xcode/index.md","lastUpdated":1732966628000}'),b={name:"integration-and-debugging/xcode/index.md"};function y(P,s,f,v,F,_){return t(),e("div",null,s[0]||(s[0]=[i('

使用 Xcode 调试 wgpu 程序

Xcode 与 Metal

Xcode 是苹果官方提供的运行在 macOS 系统上的 IDE,它提供了一整套工具来方便为苹果设备(比如,iPad、iPhone、Mac 等等)创建、测试、优化 App 并最终发布到 App Store。Xcode 是免费的,如果你使用的是 macOS 系统,就可以从 App Store 上下载安装。

Metal 是 wgpu 在苹果平台上使用的图形后端,Metal 框架(Framework)通过提供低开销的底层 GPU 编程 API、图形和计算管线之间的紧密集成以及一套强大的 GPU 分析和调试工具,为苹果平台上的图形硬件加速提供动力。

2014 年,苹果在全球开发者大会 (WWDC) 上宣布为 iOS 推出全新的 Metal 框架, 一年后的 WWDC 2015,苹果宣布了 macOS 上也将支持 Metal,随后是 watchOS 和 tvOS。 随着 Metal API 的不断发展,在 WWDC 2017 上推出了新版本,Metal 2。它增加了对虚拟现实 (VR)、增强现实 (AR) 和机器学习 (ML) 的支持,以及其它许多新功能.

今年(WWDC 2022)推出的 Metal 3,引入了更为强大的功能,能帮助游戏和专业应用程序充分挖掘苹果芯片的潜力:借助高性能放大和抗锯齿(anti-aliasing)功能,能在更短的时间内渲染高分辨率的图形; 使用异步 I/O 将资源数据直接从存储优化流式传输到 Metal 纹理和缓冲区,能更快地加载资源; 新的光线追踪(Metal Ray Tracing)构建加速结构所花费的 GPU 时间更少,可以通过将剔除(Culling)工作转移到 GPU 以减少 CPU 开销,并且通过直接访问原始数据来优化光线求交和着色; 还有机器学习加速及新的网格着色器(Mesh Shader)等等。

创建调试项目

首先,我们打开 Xcode,使用菜单或启动对话框中的 Create a new Xcode project 来创建一个新项目(左图),然后单击 Other 选项卡, 选中外部构建系统(External Build System)作为项目模板(右图):

创建一个新的 Xcode 项目
选择项目模板

然后,在构建工具(Build Tool)字段中填入要使用的构建工具,Xcode 在运行项目时,将会调用此处设置的构建工具。 如果希望 Xcode 运行 cargo 构建命令,就可以填写 cargo 在你的 macOS 上的安装路径(默认的路径是 ${HOME}/.cargo/bin/cargo),也可以留空来表示跳过构建步骤,以避免 Xcode 为我们构建项目。

其余的字段实际上对我们来说并不重要,因此可以随意填,但产品名称(Product Name)字段还是尽量填一个有意义的名称吧:

构建工具设置

编辑 Scheme

接着编辑项目的方案(Scheme)来启用 Metal 的 GPU 帧捕获(Frame Capture)及 接口验证(API Validation)工具集。 通常,如果 Xcode 项目里的代码调用了 Metal 框架或任何其他使用了 Metal API 的框架,Xcode 会自动启用 GPU 帧捕获 和 Metal 接口验证,但我们的这个项目使用的是外部构建系统(External Build System),只能手动设置。

手动设置其实非常简单:

1,单击项目名称,然后单击 Edit Scheme(左图)(或者,从顶部菜单栏上选择 Product -> Scheme -> Edit Scheme);

2,在弹出的方案功能面板中选中左边栏的 Run,将右边的功能配置表切换至 Options 选项卡,设置 GPU Frame Capture 栏为 Metal 来启用 GPU 帧捕获(右图);

GPU Frame Capture 栏三个选项的详细说明:
  • Automatically:自动捕获项目中的 Metal 或 OpenGL ES API 使用情况。如果项目未链接到 Metal 或 OpenGL ES 框架,则 Capture GPU Frame 按钮不会显示在调试栏中。如果项目同时使用 Metal 和 OpenGL ES API,则可以单击并按住 Capture GPU Frame 按钮来选择要捕获的 API;
  • Metal:仅捕获项目中的 Metal API 使用情况;
  • Disabled:禁用 GPU 帧捕获功能;
Edit Scheme
GPU frame capture

3,在 Info 选项卡下的 executable 栏(左图),我们来指定要运行的可执行文件:单击可选项里的 Other,然后在目标目录中找到由 cargo 创建的二进制文件(右图)。

Info 选项卡
如何找到 cargo 创建的二进制可执行文件?

我们以管线教程的示例代码为例,先在项目根目录(learn-wgpu-zh/)运行管线示例:

cargo run --bin tutorial3-pipeline

然后在 learn-wgpu-zh/target/debug/ 路径下你就能找到一个名为 tutorial3-pipeline 的可执行文件。

接下来,点击 Start 按钮,Xcode 就能运行我们指定的二进制文件了:

你应该能看三角形绘制程序正在运行,并且 Xcode 控制台的一些输出告诉我们已启用了 Metal 接口验证:

查看实时 GPU 统计数据

仅需点击 Start 按钮运行我们要调试的程序,然后将 Xcode 左边栏切换至调试导航栏(Debug Navigator,通常 Xcode 会在调试项目启动时自动跳转到调试导航栏), 就能查看到实时的内存、CPU 占用及帧率(FPS)等,选中每一栏还可查看详情,以帧率栏为例,详情内还提供了 CPU 与 GPU 的每帧耗时,GPU 顶点片元运算单元的利用率等信息,方便我们诊断出程序的性能瓶颈之所在:

GPU 帧捕获

要启动 Metal 的调试器(Debugger),在点击 Start 按钮运行程序之后,需再点击 Xcode 调试区(Debug Area)工具栏的 Capture GPU Frame 按钮(上面有个 Metal 图标的按钮)。 捕获一帧之后,我们就能够使用所有常规的 Metal 调试工具(例如 GPU 统计、着色器及缓冲区调试等)了:

调试帧数据

我们以 Uniform 缓冲区 教程的示例为例来调试 Uniform 缓冲区中的数据: 捕获一帧之后,在调试导航栏选择 Render Pass 下的 All Resources 项,右边的列表里将会列出当前程序使用到的各种资源(纹理,缓冲区等)(左图),双击 Camera Buffer 就能格式化展示此缓冲区的数据了,同时数据展示区的下边会多出来一栏工具,方便我们切换数据的格式化类型及展示列数等(右图)。

Debug 导航栏
Camera 缓冲区的数据
不知你有没有注意到

左侧的调试导航栏中的 Render Pass 及右侧资源列表里展示的名称(如,Camera Buffer)都是我们在代码里设置的 labal 参数:

rust
let mut render_pass = encoder.begin_render_pass(&wgpu::RenderPassDescriptor {
+import{_ as a,c as e,a1 as i,o as t}from"./chunks/framework.C82C2wD0.js";const n="/learn-wgpu-zh/assets/create.8jrvG0KT.png",r="/learn-wgpu-zh/assets/template.BlpAS8O6.png",l="/learn-wgpu-zh/assets/name.Ts5Wzm2h.png",p="/learn-wgpu-zh/assets/project.4mJ4k618.png",o="/learn-wgpu-zh/assets/option.C2CxaI0C.png",d="/learn-wgpu-zh/assets/info.DMiHBHeW.png",h="/learn-wgpu-zh/assets/triangle.CzA8fH6i.png",c="/learn-wgpu-zh/assets/run.Bqd7ED1d.png",g="/learn-wgpu-zh/assets/result.3LSmTeIA.png",k="/learn-wgpu-zh/assets/fps.oe0BmjqE.png",u="/learn-wgpu-zh/assets/capture.BQ-IXEGO.png",m="/learn-wgpu-zh/assets/debug_navigator.f9gkzIxB.png",E="/learn-wgpu-zh/assets/buffer_data.DpIVszbr.png",A=JSON.parse('{"title":"使用 Xcode 调试 wgpu 程序","description":"","frontmatter":{},"headers":[],"relativePath":"integration-and-debugging/xcode/index.md","filePath":"integration-and-debugging/xcode/index.md","lastUpdated":1733013181000}'),b={name:"integration-and-debugging/xcode/index.md"};function y(P,s,f,v,F,_){return t(),e("div",null,s[0]||(s[0]=[i('

使用 Xcode 调试 wgpu 程序

Xcode 与 Metal

Xcode 是苹果官方提供的运行在 macOS 系统上的 IDE,它提供了一整套工具来方便为苹果设备(比如,iPad、iPhone、Mac 等等)创建、测试、优化 App 并最终发布到 App Store。Xcode 是免费的,如果你使用的是 macOS 系统,就可以从 App Store 上下载安装。

Metal 是 wgpu 在苹果平台上使用的图形后端,Metal 框架(Framework)通过提供低开销的底层 GPU 编程 API、图形和计算管线之间的紧密集成以及一套强大的 GPU 分析和调试工具,为苹果平台上的图形硬件加速提供动力。

2014 年,苹果在全球开发者大会 (WWDC) 上宣布为 iOS 推出全新的 Metal 框架, 一年后的 WWDC 2015,苹果宣布了 macOS 上也将支持 Metal,随后是 watchOS 和 tvOS。 随着 Metal API 的不断发展,在 WWDC 2017 上推出了新版本,Metal 2。它增加了对虚拟现实 (VR)、增强现实 (AR) 和机器学习 (ML) 的支持,以及其它许多新功能.

今年(WWDC 2022)推出的 Metal 3,引入了更为强大的功能,能帮助游戏和专业应用程序充分挖掘苹果芯片的潜力:借助高性能放大和抗锯齿(anti-aliasing)功能,能在更短的时间内渲染高分辨率的图形; 使用异步 I/O 将资源数据直接从存储优化流式传输到 Metal 纹理和缓冲区,能更快地加载资源; 新的光线追踪(Metal Ray Tracing)构建加速结构所花费的 GPU 时间更少,可以通过将剔除(Culling)工作转移到 GPU 以减少 CPU 开销,并且通过直接访问原始数据来优化光线求交和着色; 还有机器学习加速及新的网格着色器(Mesh Shader)等等。

创建调试项目

首先,我们打开 Xcode,使用菜单或启动对话框中的 Create a new Xcode project 来创建一个新项目(左图),然后单击 Other 选项卡, 选中外部构建系统(External Build System)作为项目模板(右图):

创建一个新的 Xcode 项目
选择项目模板

然后,在构建工具(Build Tool)字段中填入要使用的构建工具,Xcode 在运行项目时,将会调用此处设置的构建工具。 如果希望 Xcode 运行 cargo 构建命令,就可以填写 cargo 在你的 macOS 上的安装路径(默认的路径是 ${HOME}/.cargo/bin/cargo),也可以留空来表示跳过构建步骤,以避免 Xcode 为我们构建项目。

其余的字段实际上对我们来说并不重要,因此可以随意填,但产品名称(Product Name)字段还是尽量填一个有意义的名称吧:

构建工具设置

编辑 Scheme

接着编辑项目的方案(Scheme)来启用 Metal 的 GPU 帧捕获(Frame Capture)及 接口验证(API Validation)工具集。 通常,如果 Xcode 项目里的代码调用了 Metal 框架或任何其他使用了 Metal API 的框架,Xcode 会自动启用 GPU 帧捕获 和 Metal 接口验证,但我们的这个项目使用的是外部构建系统(External Build System),只能手动设置。

手动设置其实非常简单:

1,单击项目名称,然后单击 Edit Scheme(左图)(或者,从顶部菜单栏上选择 Product -> Scheme -> Edit Scheme);

2,在弹出的方案功能面板中选中左边栏的 Run,将右边的功能配置表切换至 Options 选项卡,设置 GPU Frame Capture 栏为 Metal 来启用 GPU 帧捕获(右图);

GPU Frame Capture 栏三个选项的详细说明:
  • Automatically:自动捕获项目中的 Metal 或 OpenGL ES API 使用情况。如果项目未链接到 Metal 或 OpenGL ES 框架,则 Capture GPU Frame 按钮不会显示在调试栏中。如果项目同时使用 Metal 和 OpenGL ES API,则可以单击并按住 Capture GPU Frame 按钮来选择要捕获的 API;
  • Metal:仅捕获项目中的 Metal API 使用情况;
  • Disabled:禁用 GPU 帧捕获功能;
Edit Scheme
GPU frame capture

3,在 Info 选项卡下的 executable 栏(左图),我们来指定要运行的可执行文件:单击可选项里的 Other,然后在目标目录中找到由 cargo 创建的二进制文件(右图)。

Info 选项卡
如何找到 cargo 创建的二进制可执行文件?

我们以管线教程的示例代码为例,先在项目根目录(learn-wgpu-zh/)运行管线示例:

cargo run --bin tutorial3-pipeline

然后在 learn-wgpu-zh/target/debug/ 路径下你就能找到一个名为 tutorial3-pipeline 的可执行文件。

接下来,点击 Start 按钮,Xcode 就能运行我们指定的二进制文件了:

你应该能看三角形绘制程序正在运行,并且 Xcode 控制台的一些输出告诉我们已启用了 Metal 接口验证:

查看实时 GPU 统计数据

仅需点击 Start 按钮运行我们要调试的程序,然后将 Xcode 左边栏切换至调试导航栏(Debug Navigator,通常 Xcode 会在调试项目启动时自动跳转到调试导航栏), 就能查看到实时的内存、CPU 占用及帧率(FPS)等,选中每一栏还可查看详情,以帧率栏为例,详情内还提供了 CPU 与 GPU 的每帧耗时,GPU 顶点片元运算单元的利用率等信息,方便我们诊断出程序的性能瓶颈之所在:

GPU 帧捕获

要启动 Metal 的调试器(Debugger),在点击 Start 按钮运行程序之后,需再点击 Xcode 调试区(Debug Area)工具栏的 Capture GPU Frame 按钮(上面有个 Metal 图标的按钮)。 捕获一帧之后,我们就能够使用所有常规的 Metal 调试工具(例如 GPU 统计、着色器及缓冲区调试等)了:

调试帧数据

我们以 Uniform 缓冲区 教程的示例为例来调试 Uniform 缓冲区中的数据: 捕获一帧之后,在调试导航栏选择 Render Pass 下的 All Resources 项,右边的列表里将会列出当前程序使用到的各种资源(纹理,缓冲区等)(左图),双击 Camera Buffer 就能格式化展示此缓冲区的数据了,同时数据展示区的下边会多出来一栏工具,方便我们切换数据的格式化类型及展示列数等(右图)。

Debug 导航栏
Camera 缓冲区的数据
不知你有没有注意到

左侧的调试导航栏中的 Render Pass 及右侧资源列表里展示的名称(如,Camera Buffer)都是我们在代码里设置的 labal 参数:

rust
let mut render_pass = encoder.begin_render_pass(&wgpu::RenderPassDescriptor {
     label: Some("Render Pass"),
     // ...
 };
diff --git a/assets/intermediate_compute-pipeline_index.md.CjN-Vtfd.js b/assets/intermediate_compute-pipeline_index.md.DlmYkMiE.js
similarity index 99%
rename from assets/intermediate_compute-pipeline_index.md.CjN-Vtfd.js
rename to assets/intermediate_compute-pipeline_index.md.DlmYkMiE.js
index fd6fe642..6eb88ff2 100644
--- a/assets/intermediate_compute-pipeline_index.md.CjN-Vtfd.js
+++ b/assets/intermediate_compute-pipeline_index.md.DlmYkMiE.js
@@ -1,4 +1,4 @@
-import{_ as l,c as h,a1 as t,G as i,B as a,o as k}from"./chunks/framework.C82C2wD0.js";const e="/learn-wgpu-zh/assets/workgroups.BldmKCe0.png",r="/learn-wgpu-zh/assets/global_invocation_id.BaWgH7wp.png",d="/learn-wgpu-zh/assets/local_invocation_id.loqc0bwp.png",m=JSON.parse('{"title":"计算管线","description":"","frontmatter":{},"headers":[],"relativePath":"intermediate/compute-pipeline/index.md","filePath":"intermediate/compute-pipeline/index.md","lastUpdated":1732966628000}'),E={name:"intermediate/compute-pipeline/index.md"};function g(o,s,y,c,F,u){const n=a("WebGPUExample"),p=a("AutoGithubLink");return k(),h("div",null,[s[0]||(s[0]=t(`

计算管线

计算管线ComputePipeline)是 WebGPU 中控制计算着色器(Compute Shader)阶段的管线。

计算管线适用于各种 GPU 通用计算场景,这是 WebGL 所不具备的。我们通过绑定的存储缓冲区(Storage Buffer)及存储纹理(Storage Texture)来获得计算输出。

创建一个计算管线

计算管线的创建相比于渲染管线简单得多,甚至我们都不需要显式创建并指定绑定组布局(BindGroupLayout):

rust
let compute_shader = device.create_shader_module(...);
+import{_ as l,c as h,a1 as t,G as i,B as a,o as k}from"./chunks/framework.C82C2wD0.js";const e="/learn-wgpu-zh/assets/workgroups.BldmKCe0.png",r="/learn-wgpu-zh/assets/global_invocation_id.BaWgH7wp.png",d="/learn-wgpu-zh/assets/local_invocation_id.loqc0bwp.png",m=JSON.parse('{"title":"计算管线","description":"","frontmatter":{},"headers":[],"relativePath":"intermediate/compute-pipeline/index.md","filePath":"intermediate/compute-pipeline/index.md","lastUpdated":1733013181000}'),E={name:"intermediate/compute-pipeline/index.md"};function g(o,s,y,c,F,u){const n=a("WebGPUExample"),p=a("AutoGithubLink");return k(),h("div",null,[s[0]||(s[0]=t(`

计算管线

计算管线ComputePipeline)是 WebGPU 中控制计算着色器(Compute Shader)阶段的管线。

计算管线适用于各种 GPU 通用计算场景,这是 WebGL 所不具备的。我们通过绑定的存储缓冲区(Storage Buffer)及存储纹理(Storage Texture)来获得计算输出。

创建一个计算管线

计算管线的创建相比于渲染管线简单得多,甚至我们都不需要显式创建并指定绑定组布局(BindGroupLayout):

rust
let compute_shader = device.create_shader_module(...);
 let compute_pipeline = device
     .create_compute_pipeline(&wgpu::ComputePipelineDescriptor {
         layout: None, // 此处使用了隐式布局
diff --git a/assets/intermediate_compute-pipeline_index.md.CjN-Vtfd.lean.js b/assets/intermediate_compute-pipeline_index.md.DlmYkMiE.lean.js
similarity index 99%
rename from assets/intermediate_compute-pipeline_index.md.CjN-Vtfd.lean.js
rename to assets/intermediate_compute-pipeline_index.md.DlmYkMiE.lean.js
index fd6fe642..6eb88ff2 100644
--- a/assets/intermediate_compute-pipeline_index.md.CjN-Vtfd.lean.js
+++ b/assets/intermediate_compute-pipeline_index.md.DlmYkMiE.lean.js
@@ -1,4 +1,4 @@
-import{_ as l,c as h,a1 as t,G as i,B as a,o as k}from"./chunks/framework.C82C2wD0.js";const e="/learn-wgpu-zh/assets/workgroups.BldmKCe0.png",r="/learn-wgpu-zh/assets/global_invocation_id.BaWgH7wp.png",d="/learn-wgpu-zh/assets/local_invocation_id.loqc0bwp.png",m=JSON.parse('{"title":"计算管线","description":"","frontmatter":{},"headers":[],"relativePath":"intermediate/compute-pipeline/index.md","filePath":"intermediate/compute-pipeline/index.md","lastUpdated":1732966628000}'),E={name:"intermediate/compute-pipeline/index.md"};function g(o,s,y,c,F,u){const n=a("WebGPUExample"),p=a("AutoGithubLink");return k(),h("div",null,[s[0]||(s[0]=t(`

计算管线

计算管线ComputePipeline)是 WebGPU 中控制计算着色器(Compute Shader)阶段的管线。

计算管线适用于各种 GPU 通用计算场景,这是 WebGL 所不具备的。我们通过绑定的存储缓冲区(Storage Buffer)及存储纹理(Storage Texture)来获得计算输出。

创建一个计算管线

计算管线的创建相比于渲染管线简单得多,甚至我们都不需要显式创建并指定绑定组布局(BindGroupLayout):

rust
let compute_shader = device.create_shader_module(...);
+import{_ as l,c as h,a1 as t,G as i,B as a,o as k}from"./chunks/framework.C82C2wD0.js";const e="/learn-wgpu-zh/assets/workgroups.BldmKCe0.png",r="/learn-wgpu-zh/assets/global_invocation_id.BaWgH7wp.png",d="/learn-wgpu-zh/assets/local_invocation_id.loqc0bwp.png",m=JSON.parse('{"title":"计算管线","description":"","frontmatter":{},"headers":[],"relativePath":"intermediate/compute-pipeline/index.md","filePath":"intermediate/compute-pipeline/index.md","lastUpdated":1733013181000}'),E={name:"intermediate/compute-pipeline/index.md"};function g(o,s,y,c,F,u){const n=a("WebGPUExample"),p=a("AutoGithubLink");return k(),h("div",null,[s[0]||(s[0]=t(`

计算管线

计算管线ComputePipeline)是 WebGPU 中控制计算着色器(Compute Shader)阶段的管线。

计算管线适用于各种 GPU 通用计算场景,这是 WebGL 所不具备的。我们通过绑定的存储缓冲区(Storage Buffer)及存储纹理(Storage Texture)来获得计算输出。

创建一个计算管线

计算管线的创建相比于渲染管线简单得多,甚至我们都不需要显式创建并指定绑定组布局(BindGroupLayout):

rust
let compute_shader = device.create_shader_module(...);
 let compute_pipeline = device
     .create_compute_pipeline(&wgpu::ComputePipelineDescriptor {
         layout: None, // 此处使用了隐式布局
diff --git a/assets/intermediate_hdr_index.md.Ctd21HWa.js b/assets/intermediate_hdr_index.md.BDXkM3Wb.js
similarity index 99%
rename from assets/intermediate_hdr_index.md.Ctd21HWa.js
rename to assets/intermediate_hdr_index.md.BDXkM3Wb.js
index dab5eb5d..14d53865 100644
--- a/assets/intermediate_hdr_index.md.Ctd21HWa.js
+++ b/assets/intermediate_hdr_index.md.BDXkM3Wb.js
@@ -1,4 +1,4 @@
-import{_ as l,c as h,a1 as k,G as i,B as a,o as t}from"./chunks/framework.C82C2wD0.js";const e="/learn-wgpu-zh/assets/edr.DJ3sYJ_E.png",r="/learn-wgpu-zh/assets/before-hdr.CEYl_SyY.png",E="/learn-wgpu-zh/assets/after-hdr.cPEwQ_pk.png",d="/learn-wgpu-zh/assets/equirectangular.DJiZI1I5.svg",g="/learn-wgpu-zh/assets/kloofendal_43d_clear_puresky.DT0dA7dc.jpg",y="/learn-wgpu-zh/assets/just-reflections.BRxFgKvc.png",F="/learn-wgpu-zh/assets/with-reflections.BWSA02TJ.png",B=JSON.parse('{"title":"渲染高动态范围场景 (High Dynamic Range Rendering)","description":"","frontmatter":{},"headers":[],"relativePath":"intermediate/hdr/index.md","filePath":"intermediate/hdr/index.md","lastUpdated":1732966628000}'),c={name:"intermediate/hdr/index.md"};function b(u,s,m,D,A,C){const n=a("WebGPUExample"),p=a("AutoGithubLink");return t(),h("div",null,[s[0]||(s[0]=k('

渲染高动态范围场景 (High Dynamic Range Rendering)

到目前为止,我们一直在使用 sRGB 色彩空间来渲染场景。虽然这样做没问题,但它限制了在场景光照方面的可能性。我们通常使用 TextureFormat::Rgba8UnormSrgb | Rgba8Unorm 作为纹理格式,这种格式的红、绿、蓝和透明度 4 个颜色通道各占 8 位(1 个字节)。通道的存储值是介于 0 和 255 之间的整数,但它们在着色器中会被转换为 0.0 到 1.0 之间的浮点值。简而言之,使用 8 位的纹理,每个通道只有 256 个可能的值。

而这 256 个可能的值之中,大部分精度被用来表示场景中较暗的值,也就是说,灯泡等明亮的物体与太阳等极其明亮的物体具有相同的值。这种不准确性使得无法实现逼真的光照效果。因此,我们将切换渲染系统以使用高动态范围 (HDR,High Dynamic Range),使场景更具灵活性,并能够利用更高级的技术,如基于物理的渲染。

什么是 HDR 纹理?

通俗地说,高动态范围纹理是一种每像素拥有更多位数的纹理。HDR 纹理以浮点数值而不是整数值存储,颜色通道可以拥有大于 1.0 的亮度值,也就是说可以拥有更高动态范围的亮度。

使用 HDR 纹理

截至目前,并非所有显示设备都支持 HDR,因此我们需要以 HDR 格式渲染场景,然后使用色调映射 (tonemapping) 将 HDR 转换为支持的格式。

这里有一些关于 wgpu 中实现 HDR 展示平面 (Surface) 纹理支持的讨论。如果你想为这块出力,可以参考 GitHub 问题链接:https://github.com/gfx-rs/wgpu/issues/2920

译者注:

wgpu 中对 HDR 的支持起始于我提交的这几个 PR:

Metal backend ASTC HDR formats support

vulkan: HDR ASTC formats support

gl: add Rgba16Float format support for color attachments

HDR 属于广色域(WCG,Wide Color Gamut)色彩空间的内容,但是 WebGPU 标准里目前还没有支持 WCG, 而我试图率先在 metal 后端引入色彩空间 的尝试也失败了。

虽然不能在 wgpu 中直接指定广色域色彩空间, 但给 SurfaceConfiguration 设置 TextureFormat::Rgba16Float 格式时,wgpu-hal 内部会开启对应图形后端的广色域支持:

所以英文原文中说 “wgpu doesn't allow us to use a floating point format such as ...” 的说法是不对的,原文备注里给出的 GitHub 问题链接里讨论的点我也不认为是 wgpu 需要解决的。

关于如何使用 Rgba16Float, 可以参考我的另一个开源项目:wgpu-in-app/src/hdr_image_view

在开始之前,我们需要切换到使用 HDR 纹理进行渲染。

首先,创建一个名为 hdr.rs 的文件:

rust
use wgpu::Operations;
+import{_ as l,c as h,a1 as k,G as i,B as a,o as t}from"./chunks/framework.C82C2wD0.js";const e="/learn-wgpu-zh/assets/edr.DJ3sYJ_E.png",r="/learn-wgpu-zh/assets/before-hdr.CEYl_SyY.png",E="/learn-wgpu-zh/assets/after-hdr.cPEwQ_pk.png",d="/learn-wgpu-zh/assets/equirectangular.DJiZI1I5.svg",g="/learn-wgpu-zh/assets/kloofendal_43d_clear_puresky.DT0dA7dc.jpg",y="/learn-wgpu-zh/assets/just-reflections.BRxFgKvc.png",F="/learn-wgpu-zh/assets/with-reflections.BWSA02TJ.png",B=JSON.parse('{"title":"渲染高动态范围场景 (High Dynamic Range Rendering)","description":"","frontmatter":{},"headers":[],"relativePath":"intermediate/hdr/index.md","filePath":"intermediate/hdr/index.md","lastUpdated":1733013181000}'),c={name:"intermediate/hdr/index.md"};function b(u,s,m,D,A,C){const n=a("WebGPUExample"),p=a("AutoGithubLink");return t(),h("div",null,[s[0]||(s[0]=k('

渲染高动态范围场景 (High Dynamic Range Rendering)

到目前为止,我们一直在使用 sRGB 色彩空间来渲染场景。虽然这样做没问题,但它限制了在场景光照方面的可能性。我们通常使用 TextureFormat::Rgba8UnormSrgb | Rgba8Unorm 作为纹理格式,这种格式的红、绿、蓝和透明度 4 个颜色通道各占 8 位(1 个字节)。通道的存储值是介于 0 和 255 之间的整数,但它们在着色器中会被转换为 0.0 到 1.0 之间的浮点值。简而言之,使用 8 位的纹理,每个通道只有 256 个可能的值。

而这 256 个可能的值之中,大部分精度被用来表示场景中较暗的值,也就是说,灯泡等明亮的物体与太阳等极其明亮的物体具有相同的值。这种不准确性使得无法实现逼真的光照效果。因此,我们将切换渲染系统以使用高动态范围 (HDR,High Dynamic Range),使场景更具灵活性,并能够利用更高级的技术,如基于物理的渲染。

什么是 HDR 纹理?

通俗地说,高动态范围纹理是一种每像素拥有更多位数的纹理。HDR 纹理以浮点数值而不是整数值存储,颜色通道可以拥有大于 1.0 的亮度值,也就是说可以拥有更高动态范围的亮度。

使用 HDR 纹理

截至目前,并非所有显示设备都支持 HDR,因此我们需要以 HDR 格式渲染场景,然后使用色调映射 (tonemapping) 将 HDR 转换为支持的格式。

这里有一些关于 wgpu 中实现 HDR 展示平面 (Surface) 纹理支持的讨论。如果你想为这块出力,可以参考 GitHub 问题链接:https://github.com/gfx-rs/wgpu/issues/2920

译者注:

wgpu 中对 HDR 的支持起始于我提交的这几个 PR:

Metal backend ASTC HDR formats support

vulkan: HDR ASTC formats support

gl: add Rgba16Float format support for color attachments

HDR 属于广色域(WCG,Wide Color Gamut)色彩空间的内容,但是 WebGPU 标准里目前还没有支持 WCG, 而我试图率先在 metal 后端引入色彩空间 的尝试也失败了。

虽然不能在 wgpu 中直接指定广色域色彩空间, 但给 SurfaceConfiguration 设置 TextureFormat::Rgba16Float 格式时,wgpu-hal 内部会开启对应图形后端的广色域支持:

所以英文原文中说 “wgpu doesn't allow us to use a floating point format such as ...” 的说法是不对的,原文备注里给出的 GitHub 问题链接里讨论的点我也不认为是 wgpu 需要解决的。

关于如何使用 Rgba16Float, 可以参考我的另一个开源项目:wgpu-in-app/src/hdr_image_view

在开始之前,我们需要切换到使用 HDR 纹理进行渲染。

首先,创建一个名为 hdr.rs 的文件:

rust
use wgpu::Operations;
 
 use crate::{create_render_pipeline, texture};
 
diff --git a/assets/intermediate_hdr_index.md.Ctd21HWa.lean.js b/assets/intermediate_hdr_index.md.BDXkM3Wb.lean.js
similarity index 99%
rename from assets/intermediate_hdr_index.md.Ctd21HWa.lean.js
rename to assets/intermediate_hdr_index.md.BDXkM3Wb.lean.js
index dab5eb5d..14d53865 100644
--- a/assets/intermediate_hdr_index.md.Ctd21HWa.lean.js
+++ b/assets/intermediate_hdr_index.md.BDXkM3Wb.lean.js
@@ -1,4 +1,4 @@
-import{_ as l,c as h,a1 as k,G as i,B as a,o as t}from"./chunks/framework.C82C2wD0.js";const e="/learn-wgpu-zh/assets/edr.DJ3sYJ_E.png",r="/learn-wgpu-zh/assets/before-hdr.CEYl_SyY.png",E="/learn-wgpu-zh/assets/after-hdr.cPEwQ_pk.png",d="/learn-wgpu-zh/assets/equirectangular.DJiZI1I5.svg",g="/learn-wgpu-zh/assets/kloofendal_43d_clear_puresky.DT0dA7dc.jpg",y="/learn-wgpu-zh/assets/just-reflections.BRxFgKvc.png",F="/learn-wgpu-zh/assets/with-reflections.BWSA02TJ.png",B=JSON.parse('{"title":"渲染高动态范围场景 (High Dynamic Range Rendering)","description":"","frontmatter":{},"headers":[],"relativePath":"intermediate/hdr/index.md","filePath":"intermediate/hdr/index.md","lastUpdated":1732966628000}'),c={name:"intermediate/hdr/index.md"};function b(u,s,m,D,A,C){const n=a("WebGPUExample"),p=a("AutoGithubLink");return t(),h("div",null,[s[0]||(s[0]=k('

渲染高动态范围场景 (High Dynamic Range Rendering)

到目前为止,我们一直在使用 sRGB 色彩空间来渲染场景。虽然这样做没问题,但它限制了在场景光照方面的可能性。我们通常使用 TextureFormat::Rgba8UnormSrgb | Rgba8Unorm 作为纹理格式,这种格式的红、绿、蓝和透明度 4 个颜色通道各占 8 位(1 个字节)。通道的存储值是介于 0 和 255 之间的整数,但它们在着色器中会被转换为 0.0 到 1.0 之间的浮点值。简而言之,使用 8 位的纹理,每个通道只有 256 个可能的值。

而这 256 个可能的值之中,大部分精度被用来表示场景中较暗的值,也就是说,灯泡等明亮的物体与太阳等极其明亮的物体具有相同的值。这种不准确性使得无法实现逼真的光照效果。因此,我们将切换渲染系统以使用高动态范围 (HDR,High Dynamic Range),使场景更具灵活性,并能够利用更高级的技术,如基于物理的渲染。

什么是 HDR 纹理?

通俗地说,高动态范围纹理是一种每像素拥有更多位数的纹理。HDR 纹理以浮点数值而不是整数值存储,颜色通道可以拥有大于 1.0 的亮度值,也就是说可以拥有更高动态范围的亮度。

使用 HDR 纹理

截至目前,并非所有显示设备都支持 HDR,因此我们需要以 HDR 格式渲染场景,然后使用色调映射 (tonemapping) 将 HDR 转换为支持的格式。

这里有一些关于 wgpu 中实现 HDR 展示平面 (Surface) 纹理支持的讨论。如果你想为这块出力,可以参考 GitHub 问题链接:https://github.com/gfx-rs/wgpu/issues/2920

译者注:

wgpu 中对 HDR 的支持起始于我提交的这几个 PR:

Metal backend ASTC HDR formats support

vulkan: HDR ASTC formats support

gl: add Rgba16Float format support for color attachments

HDR 属于广色域(WCG,Wide Color Gamut)色彩空间的内容,但是 WebGPU 标准里目前还没有支持 WCG, 而我试图率先在 metal 后端引入色彩空间 的尝试也失败了。

虽然不能在 wgpu 中直接指定广色域色彩空间, 但给 SurfaceConfiguration 设置 TextureFormat::Rgba16Float 格式时,wgpu-hal 内部会开启对应图形后端的广色域支持:

所以英文原文中说 “wgpu doesn't allow us to use a floating point format such as ...” 的说法是不对的,原文备注里给出的 GitHub 问题链接里讨论的点我也不认为是 wgpu 需要解决的。

关于如何使用 Rgba16Float, 可以参考我的另一个开源项目:wgpu-in-app/src/hdr_image_view

在开始之前,我们需要切换到使用 HDR 纹理进行渲染。

首先,创建一个名为 hdr.rs 的文件:

rust
use wgpu::Operations;
+import{_ as l,c as h,a1 as k,G as i,B as a,o as t}from"./chunks/framework.C82C2wD0.js";const e="/learn-wgpu-zh/assets/edr.DJ3sYJ_E.png",r="/learn-wgpu-zh/assets/before-hdr.CEYl_SyY.png",E="/learn-wgpu-zh/assets/after-hdr.cPEwQ_pk.png",d="/learn-wgpu-zh/assets/equirectangular.DJiZI1I5.svg",g="/learn-wgpu-zh/assets/kloofendal_43d_clear_puresky.DT0dA7dc.jpg",y="/learn-wgpu-zh/assets/just-reflections.BRxFgKvc.png",F="/learn-wgpu-zh/assets/with-reflections.BWSA02TJ.png",B=JSON.parse('{"title":"渲染高动态范围场景 (High Dynamic Range Rendering)","description":"","frontmatter":{},"headers":[],"relativePath":"intermediate/hdr/index.md","filePath":"intermediate/hdr/index.md","lastUpdated":1733013181000}'),c={name:"intermediate/hdr/index.md"};function b(u,s,m,D,A,C){const n=a("WebGPUExample"),p=a("AutoGithubLink");return t(),h("div",null,[s[0]||(s[0]=k('

渲染高动态范围场景 (High Dynamic Range Rendering)

到目前为止,我们一直在使用 sRGB 色彩空间来渲染场景。虽然这样做没问题,但它限制了在场景光照方面的可能性。我们通常使用 TextureFormat::Rgba8UnormSrgb | Rgba8Unorm 作为纹理格式,这种格式的红、绿、蓝和透明度 4 个颜色通道各占 8 位(1 个字节)。通道的存储值是介于 0 和 255 之间的整数,但它们在着色器中会被转换为 0.0 到 1.0 之间的浮点值。简而言之,使用 8 位的纹理,每个通道只有 256 个可能的值。

而这 256 个可能的值之中,大部分精度被用来表示场景中较暗的值,也就是说,灯泡等明亮的物体与太阳等极其明亮的物体具有相同的值。这种不准确性使得无法实现逼真的光照效果。因此,我们将切换渲染系统以使用高动态范围 (HDR,High Dynamic Range),使场景更具灵活性,并能够利用更高级的技术,如基于物理的渲染。

什么是 HDR 纹理?

通俗地说,高动态范围纹理是一种每像素拥有更多位数的纹理。HDR 纹理以浮点数值而不是整数值存储,颜色通道可以拥有大于 1.0 的亮度值,也就是说可以拥有更高动态范围的亮度。

使用 HDR 纹理

截至目前,并非所有显示设备都支持 HDR,因此我们需要以 HDR 格式渲染场景,然后使用色调映射 (tonemapping) 将 HDR 转换为支持的格式。

这里有一些关于 wgpu 中实现 HDR 展示平面 (Surface) 纹理支持的讨论。如果你想为这块出力,可以参考 GitHub 问题链接:https://github.com/gfx-rs/wgpu/issues/2920

译者注:

wgpu 中对 HDR 的支持起始于我提交的这几个 PR:

Metal backend ASTC HDR formats support

vulkan: HDR ASTC formats support

gl: add Rgba16Float format support for color attachments

HDR 属于广色域(WCG,Wide Color Gamut)色彩空间的内容,但是 WebGPU 标准里目前还没有支持 WCG, 而我试图率先在 metal 后端引入色彩空间 的尝试也失败了。

虽然不能在 wgpu 中直接指定广色域色彩空间, 但给 SurfaceConfiguration 设置 TextureFormat::Rgba16Float 格式时,wgpu-hal 内部会开启对应图形后端的广色域支持:

所以英文原文中说 “wgpu doesn't allow us to use a floating point format such as ...” 的说法是不对的,原文备注里给出的 GitHub 问题链接里讨论的点我也不认为是 wgpu 需要解决的。

关于如何使用 Rgba16Float, 可以参考我的另一个开源项目:wgpu-in-app/src/hdr_image_view

在开始之前,我们需要切换到使用 HDR 纹理进行渲染。

首先,创建一个名为 hdr.rs 的文件:

rust
use wgpu::Operations;
 
 use crate::{create_render_pipeline, texture};
 
diff --git a/assets/intermediate_invisible-ink_index.md.DBVqj9a8.js b/assets/intermediate_invisible-ink_index.md.CVscJZGT.js
similarity index 95%
rename from assets/intermediate_invisible-ink_index.md.DBVqj9a8.js
rename to assets/intermediate_invisible-ink_index.md.CVscJZGT.js
index bae20760..8d39fa2e 100644
--- a/assets/intermediate_invisible-ink_index.md.DBVqj9a8.js
+++ b/assets/intermediate_invisible-ink_index.md.CVscJZGT.js
@@ -1 +1 @@
-import{_ as d,c as l,j as e,a as i,G as a,B as t,o as r}from"./chunks/framework.C82C2wD0.js";const w=JSON.parse('{"title":"实现 iOS iMessage 中的隐形墨水特效","description":"","frontmatter":{},"headers":[],"relativePath":"intermediate/invisible-ink/index.md","filePath":"intermediate/invisible-ink/index.md","lastUpdated":1732966628000}'),m={name:"intermediate/invisible-ink/index.md"};function p(u,n,c,g,x,_){const o=t("RawWindowHandleExample"),s=t("AutoGithubLink");return r(),l("div",null,[n[0]||(n[0]=e("h1",{id:"实现-ios-imessage-中的隐形墨水特效",tabindex:"-1"},[i("实现 iOS iMessage 中的隐形墨水特效 "),e("a",{class:"header-anchor",href:"#实现-ios-imessage-中的隐形墨水特效","aria-label":'Permalink to "实现 iOS iMessage 中的隐形墨水特效"'},"​")],-1)),n[1]||(n[1]=e("p",null,[i("此示例展示了如何使用 "),e("code",null,"wgpu"),i(" + "),e("code",null,"raw-window-handle"),i(" 实现隐形墨水粒子特效。")],-1)),n[2]||(n[2]=e("blockquote",null,[e("p",null,"交互方式:鼠标划动粒子区域,鼠标周围的粒子会回归到原始位置,显示出由粒子组成的文字内容。")],-1)),a(o),a(s,{customCodePath:"integration-and-debugging/wgpu_in_web"})])}const f=d(m,[["render",p]]);export{w as __pageData,f as default};
+import{_ as d,c as l,j as e,a as i,G as a,B as t,o as r}from"./chunks/framework.C82C2wD0.js";const w=JSON.parse('{"title":"实现 iOS iMessage 中的隐形墨水特效","description":"","frontmatter":{},"headers":[],"relativePath":"intermediate/invisible-ink/index.md","filePath":"intermediate/invisible-ink/index.md","lastUpdated":1733013181000}'),m={name:"intermediate/invisible-ink/index.md"};function p(u,n,c,g,x,_){const o=t("RawWindowHandleExample"),s=t("AutoGithubLink");return r(),l("div",null,[n[0]||(n[0]=e("h1",{id:"实现-ios-imessage-中的隐形墨水特效",tabindex:"-1"},[i("实现 iOS iMessage 中的隐形墨水特效 "),e("a",{class:"header-anchor",href:"#实现-ios-imessage-中的隐形墨水特效","aria-label":'Permalink to "实现 iOS iMessage 中的隐形墨水特效"'},"​")],-1)),n[1]||(n[1]=e("p",null,[i("此示例展示了如何使用 "),e("code",null,"wgpu"),i(" + "),e("code",null,"raw-window-handle"),i(" 实现隐形墨水粒子特效。")],-1)),n[2]||(n[2]=e("blockquote",null,[e("p",null,"交互方式:鼠标划动粒子区域,鼠标周围的粒子会回归到原始位置,显示出由粒子组成的文字内容。")],-1)),a(o),a(s,{customCodePath:"integration-and-debugging/wgpu_in_web"})])}const f=d(m,[["render",p]]);export{w as __pageData,f as default};
diff --git a/assets/intermediate_invisible-ink_index.md.DBVqj9a8.lean.js b/assets/intermediate_invisible-ink_index.md.CVscJZGT.lean.js
similarity index 95%
rename from assets/intermediate_invisible-ink_index.md.DBVqj9a8.lean.js
rename to assets/intermediate_invisible-ink_index.md.CVscJZGT.lean.js
index bae20760..8d39fa2e 100644
--- a/assets/intermediate_invisible-ink_index.md.DBVqj9a8.lean.js
+++ b/assets/intermediate_invisible-ink_index.md.CVscJZGT.lean.js
@@ -1 +1 @@
-import{_ as d,c as l,j as e,a as i,G as a,B as t,o as r}from"./chunks/framework.C82C2wD0.js";const w=JSON.parse('{"title":"实现 iOS iMessage 中的隐形墨水特效","description":"","frontmatter":{},"headers":[],"relativePath":"intermediate/invisible-ink/index.md","filePath":"intermediate/invisible-ink/index.md","lastUpdated":1732966628000}'),m={name:"intermediate/invisible-ink/index.md"};function p(u,n,c,g,x,_){const o=t("RawWindowHandleExample"),s=t("AutoGithubLink");return r(),l("div",null,[n[0]||(n[0]=e("h1",{id:"实现-ios-imessage-中的隐形墨水特效",tabindex:"-1"},[i("实现 iOS iMessage 中的隐形墨水特效 "),e("a",{class:"header-anchor",href:"#实现-ios-imessage-中的隐形墨水特效","aria-label":'Permalink to "实现 iOS iMessage 中的隐形墨水特效"'},"​")],-1)),n[1]||(n[1]=e("p",null,[i("此示例展示了如何使用 "),e("code",null,"wgpu"),i(" + "),e("code",null,"raw-window-handle"),i(" 实现隐形墨水粒子特效。")],-1)),n[2]||(n[2]=e("blockquote",null,[e("p",null,"交互方式:鼠标划动粒子区域,鼠标周围的粒子会回归到原始位置,显示出由粒子组成的文字内容。")],-1)),a(o),a(s,{customCodePath:"integration-and-debugging/wgpu_in_web"})])}const f=d(m,[["render",p]]);export{w as __pageData,f as default};
+import{_ as d,c as l,j as e,a as i,G as a,B as t,o as r}from"./chunks/framework.C82C2wD0.js";const w=JSON.parse('{"title":"实现 iOS iMessage 中的隐形墨水特效","description":"","frontmatter":{},"headers":[],"relativePath":"intermediate/invisible-ink/index.md","filePath":"intermediate/invisible-ink/index.md","lastUpdated":1733013181000}'),m={name:"intermediate/invisible-ink/index.md"};function p(u,n,c,g,x,_){const o=t("RawWindowHandleExample"),s=t("AutoGithubLink");return r(),l("div",null,[n[0]||(n[0]=e("h1",{id:"实现-ios-imessage-中的隐形墨水特效",tabindex:"-1"},[i("实现 iOS iMessage 中的隐形墨水特效 "),e("a",{class:"header-anchor",href:"#实现-ios-imessage-中的隐形墨水特效","aria-label":'Permalink to "实现 iOS iMessage 中的隐形墨水特效"'},"​")],-1)),n[1]||(n[1]=e("p",null,[i("此示例展示了如何使用 "),e("code",null,"wgpu"),i(" + "),e("code",null,"raw-window-handle"),i(" 实现隐形墨水粒子特效。")],-1)),n[2]||(n[2]=e("blockquote",null,[e("p",null,"交互方式:鼠标划动粒子区域,鼠标周围的粒子会回归到原始位置,显示出由粒子组成的文字内容。")],-1)),a(o),a(s,{customCodePath:"integration-and-debugging/wgpu_in_web"})])}const f=d(m,[["render",p]]);export{w as __pageData,f as default};
diff --git a/assets/intermediate_pbr-notes.md.DqzzrtzO.js b/assets/intermediate_pbr-notes.md.DywmZiIv.js
similarity index 93%
rename from assets/intermediate_pbr-notes.md.DqzzrtzO.js
rename to assets/intermediate_pbr-notes.md.DywmZiIv.js
index 0dc21694..8c7b1ff8 100644
--- a/assets/intermediate_pbr-notes.md.DqzzrtzO.js
+++ b/assets/intermediate_pbr-notes.md.DywmZiIv.js
@@ -1 +1 @@
-import{_ as t,c as a,j as e,a as s,o as n}from"./chunks/framework.C82C2wD0.js";const u=JSON.parse('{"title":"Sources","description":"","frontmatter":{},"headers":[],"relativePath":"intermediate/pbr-notes.md","filePath":"intermediate/pbr-notes.md","lastUpdated":1732966628000}'),i={name:"intermediate/pbr-notes.md"};function o(l,r,d,c,p,m){return n(),a("div",null,r[0]||(r[0]=[e("h1",{id:"sources",tabindex:"-1"},[s("Sources "),e("a",{class:"header-anchor",href:"#sources","aria-label":'Permalink to "Sources"'},"​")],-1),e("ul",null,[e("li",null,[e("a",{href:"https://www.scratchapixel.com/lessons/3d-basic-rendering/introduction-to-shading/diffuse-lambertian-shading",target:"_blank",rel:"noreferrer"},"https://www.scratchapixel.com/lessons/3d-basic-rendering/introduction-to-shading/diffuse-lambertian-shading")]),e("li",null,[e("a",{href:"http://jimmiejohnsson84.me/pages/rendering_pbr.html",target:"_blank",rel:"noreferrer"},"http://jimmiejohnsson84.me/pages/rendering_pbr.html")])],-1)]))}const f=t(i,[["render",o]]);export{u as __pageData,f as default};
+import{_ as t,c as a,j as e,a as s,o as n}from"./chunks/framework.C82C2wD0.js";const u=JSON.parse('{"title":"Sources","description":"","frontmatter":{},"headers":[],"relativePath":"intermediate/pbr-notes.md","filePath":"intermediate/pbr-notes.md","lastUpdated":1733013181000}'),i={name:"intermediate/pbr-notes.md"};function o(l,r,d,c,p,m){return n(),a("div",null,r[0]||(r[0]=[e("h1",{id:"sources",tabindex:"-1"},[s("Sources "),e("a",{class:"header-anchor",href:"#sources","aria-label":'Permalink to "Sources"'},"​")],-1),e("ul",null,[e("li",null,[e("a",{href:"https://www.scratchapixel.com/lessons/3d-basic-rendering/introduction-to-shading/diffuse-lambertian-shading",target:"_blank",rel:"noreferrer"},"https://www.scratchapixel.com/lessons/3d-basic-rendering/introduction-to-shading/diffuse-lambertian-shading")]),e("li",null,[e("a",{href:"http://jimmiejohnsson84.me/pages/rendering_pbr.html",target:"_blank",rel:"noreferrer"},"http://jimmiejohnsson84.me/pages/rendering_pbr.html")])],-1)]))}const f=t(i,[["render",o]]);export{u as __pageData,f as default};
diff --git a/assets/intermediate_pbr-notes.md.DqzzrtzO.lean.js b/assets/intermediate_pbr-notes.md.DywmZiIv.lean.js
similarity index 93%
rename from assets/intermediate_pbr-notes.md.DqzzrtzO.lean.js
rename to assets/intermediate_pbr-notes.md.DywmZiIv.lean.js
index 0dc21694..8c7b1ff8 100644
--- a/assets/intermediate_pbr-notes.md.DqzzrtzO.lean.js
+++ b/assets/intermediate_pbr-notes.md.DywmZiIv.lean.js
@@ -1 +1 @@
-import{_ as t,c as a,j as e,a as s,o as n}from"./chunks/framework.C82C2wD0.js";const u=JSON.parse('{"title":"Sources","description":"","frontmatter":{},"headers":[],"relativePath":"intermediate/pbr-notes.md","filePath":"intermediate/pbr-notes.md","lastUpdated":1732966628000}'),i={name:"intermediate/pbr-notes.md"};function o(l,r,d,c,p,m){return n(),a("div",null,r[0]||(r[0]=[e("h1",{id:"sources",tabindex:"-1"},[s("Sources "),e("a",{class:"header-anchor",href:"#sources","aria-label":'Permalink to "Sources"'},"​")],-1),e("ul",null,[e("li",null,[e("a",{href:"https://www.scratchapixel.com/lessons/3d-basic-rendering/introduction-to-shading/diffuse-lambertian-shading",target:"_blank",rel:"noreferrer"},"https://www.scratchapixel.com/lessons/3d-basic-rendering/introduction-to-shading/diffuse-lambertian-shading")]),e("li",null,[e("a",{href:"http://jimmiejohnsson84.me/pages/rendering_pbr.html",target:"_blank",rel:"noreferrer"},"http://jimmiejohnsson84.me/pages/rendering_pbr.html")])],-1)]))}const f=t(i,[["render",o]]);export{u as __pageData,f as default};
+import{_ as t,c as a,j as e,a as s,o as n}from"./chunks/framework.C82C2wD0.js";const u=JSON.parse('{"title":"Sources","description":"","frontmatter":{},"headers":[],"relativePath":"intermediate/pbr-notes.md","filePath":"intermediate/pbr-notes.md","lastUpdated":1733013181000}'),i={name:"intermediate/pbr-notes.md"};function o(l,r,d,c,p,m){return n(),a("div",null,r[0]||(r[0]=[e("h1",{id:"sources",tabindex:"-1"},[s("Sources "),e("a",{class:"header-anchor",href:"#sources","aria-label":'Permalink to "Sources"'},"​")],-1),e("ul",null,[e("li",null,[e("a",{href:"https://www.scratchapixel.com/lessons/3d-basic-rendering/introduction-to-shading/diffuse-lambertian-shading",target:"_blank",rel:"noreferrer"},"https://www.scratchapixel.com/lessons/3d-basic-rendering/introduction-to-shading/diffuse-lambertian-shading")]),e("li",null,[e("a",{href:"http://jimmiejohnsson84.me/pages/rendering_pbr.html",target:"_blank",rel:"noreferrer"},"http://jimmiejohnsson84.me/pages/rendering_pbr.html")])],-1)]))}const f=t(i,[["render",o]]);export{u as __pageData,f as default};
diff --git a/assets/intermediate_tutorial10-lighting_index.md.CnCNvDBO.js b/assets/intermediate_tutorial10-lighting_index.md.CJkDqTjh.js
similarity index 99%
rename from assets/intermediate_tutorial10-lighting_index.md.CnCNvDBO.js
rename to assets/intermediate_tutorial10-lighting_index.md.CJkDqTjh.js
index 65033383..ae7c2c32 100644
--- a/assets/intermediate_tutorial10-lighting_index.md.CnCNvDBO.js
+++ b/assets/intermediate_tutorial10-lighting_index.md.CJkDqTjh.js
@@ -1,4 +1,4 @@
-import{_ as h,c as l,a1 as k,G as i,B as a,o as t}from"./chunks/framework.C82C2wD0.js";const e="/learn-wgpu-zh/assets/light-in-scene.nRMlcfDv.png",r="/learn-wgpu-zh/assets/ambient_lighting.BjPkN8pd.png",E="/learn-wgpu-zh/assets/normal_diagram.D92RsFVZ.png",d="/learn-wgpu-zh/assets/ambient_diffuse_wrong.BrpkwhHU.png",g="/learn-wgpu-zh/assets/diffuse_wrong.D5w5No9I.png",y="/learn-wgpu-zh/assets/normal_not_rotated.Bf9uTm-X.png",F="/learn-wgpu-zh/assets/diffuse_right.tzVN9tea.png",c="/learn-wgpu-zh/assets/ambient_diffuse_lighting.Cp3xjHBT.png",b="/learn-wgpu-zh/assets/normal-scale-issue.Cj925Vj8.png",u="/learn-wgpu-zh/assets/specular_diagram.Cr8bS0y4.png",o="/learn-wgpu-zh/assets/ambient_diffuse_specular_lighting.DmdSiDNr.png",m="/learn-wgpu-zh/assets/specular_lighting.BiMXxumT.png",C="/learn-wgpu-zh/assets/half_dir.BrIVpv9H.png",S=JSON.parse('{"title":"光照","description":"","frontmatter":{},"headers":[],"relativePath":"intermediate/tutorial10-lighting/index.md","filePath":"intermediate/tutorial10-lighting/index.md","lastUpdated":1732966628000}'),D={name:"intermediate/tutorial10-lighting/index.md"};function A(B,s,_,f,v,w){const n=a("WasmExample"),p=a("AutoGithubLink");return t(),l("div",null,[s[0]||(s[0]=k(`

光照

虽然我们的场景是 3D 的,但它们看起来像是平的,对象表面缺乏现实光照环境中的明暗变化,所以无法体现模型的三维特性。这是因为我们的模型没有考虑光线和对象表面之间的相互作用,无论如何摆放都会保持着相同的着色。

如果想修正这一点,就需要在我们的场景中添加光照(Lighting)。

在现实世界中,光源发出的光子会四处反射,最后进入我们的眼睛。 当观察对象上的一点时,我们所看到的颜色取决于多个光源和多个反射表面之间的多次相互作用。

在计算机图形学领域,为单个光子建模的计算成本极高。一个 100 瓦的灯泡每秒钟发出大约 3.27×10^20 个光子,再试想一下太阳每秒发出的光子的数量级。为了解决这个问题,我们要用数学来 “作弊”(也就是模拟。严格来说,这不是作弊,计算机图形学里有这么一句名言:"If it looks right, it is right.", 意思就是,如果它看起来是对的,那么它就是对的)。

我们来看看计算机图形学里常用的几个光照模型。

光线/路径追踪

光线/路径追踪(Ray/Path tracing)以虛拟摄像机模型为基础,但是对于每条与某个三角形相交的投影线,在计算光源对交点处明暗值的直接贡献之前,还要确定是否有一个或者多个光源能够照射到这个交点。

它是最接近光的真实工作方式的模型,所以我觉得必须提到它。但这是一个高级话题,我们不会在这里深入讨论。

Blinn-Phong 反射模型

对于大多数实时(real-time)应用来说,光线/路径追踪的计算成本十在太高了(尽管这种情况已经开始改变),所以通常使用一种更有效的,精度较低的 Phong 反射模型 来解决光照问题。它考虑了光线与材质的 3 种相互作用:环境光反射、漫反射和镜面反射。我们将学习 Blinn-Phong 反射模型,它能加速镜面反射的计算。

在开始学习之前,需要在我们的场景中添加一个光源:

rust
// lib.rs
+import{_ as h,c as l,a1 as k,G as i,B as a,o as t}from"./chunks/framework.C82C2wD0.js";const e="/learn-wgpu-zh/assets/light-in-scene.nRMlcfDv.png",r="/learn-wgpu-zh/assets/ambient_lighting.BjPkN8pd.png",E="/learn-wgpu-zh/assets/normal_diagram.D92RsFVZ.png",d="/learn-wgpu-zh/assets/ambient_diffuse_wrong.BrpkwhHU.png",g="/learn-wgpu-zh/assets/diffuse_wrong.D5w5No9I.png",y="/learn-wgpu-zh/assets/normal_not_rotated.Bf9uTm-X.png",F="/learn-wgpu-zh/assets/diffuse_right.tzVN9tea.png",c="/learn-wgpu-zh/assets/ambient_diffuse_lighting.Cp3xjHBT.png",b="/learn-wgpu-zh/assets/normal-scale-issue.Cj925Vj8.png",u="/learn-wgpu-zh/assets/specular_diagram.Cr8bS0y4.png",o="/learn-wgpu-zh/assets/ambient_diffuse_specular_lighting.DmdSiDNr.png",m="/learn-wgpu-zh/assets/specular_lighting.BiMXxumT.png",C="/learn-wgpu-zh/assets/half_dir.BrIVpv9H.png",S=JSON.parse('{"title":"光照","description":"","frontmatter":{},"headers":[],"relativePath":"intermediate/tutorial10-lighting/index.md","filePath":"intermediate/tutorial10-lighting/index.md","lastUpdated":1733013181000}'),D={name:"intermediate/tutorial10-lighting/index.md"};function A(B,s,_,f,v,w){const n=a("WasmExample"),p=a("AutoGithubLink");return t(),l("div",null,[s[0]||(s[0]=k(`

光照

虽然我们的场景是 3D 的,但它们看起来像是平的,对象表面缺乏现实光照环境中的明暗变化,所以无法体现模型的三维特性。这是因为我们的模型没有考虑光线和对象表面之间的相互作用,无论如何摆放都会保持着相同的着色。

如果想修正这一点,就需要在我们的场景中添加光照(Lighting)。

在现实世界中,光源发出的光子会四处反射,最后进入我们的眼睛。 当观察对象上的一点时,我们所看到的颜色取决于多个光源和多个反射表面之间的多次相互作用。

在计算机图形学领域,为单个光子建模的计算成本极高。一个 100 瓦的灯泡每秒钟发出大约 3.27×10^20 个光子,再试想一下太阳每秒发出的光子的数量级。为了解决这个问题,我们要用数学来 “作弊”(也就是模拟。严格来说,这不是作弊,计算机图形学里有这么一句名言:"If it looks right, it is right.", 意思就是,如果它看起来是对的,那么它就是对的)。

我们来看看计算机图形学里常用的几个光照模型。

光线/路径追踪

光线/路径追踪(Ray/Path tracing)以虛拟摄像机模型为基础,但是对于每条与某个三角形相交的投影线,在计算光源对交点处明暗值的直接贡献之前,还要确定是否有一个或者多个光源能够照射到这个交点。

它是最接近光的真实工作方式的模型,所以我觉得必须提到它。但这是一个高级话题,我们不会在这里深入讨论。

Blinn-Phong 反射模型

对于大多数实时(real-time)应用来说,光线/路径追踪的计算成本十在太高了(尽管这种情况已经开始改变),所以通常使用一种更有效的,精度较低的 Phong 反射模型 来解决光照问题。它考虑了光线与材质的 3 种相互作用:环境光反射、漫反射和镜面反射。我们将学习 Blinn-Phong 反射模型,它能加速镜面反射的计算。

在开始学习之前,需要在我们的场景中添加一个光源:

rust
// lib.rs
 #[repr(C)]
 #[derive(Debug, Copy, Clone, bytemuck::Pod, bytemuck::Zeroable)]
 struct LightUniform {
diff --git a/assets/intermediate_tutorial10-lighting_index.md.CnCNvDBO.lean.js b/assets/intermediate_tutorial10-lighting_index.md.CJkDqTjh.lean.js
similarity index 99%
rename from assets/intermediate_tutorial10-lighting_index.md.CnCNvDBO.lean.js
rename to assets/intermediate_tutorial10-lighting_index.md.CJkDqTjh.lean.js
index 65033383..ae7c2c32 100644
--- a/assets/intermediate_tutorial10-lighting_index.md.CnCNvDBO.lean.js
+++ b/assets/intermediate_tutorial10-lighting_index.md.CJkDqTjh.lean.js
@@ -1,4 +1,4 @@
-import{_ as h,c as l,a1 as k,G as i,B as a,o as t}from"./chunks/framework.C82C2wD0.js";const e="/learn-wgpu-zh/assets/light-in-scene.nRMlcfDv.png",r="/learn-wgpu-zh/assets/ambient_lighting.BjPkN8pd.png",E="/learn-wgpu-zh/assets/normal_diagram.D92RsFVZ.png",d="/learn-wgpu-zh/assets/ambient_diffuse_wrong.BrpkwhHU.png",g="/learn-wgpu-zh/assets/diffuse_wrong.D5w5No9I.png",y="/learn-wgpu-zh/assets/normal_not_rotated.Bf9uTm-X.png",F="/learn-wgpu-zh/assets/diffuse_right.tzVN9tea.png",c="/learn-wgpu-zh/assets/ambient_diffuse_lighting.Cp3xjHBT.png",b="/learn-wgpu-zh/assets/normal-scale-issue.Cj925Vj8.png",u="/learn-wgpu-zh/assets/specular_diagram.Cr8bS0y4.png",o="/learn-wgpu-zh/assets/ambient_diffuse_specular_lighting.DmdSiDNr.png",m="/learn-wgpu-zh/assets/specular_lighting.BiMXxumT.png",C="/learn-wgpu-zh/assets/half_dir.BrIVpv9H.png",S=JSON.parse('{"title":"光照","description":"","frontmatter":{},"headers":[],"relativePath":"intermediate/tutorial10-lighting/index.md","filePath":"intermediate/tutorial10-lighting/index.md","lastUpdated":1732966628000}'),D={name:"intermediate/tutorial10-lighting/index.md"};function A(B,s,_,f,v,w){const n=a("WasmExample"),p=a("AutoGithubLink");return t(),l("div",null,[s[0]||(s[0]=k(`

光照

虽然我们的场景是 3D 的,但它们看起来像是平的,对象表面缺乏现实光照环境中的明暗变化,所以无法体现模型的三维特性。这是因为我们的模型没有考虑光线和对象表面之间的相互作用,无论如何摆放都会保持着相同的着色。

如果想修正这一点,就需要在我们的场景中添加光照(Lighting)。

在现实世界中,光源发出的光子会四处反射,最后进入我们的眼睛。 当观察对象上的一点时,我们所看到的颜色取决于多个光源和多个反射表面之间的多次相互作用。

在计算机图形学领域,为单个光子建模的计算成本极高。一个 100 瓦的灯泡每秒钟发出大约 3.27×10^20 个光子,再试想一下太阳每秒发出的光子的数量级。为了解决这个问题,我们要用数学来 “作弊”(也就是模拟。严格来说,这不是作弊,计算机图形学里有这么一句名言:"If it looks right, it is right.", 意思就是,如果它看起来是对的,那么它就是对的)。

我们来看看计算机图形学里常用的几个光照模型。

光线/路径追踪

光线/路径追踪(Ray/Path tracing)以虛拟摄像机模型为基础,但是对于每条与某个三角形相交的投影线,在计算光源对交点处明暗值的直接贡献之前,还要确定是否有一个或者多个光源能够照射到这个交点。

它是最接近光的真实工作方式的模型,所以我觉得必须提到它。但这是一个高级话题,我们不会在这里深入讨论。

Blinn-Phong 反射模型

对于大多数实时(real-time)应用来说,光线/路径追踪的计算成本十在太高了(尽管这种情况已经开始改变),所以通常使用一种更有效的,精度较低的 Phong 反射模型 来解决光照问题。它考虑了光线与材质的 3 种相互作用:环境光反射、漫反射和镜面反射。我们将学习 Blinn-Phong 反射模型,它能加速镜面反射的计算。

在开始学习之前,需要在我们的场景中添加一个光源:

rust
// lib.rs
+import{_ as h,c as l,a1 as k,G as i,B as a,o as t}from"./chunks/framework.C82C2wD0.js";const e="/learn-wgpu-zh/assets/light-in-scene.nRMlcfDv.png",r="/learn-wgpu-zh/assets/ambient_lighting.BjPkN8pd.png",E="/learn-wgpu-zh/assets/normal_diagram.D92RsFVZ.png",d="/learn-wgpu-zh/assets/ambient_diffuse_wrong.BrpkwhHU.png",g="/learn-wgpu-zh/assets/diffuse_wrong.D5w5No9I.png",y="/learn-wgpu-zh/assets/normal_not_rotated.Bf9uTm-X.png",F="/learn-wgpu-zh/assets/diffuse_right.tzVN9tea.png",c="/learn-wgpu-zh/assets/ambient_diffuse_lighting.Cp3xjHBT.png",b="/learn-wgpu-zh/assets/normal-scale-issue.Cj925Vj8.png",u="/learn-wgpu-zh/assets/specular_diagram.Cr8bS0y4.png",o="/learn-wgpu-zh/assets/ambient_diffuse_specular_lighting.DmdSiDNr.png",m="/learn-wgpu-zh/assets/specular_lighting.BiMXxumT.png",C="/learn-wgpu-zh/assets/half_dir.BrIVpv9H.png",S=JSON.parse('{"title":"光照","description":"","frontmatter":{},"headers":[],"relativePath":"intermediate/tutorial10-lighting/index.md","filePath":"intermediate/tutorial10-lighting/index.md","lastUpdated":1733013181000}'),D={name:"intermediate/tutorial10-lighting/index.md"};function A(B,s,_,f,v,w){const n=a("WasmExample"),p=a("AutoGithubLink");return t(),l("div",null,[s[0]||(s[0]=k(`

光照

虽然我们的场景是 3D 的,但它们看起来像是平的,对象表面缺乏现实光照环境中的明暗变化,所以无法体现模型的三维特性。这是因为我们的模型没有考虑光线和对象表面之间的相互作用,无论如何摆放都会保持着相同的着色。

如果想修正这一点,就需要在我们的场景中添加光照(Lighting)。

在现实世界中,光源发出的光子会四处反射,最后进入我们的眼睛。 当观察对象上的一点时,我们所看到的颜色取决于多个光源和多个反射表面之间的多次相互作用。

在计算机图形学领域,为单个光子建模的计算成本极高。一个 100 瓦的灯泡每秒钟发出大约 3.27×10^20 个光子,再试想一下太阳每秒发出的光子的数量级。为了解决这个问题,我们要用数学来 “作弊”(也就是模拟。严格来说,这不是作弊,计算机图形学里有这么一句名言:"If it looks right, it is right.", 意思就是,如果它看起来是对的,那么它就是对的)。

我们来看看计算机图形学里常用的几个光照模型。

光线/路径追踪

光线/路径追踪(Ray/Path tracing)以虛拟摄像机模型为基础,但是对于每条与某个三角形相交的投影线,在计算光源对交点处明暗值的直接贡献之前,还要确定是否有一个或者多个光源能够照射到这个交点。

它是最接近光的真实工作方式的模型,所以我觉得必须提到它。但这是一个高级话题,我们不会在这里深入讨论。

Blinn-Phong 反射模型

对于大多数实时(real-time)应用来说,光线/路径追踪的计算成本十在太高了(尽管这种情况已经开始改变),所以通常使用一种更有效的,精度较低的 Phong 反射模型 来解决光照问题。它考虑了光线与材质的 3 种相互作用:环境光反射、漫反射和镜面反射。我们将学习 Blinn-Phong 反射模型,它能加速镜面反射的计算。

在开始学习之前,需要在我们的场景中添加一个光源:

rust
// lib.rs
 #[repr(C)]
 #[derive(Debug, Copy, Clone, bytemuck::Pod, bytemuck::Zeroable)]
 struct LightUniform {
diff --git a/assets/intermediate_tutorial11-normals_index.md.B7d0pD7y.js b/assets/intermediate_tutorial11-normals_index.md.CUYEvik6.js
similarity index 99%
rename from assets/intermediate_tutorial11-normals_index.md.B7d0pD7y.js
rename to assets/intermediate_tutorial11-normals_index.md.CUYEvik6.js
index 428eb3a1..a23fe265 100644
--- a/assets/intermediate_tutorial11-normals_index.md.B7d0pD7y.js
+++ b/assets/intermediate_tutorial11-normals_index.md.CUYEvik6.js
@@ -1,4 +1,4 @@
-import{_ as l,c as k,a1 as p,G as i,B as a,o as t}from"./chunks/framework.C82C2wD0.js";const e="/learn-wgpu-zh/assets/cube-normal.CiOKm_IM.png",r="/learn-wgpu-zh/assets/normal_mapping_wrong.DWVzspon.png",E="/learn-wgpu-zh/assets/ambient_diffuse_specular_lighting.DmdSiDNr.png",d="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZAAAAGQCAYAAACAvzbMAAABg2lDQ1BJQ0MgcHJvZmlsZQAAKJF9kT1Iw0AcxV9TS0UqDmaQ4pChOlkQFXHUKhShQqgVWnUwufQLmrQkKS6OgmvBwY/FqoOLs64OroIg+AHi5Oik6CIl/i8ptIjx4Lgf7+497t4BQrPCdKtnHNAN20wnE1I2tyqFXxFCECKigMKs2pwsp+A7vu4R4OtdnGf5n/tz9Gt5iwEBiXiW1UybeIN4etOucd4nFllJ0YjPicdMuiDxI9dVj984F10WeKZoZtLzxCKxVOxitYtZydSJp4hjmm5QvpD1WOO8xVmv1Fn7nvyFkbyxssx1msNIYhFLkCFBRR1lVGAjTqtBioU07Sd8/FHXL5NLJVcZjBwLqEKH4vrB/+B3t1ZhcsJLiiSA0IvjfIwA4V2g1XCc72PHaZ0AwWfgyuj4q01g5pP0RkeLHQED28DFdUdT94DLHWDoqaaYiisFaQqFAvB+Rt+UAwZvgb41r7f2Pk4fgAx1lboBDg6B0SJlr/u8u7e7t3/PtPv7AfEscnMV1+LuAAAABmJLR0QAAACSAP8q1jhsAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAB3RJTUUH5AUDFCAS5kaN7AAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAAApfSURBVHja7d1PbhNnHMfh14YjINTsuEXUayCx8BFKRGRlWXVZdYkiV0mP4EUkroFyi+yool4huCsH1409M55/7++d51khSAMYaT79vjOJZ2m12SQAaGjuJQBAQAAQEAAEBAABAQABAUBAABAQAAQEAAEBAAEBQEAAEBAABAQAAQEAAQFAQAAQEAAEBAABAQABAUBAABAQAAQEAAEBAAEBQEAAEBAABAQAAQEAAQFAQAAQEAAEBAABAQABAUBAAMjXay9BbN8uZ88/PlttvCDAYGZptXHVCR6OfUICCAiN4yEkwFDcAxEaAAERBQABQXAAAUFEAAEhbAhEBBAQ8RARQEAY/sIvIoCAiIeIAALC8Bd6EQEERDxEBBAQhr+wiwggIOIhIoCAACAgBFkCVgggIAAICAACQg1jvgGUN58CBAQAAbFCrA8gX94TPWN9PxklHICAiItQAINzhAWAgAAgIAAICAACAgACAoCAACAgAAgIAAICAAICgIAAICAACAgAAgIAAgKAgAAgIAAICAACAgACAoCAACAgAAgIAAICAAICgIAAkJXXXgKA8S0eb59/vH77UUAAqB+O/Z/LPSSOsAAyisf+r1d9jIAAEC4kAgKQ4fqIEBIBAZhAfAQEgGzWiIAACImAAAiJgAAUra+v8RgyJAICUOgiERCAAi/uQ1zg+/49fCsTgID/99/kz9LXcZmAAASNw9gEBKDwQPS1QgQEEAcEBBAIBARAHDriJjogDlgggEAQe30ICCAOBVvOn9LaAgEEgqbx6JuAgDgw8kX++vurXj7v+ZtPAgIIhBWQ3+8nIJTv179//PiPn8SBkBfrpn+evteHgDCdcOz/XICQCMR0ArGcP7U6xhojHgLCtOKx/+sjRkQcrIc+/i5DhUNAoMc1IhACUXo8BIRpro+Wa0QcxKGt8zef0v0/f/7v71X3GGvscAgIHIiIQIhD3/bjEWl1CAgciMhi+cXrIBCjvj7HVkhO8UgppVlabTb+2eL5djmr/bFnq+n8E2/Xw/r6fbvPIyTiMLLdkOQWDgERkLBxqNI2HiIiELnKKR4pOcIiWByGtL5+P5mIiINwCAiTD0RX62P/80UPiUCIh4BgPVgj4iAcAoJA1FkROV20x4qIQIhHrtxED6qzm+g7X3TX9uLY9sJ/7Pipzufr+viqzZ9FHCg9HhbIhBfESxfbU8/7u/hcVRf/qDe0BYISwyEgE9blxbrUC3+dv5M4MOV4pJTS3D8duQet6cdZFkQKR9R4CIiLdauPi3jhB6ujO46woKH7qzsvApMOh4CQjcXyS62Vsr2Xcuj4aO2lRDwG5Qhrghfrrj6uy89Vx3L+dDAe558/WB+IhwVCHWerTa2vBbn67SarP/ehACyv7o5GYOwLt3AgHAJCqj4yarIYqj5Xkwvv9mN3QyIciEe+fCV65BA83qbPv1+0Wh9Nvnq86tHVMS/8XR9hCQfCISBFx2PXbkhOObaK/nUNXQVEOBCP+hxhFaIqGr7wTTgQDgHh2cPFj9Xx7uZm0vG4r7gJLxyIh4CQUvr5wyw9HIjJsZAgHAhHl9wDCRiPKvsRmdLxVdUKEQ7EwwKBo4HYD4lwIB4WiPVR0+4KcQMdhKMPvpUJgHicxBEWgHBYIKX7elfvtNHxFYiHBQIgHBYIw6wQXwcC4mGBUBmJul+JDoiHgGBtgHBkwxFWMPvfhRcQDwsEQDgsEPLgEV4QDwsEQDgsEADxsEAYmcd4QTwEhJPDsf9zQgLCMRRHWIEsHm9fjEdVXEA8sEAAhCMb3lAqkCZvKHX918oLhnhggQAIR37cAwHEAwEpXd0nrDyJxVTCIR4CAmB1CAh92X4X3qp1YX0gHgzFTfSAvKEUwoGA0ElI9vkuvIgHAgIIB9lyDwQQDywQQDiwQADxQEBoa/sIL4gHOXGEBQgHFgge4UU8sEAA4UBA2Gryfh5f77xNC+KBgAhHg3C89N881PxvfDsThIMheUfCDOPRlncjRDwQEAFpHZHlL5fCgnggIOJhoSAc5MNjvBO0u0pAPDiVm+iAcGCB5CbnR3GtEMQDCwQQDiwQKwTEAwuEzHkSC+HAArFCQDwQEKwPxIM4HGENuEJy/cJCEA4skAARsT4QDywQwhEPhAMLxAoRD8QDCwQQDiwQMl0h1gfigYAgHogH2XCENeIK8VgvwoEFwskRsT4QDywQsiIeCAcWiBUiHogHFgggHFggZLpCrA/EAwEREfFAPMiaIywQDrBAprxCrA/EAwsE8UA4sEDof4WIB+KBBUJKKaXF42168DIgHFggnOLdzU2nH4d4gICIyH9+fTl/8kKJB4zGEVaAiDxcXFgdCAcCQvdrBPEAAQGEgzDcAwHxAAskusXjrRcB4cACAcQDC4QMeYRXOMACAcQDAQHEg+lwhAXCARZIZJ7AEg+wQADhwAIhT57AEg+wQEA4wAIBxAMBAcQDKjnCAuEACyQqj/CKB1ggIBxggZAnj/CKB1ggIBxggYB4gIAA4gG1OMIC4QALJCKP8IoHWCAgHGCBkCeP8IoHWCAgHGCBgHiABQLCAVggIB4gIMXyCK94QGSOsBAOwAIpmUd4xQMsEBAOsEBAPMACAeEALBAQDxCQYnmEVzwgOkdYCAdggZTKI7ziARYICAdYICAeYIGAcAAWCOIBCEixPMIrHlACR1gIB2CBlMgjvOIBFggIB1ggIB6ABYJwABYI4gFYIMXyCK9wgAUC4gECQp5Kf4RXPCA2R1gIB2CBIB6ABYJwABYI4iEeYIHQytQe4RUOsEBAPAABiSLyI7ziAdPgCAvhACwQxAOwQBAOwAJBPAALhJOV9AivcAAWCOIBCEhJcn2EVzyAXY6wWjh0LLV++9HqAASE+uGo++viAQiIeBRLOAABCej6+6vnH49xP0Q8gDpmabXZeBnirI8+gyIcQBOewgq4TnYXingAY3GEFTgkXawR4QAskAF4PBdAQIpZIeIBCIgVMtjqEA9AQLA6gNF4jPdEkR7pFQ7AAslIlKMs8QAsEEuk0foQDsACQTwAASnR0EdZ4gHkwhFWR/o+yhIOwAJBPAALhP5XyLF4CAcgICJidQDh+G68GbI6gAjcA+lY26eyxAOIwhFWT5oeZTmyAiwQOlkiu+EQD0BAaLQ+hAMQECvE6gCK4x7IAI7dD9ldH6IBCAiVISnt/dUBAQGAWtwDAUBAABAQAAQEAAEBAAEBQEAAEBAABAQAAQEAAQFAQAAQEAAEBAABAQABAUBAABAQAAQEAAEBAAEBQEAAEBAABAQAAQEAAQFAQAAQEAAEBAABAQABAUBAABAQAAQEAAEBAAEBQEAAEBAABAQABAQAAQFAQAAQEAAEBAAEBAABAUBAABAQAAQEAAQEAAEBQEAAEBAABAQABAQAAQFAQAAQEAAEBAAEBAABAUBAABAQAAQEAAQEAAEBQEAAEBAABAQABAQAAQFAQAAQEAAExEsAgIAAICAACAgAAgIAAgKAgAAgIAAICAACAgACAoCAACAgAAgIAAICAAICgIAAICAACAgAU/EvfiluCemVcXgAAAAASUVORK5CYII=",g="/learn-wgpu-zh/assets/normal_mapping_correct.QoeY9fn8.png",y="/learn-wgpu-zh/assets/no_srgb.BPN082ml.png",F="/learn-wgpu-zh/assets/debug_material.CSduOHVl.png",B=JSON.parse('{"title":"法线映射","description":"","frontmatter":{},"headers":[],"relativePath":"intermediate/tutorial11-normals/index.md","filePath":"intermediate/tutorial11-normals/index.md","lastUpdated":1732966628000}'),A={name:"intermediate/tutorial11-normals/index.md"};function c(b,s,u,m,D,o){const n=a("WasmExample"),h=a("AutoGithubLink");return t(),k("div",null,[s[0]||(s[0]=p('

法线映射

添加光照后,我们的场景已经看起来很不错了。不过,对象表面还缺少实物的那种凹凸细节。如果使用的纹理是光滑的就不是问题,但是砖块纹理应该是比较粗糙的。 我们可以给模型添加更多的三角形来雕刻出表面的凹凸细节,但这将使得顶点数据倍增而渲染变慢,而且也很难知道在哪里添加新的三角形。这,就是法线映射(Normal Mapping)的用武之地了。

法线映射也叫凹凸映射(Bump Mapping),是一种纹理映射技术,它不用增加模型的几何复杂度就能够模拟具有复杂凹凸细节的表面。与简单的纹理映射不同,当绘制对象的表面时,法线映射技术通过扰动表面的法向量来改变它的形状,使得着色处理后的颜色能反映出表面几何特性的变化。

还记得在实例化绘制教程中,我们尝试了在纹理中存储实例数据吗?法线贴图(Normal Map)就是存储着法向量数据的纹理!除了顶点法向量外,我们还将在光照计算中使用法线贴图中的法向量。

我们的砖块纹理对应的法线贴图(也就是法线纹理)长这样:

./cube-normal.png

纹理的 r、g、b 分量对应于法向量的 x、y 和 z 坐标分量。所有的 z 值都应该是正的,这就是为什么法线贴图有一个蓝色的色调。

我们来修改 model.rs 中的材质 Material 结构体,新增一个法线纹理 normal_texture 字段:

rust
pub struct Material {
+import{_ as l,c as k,a1 as p,G as i,B as a,o as t}from"./chunks/framework.C82C2wD0.js";const e="/learn-wgpu-zh/assets/cube-normal.CiOKm_IM.png",r="/learn-wgpu-zh/assets/normal_mapping_wrong.DWVzspon.png",E="/learn-wgpu-zh/assets/ambient_diffuse_specular_lighting.DmdSiDNr.png",d="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZAAAAGQCAYAAACAvzbMAAABg2lDQ1BJQ0MgcHJvZmlsZQAAKJF9kT1Iw0AcxV9TS0UqDmaQ4pChOlkQFXHUKhShQqgVWnUwufQLmrQkKS6OgmvBwY/FqoOLs64OroIg+AHi5Oik6CIl/i8ptIjx4Lgf7+497t4BQrPCdKtnHNAN20wnE1I2tyqFXxFCECKigMKs2pwsp+A7vu4R4OtdnGf5n/tz9Gt5iwEBiXiW1UybeIN4etOucd4nFllJ0YjPicdMuiDxI9dVj984F10WeKZoZtLzxCKxVOxitYtZydSJp4hjmm5QvpD1WOO8xVmv1Fn7nvyFkbyxssx1msNIYhFLkCFBRR1lVGAjTqtBioU07Sd8/FHXL5NLJVcZjBwLqEKH4vrB/+B3t1ZhcsJLiiSA0IvjfIwA4V2g1XCc72PHaZ0AwWfgyuj4q01g5pP0RkeLHQED28DFdUdT94DLHWDoqaaYiisFaQqFAvB+Rt+UAwZvgb41r7f2Pk4fgAx1lboBDg6B0SJlr/u8u7e7t3/PtPv7AfEscnMV1+LuAAAABmJLR0QAAACSAP8q1jhsAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAB3RJTUUH5AUDFCAS5kaN7AAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAAApfSURBVHja7d1PbhNnHMfh14YjINTsuEXUayCx8BFKRGRlWXVZdYkiV0mP4EUkroFyi+yool4huCsH1409M55/7++d51khSAMYaT79vjOJZ2m12SQAaGjuJQBAQAAQEAAEBAABAQABAUBAABAQAAQEAAEBAAEBQEAAEBAABAQAAQEAAQFAQAAQEAAEBAABAQABAUBAABAQAAQEAAEBAAEBQEAAEBAABAQAAQEAAQFAQAAQEAAEBAABAQABAUBAAMjXay9BbN8uZ88/PlttvCDAYGZptXHVCR6OfUICCAiN4yEkwFDcAxEaAAERBQABQXAAAUFEAAEhbAhEBBAQ8RARQEAY/sIvIoCAiIeIAALC8Bd6EQEERDxEBBAQhr+wiwggIOIhIoCAACAgBFkCVgggIAAICAACQg1jvgGUN58CBAQAAbFCrA8gX94TPWN9PxklHICAiItQAINzhAWAgAAgIAAICAACAgACAoCAACAgAAgIAAICAAICgIAAICAACAgAAgIAAgKAgAAgIAAICAACAgACAoCAACAgAAgIAAICAAICgIAAkJXXXgKA8S0eb59/vH77UUAAqB+O/Z/LPSSOsAAyisf+r1d9jIAAEC4kAgKQ4fqIEBIBAZhAfAQEgGzWiIAACImAAAiJgAAUra+v8RgyJAICUOgiERCAAi/uQ1zg+/49fCsTgID/99/kz9LXcZmAAASNw9gEBKDwQPS1QgQEEAcEBBAIBARAHDriJjogDlgggEAQe30ICCAOBVvOn9LaAgEEgqbx6JuAgDgw8kX++vurXj7v+ZtPAgIIhBWQ3+8nIJTv179//PiPn8SBkBfrpn+evteHgDCdcOz/XICQCMR0ArGcP7U6xhojHgLCtOKx/+sjRkQcrIc+/i5DhUNAoMc1IhACUXo8BIRpro+Wa0QcxKGt8zef0v0/f/7v71X3GGvscAgIHIiIQIhD3/bjEWl1CAgciMhi+cXrIBCjvj7HVkhO8UgppVlabTb+2eL5djmr/bFnq+n8E2/Xw/r6fbvPIyTiMLLdkOQWDgERkLBxqNI2HiIiELnKKR4pOcIiWByGtL5+P5mIiINwCAiTD0RX62P/80UPiUCIh4BgPVgj4iAcAoJA1FkROV20x4qIQIhHrtxED6qzm+g7X3TX9uLY9sJ/7Pipzufr+viqzZ9FHCg9HhbIhBfESxfbU8/7u/hcVRf/qDe0BYISwyEgE9blxbrUC3+dv5M4MOV4pJTS3D8duQet6cdZFkQKR9R4CIiLdauPi3jhB6ujO46woKH7qzsvApMOh4CQjcXyS62Vsr2Xcuj4aO2lRDwG5Qhrghfrrj6uy89Vx3L+dDAe558/WB+IhwVCHWerTa2vBbn67SarP/ehACyv7o5GYOwLt3AgHAJCqj4yarIYqj5Xkwvv9mN3QyIciEe+fCV65BA83qbPv1+0Wh9Nvnq86tHVMS/8XR9hCQfCISBFx2PXbkhOObaK/nUNXQVEOBCP+hxhFaIqGr7wTTgQDgHh2cPFj9Xx7uZm0vG4r7gJLxyIh4CQUvr5wyw9HIjJsZAgHAhHl9wDCRiPKvsRmdLxVdUKEQ7EwwKBo4HYD4lwIB4WiPVR0+4KcQMdhKMPvpUJgHicxBEWgHBYIKX7elfvtNHxFYiHBQIgHBYIw6wQXwcC4mGBUBmJul+JDoiHgGBtgHBkwxFWMPvfhRcQDwsEQDgsEPLgEV4QDwsEQDgsEADxsEAYmcd4QTwEhJPDsf9zQgLCMRRHWIEsHm9fjEdVXEA8sEAAhCMb3lAqkCZvKHX918oLhnhggQAIR37cAwHEAwEpXd0nrDyJxVTCIR4CAmB1CAh92X4X3qp1YX0gHgzFTfSAvKEUwoGA0ElI9vkuvIgHAgIIB9lyDwQQDywQQDiwQADxQEBoa/sIL4gHOXGEBQgHFgge4UU8sEAA4UBA2Gryfh5f77xNC+KBgAhHg3C89N881PxvfDsThIMheUfCDOPRlncjRDwQEAFpHZHlL5fCgnggIOJhoSAc5MNjvBO0u0pAPDiVm+iAcGCB5CbnR3GtEMQDCwQQDiwQKwTEAwuEzHkSC+HAArFCQDwQEKwPxIM4HGENuEJy/cJCEA4skAARsT4QDywQwhEPhAMLxAoRD8QDCwQQDiwQMl0h1gfigYAgHogH2XCENeIK8VgvwoEFwskRsT4QDywQsiIeCAcWiBUiHogHFgggHFggZLpCrA/EAwEREfFAPMiaIywQDrBAprxCrA/EAwsE8UA4sEDof4WIB+KBBUJKKaXF42168DIgHFggnOLdzU2nH4d4gICIyH9+fTl/8kKJB4zGEVaAiDxcXFgdCAcCQvdrBPEAAQGEgzDcAwHxAAskusXjrRcB4cACAcQDC4QMeYRXOMACAcQDAQHEg+lwhAXCARZIZJ7AEg+wQADhwAIhT57AEg+wQEA4wAIBxAMBAcQDKjnCAuEACyQqj/CKB1ggIBxggZAnj/CKB1ggIBxggYB4gIAA4gG1OMIC4QALJCKP8IoHWCAgHGCBkCeP8IoHWCAgHGCBgHiABQLCAVggIB4gIMXyCK94QGSOsBAOwAIpmUd4xQMsEBAOsEBAPMACAeEALBAQDxCQYnmEVzwgOkdYCAdggZTKI7ziARYICAdYICAeYIGAcAAWCOIBCEixPMIrHlACR1gIB2CBlMgjvOIBFggIB1ggIB6ABYJwABYI4gFYIMXyCK9wgAUC4gECQp5Kf4RXPCA2R1gIB2CBIB6ABYJwABYI4iEeYIHQytQe4RUOsEBAPAABiSLyI7ziAdPgCAvhACwQxAOwQBAOwAJBPAALhJOV9AivcAAWCOIBCEhJcn2EVzyAXY6wWjh0LLV++9HqAASE+uGo++viAQiIeBRLOAABCej6+6vnH49xP0Q8gDpmabXZeBnirI8+gyIcQBOewgq4TnYXingAY3GEFTgkXawR4QAskAF4PBdAQIpZIeIBCIgVMtjqEA9AQLA6gNF4jPdEkR7pFQ7AAslIlKMs8QAsEEuk0foQDsACQTwAASnR0EdZ4gHkwhFWR/o+yhIOwAJBPAALhP5XyLF4CAcgICJidQDh+G68GbI6gAjcA+lY26eyxAOIwhFWT5oeZTmyAiwQOlkiu+EQD0BAaLQ+hAMQECvE6gCK4x7IAI7dD9ldH6IBCAiVISnt/dUBAQGAWtwDAUBAABAQAAQEAAEBAAEBQEAAEBAABAQAAQEAAQFAQAAQEAAEBAABAQABAUBAABAQAAQEAAEBAAEBQEAAEBAABAQAAQEAAQFAQAAQEAAEBAABAQABAUBAABAQAAQEAAEBAAEBQEAAEBAABAQABAQAAQFAQAAQEAAEBAAEBAABAUBAABAQAAQEAAQEAAEBQEAAEBAABAQABAQAAQFAQAAQEAAEBAAEBAABAUBAABAQAAQEAAQEAAEBQEAAEBAABAQABAQAAQFAQAAQEAAExEsAgIAAICAACAgAAgIAAgKAgAAgIAAICAACAgACAoCAACAgAAgIAAICAAICgIAAICAACAgAU/EvfiluCemVcXgAAAAASUVORK5CYII=",g="/learn-wgpu-zh/assets/normal_mapping_correct.QoeY9fn8.png",y="/learn-wgpu-zh/assets/no_srgb.BPN082ml.png",F="/learn-wgpu-zh/assets/debug_material.CSduOHVl.png",B=JSON.parse('{"title":"法线映射","description":"","frontmatter":{},"headers":[],"relativePath":"intermediate/tutorial11-normals/index.md","filePath":"intermediate/tutorial11-normals/index.md","lastUpdated":1733013181000}'),A={name:"intermediate/tutorial11-normals/index.md"};function c(b,s,u,m,D,o){const n=a("WasmExample"),h=a("AutoGithubLink");return t(),k("div",null,[s[0]||(s[0]=p('

法线映射

添加光照后,我们的场景已经看起来很不错了。不过,对象表面还缺少实物的那种凹凸细节。如果使用的纹理是光滑的就不是问题,但是砖块纹理应该是比较粗糙的。 我们可以给模型添加更多的三角形来雕刻出表面的凹凸细节,但这将使得顶点数据倍增而渲染变慢,而且也很难知道在哪里添加新的三角形。这,就是法线映射(Normal Mapping)的用武之地了。

法线映射也叫凹凸映射(Bump Mapping),是一种纹理映射技术,它不用增加模型的几何复杂度就能够模拟具有复杂凹凸细节的表面。与简单的纹理映射不同,当绘制对象的表面时,法线映射技术通过扰动表面的法向量来改变它的形状,使得着色处理后的颜色能反映出表面几何特性的变化。

还记得在实例化绘制教程中,我们尝试了在纹理中存储实例数据吗?法线贴图(Normal Map)就是存储着法向量数据的纹理!除了顶点法向量外,我们还将在光照计算中使用法线贴图中的法向量。

我们的砖块纹理对应的法线贴图(也就是法线纹理)长这样:

./cube-normal.png

纹理的 r、g、b 分量对应于法向量的 x、y 和 z 坐标分量。所有的 z 值都应该是正的,这就是为什么法线贴图有一个蓝色的色调。

我们来修改 model.rs 中的材质 Material 结构体,新增一个法线纹理 normal_texture 字段:

rust
pub struct Material {
     pub name: String,
     pub diffuse_texture: texture::Texture,
     pub normal_texture: texture::Texture, // 更新!
diff --git a/assets/intermediate_tutorial11-normals_index.md.B7d0pD7y.lean.js b/assets/intermediate_tutorial11-normals_index.md.CUYEvik6.lean.js
similarity index 99%
rename from assets/intermediate_tutorial11-normals_index.md.B7d0pD7y.lean.js
rename to assets/intermediate_tutorial11-normals_index.md.CUYEvik6.lean.js
index 428eb3a1..a23fe265 100644
--- a/assets/intermediate_tutorial11-normals_index.md.B7d0pD7y.lean.js
+++ b/assets/intermediate_tutorial11-normals_index.md.CUYEvik6.lean.js
@@ -1,4 +1,4 @@
-import{_ as l,c as k,a1 as p,G as i,B as a,o as t}from"./chunks/framework.C82C2wD0.js";const e="/learn-wgpu-zh/assets/cube-normal.CiOKm_IM.png",r="/learn-wgpu-zh/assets/normal_mapping_wrong.DWVzspon.png",E="/learn-wgpu-zh/assets/ambient_diffuse_specular_lighting.DmdSiDNr.png",d="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZAAAAGQCAYAAACAvzbMAAABg2lDQ1BJQ0MgcHJvZmlsZQAAKJF9kT1Iw0AcxV9TS0UqDmaQ4pChOlkQFXHUKhShQqgVWnUwufQLmrQkKS6OgmvBwY/FqoOLs64OroIg+AHi5Oik6CIl/i8ptIjx4Lgf7+497t4BQrPCdKtnHNAN20wnE1I2tyqFXxFCECKigMKs2pwsp+A7vu4R4OtdnGf5n/tz9Gt5iwEBiXiW1UybeIN4etOucd4nFllJ0YjPicdMuiDxI9dVj984F10WeKZoZtLzxCKxVOxitYtZydSJp4hjmm5QvpD1WOO8xVmv1Fn7nvyFkbyxssx1msNIYhFLkCFBRR1lVGAjTqtBioU07Sd8/FHXL5NLJVcZjBwLqEKH4vrB/+B3t1ZhcsJLiiSA0IvjfIwA4V2g1XCc72PHaZ0AwWfgyuj4q01g5pP0RkeLHQED28DFdUdT94DLHWDoqaaYiisFaQqFAvB+Rt+UAwZvgb41r7f2Pk4fgAx1lboBDg6B0SJlr/u8u7e7t3/PtPv7AfEscnMV1+LuAAAABmJLR0QAAACSAP8q1jhsAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAB3RJTUUH5AUDFCAS5kaN7AAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAAApfSURBVHja7d1PbhNnHMfh14YjINTsuEXUayCx8BFKRGRlWXVZdYkiV0mP4EUkroFyi+yool4huCsH1409M55/7++d51khSAMYaT79vjOJZ2m12SQAaGjuJQBAQAAQEAAEBAABAQABAUBAABAQAAQEAAEBAAEBQEAAEBAABAQAAQEAAQFAQAAQEAAEBAABAQABAUBAABAQAAQEAAEBAAEBQEAAEBAABAQAAQEAAQFAQAAQEAAEBAABAQABAUBAAMjXay9BbN8uZ88/PlttvCDAYGZptXHVCR6OfUICCAiN4yEkwFDcAxEaAAERBQABQXAAAUFEAAEhbAhEBBAQ8RARQEAY/sIvIoCAiIeIAALC8Bd6EQEERDxEBBAQhr+wiwggIOIhIoCAACAgBFkCVgggIAAICAACQg1jvgGUN58CBAQAAbFCrA8gX94TPWN9PxklHICAiItQAINzhAWAgAAgIAAICAACAgACAoCAACAgAAgIAAICAAICgIAAICAACAgAAgIAAgKAgAAgIAAICAACAgACAoCAACAgAAgIAAICAAICgIAAkJXXXgKA8S0eb59/vH77UUAAqB+O/Z/LPSSOsAAyisf+r1d9jIAAEC4kAgKQ4fqIEBIBAZhAfAQEgGzWiIAACImAAAiJgAAUra+v8RgyJAICUOgiERCAAi/uQ1zg+/49fCsTgID/99/kz9LXcZmAAASNw9gEBKDwQPS1QgQEEAcEBBAIBARAHDriJjogDlgggEAQe30ICCAOBVvOn9LaAgEEgqbx6JuAgDgw8kX++vurXj7v+ZtPAgIIhBWQ3+8nIJTv179//PiPn8SBkBfrpn+evteHgDCdcOz/XICQCMR0ArGcP7U6xhojHgLCtOKx/+sjRkQcrIc+/i5DhUNAoMc1IhACUXo8BIRpro+Wa0QcxKGt8zef0v0/f/7v71X3GGvscAgIHIiIQIhD3/bjEWl1CAgciMhi+cXrIBCjvj7HVkhO8UgppVlabTb+2eL5djmr/bFnq+n8E2/Xw/r6fbvPIyTiMLLdkOQWDgERkLBxqNI2HiIiELnKKR4pOcIiWByGtL5+P5mIiINwCAiTD0RX62P/80UPiUCIh4BgPVgj4iAcAoJA1FkROV20x4qIQIhHrtxED6qzm+g7X3TX9uLY9sJ/7Pipzufr+viqzZ9FHCg9HhbIhBfESxfbU8/7u/hcVRf/qDe0BYISwyEgE9blxbrUC3+dv5M4MOV4pJTS3D8duQet6cdZFkQKR9R4CIiLdauPi3jhB6ujO46woKH7qzsvApMOh4CQjcXyS62Vsr2Xcuj4aO2lRDwG5Qhrghfrrj6uy89Vx3L+dDAe558/WB+IhwVCHWerTa2vBbn67SarP/ehACyv7o5GYOwLt3AgHAJCqj4yarIYqj5Xkwvv9mN3QyIciEe+fCV65BA83qbPv1+0Wh9Nvnq86tHVMS/8XR9hCQfCISBFx2PXbkhOObaK/nUNXQVEOBCP+hxhFaIqGr7wTTgQDgHh2cPFj9Xx7uZm0vG4r7gJLxyIh4CQUvr5wyw9HIjJsZAgHAhHl9wDCRiPKvsRmdLxVdUKEQ7EwwKBo4HYD4lwIB4WiPVR0+4KcQMdhKMPvpUJgHicxBEWgHBYIKX7elfvtNHxFYiHBQIgHBYIw6wQXwcC4mGBUBmJul+JDoiHgGBtgHBkwxFWMPvfhRcQDwsEQDgsEPLgEV4QDwsEQDgsEADxsEAYmcd4QTwEhJPDsf9zQgLCMRRHWIEsHm9fjEdVXEA8sEAAhCMb3lAqkCZvKHX918oLhnhggQAIR37cAwHEAwEpXd0nrDyJxVTCIR4CAmB1CAh92X4X3qp1YX0gHgzFTfSAvKEUwoGA0ElI9vkuvIgHAgIIB9lyDwQQDywQQDiwQADxQEBoa/sIL4gHOXGEBQgHFgge4UU8sEAA4UBA2Gryfh5f77xNC+KBgAhHg3C89N881PxvfDsThIMheUfCDOPRlncjRDwQEAFpHZHlL5fCgnggIOJhoSAc5MNjvBO0u0pAPDiVm+iAcGCB5CbnR3GtEMQDCwQQDiwQKwTEAwuEzHkSC+HAArFCQDwQEKwPxIM4HGENuEJy/cJCEA4skAARsT4QDywQwhEPhAMLxAoRD8QDCwQQDiwQMl0h1gfigYAgHogH2XCENeIK8VgvwoEFwskRsT4QDywQsiIeCAcWiBUiHogHFgggHFggZLpCrA/EAwEREfFAPMiaIywQDrBAprxCrA/EAwsE8UA4sEDof4WIB+KBBUJKKaXF42168DIgHFggnOLdzU2nH4d4gICIyH9+fTl/8kKJB4zGEVaAiDxcXFgdCAcCQvdrBPEAAQGEgzDcAwHxAAskusXjrRcB4cACAcQDC4QMeYRXOMACAcQDAQHEg+lwhAXCARZIZJ7AEg+wQADhwAIhT57AEg+wQEA4wAIBxAMBAcQDKjnCAuEACyQqj/CKB1ggIBxggZAnj/CKB1ggIBxggYB4gIAA4gG1OMIC4QALJCKP8IoHWCAgHGCBkCeP8IoHWCAgHGCBgHiABQLCAVggIB4gIMXyCK94QGSOsBAOwAIpmUd4xQMsEBAOsEBAPMACAeEALBAQDxCQYnmEVzwgOkdYCAdggZTKI7ziARYICAdYICAeYIGAcAAWCOIBCEixPMIrHlACR1gIB2CBlMgjvOIBFggIB1ggIB6ABYJwABYI4gFYIMXyCK9wgAUC4gECQp5Kf4RXPCA2R1gIB2CBIB6ABYJwABYI4iEeYIHQytQe4RUOsEBAPAABiSLyI7ziAdPgCAvhACwQxAOwQBAOwAJBPAALhJOV9AivcAAWCOIBCEhJcn2EVzyAXY6wWjh0LLV++9HqAASE+uGo++viAQiIeBRLOAABCej6+6vnH49xP0Q8gDpmabXZeBnirI8+gyIcQBOewgq4TnYXingAY3GEFTgkXawR4QAskAF4PBdAQIpZIeIBCIgVMtjqEA9AQLA6gNF4jPdEkR7pFQ7AAslIlKMs8QAsEEuk0foQDsACQTwAASnR0EdZ4gHkwhFWR/o+yhIOwAJBPAALhP5XyLF4CAcgICJidQDh+G68GbI6gAjcA+lY26eyxAOIwhFWT5oeZTmyAiwQOlkiu+EQD0BAaLQ+hAMQECvE6gCK4x7IAI7dD9ldH6IBCAiVISnt/dUBAQGAWtwDAUBAABAQAAQEAAEBAAEBQEAAEBAABAQAAQEAAQFAQAAQEAAEBAABAQABAUBAABAQAAQEAAEBAAEBQEAAEBAABAQAAQEAAQFAQAAQEAAEBAABAQABAUBAABAQAAQEAAEBAAEBQEAAEBAABAQABAQAAQFAQAAQEAAEBAAEBAABAUBAABAQAAQEAAQEAAEBQEAAEBAABAQABAQAAQFAQAAQEAAEBAAEBAABAUBAABAQAAQEAAQEAAEBQEAAEBAABAQABAQAAQFAQAAQEAAExEsAgIAAICAACAgAAgIAAgKAgAAgIAAICAACAgACAoCAACAgAAgIAAICAAICgIAAICAACAgAU/EvfiluCemVcXgAAAAASUVORK5CYII=",g="/learn-wgpu-zh/assets/normal_mapping_correct.QoeY9fn8.png",y="/learn-wgpu-zh/assets/no_srgb.BPN082ml.png",F="/learn-wgpu-zh/assets/debug_material.CSduOHVl.png",B=JSON.parse('{"title":"法线映射","description":"","frontmatter":{},"headers":[],"relativePath":"intermediate/tutorial11-normals/index.md","filePath":"intermediate/tutorial11-normals/index.md","lastUpdated":1732966628000}'),A={name:"intermediate/tutorial11-normals/index.md"};function c(b,s,u,m,D,o){const n=a("WasmExample"),h=a("AutoGithubLink");return t(),k("div",null,[s[0]||(s[0]=p('

法线映射

添加光照后,我们的场景已经看起来很不错了。不过,对象表面还缺少实物的那种凹凸细节。如果使用的纹理是光滑的就不是问题,但是砖块纹理应该是比较粗糙的。 我们可以给模型添加更多的三角形来雕刻出表面的凹凸细节,但这将使得顶点数据倍增而渲染变慢,而且也很难知道在哪里添加新的三角形。这,就是法线映射(Normal Mapping)的用武之地了。

法线映射也叫凹凸映射(Bump Mapping),是一种纹理映射技术,它不用增加模型的几何复杂度就能够模拟具有复杂凹凸细节的表面。与简单的纹理映射不同,当绘制对象的表面时,法线映射技术通过扰动表面的法向量来改变它的形状,使得着色处理后的颜色能反映出表面几何特性的变化。

还记得在实例化绘制教程中,我们尝试了在纹理中存储实例数据吗?法线贴图(Normal Map)就是存储着法向量数据的纹理!除了顶点法向量外,我们还将在光照计算中使用法线贴图中的法向量。

我们的砖块纹理对应的法线贴图(也就是法线纹理)长这样:

./cube-normal.png

纹理的 r、g、b 分量对应于法向量的 x、y 和 z 坐标分量。所有的 z 值都应该是正的,这就是为什么法线贴图有一个蓝色的色调。

我们来修改 model.rs 中的材质 Material 结构体,新增一个法线纹理 normal_texture 字段:

rust
pub struct Material {
+import{_ as l,c as k,a1 as p,G as i,B as a,o as t}from"./chunks/framework.C82C2wD0.js";const e="/learn-wgpu-zh/assets/cube-normal.CiOKm_IM.png",r="/learn-wgpu-zh/assets/normal_mapping_wrong.DWVzspon.png",E="/learn-wgpu-zh/assets/ambient_diffuse_specular_lighting.DmdSiDNr.png",d="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZAAAAGQCAYAAACAvzbMAAABg2lDQ1BJQ0MgcHJvZmlsZQAAKJF9kT1Iw0AcxV9TS0UqDmaQ4pChOlkQFXHUKhShQqgVWnUwufQLmrQkKS6OgmvBwY/FqoOLs64OroIg+AHi5Oik6CIl/i8ptIjx4Lgf7+497t4BQrPCdKtnHNAN20wnE1I2tyqFXxFCECKigMKs2pwsp+A7vu4R4OtdnGf5n/tz9Gt5iwEBiXiW1UybeIN4etOucd4nFllJ0YjPicdMuiDxI9dVj984F10WeKZoZtLzxCKxVOxitYtZydSJp4hjmm5QvpD1WOO8xVmv1Fn7nvyFkbyxssx1msNIYhFLkCFBRR1lVGAjTqtBioU07Sd8/FHXL5NLJVcZjBwLqEKH4vrB/+B3t1ZhcsJLiiSA0IvjfIwA4V2g1XCc72PHaZ0AwWfgyuj4q01g5pP0RkeLHQED28DFdUdT94DLHWDoqaaYiisFaQqFAvB+Rt+UAwZvgb41r7f2Pk4fgAx1lboBDg6B0SJlr/u8u7e7t3/PtPv7AfEscnMV1+LuAAAABmJLR0QAAACSAP8q1jhsAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAB3RJTUUH5AUDFCAS5kaN7AAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAAApfSURBVHja7d1PbhNnHMfh14YjINTsuEXUayCx8BFKRGRlWXVZdYkiV0mP4EUkroFyi+yool4huCsH1409M55/7++d51khSAMYaT79vjOJZ2m12SQAaGjuJQBAQAAQEAAEBAABAQABAUBAABAQAAQEAAEBAAEBQEAAEBAABAQAAQEAAQFAQAAQEAAEBAABAQABAUBAABAQAAQEAAEBAAEBQEAAEBAABAQAAQEAAQFAQAAQEAAEBAABAQABAUBAAMjXay9BbN8uZ88/PlttvCDAYGZptXHVCR6OfUICCAiN4yEkwFDcAxEaAAERBQABQXAAAUFEAAEhbAhEBBAQ8RARQEAY/sIvIoCAiIeIAALC8Bd6EQEERDxEBBAQhr+wiwggIOIhIoCAACAgBFkCVgggIAAICAACQg1jvgGUN58CBAQAAbFCrA8gX94TPWN9PxklHICAiItQAINzhAWAgAAgIAAICAACAgACAoCAACAgAAgIAAICAAICgIAAICAACAgAAgIAAgKAgAAgIAAICAACAgACAoCAACAgAAgIAAICAAICgIAAkJXXXgKA8S0eb59/vH77UUAAqB+O/Z/LPSSOsAAyisf+r1d9jIAAEC4kAgKQ4fqIEBIBAZhAfAQEgGzWiIAACImAAAiJgAAUra+v8RgyJAICUOgiERCAAi/uQ1zg+/49fCsTgID/99/kz9LXcZmAAASNw9gEBKDwQPS1QgQEEAcEBBAIBARAHDriJjogDlgggEAQe30ICCAOBVvOn9LaAgEEgqbx6JuAgDgw8kX++vurXj7v+ZtPAgIIhBWQ3+8nIJTv179//PiPn8SBkBfrpn+evteHgDCdcOz/XICQCMR0ArGcP7U6xhojHgLCtOKx/+sjRkQcrIc+/i5DhUNAoMc1IhACUXo8BIRpro+Wa0QcxKGt8zef0v0/f/7v71X3GGvscAgIHIiIQIhD3/bjEWl1CAgciMhi+cXrIBCjvj7HVkhO8UgppVlabTb+2eL5djmr/bFnq+n8E2/Xw/r6fbvPIyTiMLLdkOQWDgERkLBxqNI2HiIiELnKKR4pOcIiWByGtL5+P5mIiINwCAiTD0RX62P/80UPiUCIh4BgPVgj4iAcAoJA1FkROV20x4qIQIhHrtxED6qzm+g7X3TX9uLY9sJ/7Pipzufr+viqzZ9FHCg9HhbIhBfESxfbU8/7u/hcVRf/qDe0BYISwyEgE9blxbrUC3+dv5M4MOV4pJTS3D8duQet6cdZFkQKR9R4CIiLdauPi3jhB6ujO46woKH7qzsvApMOh4CQjcXyS62Vsr2Xcuj4aO2lRDwG5Qhrghfrrj6uy89Vx3L+dDAe558/WB+IhwVCHWerTa2vBbn67SarP/ehACyv7o5GYOwLt3AgHAJCqj4yarIYqj5Xkwvv9mN3QyIciEe+fCV65BA83qbPv1+0Wh9Nvnq86tHVMS/8XR9hCQfCISBFx2PXbkhOObaK/nUNXQVEOBCP+hxhFaIqGr7wTTgQDgHh2cPFj9Xx7uZm0vG4r7gJLxyIh4CQUvr5wyw9HIjJsZAgHAhHl9wDCRiPKvsRmdLxVdUKEQ7EwwKBo4HYD4lwIB4WiPVR0+4KcQMdhKMPvpUJgHicxBEWgHBYIKX7elfvtNHxFYiHBQIgHBYIw6wQXwcC4mGBUBmJul+JDoiHgGBtgHBkwxFWMPvfhRcQDwsEQDgsEPLgEV4QDwsEQDgsEADxsEAYmcd4QTwEhJPDsf9zQgLCMRRHWIEsHm9fjEdVXEA8sEAAhCMb3lAqkCZvKHX918oLhnhggQAIR37cAwHEAwEpXd0nrDyJxVTCIR4CAmB1CAh92X4X3qp1YX0gHgzFTfSAvKEUwoGA0ElI9vkuvIgHAgIIB9lyDwQQDywQQDiwQADxQEBoa/sIL4gHOXGEBQgHFgge4UU8sEAA4UBA2Gryfh5f77xNC+KBgAhHg3C89N881PxvfDsThIMheUfCDOPRlncjRDwQEAFpHZHlL5fCgnggIOJhoSAc5MNjvBO0u0pAPDiVm+iAcGCB5CbnR3GtEMQDCwQQDiwQKwTEAwuEzHkSC+HAArFCQDwQEKwPxIM4HGENuEJy/cJCEA4skAARsT4QDywQwhEPhAMLxAoRD8QDCwQQDiwQMl0h1gfigYAgHogH2XCENeIK8VgvwoEFwskRsT4QDywQsiIeCAcWiBUiHogHFgggHFggZLpCrA/EAwEREfFAPMiaIywQDrBAprxCrA/EAwsE8UA4sEDof4WIB+KBBUJKKaXF42168DIgHFggnOLdzU2nH4d4gICIyH9+fTl/8kKJB4zGEVaAiDxcXFgdCAcCQvdrBPEAAQGEgzDcAwHxAAskusXjrRcB4cACAcQDC4QMeYRXOMACAcQDAQHEg+lwhAXCARZIZJ7AEg+wQADhwAIhT57AEg+wQEA4wAIBxAMBAcQDKjnCAuEACyQqj/CKB1ggIBxggZAnj/CKB1ggIBxggYB4gIAA4gG1OMIC4QALJCKP8IoHWCAgHGCBkCeP8IoHWCAgHGCBgHiABQLCAVggIB4gIMXyCK94QGSOsBAOwAIpmUd4xQMsEBAOsEBAPMACAeEALBAQDxCQYnmEVzwgOkdYCAdggZTKI7ziARYICAdYICAeYIGAcAAWCOIBCEixPMIrHlACR1gIB2CBlMgjvOIBFggIB1ggIB6ABYJwABYI4gFYIMXyCK9wgAUC4gECQp5Kf4RXPCA2R1gIB2CBIB6ABYJwABYI4iEeYIHQytQe4RUOsEBAPAABiSLyI7ziAdPgCAvhACwQxAOwQBAOwAJBPAALhJOV9AivcAAWCOIBCEhJcn2EVzyAXY6wWjh0LLV++9HqAASE+uGo++viAQiIeBRLOAABCej6+6vnH49xP0Q8gDpmabXZeBnirI8+gyIcQBOewgq4TnYXingAY3GEFTgkXawR4QAskAF4PBdAQIpZIeIBCIgVMtjqEA9AQLA6gNF4jPdEkR7pFQ7AAslIlKMs8QAsEEuk0foQDsACQTwAASnR0EdZ4gHkwhFWR/o+yhIOwAJBPAALhP5XyLF4CAcgICJidQDh+G68GbI6gAjcA+lY26eyxAOIwhFWT5oeZTmyAiwQOlkiu+EQD0BAaLQ+hAMQECvE6gCK4x7IAI7dD9ldH6IBCAiVISnt/dUBAQGAWtwDAUBAABAQAAQEAAEBAAEBQEAAEBAABAQAAQEAAQFAQAAQEAAEBAABAQABAUBAABAQAAQEAAEBAAEBQEAAEBAABAQAAQEAAQFAQAAQEAAEBAABAQABAUBAABAQAAQEAAEBAAEBQEAAEBAABAQABAQAAQFAQAAQEAAEBAAEBAABAUBAABAQAAQEAAQEAAEBQEAAEBAABAQABAQAAQFAQAAQEAAEBAAEBAABAUBAABAQAAQEAAQEAAEBQEAAEBAABAQABAQAAQFAQAAQEAAExEsAgIAAICAACAgAAgIAAgKAgAAgIAAICAACAgACAoCAACAgAAgIAAICAAICgIAAICAACAgAU/EvfiluCemVcXgAAAAASUVORK5CYII=",g="/learn-wgpu-zh/assets/normal_mapping_correct.QoeY9fn8.png",y="/learn-wgpu-zh/assets/no_srgb.BPN082ml.png",F="/learn-wgpu-zh/assets/debug_material.CSduOHVl.png",B=JSON.parse('{"title":"法线映射","description":"","frontmatter":{},"headers":[],"relativePath":"intermediate/tutorial11-normals/index.md","filePath":"intermediate/tutorial11-normals/index.md","lastUpdated":1733013181000}'),A={name:"intermediate/tutorial11-normals/index.md"};function c(b,s,u,m,D,o){const n=a("WasmExample"),h=a("AutoGithubLink");return t(),k("div",null,[s[0]||(s[0]=p('

法线映射

添加光照后,我们的场景已经看起来很不错了。不过,对象表面还缺少实物的那种凹凸细节。如果使用的纹理是光滑的就不是问题,但是砖块纹理应该是比较粗糙的。 我们可以给模型添加更多的三角形来雕刻出表面的凹凸细节,但这将使得顶点数据倍增而渲染变慢,而且也很难知道在哪里添加新的三角形。这,就是法线映射(Normal Mapping)的用武之地了。

法线映射也叫凹凸映射(Bump Mapping),是一种纹理映射技术,它不用增加模型的几何复杂度就能够模拟具有复杂凹凸细节的表面。与简单的纹理映射不同,当绘制对象的表面时,法线映射技术通过扰动表面的法向量来改变它的形状,使得着色处理后的颜色能反映出表面几何特性的变化。

还记得在实例化绘制教程中,我们尝试了在纹理中存储实例数据吗?法线贴图(Normal Map)就是存储着法向量数据的纹理!除了顶点法向量外,我们还将在光照计算中使用法线贴图中的法向量。

我们的砖块纹理对应的法线贴图(也就是法线纹理)长这样:

./cube-normal.png

纹理的 r、g、b 分量对应于法向量的 x、y 和 z 坐标分量。所有的 z 值都应该是正的,这就是为什么法线贴图有一个蓝色的色调。

我们来修改 model.rs 中的材质 Material 结构体,新增一个法线纹理 normal_texture 字段:

rust
pub struct Material {
     pub name: String,
     pub diffuse_texture: texture::Texture,
     pub normal_texture: texture::Texture, // 更新!
diff --git a/assets/intermediate_tutorial12-camera_index.md.Co2N5_ta.js b/assets/intermediate_tutorial12-camera_index.md.Deb8DUiR.js
similarity index 99%
rename from assets/intermediate_tutorial12-camera_index.md.Co2N5_ta.js
rename to assets/intermediate_tutorial12-camera_index.md.Deb8DUiR.js
index f5f0212d..c148af32 100644
--- a/assets/intermediate_tutorial12-camera_index.md.Co2N5_ta.js
+++ b/assets/intermediate_tutorial12-camera_index.md.Deb8DUiR.js
@@ -1,4 +1,4 @@
-import{_ as h,c as p,a1 as k,G as i,B as a,o as t}from"./chunks/framework.C82C2wD0.js";const e="/learn-wgpu-zh/assets/left_right_hand.D9m1ZeLO.gif",r="/learn-wgpu-zh/assets/screenshot.CF2c6Oit.png",m=JSON.parse('{"title":"更好的摄像机","description":"","frontmatter":{},"headers":[],"relativePath":"intermediate/tutorial12-camera/index.md","filePath":"intermediate/tutorial12-camera/index.md","lastUpdated":1732966628000}'),E={name:"intermediate/tutorial12-camera/index.md"};function d(g,s,y,F,c,b){const n=a("WasmExample"),l=a("AutoGithubLink");return t(),p("div",null,[s[0]||(s[0]=k(`

更好的摄像机

这个问题已经被推迟了一段时间。实现一个虚拟摄像机与正确使用 wgpu 关系不大,但它一直困扰着我,所以现在来实现它吧。

lib.rs 已经堆砌很多代码了,所以我们创建一个 camera.rs 文件来放置摄像机代码。先导入一些要用到的文件:

rust
use winit::event::*;
+import{_ as h,c as p,a1 as k,G as i,B as a,o as t}from"./chunks/framework.C82C2wD0.js";const e="/learn-wgpu-zh/assets/left_right_hand.D9m1ZeLO.gif",r="/learn-wgpu-zh/assets/screenshot.CF2c6Oit.png",m=JSON.parse('{"title":"更好的摄像机","description":"","frontmatter":{},"headers":[],"relativePath":"intermediate/tutorial12-camera/index.md","filePath":"intermediate/tutorial12-camera/index.md","lastUpdated":1733013181000}'),E={name:"intermediate/tutorial12-camera/index.md"};function d(g,s,y,F,c,b){const n=a("WasmExample"),l=a("AutoGithubLink");return t(),p("div",null,[s[0]||(s[0]=k(`

更好的摄像机

这个问题已经被推迟了一段时间。实现一个虚拟摄像机与正确使用 wgpu 关系不大,但它一直困扰着我,所以现在来实现它吧。

lib.rs 已经堆砌很多代码了,所以我们创建一个 camera.rs 文件来放置摄像机代码。先导入一些要用到的文件:

rust
use winit::event::*;
 use winit::dpi::PhysicalPosition;
 use instant::Duration;
 use std::f32::consts::FRAC_PI_2;
diff --git a/assets/intermediate_tutorial12-camera_index.md.Co2N5_ta.lean.js b/assets/intermediate_tutorial12-camera_index.md.Deb8DUiR.lean.js
similarity index 99%
rename from assets/intermediate_tutorial12-camera_index.md.Co2N5_ta.lean.js
rename to assets/intermediate_tutorial12-camera_index.md.Deb8DUiR.lean.js
index f5f0212d..c148af32 100644
--- a/assets/intermediate_tutorial12-camera_index.md.Co2N5_ta.lean.js
+++ b/assets/intermediate_tutorial12-camera_index.md.Deb8DUiR.lean.js
@@ -1,4 +1,4 @@
-import{_ as h,c as p,a1 as k,G as i,B as a,o as t}from"./chunks/framework.C82C2wD0.js";const e="/learn-wgpu-zh/assets/left_right_hand.D9m1ZeLO.gif",r="/learn-wgpu-zh/assets/screenshot.CF2c6Oit.png",m=JSON.parse('{"title":"更好的摄像机","description":"","frontmatter":{},"headers":[],"relativePath":"intermediate/tutorial12-camera/index.md","filePath":"intermediate/tutorial12-camera/index.md","lastUpdated":1732966628000}'),E={name:"intermediate/tutorial12-camera/index.md"};function d(g,s,y,F,c,b){const n=a("WasmExample"),l=a("AutoGithubLink");return t(),p("div",null,[s[0]||(s[0]=k(`

更好的摄像机

这个问题已经被推迟了一段时间。实现一个虚拟摄像机与正确使用 wgpu 关系不大,但它一直困扰着我,所以现在来实现它吧。

lib.rs 已经堆砌很多代码了,所以我们创建一个 camera.rs 文件来放置摄像机代码。先导入一些要用到的文件:

rust
use winit::event::*;
+import{_ as h,c as p,a1 as k,G as i,B as a,o as t}from"./chunks/framework.C82C2wD0.js";const e="/learn-wgpu-zh/assets/left_right_hand.D9m1ZeLO.gif",r="/learn-wgpu-zh/assets/screenshot.CF2c6Oit.png",m=JSON.parse('{"title":"更好的摄像机","description":"","frontmatter":{},"headers":[],"relativePath":"intermediate/tutorial12-camera/index.md","filePath":"intermediate/tutorial12-camera/index.md","lastUpdated":1733013181000}'),E={name:"intermediate/tutorial12-camera/index.md"};function d(g,s,y,F,c,b){const n=a("WasmExample"),l=a("AutoGithubLink");return t(),p("div",null,[s[0]||(s[0]=k(`

更好的摄像机

这个问题已经被推迟了一段时间。实现一个虚拟摄像机与正确使用 wgpu 关系不大,但它一直困扰着我,所以现在来实现它吧。

lib.rs 已经堆砌很多代码了,所以我们创建一个 camera.rs 文件来放置摄像机代码。先导入一些要用到的文件:

rust
use winit::event::*;
 use winit::dpi::PhysicalPosition;
 use instant::Duration;
 use std::f32::consts::FRAC_PI_2;
diff --git a/assets/intermediate_tutorial13-terrain_index.md.DUADsmHW.js b/assets/intermediate_tutorial13-terrain_index.md.Cv_QF1Ni.js
similarity index 99%
rename from assets/intermediate_tutorial13-terrain_index.md.DUADsmHW.js
rename to assets/intermediate_tutorial13-terrain_index.md.Cv_QF1Ni.js
index 2ef0a841..77662f79 100644
--- a/assets/intermediate_tutorial13-terrain_index.md.DUADsmHW.js
+++ b/assets/intermediate_tutorial13-terrain_index.md.Cv_QF1Ni.js
@@ -1,4 +1,4 @@
-import{_ as i,c as a,a1 as n,o as h}from"./chunks/framework.C82C2wD0.js";const k="/learn-wgpu-zh/assets/figure_no-fbm.BbKBgr89.png",p="/learn-wgpu-zh/assets/figure_fbm.C9D55TOH.png",l="/learn-wgpu-zh/assets/figure_spiky.DiWu7hEd.png",t="/learn-wgpu-zh/assets/figure_work-groups.D7RHFIup.jpg",o=JSON.parse('{"title":"程序地形","description":"","frontmatter":{},"headers":[],"relativePath":"intermediate/tutorial13-terrain/index.md","filePath":"intermediate/tutorial13-terrain/index.md","lastUpdated":1732966628000}'),e={name:"intermediate/tutorial13-terrain/index.md"};function r(E,s,d,g,y,F){return h(),a("div",null,s[0]||(s[0]=[n(`

程序地形

到目前为止,我们一直在一个空旷的场景里渲染模型。如果只是想测试着色代码,这是非常好的,但大多数应用程序会想让屏幕上填充更多有趣的元素。 你可以用各种方法来处理此问题,比如,在 Blender 中创建一堆模型,然后把它们加载到场景中。如果你有一些像样的艺术技巧和一些耐心,这是很有效的方法。我在这两个方面都很欠缺,所以让我们通过代码来制作一些看起来不错的东西。

正如本文的名字所示,我们将创建一个地形(Terrain)。现在,创建地形网格的经典方法是使用预先生成的噪声纹理(Noise Texture),并对其进行采样,以获得网格中每个点的高度值。这是一个相当有效的方法,但我选择了直接使用计算着色器来生成噪声。让我们开始吧!

计算着色器

计算着色器(Compute Shader)允许你利用 GPU 的并行计算能力完成任意任务。虽然它也可以用于渲染任务,但通常用于与绘制三角形和像素没有直接关系的任务,比如,物理模拟、图像滤镜、创建程序纹理、运行神经网络等等。我稍后会详细介绍它们的工作原理,但现在只需用它们来为我们的地形创建顶点和索引缓冲区。

噪声函数

让我们从计算着色器的代码开始,创建一个名为 terrain.wgsl 的新文件,在文件内先实现一个噪声函数(Noise Function),然后再创建着色器的入口函数。具体代码如下:

rust
// ============================
+import{_ as i,c as a,a1 as n,o as h}from"./chunks/framework.C82C2wD0.js";const k="/learn-wgpu-zh/assets/figure_no-fbm.BbKBgr89.png",p="/learn-wgpu-zh/assets/figure_fbm.C9D55TOH.png",l="/learn-wgpu-zh/assets/figure_spiky.DiWu7hEd.png",t="/learn-wgpu-zh/assets/figure_work-groups.D7RHFIup.jpg",o=JSON.parse('{"title":"程序地形","description":"","frontmatter":{},"headers":[],"relativePath":"intermediate/tutorial13-terrain/index.md","filePath":"intermediate/tutorial13-terrain/index.md","lastUpdated":1733013181000}'),e={name:"intermediate/tutorial13-terrain/index.md"};function r(E,s,d,g,y,F){return h(),a("div",null,s[0]||(s[0]=[n(`

程序地形

到目前为止,我们一直在一个空旷的场景里渲染模型。如果只是想测试着色代码,这是非常好的,但大多数应用程序会想让屏幕上填充更多有趣的元素。 你可以用各种方法来处理此问题,比如,在 Blender 中创建一堆模型,然后把它们加载到场景中。如果你有一些像样的艺术技巧和一些耐心,这是很有效的方法。我在这两个方面都很欠缺,所以让我们通过代码来制作一些看起来不错的东西。

正如本文的名字所示,我们将创建一个地形(Terrain)。现在,创建地形网格的经典方法是使用预先生成的噪声纹理(Noise Texture),并对其进行采样,以获得网格中每个点的高度值。这是一个相当有效的方法,但我选择了直接使用计算着色器来生成噪声。让我们开始吧!

计算着色器

计算着色器(Compute Shader)允许你利用 GPU 的并行计算能力完成任意任务。虽然它也可以用于渲染任务,但通常用于与绘制三角形和像素没有直接关系的任务,比如,物理模拟、图像滤镜、创建程序纹理、运行神经网络等等。我稍后会详细介绍它们的工作原理,但现在只需用它们来为我们的地形创建顶点和索引缓冲区。

噪声函数

让我们从计算着色器的代码开始,创建一个名为 terrain.wgsl 的新文件,在文件内先实现一个噪声函数(Noise Function),然后再创建着色器的入口函数。具体代码如下:

rust
// ============================
 // 地形生成
 // ============================
 
diff --git a/assets/intermediate_tutorial13-terrain_index.md.DUADsmHW.lean.js b/assets/intermediate_tutorial13-terrain_index.md.Cv_QF1Ni.lean.js
similarity index 99%
rename from assets/intermediate_tutorial13-terrain_index.md.DUADsmHW.lean.js
rename to assets/intermediate_tutorial13-terrain_index.md.Cv_QF1Ni.lean.js
index 2ef0a841..77662f79 100644
--- a/assets/intermediate_tutorial13-terrain_index.md.DUADsmHW.lean.js
+++ b/assets/intermediate_tutorial13-terrain_index.md.Cv_QF1Ni.lean.js
@@ -1,4 +1,4 @@
-import{_ as i,c as a,a1 as n,o as h}from"./chunks/framework.C82C2wD0.js";const k="/learn-wgpu-zh/assets/figure_no-fbm.BbKBgr89.png",p="/learn-wgpu-zh/assets/figure_fbm.C9D55TOH.png",l="/learn-wgpu-zh/assets/figure_spiky.DiWu7hEd.png",t="/learn-wgpu-zh/assets/figure_work-groups.D7RHFIup.jpg",o=JSON.parse('{"title":"程序地形","description":"","frontmatter":{},"headers":[],"relativePath":"intermediate/tutorial13-terrain/index.md","filePath":"intermediate/tutorial13-terrain/index.md","lastUpdated":1732966628000}'),e={name:"intermediate/tutorial13-terrain/index.md"};function r(E,s,d,g,y,F){return h(),a("div",null,s[0]||(s[0]=[n(`

程序地形

到目前为止,我们一直在一个空旷的场景里渲染模型。如果只是想测试着色代码,这是非常好的,但大多数应用程序会想让屏幕上填充更多有趣的元素。 你可以用各种方法来处理此问题,比如,在 Blender 中创建一堆模型,然后把它们加载到场景中。如果你有一些像样的艺术技巧和一些耐心,这是很有效的方法。我在这两个方面都很欠缺,所以让我们通过代码来制作一些看起来不错的东西。

正如本文的名字所示,我们将创建一个地形(Terrain)。现在,创建地形网格的经典方法是使用预先生成的噪声纹理(Noise Texture),并对其进行采样,以获得网格中每个点的高度值。这是一个相当有效的方法,但我选择了直接使用计算着色器来生成噪声。让我们开始吧!

计算着色器

计算着色器(Compute Shader)允许你利用 GPU 的并行计算能力完成任意任务。虽然它也可以用于渲染任务,但通常用于与绘制三角形和像素没有直接关系的任务,比如,物理模拟、图像滤镜、创建程序纹理、运行神经网络等等。我稍后会详细介绍它们的工作原理,但现在只需用它们来为我们的地形创建顶点和索引缓冲区。

噪声函数

让我们从计算着色器的代码开始,创建一个名为 terrain.wgsl 的新文件,在文件内先实现一个噪声函数(Noise Function),然后再创建着色器的入口函数。具体代码如下:

rust
// ============================
+import{_ as i,c as a,a1 as n,o as h}from"./chunks/framework.C82C2wD0.js";const k="/learn-wgpu-zh/assets/figure_no-fbm.BbKBgr89.png",p="/learn-wgpu-zh/assets/figure_fbm.C9D55TOH.png",l="/learn-wgpu-zh/assets/figure_spiky.DiWu7hEd.png",t="/learn-wgpu-zh/assets/figure_work-groups.D7RHFIup.jpg",o=JSON.parse('{"title":"程序地形","description":"","frontmatter":{},"headers":[],"relativePath":"intermediate/tutorial13-terrain/index.md","filePath":"intermediate/tutorial13-terrain/index.md","lastUpdated":1733013181000}'),e={name:"intermediate/tutorial13-terrain/index.md"};function r(E,s,d,g,y,F){return h(),a("div",null,s[0]||(s[0]=[n(`

程序地形

到目前为止,我们一直在一个空旷的场景里渲染模型。如果只是想测试着色代码,这是非常好的,但大多数应用程序会想让屏幕上填充更多有趣的元素。 你可以用各种方法来处理此问题,比如,在 Blender 中创建一堆模型,然后把它们加载到场景中。如果你有一些像样的艺术技巧和一些耐心,这是很有效的方法。我在这两个方面都很欠缺,所以让我们通过代码来制作一些看起来不错的东西。

正如本文的名字所示,我们将创建一个地形(Terrain)。现在,创建地形网格的经典方法是使用预先生成的噪声纹理(Noise Texture),并对其进行采样,以获得网格中每个点的高度值。这是一个相当有效的方法,但我选择了直接使用计算着色器来生成噪声。让我们开始吧!

计算着色器

计算着色器(Compute Shader)允许你利用 GPU 的并行计算能力完成任意任务。虽然它也可以用于渲染任务,但通常用于与绘制三角形和像素没有直接关系的任务,比如,物理模拟、图像滤镜、创建程序纹理、运行神经网络等等。我稍后会详细介绍它们的工作原理,但现在只需用它们来为我们的地形创建顶点和索引缓冲区。

噪声函数

让我们从计算着色器的代码开始,创建一个名为 terrain.wgsl 的新文件,在文件内先实现一个噪声函数(Noise Function),然后再创建着色器的入口函数。具体代码如下:

rust
// ============================
 // 地形生成
 // ============================
 
diff --git a/assets/intermediate_vertex-animation_index.md.cG3Eq4HO.js b/assets/intermediate_vertex-animation_index.md.CKm8ry4c.js
similarity index 93%
rename from assets/intermediate_vertex-animation_index.md.cG3Eq4HO.js
rename to assets/intermediate_vertex-animation_index.md.CKm8ry4c.js
index 0a10e12d..54c1c42a 100644
--- a/assets/intermediate_vertex-animation_index.md.cG3Eq4HO.js
+++ b/assets/intermediate_vertex-animation_index.md.CKm8ry4c.js
@@ -1 +1 @@
-import{_ as d,c as s,j as a,a as t,G as n,B as o,o as m}from"./chunks/framework.C82C2wD0.js";const b=JSON.parse('{"title":"顶点动画","description":"","frontmatter":{},"headers":[],"relativePath":"intermediate/vertex-animation/index.md","filePath":"intermediate/vertex-animation/index.md","lastUpdated":1732966628000}'),l={name:"intermediate/vertex-animation/index.md"};function c(p,e,x,_,u,f){const i=o("WebGPUExample"),r=o("AutoGithubLink");return m(),s("div",null,[e[0]||(e[0]=a("h1",{id:"顶点动画",tabindex:"-1"},[t("顶点动画 "),a("a",{class:"header-anchor",href:"#顶点动画","aria-label":'Permalink to "顶点动画"'},"​")],-1)),e[1]||(e[1]=a("h2",{id:"示例-顶点网格模拟翻页动画",tabindex:"-1"},[t("示例:顶点网格模拟翻页动画 "),a("a",{class:"header-anchor",href:"#示例-顶点网格模拟翻页动画","aria-label":'Permalink to "示例:顶点网格模拟翻页动画"'},"​")],-1)),n(i,{example:"vertex_animation",autoLoad:"{true}"}),n(r)])}const v=d(l,[["render",c]]);export{b as __pageData,v as default};
+import{_ as d,c as s,j as a,a as t,G as n,B as o,o as m}from"./chunks/framework.C82C2wD0.js";const b=JSON.parse('{"title":"顶点动画","description":"","frontmatter":{},"headers":[],"relativePath":"intermediate/vertex-animation/index.md","filePath":"intermediate/vertex-animation/index.md","lastUpdated":1733013181000}'),l={name:"intermediate/vertex-animation/index.md"};function c(p,e,x,_,u,f){const i=o("WebGPUExample"),r=o("AutoGithubLink");return m(),s("div",null,[e[0]||(e[0]=a("h1",{id:"顶点动画",tabindex:"-1"},[t("顶点动画 "),a("a",{class:"header-anchor",href:"#顶点动画","aria-label":'Permalink to "顶点动画"'},"​")],-1)),e[1]||(e[1]=a("h2",{id:"示例-顶点网格模拟翻页动画",tabindex:"-1"},[t("示例:顶点网格模拟翻页动画 "),a("a",{class:"header-anchor",href:"#示例-顶点网格模拟翻页动画","aria-label":'Permalink to "示例:顶点网格模拟翻页动画"'},"​")],-1)),n(i,{example:"vertex_animation",autoLoad:"{true}"}),n(r)])}const v=d(l,[["render",c]]);export{b as __pageData,v as default};
diff --git a/assets/intermediate_vertex-animation_index.md.cG3Eq4HO.lean.js b/assets/intermediate_vertex-animation_index.md.CKm8ry4c.lean.js
similarity index 93%
rename from assets/intermediate_vertex-animation_index.md.cG3Eq4HO.lean.js
rename to assets/intermediate_vertex-animation_index.md.CKm8ry4c.lean.js
index 0a10e12d..54c1c42a 100644
--- a/assets/intermediate_vertex-animation_index.md.cG3Eq4HO.lean.js
+++ b/assets/intermediate_vertex-animation_index.md.CKm8ry4c.lean.js
@@ -1 +1 @@
-import{_ as d,c as s,j as a,a as t,G as n,B as o,o as m}from"./chunks/framework.C82C2wD0.js";const b=JSON.parse('{"title":"顶点动画","description":"","frontmatter":{},"headers":[],"relativePath":"intermediate/vertex-animation/index.md","filePath":"intermediate/vertex-animation/index.md","lastUpdated":1732966628000}'),l={name:"intermediate/vertex-animation/index.md"};function c(p,e,x,_,u,f){const i=o("WebGPUExample"),r=o("AutoGithubLink");return m(),s("div",null,[e[0]||(e[0]=a("h1",{id:"顶点动画",tabindex:"-1"},[t("顶点动画 "),a("a",{class:"header-anchor",href:"#顶点动画","aria-label":'Permalink to "顶点动画"'},"​")],-1)),e[1]||(e[1]=a("h2",{id:"示例-顶点网格模拟翻页动画",tabindex:"-1"},[t("示例:顶点网格模拟翻页动画 "),a("a",{class:"header-anchor",href:"#示例-顶点网格模拟翻页动画","aria-label":'Permalink to "示例:顶点网格模拟翻页动画"'},"​")],-1)),n(i,{example:"vertex_animation",autoLoad:"{true}"}),n(r)])}const v=d(l,[["render",c]]);export{b as __pageData,v as default};
+import{_ as d,c as s,j as a,a as t,G as n,B as o,o as m}from"./chunks/framework.C82C2wD0.js";const b=JSON.parse('{"title":"顶点动画","description":"","frontmatter":{},"headers":[],"relativePath":"intermediate/vertex-animation/index.md","filePath":"intermediate/vertex-animation/index.md","lastUpdated":1733013181000}'),l={name:"intermediate/vertex-animation/index.md"};function c(p,e,x,_,u,f){const i=o("WebGPUExample"),r=o("AutoGithubLink");return m(),s("div",null,[e[0]||(e[0]=a("h1",{id:"顶点动画",tabindex:"-1"},[t("顶点动画 "),a("a",{class:"header-anchor",href:"#顶点动画","aria-label":'Permalink to "顶点动画"'},"​")],-1)),e[1]||(e[1]=a("h2",{id:"示例-顶点网格模拟翻页动画",tabindex:"-1"},[t("示例:顶点网格模拟翻页动画 "),a("a",{class:"header-anchor",href:"#示例-顶点网格模拟翻页动画","aria-label":'Permalink to "示例:顶点网格模拟翻页动画"'},"​")],-1)),n(i,{example:"vertex_animation",autoLoad:"{true}"}),n(r)])}const v=d(l,[["render",c]]);export{b as __pageData,v as default};
diff --git a/assets/intermediate_vertex-animation_universal-animation-formula.md._1r7_WY2.js b/assets/intermediate_vertex-animation_universal-animation-formula.md.DjBsHDyn.js
similarity index 99%
rename from assets/intermediate_vertex-animation_universal-animation-formula.md._1r7_WY2.js
rename to assets/intermediate_vertex-animation_universal-animation-formula.md.DjBsHDyn.js
index 3a73b946..06dec098 100644
--- a/assets/intermediate_vertex-animation_universal-animation-formula.md._1r7_WY2.js
+++ b/assets/intermediate_vertex-animation_universal-animation-formula.md.DjBsHDyn.js
@@ -1,4 +1,4 @@
-import{_ as k,c as t,j as i,a,G as n,a1 as e,B as l,o as r}from"./chunks/framework.C82C2wD0.js";const o=JSON.parse('{"title":"万能动画公式","description":"","frontmatter":{},"headers":[],"relativePath":"intermediate/vertex-animation/universal-animation-formula.md","filePath":"intermediate/vertex-animation/universal-animation-formula.md","lastUpdated":1732966628000}'),E={name:"intermediate/vertex-animation/universal-animation-formula.md"};function d(g,s,y,F,c,u){const h=l("WebGPUExample"),p=l("AutoGithubLink");return r(),t("div",null,[s[0]||(s[0]=i("h1",{id:"万能动画公式",tabindex:"-1"},[a("万能动画公式 "),i("a",{class:"header-anchor",href:"#万能动画公式","aria-label":'Permalink to "万能动画公式"'},"​")],-1)),s[1]||(s[1]=i("p",null,[a("要实现不同形态/形状之间的动态变换,核心算法很简单,就是通过"),i("strong",null,"构造同等数量的顶点/控制点"),a("来实现。")],-1)),s[2]||(s[2]=i("p",null,"在进行动态变换时,通常不同形态或形状之间的顶点数量会不相等。为了使两边的顶点能够一一对应起来,我们可以通过随机或插值的方式来补充顶点。这种方式不会破坏顶点数较少一边的造型,相当于某些点有了分身。通过对对应顶点的插值计算,就能够实现形态的变换。",-1)),s[3]||(s[3]=i("p",null,"此万能动画公式的优点在于它足够简单且通用。无论是对于简单的形状变换还是复杂的动态效果,都可以通过构造同等数量的顶点来实现。而且,运用不同的插值算法,还能灵活地控制形态变换的程度和速度。",-1)),s[4]||(s[4]=i("h2",{id:"示例-hilbert-曲线",tabindex:"-1"},[a("示例:Hilbert 曲线 "),i("a",{class:"header-anchor",href:"#示例-hilbert-曲线","aria-label":'Permalink to "示例:Hilbert 曲线"'},"​")],-1)),n(h,{example:"hilbert_curve",autoLoad:"{true}"}),s[5]||(s[5]=e(`

代码实现

Hilbert 曲线是一种连续、自避免且自相似的空间填充曲线。

每升一个维度,曲线的顶点数就多 4 倍,基于这个规律,我们用上面的万能动画公式来完成升维/降维变换动画:

rust
pub struct HilbertCurveApp {
+import{_ as k,c as t,j as i,a,G as n,a1 as e,B as l,o as r}from"./chunks/framework.C82C2wD0.js";const o=JSON.parse('{"title":"万能动画公式","description":"","frontmatter":{},"headers":[],"relativePath":"intermediate/vertex-animation/universal-animation-formula.md","filePath":"intermediate/vertex-animation/universal-animation-formula.md","lastUpdated":1733013181000}'),E={name:"intermediate/vertex-animation/universal-animation-formula.md"};function d(g,s,y,F,c,u){const h=l("WebGPUExample"),p=l("AutoGithubLink");return r(),t("div",null,[s[0]||(s[0]=i("h1",{id:"万能动画公式",tabindex:"-1"},[a("万能动画公式 "),i("a",{class:"header-anchor",href:"#万能动画公式","aria-label":'Permalink to "万能动画公式"'},"​")],-1)),s[1]||(s[1]=i("p",null,[a("要实现不同形态/形状之间的动态变换,核心算法很简单,就是通过"),i("strong",null,"构造同等数量的顶点/控制点"),a("来实现。")],-1)),s[2]||(s[2]=i("p",null,"在进行动态变换时,通常不同形态或形状之间的顶点数量会不相等。为了使两边的顶点能够一一对应起来,我们可以通过随机或插值的方式来补充顶点。这种方式不会破坏顶点数较少一边的造型,相当于某些点有了分身。通过对对应顶点的插值计算,就能够实现形态的变换。",-1)),s[3]||(s[3]=i("p",null,"此万能动画公式的优点在于它足够简单且通用。无论是对于简单的形状变换还是复杂的动态效果,都可以通过构造同等数量的顶点来实现。而且,运用不同的插值算法,还能灵活地控制形态变换的程度和速度。",-1)),s[4]||(s[4]=i("h2",{id:"示例-hilbert-曲线",tabindex:"-1"},[a("示例:Hilbert 曲线 "),i("a",{class:"header-anchor",href:"#示例-hilbert-曲线","aria-label":'Permalink to "示例:Hilbert 曲线"'},"​")],-1)),n(h,{example:"hilbert_curve",autoLoad:"{true}"}),s[5]||(s[5]=e(`

代码实现

Hilbert 曲线是一种连续、自避免且自相似的空间填充曲线。

每升一个维度,曲线的顶点数就多 4 倍,基于这个规律,我们用上面的万能动画公式来完成升维/降维变换动画:

rust
pub struct HilbertCurveApp {
     // 当前曲线与目标曲线的顶点缓冲区
     vertex_buffers: Vec<wgpu::Buffer>,
     // 当前曲线的顶点总数
diff --git a/assets/intermediate_vertex-animation_universal-animation-formula.md._1r7_WY2.lean.js b/assets/intermediate_vertex-animation_universal-animation-formula.md.DjBsHDyn.lean.js
similarity index 99%
rename from assets/intermediate_vertex-animation_universal-animation-formula.md._1r7_WY2.lean.js
rename to assets/intermediate_vertex-animation_universal-animation-formula.md.DjBsHDyn.lean.js
index 3a73b946..06dec098 100644
--- a/assets/intermediate_vertex-animation_universal-animation-formula.md._1r7_WY2.lean.js
+++ b/assets/intermediate_vertex-animation_universal-animation-formula.md.DjBsHDyn.lean.js
@@ -1,4 +1,4 @@
-import{_ as k,c as t,j as i,a,G as n,a1 as e,B as l,o as r}from"./chunks/framework.C82C2wD0.js";const o=JSON.parse('{"title":"万能动画公式","description":"","frontmatter":{},"headers":[],"relativePath":"intermediate/vertex-animation/universal-animation-formula.md","filePath":"intermediate/vertex-animation/universal-animation-formula.md","lastUpdated":1732966628000}'),E={name:"intermediate/vertex-animation/universal-animation-formula.md"};function d(g,s,y,F,c,u){const h=l("WebGPUExample"),p=l("AutoGithubLink");return r(),t("div",null,[s[0]||(s[0]=i("h1",{id:"万能动画公式",tabindex:"-1"},[a("万能动画公式 "),i("a",{class:"header-anchor",href:"#万能动画公式","aria-label":'Permalink to "万能动画公式"'},"​")],-1)),s[1]||(s[1]=i("p",null,[a("要实现不同形态/形状之间的动态变换,核心算法很简单,就是通过"),i("strong",null,"构造同等数量的顶点/控制点"),a("来实现。")],-1)),s[2]||(s[2]=i("p",null,"在进行动态变换时,通常不同形态或形状之间的顶点数量会不相等。为了使两边的顶点能够一一对应起来,我们可以通过随机或插值的方式来补充顶点。这种方式不会破坏顶点数较少一边的造型,相当于某些点有了分身。通过对对应顶点的插值计算,就能够实现形态的变换。",-1)),s[3]||(s[3]=i("p",null,"此万能动画公式的优点在于它足够简单且通用。无论是对于简单的形状变换还是复杂的动态效果,都可以通过构造同等数量的顶点来实现。而且,运用不同的插值算法,还能灵活地控制形态变换的程度和速度。",-1)),s[4]||(s[4]=i("h2",{id:"示例-hilbert-曲线",tabindex:"-1"},[a("示例:Hilbert 曲线 "),i("a",{class:"header-anchor",href:"#示例-hilbert-曲线","aria-label":'Permalink to "示例:Hilbert 曲线"'},"​")],-1)),n(h,{example:"hilbert_curve",autoLoad:"{true}"}),s[5]||(s[5]=e(`

代码实现

Hilbert 曲线是一种连续、自避免且自相似的空间填充曲线。

每升一个维度,曲线的顶点数就多 4 倍,基于这个规律,我们用上面的万能动画公式来完成升维/降维变换动画:

rust
pub struct HilbertCurveApp {
+import{_ as k,c as t,j as i,a,G as n,a1 as e,B as l,o as r}from"./chunks/framework.C82C2wD0.js";const o=JSON.parse('{"title":"万能动画公式","description":"","frontmatter":{},"headers":[],"relativePath":"intermediate/vertex-animation/universal-animation-formula.md","filePath":"intermediate/vertex-animation/universal-animation-formula.md","lastUpdated":1733013181000}'),E={name:"intermediate/vertex-animation/universal-animation-formula.md"};function d(g,s,y,F,c,u){const h=l("WebGPUExample"),p=l("AutoGithubLink");return r(),t("div",null,[s[0]||(s[0]=i("h1",{id:"万能动画公式",tabindex:"-1"},[a("万能动画公式 "),i("a",{class:"header-anchor",href:"#万能动画公式","aria-label":'Permalink to "万能动画公式"'},"​")],-1)),s[1]||(s[1]=i("p",null,[a("要实现不同形态/形状之间的动态变换,核心算法很简单,就是通过"),i("strong",null,"构造同等数量的顶点/控制点"),a("来实现。")],-1)),s[2]||(s[2]=i("p",null,"在进行动态变换时,通常不同形态或形状之间的顶点数量会不相等。为了使两边的顶点能够一一对应起来,我们可以通过随机或插值的方式来补充顶点。这种方式不会破坏顶点数较少一边的造型,相当于某些点有了分身。通过对对应顶点的插值计算,就能够实现形态的变换。",-1)),s[3]||(s[3]=i("p",null,"此万能动画公式的优点在于它足够简单且通用。无论是对于简单的形状变换还是复杂的动态效果,都可以通过构造同等数量的顶点来实现。而且,运用不同的插值算法,还能灵活地控制形态变换的程度和速度。",-1)),s[4]||(s[4]=i("h2",{id:"示例-hilbert-曲线",tabindex:"-1"},[a("示例:Hilbert 曲线 "),i("a",{class:"header-anchor",href:"#示例-hilbert-曲线","aria-label":'Permalink to "示例:Hilbert 曲线"'},"​")],-1)),n(h,{example:"hilbert_curve",autoLoad:"{true}"}),s[5]||(s[5]=e(`

代码实现

Hilbert 曲线是一种连续、自避免且自相似的空间填充曲线。

每升一个维度,曲线的顶点数就多 4 倍,基于这个规律,我们用上面的万能动画公式来完成升维/降维变换动画:

rust
pub struct HilbertCurveApp {
     // 当前曲线与目标曲线的顶点缓冲区
     vertex_buffers: Vec<wgpu::Buffer>,
     // 当前曲线的顶点总数
diff --git a/assets/showcase_alignment.md.CyePbyqd.js b/assets/showcase_alignment.md.BqL_BHpa.js
similarity index 99%
rename from assets/showcase_alignment.md.CyePbyqd.js
rename to assets/showcase_alignment.md.BqL_BHpa.js
index faf943bc..a0416687 100644
--- a/assets/showcase_alignment.md.CyePbyqd.js
+++ b/assets/showcase_alignment.md.BqL_BHpa.js
@@ -1,4 +1,4 @@
-import{_ as e,c as a,a1 as i,o as n}from"./chunks/framework.C82C2wD0.js";const u=JSON.parse('{"title":"Memory Layout in WGSL","description":"","frontmatter":{},"headers":[],"relativePath":"showcase/alignment.md","filePath":"showcase/alignment.md","lastUpdated":1732966628000}'),t={name:"showcase/alignment.md"};function l(r,s,p,h,o,d){return n(),a("div",null,s[0]||(s[0]=[i(`

Memory Layout in WGSL

This page is currently being reworked. I want to understand the topics a bit better, but as 0.12 is out I want to release what I have for now.

Alignment of vertex and index buffers

Vertex buffers require defining a VertexBufferLayout, so the memory alignment is whatever you tell WebGPU it should be. This can be really convenient for keeping down memory usage on the GPU.

The Index Buffer uses the alignment of whatever primitive type you specify via the IndexFormat you pass into RenderEncoder::set_index_buffer().

Alignment of Uniform and Storage buffers

GPUs are designed to process thousands of pixels in parallel. In order to achieve this, some sacrifices had to be made. Graphics hardware likes to have all the bytes you intend on processing aligned by powers of 2. The exact specifics of why this is are beyond my level of knowledge, but it's important to know so that you can troubleshoot why your shaders aren't working.

Let's take a look at the following table:


TypeAlignment in BytesSize in Bytes
scalar (i32, u32, f32)44
vec2<T>88
vec3<T>1612
vec4<T>1616

You can see for vec3 the alignment is the next power of 2 from the size, 16. This can catch beginners (and even veterans) off guard as it's not the most intuitive. This becomes especially important when we start laying out structs. Take the light struct from the lighting tutorial:

You can see the full table of the alignments in section 4.3.7.1 of the WGSL spec

rust
struct Light {
+import{_ as e,c as a,a1 as i,o as n}from"./chunks/framework.C82C2wD0.js";const u=JSON.parse('{"title":"Memory Layout in WGSL","description":"","frontmatter":{},"headers":[],"relativePath":"showcase/alignment.md","filePath":"showcase/alignment.md","lastUpdated":1733013181000}'),t={name:"showcase/alignment.md"};function l(r,s,p,h,o,d){return n(),a("div",null,s[0]||(s[0]=[i(`

Memory Layout in WGSL

This page is currently being reworked. I want to understand the topics a bit better, but as 0.12 is out I want to release what I have for now.

Alignment of vertex and index buffers

Vertex buffers require defining a VertexBufferLayout, so the memory alignment is whatever you tell WebGPU it should be. This can be really convenient for keeping down memory usage on the GPU.

The Index Buffer uses the alignment of whatever primitive type you specify via the IndexFormat you pass into RenderEncoder::set_index_buffer().

Alignment of Uniform and Storage buffers

GPUs are designed to process thousands of pixels in parallel. In order to achieve this, some sacrifices had to be made. Graphics hardware likes to have all the bytes you intend on processing aligned by powers of 2. The exact specifics of why this is are beyond my level of knowledge, but it's important to know so that you can troubleshoot why your shaders aren't working.

Let's take a look at the following table:


TypeAlignment in BytesSize in Bytes
scalar (i32, u32, f32)44
vec2<T>88
vec3<T>1612
vec4<T>1616

You can see for vec3 the alignment is the next power of 2 from the size, 16. This can catch beginners (and even veterans) off guard as it's not the most intuitive. This becomes especially important when we start laying out structs. Take the light struct from the lighting tutorial:

You can see the full table of the alignments in section 4.3.7.1 of the WGSL spec

rust
struct Light {
     position: vec3f,
     color: vec3f,
 }

So what's the alignment of this struct? Your first guess would be that it's the sum of the alignments of the individual fields. That might make sense if we were in Rust-land, but in shader-land, it's a little more involved. The alignment for a given struct is given by the following equation:

// S is the struct in question
diff --git a/assets/showcase_alignment.md.CyePbyqd.lean.js b/assets/showcase_alignment.md.BqL_BHpa.lean.js
similarity index 99%
rename from assets/showcase_alignment.md.CyePbyqd.lean.js
rename to assets/showcase_alignment.md.BqL_BHpa.lean.js
index faf943bc..a0416687 100644
--- a/assets/showcase_alignment.md.CyePbyqd.lean.js
+++ b/assets/showcase_alignment.md.BqL_BHpa.lean.js
@@ -1,4 +1,4 @@
-import{_ as e,c as a,a1 as i,o as n}from"./chunks/framework.C82C2wD0.js";const u=JSON.parse('{"title":"Memory Layout in WGSL","description":"","frontmatter":{},"headers":[],"relativePath":"showcase/alignment.md","filePath":"showcase/alignment.md","lastUpdated":1732966628000}'),t={name:"showcase/alignment.md"};function l(r,s,p,h,o,d){return n(),a("div",null,s[0]||(s[0]=[i(`

Memory Layout in WGSL

This page is currently being reworked. I want to understand the topics a bit better, but as 0.12 is out I want to release what I have for now.

Alignment of vertex and index buffers

Vertex buffers require defining a VertexBufferLayout, so the memory alignment is whatever you tell WebGPU it should be. This can be really convenient for keeping down memory usage on the GPU.

The Index Buffer uses the alignment of whatever primitive type you specify via the IndexFormat you pass into RenderEncoder::set_index_buffer().

Alignment of Uniform and Storage buffers

GPUs are designed to process thousands of pixels in parallel. In order to achieve this, some sacrifices had to be made. Graphics hardware likes to have all the bytes you intend on processing aligned by powers of 2. The exact specifics of why this is are beyond my level of knowledge, but it's important to know so that you can troubleshoot why your shaders aren't working.

Let's take a look at the following table:


TypeAlignment in BytesSize in Bytes
scalar (i32, u32, f32)44
vec2<T>88
vec3<T>1612
vec4<T>1616

You can see for vec3 the alignment is the next power of 2 from the size, 16. This can catch beginners (and even veterans) off guard as it's not the most intuitive. This becomes especially important when we start laying out structs. Take the light struct from the lighting tutorial:

You can see the full table of the alignments in section 4.3.7.1 of the WGSL spec

rust
struct Light {
+import{_ as e,c as a,a1 as i,o as n}from"./chunks/framework.C82C2wD0.js";const u=JSON.parse('{"title":"Memory Layout in WGSL","description":"","frontmatter":{},"headers":[],"relativePath":"showcase/alignment.md","filePath":"showcase/alignment.md","lastUpdated":1733013181000}'),t={name:"showcase/alignment.md"};function l(r,s,p,h,o,d){return n(),a("div",null,s[0]||(s[0]=[i(`

Memory Layout in WGSL

This page is currently being reworked. I want to understand the topics a bit better, but as 0.12 is out I want to release what I have for now.

Alignment of vertex and index buffers

Vertex buffers require defining a VertexBufferLayout, so the memory alignment is whatever you tell WebGPU it should be. This can be really convenient for keeping down memory usage on the GPU.

The Index Buffer uses the alignment of whatever primitive type you specify via the IndexFormat you pass into RenderEncoder::set_index_buffer().

Alignment of Uniform and Storage buffers

GPUs are designed to process thousands of pixels in parallel. In order to achieve this, some sacrifices had to be made. Graphics hardware likes to have all the bytes you intend on processing aligned by powers of 2. The exact specifics of why this is are beyond my level of knowledge, but it's important to know so that you can troubleshoot why your shaders aren't working.

Let's take a look at the following table:


TypeAlignment in BytesSize in Bytes
scalar (i32, u32, f32)44
vec2<T>88
vec3<T>1612
vec4<T>1616

You can see for vec3 the alignment is the next power of 2 from the size, 16. This can catch beginners (and even veterans) off guard as it's not the most intuitive. This becomes especially important when we start laying out structs. Take the light struct from the lighting tutorial:

You can see the full table of the alignments in section 4.3.7.1 of the WGSL spec

rust
struct Light {
     position: vec3f,
     color: vec3f,
 }

So what's the alignment of this struct? Your first guess would be that it's the sum of the alignments of the individual fields. That might make sense if we were in Rust-land, but in shader-land, it's a little more involved. The alignment for a given struct is given by the following equation:

// S is the struct in question
diff --git a/assets/showcase_compute_index.md.CWOTP5pM.js b/assets/showcase_compute_index.md.B-OUxU2Q.js
similarity index 99%
rename from assets/showcase_compute_index.md.CWOTP5pM.js
rename to assets/showcase_compute_index.md.B-OUxU2Q.js
index ba8ddd3e..3d297ee1 100644
--- a/assets/showcase_compute_index.md.CWOTP5pM.js
+++ b/assets/showcase_compute_index.md.B-OUxU2Q.js
@@ -1,4 +1,4 @@
-import{_ as a,c as n,a1 as e,G as l,B as t,o as p}from"./chunks/framework.C82C2wD0.js";const h="/learn-wgpu-zh/assets/corruption.CLjvBSmk.png",k="/learn-wgpu-zh/assets/black_triangles.Cf9X5DzI.png",r="/learn-wgpu-zh/assets/render_doc_output.BqIbsoKI.png",E="/learn-wgpu-zh/assets/results.BfASPxqG.png",F=JSON.parse('{"title":"Compute Example: Tangents and Bitangents","description":"","frontmatter":{},"headers":[],"relativePath":"showcase/compute/index.md","filePath":"showcase/compute/index.md","lastUpdated":1732966628000}'),d={name:"showcase/compute/index.md"};function g(c,s,o,y,u,b){const i=t("AutoGithubLink");return p(),n("div",null,[s[0]||(s[0]=e(`

Compute Example: Tangents and Bitangents

This proved more difficult than I anticipated. The first problem I encountered was some vertex data corruption due to the shader reading my vertex data incorrectly. I was using the ModelVertex struct I used in the normal mapping tutorial.

rust
#[repr(C)]
+import{_ as a,c as n,a1 as e,G as l,B as t,o as p}from"./chunks/framework.C82C2wD0.js";const h="/learn-wgpu-zh/assets/corruption.CLjvBSmk.png",k="/learn-wgpu-zh/assets/black_triangles.Cf9X5DzI.png",r="/learn-wgpu-zh/assets/render_doc_output.BqIbsoKI.png",E="/learn-wgpu-zh/assets/results.BfASPxqG.png",F=JSON.parse('{"title":"Compute Example: Tangents and Bitangents","description":"","frontmatter":{},"headers":[],"relativePath":"showcase/compute/index.md","filePath":"showcase/compute/index.md","lastUpdated":1733013181000}'),d={name:"showcase/compute/index.md"};function g(c,s,o,y,u,b){const i=t("AutoGithubLink");return p(),n("div",null,[s[0]||(s[0]=e(`

Compute Example: Tangents and Bitangents

This proved more difficult than I anticipated. The first problem I encountered was some vertex data corruption due to the shader reading my vertex data incorrectly. I was using the ModelVertex struct I used in the normal mapping tutorial.

rust
#[repr(C)]
 #[derive(Copy, Clone, Debug, bytemuck::Pod, bytemuck::Zeroable)]
 pub struct ModelVertex {
     position: [f32; 3],
diff --git a/assets/showcase_compute_index.md.CWOTP5pM.lean.js b/assets/showcase_compute_index.md.B-OUxU2Q.lean.js
similarity index 99%
rename from assets/showcase_compute_index.md.CWOTP5pM.lean.js
rename to assets/showcase_compute_index.md.B-OUxU2Q.lean.js
index ba8ddd3e..3d297ee1 100644
--- a/assets/showcase_compute_index.md.CWOTP5pM.lean.js
+++ b/assets/showcase_compute_index.md.B-OUxU2Q.lean.js
@@ -1,4 +1,4 @@
-import{_ as a,c as n,a1 as e,G as l,B as t,o as p}from"./chunks/framework.C82C2wD0.js";const h="/learn-wgpu-zh/assets/corruption.CLjvBSmk.png",k="/learn-wgpu-zh/assets/black_triangles.Cf9X5DzI.png",r="/learn-wgpu-zh/assets/render_doc_output.BqIbsoKI.png",E="/learn-wgpu-zh/assets/results.BfASPxqG.png",F=JSON.parse('{"title":"Compute Example: Tangents and Bitangents","description":"","frontmatter":{},"headers":[],"relativePath":"showcase/compute/index.md","filePath":"showcase/compute/index.md","lastUpdated":1732966628000}'),d={name:"showcase/compute/index.md"};function g(c,s,o,y,u,b){const i=t("AutoGithubLink");return p(),n("div",null,[s[0]||(s[0]=e(`

Compute Example: Tangents and Bitangents

This proved more difficult than I anticipated. The first problem I encountered was some vertex data corruption due to the shader reading my vertex data incorrectly. I was using the ModelVertex struct I used in the normal mapping tutorial.

rust
#[repr(C)]
+import{_ as a,c as n,a1 as e,G as l,B as t,o as p}from"./chunks/framework.C82C2wD0.js";const h="/learn-wgpu-zh/assets/corruption.CLjvBSmk.png",k="/learn-wgpu-zh/assets/black_triangles.Cf9X5DzI.png",r="/learn-wgpu-zh/assets/render_doc_output.BqIbsoKI.png",E="/learn-wgpu-zh/assets/results.BfASPxqG.png",F=JSON.parse('{"title":"Compute Example: Tangents and Bitangents","description":"","frontmatter":{},"headers":[],"relativePath":"showcase/compute/index.md","filePath":"showcase/compute/index.md","lastUpdated":1733013181000}'),d={name:"showcase/compute/index.md"};function g(c,s,o,y,u,b){const i=t("AutoGithubLink");return p(),n("div",null,[s[0]||(s[0]=e(`

Compute Example: Tangents and Bitangents

This proved more difficult than I anticipated. The first problem I encountered was some vertex data corruption due to the shader reading my vertex data incorrectly. I was using the ModelVertex struct I used in the normal mapping tutorial.

rust
#[repr(C)]
 #[derive(Copy, Clone, Debug, bytemuck::Pod, bytemuck::Zeroable)]
 pub struct ModelVertex {
     position: [f32; 3],
diff --git a/assets/showcase_gifs_index.md.CH80CEdo.js b/assets/showcase_gifs_index.md.CoRgiZs-.js
similarity index 99%
rename from assets/showcase_gifs_index.md.CH80CEdo.js
rename to assets/showcase_gifs_index.md.CoRgiZs-.js
index 13271335..96bea6fb 100644
--- a/assets/showcase_gifs_index.md.CH80CEdo.js
+++ b/assets/showcase_gifs_index.md.CoRgiZs-.js
@@ -1,4 +1,4 @@
-import{_ as a,c as n,a1 as p,G as h,B as k,o as l}from"./chunks/framework.C82C2wD0.js";const t="/learn-wgpu-zh/assets/output.BTYKABDR.gif",b=JSON.parse('{"title":"生成 GIF 动图","description":"","frontmatter":{},"headers":[],"relativePath":"showcase/gifs/index.md","filePath":"showcase/gifs/index.md","lastUpdated":1732966628000}'),e={name:"showcase/gifs/index.md"};function r(E,s,d,g,y,F){const i=k("AutoGithubLink");return l(),n("div",null,[s[0]||(s[0]=p(`

生成 GIF 动图

假如你想要展示一个自己实现的,漂亮的 WebGPU 模拟动画,当然可以录制一个视频,但如果只是想在微博或朋友圈以九宫格来展示呢?

这,就是 GIF 的用武之地。

另外,GIF 的发音是 GHIF,而不是 JIF,因为 JIF 不仅是花生酱,它也是一种不同的图像格式

如何制作 GIF?

我们使用 gif 包创建一个函数来对渲染的图像进行编码:

rust
fn save_gif(path: &str, frames: &mut Vec<Vec<u8>>, speed: i32, size: u16) -> Result<(), failure::Error> {
+import{_ as a,c as n,a1 as p,G as h,B as k,o as l}from"./chunks/framework.C82C2wD0.js";const t="/learn-wgpu-zh/assets/output.BTYKABDR.gif",b=JSON.parse('{"title":"生成 GIF 动图","description":"","frontmatter":{},"headers":[],"relativePath":"showcase/gifs/index.md","filePath":"showcase/gifs/index.md","lastUpdated":1733013181000}'),e={name:"showcase/gifs/index.md"};function r(E,s,d,g,y,F){const i=k("AutoGithubLink");return l(),n("div",null,[s[0]||(s[0]=p(`

生成 GIF 动图

假如你想要展示一个自己实现的,漂亮的 WebGPU 模拟动画,当然可以录制一个视频,但如果只是想在微博或朋友圈以九宫格来展示呢?

这,就是 GIF 的用武之地。

另外,GIF 的发音是 GHIF,而不是 JIF,因为 JIF 不仅是花生酱,它也是一种不同的图像格式

如何制作 GIF?

我们使用 gif 包创建一个函数来对渲染的图像进行编码:

rust
fn save_gif(path: &str, frames: &mut Vec<Vec<u8>>, speed: i32, size: u16) -> Result<(), failure::Error> {
     use gif::{Frame, Encoder, Repeat, SetParameter};
 
     let mut image = std::fs::File::create(path)?;
diff --git a/assets/showcase_gifs_index.md.CH80CEdo.lean.js b/assets/showcase_gifs_index.md.CoRgiZs-.lean.js
similarity index 99%
rename from assets/showcase_gifs_index.md.CH80CEdo.lean.js
rename to assets/showcase_gifs_index.md.CoRgiZs-.lean.js
index 13271335..96bea6fb 100644
--- a/assets/showcase_gifs_index.md.CH80CEdo.lean.js
+++ b/assets/showcase_gifs_index.md.CoRgiZs-.lean.js
@@ -1,4 +1,4 @@
-import{_ as a,c as n,a1 as p,G as h,B as k,o as l}from"./chunks/framework.C82C2wD0.js";const t="/learn-wgpu-zh/assets/output.BTYKABDR.gif",b=JSON.parse('{"title":"生成 GIF 动图","description":"","frontmatter":{},"headers":[],"relativePath":"showcase/gifs/index.md","filePath":"showcase/gifs/index.md","lastUpdated":1732966628000}'),e={name:"showcase/gifs/index.md"};function r(E,s,d,g,y,F){const i=k("AutoGithubLink");return l(),n("div",null,[s[0]||(s[0]=p(`

生成 GIF 动图

假如你想要展示一个自己实现的,漂亮的 WebGPU 模拟动画,当然可以录制一个视频,但如果只是想在微博或朋友圈以九宫格来展示呢?

这,就是 GIF 的用武之地。

另外,GIF 的发音是 GHIF,而不是 JIF,因为 JIF 不仅是花生酱,它也是一种不同的图像格式

如何制作 GIF?

我们使用 gif 包创建一个函数来对渲染的图像进行编码:

rust
fn save_gif(path: &str, frames: &mut Vec<Vec<u8>>, speed: i32, size: u16) -> Result<(), failure::Error> {
+import{_ as a,c as n,a1 as p,G as h,B as k,o as l}from"./chunks/framework.C82C2wD0.js";const t="/learn-wgpu-zh/assets/output.BTYKABDR.gif",b=JSON.parse('{"title":"生成 GIF 动图","description":"","frontmatter":{},"headers":[],"relativePath":"showcase/gifs/index.md","filePath":"showcase/gifs/index.md","lastUpdated":1733013181000}'),e={name:"showcase/gifs/index.md"};function r(E,s,d,g,y,F){const i=k("AutoGithubLink");return l(),n("div",null,[s[0]||(s[0]=p(`

生成 GIF 动图

假如你想要展示一个自己实现的,漂亮的 WebGPU 模拟动画,当然可以录制一个视频,但如果只是想在微博或朋友圈以九宫格来展示呢?

这,就是 GIF 的用武之地。

另外,GIF 的发音是 GHIF,而不是 JIF,因为 JIF 不仅是花生酱,它也是一种不同的图像格式

如何制作 GIF?

我们使用 gif 包创建一个函数来对渲染的图像进行编码:

rust
fn save_gif(path: &str, frames: &mut Vec<Vec<u8>>, speed: i32, size: u16) -> Result<(), failure::Error> {
     use gif::{Frame, Encoder, Repeat, SetParameter};
 
     let mut image = std::fs::File::create(path)?;
diff --git a/assets/showcase_pong_index.md.CUPuRLxE.js b/assets/showcase_pong_index.md.Y5Zr7TtJ.js
similarity index 99%
rename from assets/showcase_pong_index.md.CUPuRLxE.js
rename to assets/showcase_pong_index.md.Y5Zr7TtJ.js
index 168804c3..37ae5cdf 100644
--- a/assets/showcase_pong_index.md.CUPuRLxE.js
+++ b/assets/showcase_pong_index.md.Y5Zr7TtJ.js
@@ -1,4 +1,4 @@
-import{_ as a,c as n,a1 as l,G as h,B as p,o as t}from"./chunks/framework.C82C2wD0.js";const k="/learn-wgpu-zh/assets/pong.By3rm4gi.png",o=JSON.parse('{"title":"Pong","description":"","frontmatter":{},"headers":[],"relativePath":"showcase/pong/index.md","filePath":"showcase/pong/index.md","lastUpdated":1732966628000}'),e={name:"showcase/pong/index.md"};function r(E,s,d,g,y,F){const i=p("WasmExample");return t(),n("div",null,[s[0]||(s[0]=l('

Pong

Practically the "Hello World!" of games. Pong has been remade thousands of times. I know Pong. You know Pong. We all know Pong. That being said, this time I wanted to put in a little more effort than most people do. This showcase has a basic menu system, sounds, and different game states.

The architecture is not the best as I prescribed to the "get things done" mentality. If I were to redo this project, I'd change a lot of things. Regardless, let's get into the postmortem.

The Architecture

I was messing around with separating state from the render code. It ended up similar to an Entity Component System model.

I had a State class with all of the objects in the scene. This included the ball and the paddles, as well as the text for the scores and even the menu. State also included a game_state field of type GameState.

rust
#[derive(Debug, Copy, Clone, Eq, PartialEq)]
+import{_ as a,c as n,a1 as l,G as h,B as p,o as t}from"./chunks/framework.C82C2wD0.js";const k="/learn-wgpu-zh/assets/pong.By3rm4gi.png",o=JSON.parse('{"title":"Pong","description":"","frontmatter":{},"headers":[],"relativePath":"showcase/pong/index.md","filePath":"showcase/pong/index.md","lastUpdated":1733013181000}'),e={name:"showcase/pong/index.md"};function r(E,s,d,g,y,F){const i=p("WasmExample");return t(),n("div",null,[s[0]||(s[0]=l('

Pong

Practically the "Hello World!" of games. Pong has been remade thousands of times. I know Pong. You know Pong. We all know Pong. That being said, this time I wanted to put in a little more effort than most people do. This showcase has a basic menu system, sounds, and different game states.

The architecture is not the best as I prescribed to the "get things done" mentality. If I were to redo this project, I'd change a lot of things. Regardless, let's get into the postmortem.

The Architecture

I was messing around with separating state from the render code. It ended up similar to an Entity Component System model.

I had a State class with all of the objects in the scene. This included the ball and the paddles, as well as the text for the scores and even the menu. State also included a game_state field of type GameState.

rust
#[derive(Debug, Copy, Clone, Eq, PartialEq)]
 pub enum GameState {
     MainMenu,
     Serving,
diff --git a/assets/showcase_pong_index.md.CUPuRLxE.lean.js b/assets/showcase_pong_index.md.Y5Zr7TtJ.lean.js
similarity index 99%
rename from assets/showcase_pong_index.md.CUPuRLxE.lean.js
rename to assets/showcase_pong_index.md.Y5Zr7TtJ.lean.js
index 168804c3..37ae5cdf 100644
--- a/assets/showcase_pong_index.md.CUPuRLxE.lean.js
+++ b/assets/showcase_pong_index.md.Y5Zr7TtJ.lean.js
@@ -1,4 +1,4 @@
-import{_ as a,c as n,a1 as l,G as h,B as p,o as t}from"./chunks/framework.C82C2wD0.js";const k="/learn-wgpu-zh/assets/pong.By3rm4gi.png",o=JSON.parse('{"title":"Pong","description":"","frontmatter":{},"headers":[],"relativePath":"showcase/pong/index.md","filePath":"showcase/pong/index.md","lastUpdated":1732966628000}'),e={name:"showcase/pong/index.md"};function r(E,s,d,g,y,F){const i=p("WasmExample");return t(),n("div",null,[s[0]||(s[0]=l('

Pong

Practically the "Hello World!" of games. Pong has been remade thousands of times. I know Pong. You know Pong. We all know Pong. That being said, this time I wanted to put in a little more effort than most people do. This showcase has a basic menu system, sounds, and different game states.

The architecture is not the best as I prescribed to the "get things done" mentality. If I were to redo this project, I'd change a lot of things. Regardless, let's get into the postmortem.

The Architecture

I was messing around with separating state from the render code. It ended up similar to an Entity Component System model.

I had a State class with all of the objects in the scene. This included the ball and the paddles, as well as the text for the scores and even the menu. State also included a game_state field of type GameState.

rust
#[derive(Debug, Copy, Clone, Eq, PartialEq)]
+import{_ as a,c as n,a1 as l,G as h,B as p,o as t}from"./chunks/framework.C82C2wD0.js";const k="/learn-wgpu-zh/assets/pong.By3rm4gi.png",o=JSON.parse('{"title":"Pong","description":"","frontmatter":{},"headers":[],"relativePath":"showcase/pong/index.md","filePath":"showcase/pong/index.md","lastUpdated":1733013181000}'),e={name:"showcase/pong/index.md"};function r(E,s,d,g,y,F){const i=p("WasmExample");return t(),n("div",null,[s[0]||(s[0]=l('

Pong

Practically the "Hello World!" of games. Pong has been remade thousands of times. I know Pong. You know Pong. We all know Pong. That being said, this time I wanted to put in a little more effort than most people do. This showcase has a basic menu system, sounds, and different game states.

The architecture is not the best as I prescribed to the "get things done" mentality. If I were to redo this project, I'd change a lot of things. Regardless, let's get into the postmortem.

The Architecture

I was messing around with separating state from the render code. It ended up similar to an Entity Component System model.

I had a State class with all of the objects in the scene. This included the ball and the paddles, as well as the text for the scores and even the menu. State also included a game_state field of type GameState.

rust
#[derive(Debug, Copy, Clone, Eq, PartialEq)]
 pub enum GameState {
     MainMenu,
     Serving,
diff --git a/assets/showcase_threading.md.CFux7KE3.js b/assets/showcase_threading.md.BUeJbMh1.js
similarity index 99%
rename from assets/showcase_threading.md.CFux7KE3.js
rename to assets/showcase_threading.md.BUeJbMh1.js
index 2ce6db39..e9d87bb6 100644
--- a/assets/showcase_threading.md.CFux7KE3.js
+++ b/assets/showcase_threading.md.BUeJbMh1.js
@@ -1,4 +1,4 @@
-import{_ as a,c as n,a1 as h,G as l,B as p,o as k}from"./chunks/framework.C82C2wD0.js";const c=JSON.parse('{"title":"Multi-threading with Wgpu and Rayon","description":"","frontmatter":{},"headers":[],"relativePath":"showcase/threading.md","filePath":"showcase/threading.md","lastUpdated":1732966628000}'),t={name:"showcase/threading.md"};function e(r,s,E,d,g,y){const i=p("AutoGithubLink");return k(),n("div",null,[s[0]||(s[0]=h(`

Multi-threading with Wgpu and Rayon

This example has not been tested on WASM. Rayon has support for multi threading on WASM via wasm-bindgen-rayon, though that implementation is only currently working on Chrome-based browsers. Because of this I've elected not to make a WASM version of this tutorial at this time.

The main selling point of Vulkan, DirectX 12, Metal, and by extension Wgpu is that these APIs is that they designed from the ground up to be thread safe. Up to this point, we have been doing everything on a single thread. That's about to change.

This example is based on the code for tutorial12-camera

I won't go into what threads are in this tutorial. That is a full CS course in and of itself. All we'll be covering is using threading to make loading resources faster.

We won't go over multithreading rendering as we don't have enough different types of objects to justify that yet. This will change in a coming tutorial

Parallelizing loading models and textures

Currently, we load the materials and meshes of our model one at a time. This is a perfect opportunity for multithreading! All our changes will be in model.rs. Let's first start with the materials. We'll convert the regular for loop into a par_iter().map().

rust
// resources.rs
+import{_ as a,c as n,a1 as h,G as l,B as p,o as k}from"./chunks/framework.C82C2wD0.js";const c=JSON.parse('{"title":"Multi-threading with Wgpu and Rayon","description":"","frontmatter":{},"headers":[],"relativePath":"showcase/threading.md","filePath":"showcase/threading.md","lastUpdated":1733013181000}'),t={name:"showcase/threading.md"};function e(r,s,E,d,g,y){const i=p("AutoGithubLink");return k(),n("div",null,[s[0]||(s[0]=h(`

Multi-threading with Wgpu and Rayon

This example has not been tested on WASM. Rayon has support for multi threading on WASM via wasm-bindgen-rayon, though that implementation is only currently working on Chrome-based browsers. Because of this I've elected not to make a WASM version of this tutorial at this time.

The main selling point of Vulkan, DirectX 12, Metal, and by extension Wgpu is that these APIs is that they designed from the ground up to be thread safe. Up to this point, we have been doing everything on a single thread. That's about to change.

This example is based on the code for tutorial12-camera

I won't go into what threads are in this tutorial. That is a full CS course in and of itself. All we'll be covering is using threading to make loading resources faster.

We won't go over multithreading rendering as we don't have enough different types of objects to justify that yet. This will change in a coming tutorial

Parallelizing loading models and textures

Currently, we load the materials and meshes of our model one at a time. This is a perfect opportunity for multithreading! All our changes will be in model.rs. Let's first start with the materials. We'll convert the regular for loop into a par_iter().map().

rust
// resources.rs
 
 #[cfg(not(target_arch="wasm32"))]
 use rayon::iter::IntoParallelIterator;
diff --git a/assets/showcase_threading.md.CFux7KE3.lean.js b/assets/showcase_threading.md.BUeJbMh1.lean.js
similarity index 99%
rename from assets/showcase_threading.md.CFux7KE3.lean.js
rename to assets/showcase_threading.md.BUeJbMh1.lean.js
index 2ce6db39..e9d87bb6 100644
--- a/assets/showcase_threading.md.CFux7KE3.lean.js
+++ b/assets/showcase_threading.md.BUeJbMh1.lean.js
@@ -1,4 +1,4 @@
-import{_ as a,c as n,a1 as h,G as l,B as p,o as k}from"./chunks/framework.C82C2wD0.js";const c=JSON.parse('{"title":"Multi-threading with Wgpu and Rayon","description":"","frontmatter":{},"headers":[],"relativePath":"showcase/threading.md","filePath":"showcase/threading.md","lastUpdated":1732966628000}'),t={name:"showcase/threading.md"};function e(r,s,E,d,g,y){const i=p("AutoGithubLink");return k(),n("div",null,[s[0]||(s[0]=h(`

Multi-threading with Wgpu and Rayon

This example has not been tested on WASM. Rayon has support for multi threading on WASM via wasm-bindgen-rayon, though that implementation is only currently working on Chrome-based browsers. Because of this I've elected not to make a WASM version of this tutorial at this time.

The main selling point of Vulkan, DirectX 12, Metal, and by extension Wgpu is that these APIs is that they designed from the ground up to be thread safe. Up to this point, we have been doing everything on a single thread. That's about to change.

This example is based on the code for tutorial12-camera

I won't go into what threads are in this tutorial. That is a full CS course in and of itself. All we'll be covering is using threading to make loading resources faster.

We won't go over multithreading rendering as we don't have enough different types of objects to justify that yet. This will change in a coming tutorial

Parallelizing loading models and textures

Currently, we load the materials and meshes of our model one at a time. This is a perfect opportunity for multithreading! All our changes will be in model.rs. Let's first start with the materials. We'll convert the regular for loop into a par_iter().map().

rust
// resources.rs
+import{_ as a,c as n,a1 as h,G as l,B as p,o as k}from"./chunks/framework.C82C2wD0.js";const c=JSON.parse('{"title":"Multi-threading with Wgpu and Rayon","description":"","frontmatter":{},"headers":[],"relativePath":"showcase/threading.md","filePath":"showcase/threading.md","lastUpdated":1733013181000}'),t={name:"showcase/threading.md"};function e(r,s,E,d,g,y){const i=p("AutoGithubLink");return k(),n("div",null,[s[0]||(s[0]=h(`

Multi-threading with Wgpu and Rayon

This example has not been tested on WASM. Rayon has support for multi threading on WASM via wasm-bindgen-rayon, though that implementation is only currently working on Chrome-based browsers. Because of this I've elected not to make a WASM version of this tutorial at this time.

The main selling point of Vulkan, DirectX 12, Metal, and by extension Wgpu is that these APIs is that they designed from the ground up to be thread safe. Up to this point, we have been doing everything on a single thread. That's about to change.

This example is based on the code for tutorial12-camera

I won't go into what threads are in this tutorial. That is a full CS course in and of itself. All we'll be covering is using threading to make loading resources faster.

We won't go over multithreading rendering as we don't have enough different types of objects to justify that yet. This will change in a coming tutorial

Parallelizing loading models and textures

Currently, we load the materials and meshes of our model one at a time. This is a perfect opportunity for multithreading! All our changes will be in model.rs. Let's first start with the materials. We'll convert the regular for loop into a par_iter().map().

rust
// resources.rs
 
 #[cfg(not(target_arch="wasm32"))]
 use rayon::iter::IntoParallelIterator;
diff --git a/assets/showcase_windowless_index.md.Ct5WE8lF.js b/assets/showcase_windowless_index.md.BsQAIwDs.js
similarity index 99%
rename from assets/showcase_windowless_index.md.Ct5WE8lF.js
rename to assets/showcase_windowless_index.md.BsQAIwDs.js
index f3fc89b9..5a78c515 100644
--- a/assets/showcase_windowless_index.md.Ct5WE8lF.js
+++ b/assets/showcase_windowless_index.md.BsQAIwDs.js
@@ -1,4 +1,4 @@
-import{_ as a,c as n,a1 as p,G as l,B as h,o as k}from"./chunks/framework.C82C2wD0.js";const t="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAFq0lEQVR4nO3U2XVcRxBEQcovOiJf5IY8kl8SRLAPAXAweEvvGfFRFlTeP/786+9/vwGRBACCCQAEEwAIJgAQTAAgmABAMAGAYAIAwQQAggkABBMACCYAEEwAIJgAQDABgGACAMEEAIIJAAQTAAgmABBMACCYAEAwAYBgAgDBBACCCQAEEwAIJgAQTAAgmABAMAGAYAIAwQQAggkABBMACCYAEEwAIJgAQDABgGACAMEEAIIJAAQTAAgmABBMACCYAEAwAYBgAgDBBACCCQAEEwAIJgAQTAAgmABAMAGAYAIAwQQAggkABBMACCYAEEwAIJgAQDABgGACAMEEINj3b/+83G8v9/vLJZEABBMABCBUGX8hApkEIJQA8D8BCPRx/IUI5BGAQAJAIQBhPht/IQJZBCCMAPCWAAT5avyFCOQQgCACwEcCEOLo+AsRyCAAIQSARwQgwNnxFyKwPwEIIAB8RgA2d3X8hQjsTQA2JwA8IwAbuzv+QgT2JQAbEwC+IgCbqjX+QgT2JACbEgCOEIAN1R5/IQL7EYANCQBHCcBmWo2/EIG9CMBmBIAzBGAjrcdfiMA+BGAjAsBZArCJXuMvRGAPArAJAeAKAdhA7/EXIrA+AdiAAHCVACxu1PgLEVibACxOALhDABY2evyFCKxLABYmANwlAIuaZfyFCKxJABYlANQgAAuabfyFCKxHABYkANQiAIuZdfyFCKxFABYjANQkAAuZffyFCKxDABYiANQmAItYZfyFCKxBABYhALQgAAtYbfyFCMxPABYgALQiAJNbdfyFCMxNACYnALQkABNbffyFCMxLACYmALQmAJPaZfyFCMxJACYlAPQgABPabfyFCMxHACYkAPQiAJPZdfyFCMxFACYjAPQkABPZffyFCMxDACYiAPQmAJNIGX8hAnMQgEkIACMIwATSxl+IwHgCMAEBYBQBGCx1/IUIjCUAgwmAAIwkAAOlj78QgXEEYCABeCUA4wjAIMb/ngiMIQCDCMB7AjCGAAxg/I+JQH8CMIAAPCYA/QlAZ8b/nAj0JQCdCcBzAtCXAHRk/MeIQD8C0JEAHCMA/QhAJ8Z/jgj0IQCdCMA5AtCHAHRg/NeIQHsC0IEAXCMA7QlAY8Z/jwi0JQCNCcA9AtCWADRk/HWIQDsC0JAA1CEA7QhAI8Zflwi0IQCNCEBdAtCGADRg/G2IQH0C0IAAtCEA9QlAZcbflgjUJQCVCUBbAlCXAFRk/H2IQD0CUJEA9CEA9QhAJcbflwjUIQCVCEBfAlCHAFRg/GOIwH0CUIEAjCEA9wnATcY/lgjcIwA3CcBYAnCPANxg/HMQgesE4AYBmIMAXCcAFxn/XETgGgG4SADmIgDXCMAFxj8nEThPAC4QgDkJwHkCcJLxz00EzhGAkwRgbgJwjgCcYPxrEIHjBOAEAViDABwnAAcZ/1pE4BgBOEgA1iIAxwjAAca/JhH4mgAcIABrEoCvCcAXjH9tIvCcAHxBANYmAM8JwBPGvwcR+JwAPCEAexCAzwnAJ4x/LyLwmAB8QgD2IgCPCcADxr8nEfidADwgAHsSgN8JwAfGvzcReE8APhCAvQnAewLwhvFnEIFfBOANAcggAL8IwE/Gn0UEXgnATwKQRQBeCcAL488kAgLwgwBkEgABeHkB40+WHoH4AEAyAYBgAgDBBACCCQAEEwAIJgAQTAAgmABAMAGAYAIAwQQAggkABBMACCYAEEwAIJgAQDABgGACAMEEAIIJAAQTAAgmABBMACCYAEAwAYBgAgDBBACCCQAEEwAIJgAQTAAgmABAMAGAYAIAwQQAggkABBMACCYAEEwAIJgAQDABgGACAMEEAIIJAAQTAAgmABBMACCYAEAwAYBgAgDBBACCCQAEEwAIJgAQTAAgmABAMAGAYAIAwQQAggkABBMACCYAEEwAINh/p/JoLhfYRNsAAAAASUVORK5CYII=",c=JSON.parse('{"title":"离屏渲染","description":"","frontmatter":{},"headers":[],"relativePath":"showcase/windowless/index.md","filePath":"showcase/windowless/index.md","lastUpdated":1732966628000}'),e={name:"showcase/windowless/index.md"};function r(E,s,d,g,y,F){const i=h("AutoGithubLink");return k(),n("div",null,[s[0]||(s[0]=p(`

离屏渲染

有时我们只是想利用 gpu,也许是要并行地计算一组大的数字; 也许是正在制作一部 3D 电影,并需要用路径追踪来创建一个看起来很真实的场景; 也许正在挖掘一种加密货币。在所有这些情况下,我们可能 不需要 从窗口看到正在发生的事情。

如何使用?

离屏渲染(Off-Screen Rendering, 也叫做 Windowless Rendering)其实很简单:事实上,我们不需要一个窗口(Window)来创建一个GPU 实例,不需要一个窗口来选择适配器,也不需要一个窗口来创建逻辑设备。我们只需要窗口来创建一个展示平面交换链(SwapChain)。所以,只要有了逻辑设备,就可以开始向 GPU 发送命令。

rust
let adapter = instance
+import{_ as a,c as n,a1 as p,G as l,B as h,o as k}from"./chunks/framework.C82C2wD0.js";const t="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAFq0lEQVR4nO3U2XVcRxBEQcovOiJf5IY8kl8SRLAPAXAweEvvGfFRFlTeP/786+9/vwGRBACCCQAEEwAIJgAQTAAgmABAMAGAYAIAwQQAggkABBMACCYAEEwAIJgAQDABgGACAMEEAIIJAAQTAAgmABBMACCYAEAwAYBgAgDBBACCCQAEEwAIJgAQTAAgmABAMAGAYAIAwQQAggkABBMACCYAEEwAIJgAQDABgGACAMEEAIIJAAQTAAgmABBMACCYAEAwAYBgAgDBBACCCQAEEwAIJgAQTAAgmABAMAGAYAIAwQQAggkABBMACCYAEEwAIJgAQDABgGACAMEEINj3b/+83G8v9/vLJZEABBMABCBUGX8hApkEIJQA8D8BCPRx/IUI5BGAQAJAIQBhPht/IQJZBCCMAPCWAAT5avyFCOQQgCACwEcCEOLo+AsRyCAAIQSARwQgwNnxFyKwPwEIIAB8RgA2d3X8hQjsTQA2JwA8IwAbuzv+QgT2JQAbEwC+IgCbqjX+QgT2JACbEgCOEIAN1R5/IQL7EYANCQBHCcBmWo2/EIG9CMBmBIAzBGAjrcdfiMA+BGAjAsBZArCJXuMvRGAPArAJAeAKAdhA7/EXIrA+AdiAAHCVACxu1PgLEVibACxOALhDABY2evyFCKxLABYmANwlAIuaZfyFCKxJABYlANQgAAuabfyFCKxHABYkANQiAIuZdfyFCKxFABYjANQkAAuZffyFCKxDABYiANQmAItYZfyFCKxBABYhALQgAAtYbfyFCMxPABYgALQiAJNbdfyFCMxNACYnALQkABNbffyFCMxLACYmALQmAJPaZfyFCMxJACYlAPQgABPabfyFCMxHACYkAPQiAJPZdfyFCMxFACYjAPQkABPZffyFCMxDACYiAPQmAJNIGX8hAnMQgEkIACMIwATSxl+IwHgCMAEBYBQBGCx1/IUIjCUAgwmAAIwkAAOlj78QgXEEYCABeCUA4wjAIMb/ngiMIQCDCMB7AjCGAAxg/I+JQH8CMIAAPCYA/QlAZ8b/nAj0JQCdCcBzAtCXAHRk/MeIQD8C0JEAHCMA/QhAJ8Z/jgj0IQCdCMA5AtCHAHRg/NeIQHsC0IEAXCMA7QlAY8Z/jwi0JQCNCcA9AtCWADRk/HWIQDsC0JAA1CEA7QhAI8Zflwi0IQCNCEBdAtCGADRg/G2IQH0C0IAAtCEA9QlAZcbflgjUJQCVCUBbAlCXAFRk/H2IQD0CUJEA9CEA9QhAJcbflwjUIQCVCEBfAlCHAFRg/GOIwH0CUIEAjCEA9wnATcY/lgjcIwA3CcBYAnCPANxg/HMQgesE4AYBmIMAXCcAFxn/XETgGgG4SADmIgDXCMAFxj8nEThPAC4QgDkJwHkCcJLxz00EzhGAkwRgbgJwjgCcYPxrEIHjBOAEAViDABwnAAcZ/1pE4BgBOEgA1iIAxwjAAca/JhH4mgAcIABrEoCvCcAXjH9tIvCcAHxBANYmAM8JwBPGvwcR+JwAPCEAexCAzwnAJ4x/LyLwmAB8QgD2IgCPCcADxr8nEfidADwgAHsSgN8JwAfGvzcReE8APhCAvQnAewLwhvFnEIFfBOANAcggAL8IwE/Gn0UEXgnATwKQRQBeCcAL488kAgLwgwBkEgABeHkB40+WHoH4AEAyAYBgAgDBBACCCQAEEwAIJgAQTAAgmABAMAGAYAIAwQQAggkABBMACCYAEEwAIJgAQDABgGACAMEEAIIJAAQTAAgmABBMACCYAEAwAYBgAgDBBACCCQAEEwAIJgAQTAAgmABAMAGAYAIAwQQAggkABBMACCYAEEwAIJgAQDABgGACAMEEAIIJAAQTAAgmABBMACCYAEAwAYBgAgDBBACCCQAEEwAIJgAQTAAgmABAMAGAYAIAwQQAggkABBMACCYAEEwAINh/p/JoLhfYRNsAAAAASUVORK5CYII=",c=JSON.parse('{"title":"离屏渲染","description":"","frontmatter":{},"headers":[],"relativePath":"showcase/windowless/index.md","filePath":"showcase/windowless/index.md","lastUpdated":1733013181000}'),e={name:"showcase/windowless/index.md"};function r(E,s,d,g,y,F){const i=h("AutoGithubLink");return k(),n("div",null,[s[0]||(s[0]=p(`

离屏渲染

有时我们只是想利用 gpu,也许是要并行地计算一组大的数字; 也许是正在制作一部 3D 电影,并需要用路径追踪来创建一个看起来很真实的场景; 也许正在挖掘一种加密货币。在所有这些情况下,我们可能 不需要 从窗口看到正在发生的事情。

如何使用?

离屏渲染(Off-Screen Rendering, 也叫做 Windowless Rendering)其实很简单:事实上,我们不需要一个窗口(Window)来创建一个GPU 实例,不需要一个窗口来选择适配器,也不需要一个窗口来创建逻辑设备。我们只需要窗口来创建一个展示平面交换链(SwapChain)。所以,只要有了逻辑设备,就可以开始向 GPU 发送命令。

rust
let adapter = instance
     .request_adapter(&wgpu::RequestAdapterOptions {
         compatible_surface: Some(&surface),
         ..Default::default()
diff --git a/assets/showcase_windowless_index.md.Ct5WE8lF.lean.js b/assets/showcase_windowless_index.md.BsQAIwDs.lean.js
similarity index 99%
rename from assets/showcase_windowless_index.md.Ct5WE8lF.lean.js
rename to assets/showcase_windowless_index.md.BsQAIwDs.lean.js
index f3fc89b9..5a78c515 100644
--- a/assets/showcase_windowless_index.md.Ct5WE8lF.lean.js
+++ b/assets/showcase_windowless_index.md.BsQAIwDs.lean.js
@@ -1,4 +1,4 @@
-import{_ as a,c as n,a1 as p,G as l,B as h,o as k}from"./chunks/framework.C82C2wD0.js";const t="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAFq0lEQVR4nO3U2XVcRxBEQcovOiJf5IY8kl8SRLAPAXAweEvvGfFRFlTeP/786+9/vwGRBACCCQAEEwAIJgAQTAAgmABAMAGAYAIAwQQAggkABBMACCYAEEwAIJgAQDABgGACAMEEAIIJAAQTAAgmABBMACCYAEAwAYBgAgDBBACCCQAEEwAIJgAQTAAgmABAMAGAYAIAwQQAggkABBMACCYAEEwAIJgAQDABgGACAMEEAIIJAAQTAAgmABBMACCYAEAwAYBgAgDBBACCCQAEEwAIJgAQTAAgmABAMAGAYAIAwQQAggkABBMACCYAEEwAIJgAQDABgGACAMEEINj3b/+83G8v9/vLJZEABBMABCBUGX8hApkEIJQA8D8BCPRx/IUI5BGAQAJAIQBhPht/IQJZBCCMAPCWAAT5avyFCOQQgCACwEcCEOLo+AsRyCAAIQSARwQgwNnxFyKwPwEIIAB8RgA2d3X8hQjsTQA2JwA8IwAbuzv+QgT2JQAbEwC+IgCbqjX+QgT2JACbEgCOEIAN1R5/IQL7EYANCQBHCcBmWo2/EIG9CMBmBIAzBGAjrcdfiMA+BGAjAsBZArCJXuMvRGAPArAJAeAKAdhA7/EXIrA+AdiAAHCVACxu1PgLEVibACxOALhDABY2evyFCKxLABYmANwlAIuaZfyFCKxJABYlANQgAAuabfyFCKxHABYkANQiAIuZdfyFCKxFABYjANQkAAuZffyFCKxDABYiANQmAItYZfyFCKxBABYhALQgAAtYbfyFCMxPABYgALQiAJNbdfyFCMxNACYnALQkABNbffyFCMxLACYmALQmAJPaZfyFCMxJACYlAPQgABPabfyFCMxHACYkAPQiAJPZdfyFCMxFACYjAPQkABPZffyFCMxDACYiAPQmAJNIGX8hAnMQgEkIACMIwATSxl+IwHgCMAEBYBQBGCx1/IUIjCUAgwmAAIwkAAOlj78QgXEEYCABeCUA4wjAIMb/ngiMIQCDCMB7AjCGAAxg/I+JQH8CMIAAPCYA/QlAZ8b/nAj0JQCdCcBzAtCXAHRk/MeIQD8C0JEAHCMA/QhAJ8Z/jgj0IQCdCMA5AtCHAHRg/NeIQHsC0IEAXCMA7QlAY8Z/jwi0JQCNCcA9AtCWADRk/HWIQDsC0JAA1CEA7QhAI8Zflwi0IQCNCEBdAtCGADRg/G2IQH0C0IAAtCEA9QlAZcbflgjUJQCVCUBbAlCXAFRk/H2IQD0CUJEA9CEA9QhAJcbflwjUIQCVCEBfAlCHAFRg/GOIwH0CUIEAjCEA9wnATcY/lgjcIwA3CcBYAnCPANxg/HMQgesE4AYBmIMAXCcAFxn/XETgGgG4SADmIgDXCMAFxj8nEThPAC4QgDkJwHkCcJLxz00EzhGAkwRgbgJwjgCcYPxrEIHjBOAEAViDABwnAAcZ/1pE4BgBOEgA1iIAxwjAAca/JhH4mgAcIABrEoCvCcAXjH9tIvCcAHxBANYmAM8JwBPGvwcR+JwAPCEAexCAzwnAJ4x/LyLwmAB8QgD2IgCPCcADxr8nEfidADwgAHsSgN8JwAfGvzcReE8APhCAvQnAewLwhvFnEIFfBOANAcggAL8IwE/Gn0UEXgnATwKQRQBeCcAL488kAgLwgwBkEgABeHkB40+WHoH4AEAyAYBgAgDBBACCCQAEEwAIJgAQTAAgmABAMAGAYAIAwQQAggkABBMACCYAEEwAIJgAQDABgGACAMEEAIIJAAQTAAgmABBMACCYAEAwAYBgAgDBBACCCQAEEwAIJgAQTAAgmABAMAGAYAIAwQQAggkABBMACCYAEEwAIJgAQDABgGACAMEEAIIJAAQTAAgmABBMACCYAEAwAYBgAgDBBACCCQAEEwAIJgAQTAAgmABAMAGAYAIAwQQAggkABBMACCYAEEwAINh/p/JoLhfYRNsAAAAASUVORK5CYII=",c=JSON.parse('{"title":"离屏渲染","description":"","frontmatter":{},"headers":[],"relativePath":"showcase/windowless/index.md","filePath":"showcase/windowless/index.md","lastUpdated":1732966628000}'),e={name:"showcase/windowless/index.md"};function r(E,s,d,g,y,F){const i=h("AutoGithubLink");return k(),n("div",null,[s[0]||(s[0]=p(`

离屏渲染

有时我们只是想利用 gpu,也许是要并行地计算一组大的数字; 也许是正在制作一部 3D 电影,并需要用路径追踪来创建一个看起来很真实的场景; 也许正在挖掘一种加密货币。在所有这些情况下,我们可能 不需要 从窗口看到正在发生的事情。

如何使用?

离屏渲染(Off-Screen Rendering, 也叫做 Windowless Rendering)其实很简单:事实上,我们不需要一个窗口(Window)来创建一个GPU 实例,不需要一个窗口来选择适配器,也不需要一个窗口来创建逻辑设备。我们只需要窗口来创建一个展示平面交换链(SwapChain)。所以,只要有了逻辑设备,就可以开始向 GPU 发送命令。

rust
let adapter = instance
+import{_ as a,c as n,a1 as p,G as l,B as h,o as k}from"./chunks/framework.C82C2wD0.js";const t="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAFq0lEQVR4nO3U2XVcRxBEQcovOiJf5IY8kl8SRLAPAXAweEvvGfFRFlTeP/786+9/vwGRBACCCQAEEwAIJgAQTAAgmABAMAGAYAIAwQQAggkABBMACCYAEEwAIJgAQDABgGACAMEEAIIJAAQTAAgmABBMACCYAEAwAYBgAgDBBACCCQAEEwAIJgAQTAAgmABAMAGAYAIAwQQAggkABBMACCYAEEwAIJgAQDABgGACAMEEAIIJAAQTAAgmABBMACCYAEAwAYBgAgDBBACCCQAEEwAIJgAQTAAgmABAMAGAYAIAwQQAggkABBMACCYAEEwAIJgAQDABgGACAMEEINj3b/+83G8v9/vLJZEABBMABCBUGX8hApkEIJQA8D8BCPRx/IUI5BGAQAJAIQBhPht/IQJZBCCMAPCWAAT5avyFCOQQgCACwEcCEOLo+AsRyCAAIQSARwQgwNnxFyKwPwEIIAB8RgA2d3X8hQjsTQA2JwA8IwAbuzv+QgT2JQAbEwC+IgCbqjX+QgT2JACbEgCOEIAN1R5/IQL7EYANCQBHCcBmWo2/EIG9CMBmBIAzBGAjrcdfiMA+BGAjAsBZArCJXuMvRGAPArAJAeAKAdhA7/EXIrA+AdiAAHCVACxu1PgLEVibACxOALhDABY2evyFCKxLABYmANwlAIuaZfyFCKxJABYlANQgAAuabfyFCKxHABYkANQiAIuZdfyFCKxFABYjANQkAAuZffyFCKxDABYiANQmAItYZfyFCKxBABYhALQgAAtYbfyFCMxPABYgALQiAJNbdfyFCMxNACYnALQkABNbffyFCMxLACYmALQmAJPaZfyFCMxJACYlAPQgABPabfyFCMxHACYkAPQiAJPZdfyFCMxFACYjAPQkABPZffyFCMxDACYiAPQmAJNIGX8hAnMQgEkIACMIwATSxl+IwHgCMAEBYBQBGCx1/IUIjCUAgwmAAIwkAAOlj78QgXEEYCABeCUA4wjAIMb/ngiMIQCDCMB7AjCGAAxg/I+JQH8CMIAAPCYA/QlAZ8b/nAj0JQCdCcBzAtCXAHRk/MeIQD8C0JEAHCMA/QhAJ8Z/jgj0IQCdCMA5AtCHAHRg/NeIQHsC0IEAXCMA7QlAY8Z/jwi0JQCNCcA9AtCWADRk/HWIQDsC0JAA1CEA7QhAI8Zflwi0IQCNCEBdAtCGADRg/G2IQH0C0IAAtCEA9QlAZcbflgjUJQCVCUBbAlCXAFRk/H2IQD0CUJEA9CEA9QhAJcbflwjUIQCVCEBfAlCHAFRg/GOIwH0CUIEAjCEA9wnATcY/lgjcIwA3CcBYAnCPANxg/HMQgesE4AYBmIMAXCcAFxn/XETgGgG4SADmIgDXCMAFxj8nEThPAC4QgDkJwHkCcJLxz00EzhGAkwRgbgJwjgCcYPxrEIHjBOAEAViDABwnAAcZ/1pE4BgBOEgA1iIAxwjAAca/JhH4mgAcIABrEoCvCcAXjH9tIvCcAHxBANYmAM8JwBPGvwcR+JwAPCEAexCAzwnAJ4x/LyLwmAB8QgD2IgCPCcADxr8nEfidADwgAHsSgN8JwAfGvzcReE8APhCAvQnAewLwhvFnEIFfBOANAcggAL8IwE/Gn0UEXgnATwKQRQBeCcAL488kAgLwgwBkEgABeHkB40+WHoH4AEAyAYBgAgDBBACCCQAEEwAIJgAQTAAgmABAMAGAYAIAwQQAggkABBMACCYAEEwAIJgAQDABgGACAMEEAIIJAAQTAAgmABBMACCYAEAwAYBgAgDBBACCCQAEEwAIJgAQTAAgmABAMAGAYAIAwQQAggkABBMACCYAEEwAIJgAQDABgGACAMEEAIIJAAQTAAgmABBMACCYAEAwAYBgAgDBBACCCQAEEwAIJgAQTAAgmABAMAGAYAIAwQQAggkABBMACCYAEEwAINh/p/JoLhfYRNsAAAAASUVORK5CYII=",c=JSON.parse('{"title":"离屏渲染","description":"","frontmatter":{},"headers":[],"relativePath":"showcase/windowless/index.md","filePath":"showcase/windowless/index.md","lastUpdated":1733013181000}'),e={name:"showcase/windowless/index.md"};function r(E,s,d,g,y,F){const i=h("AutoGithubLink");return k(),n("div",null,[s[0]||(s[0]=p(`

离屏渲染

有时我们只是想利用 gpu,也许是要并行地计算一组大的数字; 也许是正在制作一部 3D 电影,并需要用路径追踪来创建一个看起来很真实的场景; 也许正在挖掘一种加密货币。在所有这些情况下,我们可能 不需要 从窗口看到正在发生的事情。

如何使用?

离屏渲染(Off-Screen Rendering, 也叫做 Windowless Rendering)其实很简单:事实上,我们不需要一个窗口(Window)来创建一个GPU 实例,不需要一个窗口来选择适配器,也不需要一个窗口来创建逻辑设备。我们只需要窗口来创建一个展示平面交换链(SwapChain)。所以,只要有了逻辑设备,就可以开始向 GPU 发送命令。

rust
let adapter = instance
     .request_adapter(&wgpu::RequestAdapterOptions {
         compatible_surface: Some(&surface),
         ..Default::default()
diff --git a/assets/simuverse.md.DfJWlfef.js b/assets/simuverse.md.Dul2tOGJ.js
similarity index 86%
rename from assets/simuverse.md.DfJWlfef.js
rename to assets/simuverse.md.Dul2tOGJ.js
index 73aa08d3..92f67ca2 100644
--- a/assets/simuverse.md.DfJWlfef.js
+++ b/assets/simuverse.md.Dul2tOGJ.js
@@ -1 +1 @@
-import{_ as s,c as a,G as t,B as r,o}from"./chunks/framework.C82C2wD0.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"page","sidebar":false},"headers":[],"relativePath":"simuverse.md","filePath":"simuverse.md","lastUpdated":1732966628000}'),n={name:"simuverse.md"};function c(m,l,i,p,d,u){const e=r("WasmFullScreen");return o(),a("div",null,[t(e,{"wasm-name":"simuverse"})])}const v=s(n,[["render",c]]);export{f as __pageData,v as default};
+import{_ as s,c as a,G as t,B as r,o}from"./chunks/framework.C82C2wD0.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"page","sidebar":false},"headers":[],"relativePath":"simuverse.md","filePath":"simuverse.md","lastUpdated":1733013181000}'),n={name:"simuverse.md"};function c(m,l,i,p,d,u){const e=r("WasmFullScreen");return o(),a("div",null,[t(e,{"wasm-name":"simuverse"})])}const v=s(n,[["render",c]]);export{f as __pageData,v as default};
diff --git a/assets/simuverse.md.DfJWlfef.lean.js b/assets/simuverse.md.Dul2tOGJ.lean.js
similarity index 86%
rename from assets/simuverse.md.DfJWlfef.lean.js
rename to assets/simuverse.md.Dul2tOGJ.lean.js
index 73aa08d3..92f67ca2 100644
--- a/assets/simuverse.md.DfJWlfef.lean.js
+++ b/assets/simuverse.md.Dul2tOGJ.lean.js
@@ -1 +1 @@
-import{_ as s,c as a,G as t,B as r,o}from"./chunks/framework.C82C2wD0.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"page","sidebar":false},"headers":[],"relativePath":"simuverse.md","filePath":"simuverse.md","lastUpdated":1732966628000}'),n={name:"simuverse.md"};function c(m,l,i,p,d,u){const e=r("WasmFullScreen");return o(),a("div",null,[t(e,{"wasm-name":"simuverse"})])}const v=s(n,[["render",c]]);export{f as __pageData,v as default};
+import{_ as s,c as a,G as t,B as r,o}from"./chunks/framework.C82C2wD0.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"page","sidebar":false},"headers":[],"relativePath":"simuverse.md","filePath":"simuverse.md","lastUpdated":1733013181000}'),n={name:"simuverse.md"};function c(m,l,i,p,d,u){const e=r("WasmFullScreen");return o(),a("div",null,[t(e,{"wasm-name":"simuverse"})])}const v=s(n,[["render",c]]);export{f as __pageData,v as default};
diff --git a/beginner/tutorial1-window.html b/beginner/tutorial1-window.html
index 5575efb3..8cfd93d9 100644
--- a/beginner/tutorial1-window.html
+++ b/beginner/tutorial1-window.html
@@ -13,7 +13,7 @@
     
     
     
-    
+    
     
     
     
@@ -192,8 +192,8 @@
       }
     </style>
   </body>
-</html>

点击下面的按钮查看示例代码运行!

- +</html>

点击下面的按钮查看示例代码运行!

+ \ No newline at end of file diff --git a/beginner/tutorial2-surface/index.html b/beginner/tutorial2-surface/index.html index 8875997d..a82556a3 100644 --- a/beginner/tutorial2-surface/index.html +++ b/beginner/tutorial2-surface/index.html @@ -13,7 +13,7 @@ - + @@ -332,8 +332,8 @@ }), store: wgpu::StoreOp::Store }, -})

RenderPassColorAttachment 有一个 view 字段,用于通知 wgpu 将颜色保存到什么纹理。这里我们指定使用 surface.get_current_texture() 创建的 view,这意味着向此附件(Attachment)上绘制的任何颜色都会被绘制到屏幕上。

resolve_target 是接收多重采样解析输出的纹理。除非启用了多重采样, 否则不需要设置它,保留为 None 即可。

ops 字段需要一个 wpgu::Operations 对象。它告诉 wgpu 如何处理屏幕上的颜色(由 view 指定)。load 字段告诉 wgpu 如何处理存储在前一帧的颜色。目前,我们正在用蓝色清屏store 字段告诉 wgpu 是否要将渲染的结果存储到纹理视图后面的纹理上(在这个例子中是 SurfaceTexture )。我们希望存储渲染结果,所以设置为 true

当屏幕被场景对象完全遮挡,那么不清屏是很常见的。但如果你的场景没有覆盖整个屏幕,就会出现类似下边的情况:

./no-clear.png

验证错误?

如果你的机器上运行的是 Vulkan SDK 的旧版本, wgpu 在你的机器上使用 Vulkan 后端时可能会遇到验证错误。至少需要使用 1.2.182 及以上版本,因为旧版本可能会产生一些误报。如果错误持续存在,那可能是遇到了 wgpu 的错误。你可以在 https://github.com/gfx-rs/wgpu 上提交此问题。

挑战

修改 xx_input() 函数以捕获鼠标事件,并使用该函数来更新清屏的颜色。提示:你可能需要用到 WindowEvent::CursorMoved

加入 wgpu 微信学习交流群

- +})

RenderPassColorAttachment 有一个 view 字段,用于通知 wgpu 将颜色保存到什么纹理。这里我们指定使用 surface.get_current_texture() 创建的 view,这意味着向此附件(Attachment)上绘制的任何颜色都会被绘制到屏幕上。

resolve_target 是接收多重采样解析输出的纹理。除非启用了多重采样, 否则不需要设置它,保留为 None 即可。

ops 字段需要一个 wpgu::Operations 对象。它告诉 wgpu 如何处理屏幕上的颜色(由 view 指定)。load 字段告诉 wgpu 如何处理存储在前一帧的颜色。目前,我们正在用蓝色清屏store 字段告诉 wgpu 是否要将渲染的结果存储到纹理视图后面的纹理上(在这个例子中是 SurfaceTexture )。我们希望存储渲染结果,所以设置为 true

当屏幕被场景对象完全遮挡,那么不清屏是很常见的。但如果你的场景没有覆盖整个屏幕,就会出现类似下边的情况:

./no-clear.png

验证错误?

如果你的机器上运行的是 Vulkan SDK 的旧版本, wgpu 在你的机器上使用 Vulkan 后端时可能会遇到验证错误。至少需要使用 1.2.182 及以上版本,因为旧版本可能会产生一些误报。如果错误持续存在,那可能是遇到了 wgpu 的错误。你可以在 https://github.com/gfx-rs/wgpu 上提交此问题。

挑战

修改 xx_input() 函数以捕获鼠标事件,并使用该函数来更新清屏的颜色。提示:你可能需要用到 WindowEvent::CursorMoved

加入 wgpu 微信学习交流群

+ \ No newline at end of file diff --git a/beginner/tutorial3-pipeline/index.html b/beginner/tutorial3-pipeline/index.html index da68ec0b..842e4ca8 100644 --- a/beginner/tutorial3-pipeline/index.html +++ b/beginner/tutorial3-pipeline/index.html @@ -13,7 +13,7 @@ - + @@ -137,8 +137,8 @@ render_pass.set_pipeline(&self.render_pipeline); // 2. render_pass.draw(0..3, 0..1); // 3. } -// ...

上面代码所做的少量修改:

  1. _render_pass 声明为可变变量并重命名为 render_pass
  2. render_pass 上设置刚刚创建的管线
  3. 告诉 wgpu 用 3 个顶点和 1 个实例(实例的索引就是 @builtin(vertex_index) 的由来)来进行绘制。

修改完代码后,运行程序应该就能看到一个可爱的棕色三角形:

可爱的棕色三角形

挑战

创建第二个管线,使用三角形顶点的位置数据来创建一个颜色并发送给片元着色器。当你按下空格键时让应用程序交替使用两个管线。提示:你需要修改 VertexOutput

- +// ...

上面代码所做的少量修改:

  1. _render_pass 声明为可变变量并重命名为 render_pass
  2. render_pass 上设置刚刚创建的管线
  3. 告诉 wgpu 用 3 个顶点和 1 个实例(实例的索引就是 @builtin(vertex_index) 的由来)来进行绘制。

修改完代码后,运行程序应该就能看到一个可爱的棕色三角形:

可爱的棕色三角形

挑战

创建第二个管线,使用三角形顶点的位置数据来创建一个颜色并发送给片元着色器。当你按下空格键时让应用程序交替使用两个管线。提示:你需要修改 VertexOutput

+ \ No newline at end of file diff --git a/beginner/tutorial4-buffer/index.html b/beginner/tutorial4-buffer/index.html index dbf50ece..b28663f6 100644 --- a/beginner/tutorial4-buffer/index.html +++ b/beginner/tutorial4-buffer/index.html @@ -13,7 +13,7 @@ - + @@ -233,8 +233,8 @@ render_pass.set_pipeline(&self.render_pipeline); render_pass.set_vertex_buffer(0, self.vertex_buffer.slice(..)); render_pass.set_index_buffer(self.index_buffer.slice(..), wgpu::IndexFormat::Uint16); // 1. -render_pass.draw_indexed(0..self.num_indices, 0, 0..1); // 2.

有几点需要注意:

  1. 命令名称是 set_index_buffer 而不是 set_index_buffers, 一次绘制(draw_XXX())只能设置一个索引缓冲区。但是,你可以在一个渲染通道内调用多次绘制,每次都设置不同的索引缓冲区。
  2. 当使用索引缓冲区时,需使用 draw_indexed 来绘制,draw 命令会忽略索引缓冲区。还需确保你使用的是索引数(num_indices)而非顶点数,否则你的模型要么画错,要么因为没有足够的索引数而导致程序恐慌(panic)。

完成这些后,运行程序应该就能看到窗口里有一个洋红色的五边形了:

Magenta pentagon in window

颜色校正

如果在洋红色五角星上使用取色器,你会得到一个 #BC00BC 的十六进制值。如果把它转换成 RGB 值会得到(188, 0, 188),将这些值除以 255 使其映射进 [0,1] 范围,大致会得到(0.737254902,0,0.737254902)。这与我们赋给顶点颜色的值不同,后者是(0.5, 0.0, 0.5)。其原因与色彩空间(Color Space)有关。

大多数显示器使用的色彩空间被称为 sRGB(事实上,目前市面上的中高端显示器已经支持 DisplayP3 甚至是 BT.2100 等广色域色彩空间,macOS 与 iOS 设备默认使用的就是 DisplayP3 色彩空间)。我们的展示平面(完全取决于从 surface.get_capabilities(&adapter).formats 返回的格式)默认支持 sRGB 纹理格式。sRGB 格式是根据颜色的相对亮度而不是实际亮度来存储的。其原因是人眼对光线的感知不是线性的。我们注意到较深的颜色比较浅的颜色有更多差异。

可以用下面的公式得到一个正确颜色的近似值。srgb_color = (rgb_color / 255) ^ 2.2。在 RGB 值为 (188, 0, 188) 的情况下,我们将得到 (0.511397819, 0.0, 0.511397819)。与我们的(0.5, 0.0, 0.5)有点偏差。虽然你可以通过调整公式来获得所需的数值,但使用纹理可能会节省很多时间,因为它们默认是以 sRGB 方式存储的,所以不会像顶点颜色那样出现颜色不准确的情况。我们会在下一课中介绍纹理。

假如你的显示设备使用的是 DisplayP3 或 BT.2100 等广色域色彩空间,那么当你使用取色器检查屏幕上的渲染结果时,拾取到的色值将与着色器内的返回值不一致。

这是因为目前 WebGPU 仅支持较小色域的 sRGB 色彩空间,而硬件会执行色彩空间转换(color space conversion)将 sRGB 色值映射到更广的色域来显示到屏幕上,因此,使用取色器拾取到的色值是经过转换后的值。

挑战

使用顶点缓冲区和索引缓冲区创建一个比教程里做的更复杂的形状(也就是三个以上的三角形),并用空格键在两者之间切换。

- +render_pass.draw_indexed(0..self.num_indices, 0, 0..1); // 2.

有几点需要注意:

  1. 命令名称是 set_index_buffer 而不是 set_index_buffers, 一次绘制(draw_XXX())只能设置一个索引缓冲区。但是,你可以在一个渲染通道内调用多次绘制,每次都设置不同的索引缓冲区。
  2. 当使用索引缓冲区时,需使用 draw_indexed 来绘制,draw 命令会忽略索引缓冲区。还需确保你使用的是索引数(num_indices)而非顶点数,否则你的模型要么画错,要么因为没有足够的索引数而导致程序恐慌(panic)。

完成这些后,运行程序应该就能看到窗口里有一个洋红色的五边形了:

Magenta pentagon in window

颜色校正

如果在洋红色五角星上使用取色器,你会得到一个 #BC00BC 的十六进制值。如果把它转换成 RGB 值会得到(188, 0, 188),将这些值除以 255 使其映射进 [0,1] 范围,大致会得到(0.737254902,0,0.737254902)。这与我们赋给顶点颜色的值不同,后者是(0.5, 0.0, 0.5)。其原因与色彩空间(Color Space)有关。

大多数显示器使用的色彩空间被称为 sRGB(事实上,目前市面上的中高端显示器已经支持 DisplayP3 甚至是 BT.2100 等广色域色彩空间,macOS 与 iOS 设备默认使用的就是 DisplayP3 色彩空间)。我们的展示平面(完全取决于从 surface.get_capabilities(&adapter).formats 返回的格式)默认支持 sRGB 纹理格式。sRGB 格式是根据颜色的相对亮度而不是实际亮度来存储的。其原因是人眼对光线的感知不是线性的。我们注意到较深的颜色比较浅的颜色有更多差异。

可以用下面的公式得到一个正确颜色的近似值。srgb_color = (rgb_color / 255) ^ 2.2。在 RGB 值为 (188, 0, 188) 的情况下,我们将得到 (0.511397819, 0.0, 0.511397819)。与我们的(0.5, 0.0, 0.5)有点偏差。虽然你可以通过调整公式来获得所需的数值,但使用纹理可能会节省很多时间,因为它们默认是以 sRGB 方式存储的,所以不会像顶点颜色那样出现颜色不准确的情况。我们会在下一课中介绍纹理。

假如你的显示设备使用的是 DisplayP3 或 BT.2100 等广色域色彩空间,那么当你使用取色器检查屏幕上的渲染结果时,拾取到的色值将与着色器内的返回值不一致。

这是因为目前 WebGPU 仅支持较小色域的 sRGB 色彩空间,而硬件会执行色彩空间转换(color space conversion)将 sRGB 色值映射到更广的色域来显示到屏幕上,因此,使用取色器拾取到的色值是经过转换后的值。

挑战

使用顶点缓冲区和索引缓冲区创建一个比教程里做的更复杂的形状(也就是三个以上的三角形),并用空格键在两者之间切换。

+ \ No newline at end of file diff --git a/beginner/tutorial5-textures/index.html b/beginner/tutorial5-textures/index.html index d2b6d592..1a11e767 100644 --- a/beginner/tutorial5-textures/index.html +++ b/beginner/tutorial5-textures/index.html @@ -13,7 +13,7 @@ - + @@ -367,8 +367,8 @@ diffuse_texture, // NEW } } -}

经过上边的整理,代码的工作方式还和以前一样,但我们现在有了一个更便利的方式来创建纹理。

挑战

另创建一个纹理,并在你按下空格键时交替使用。

- +}

经过上边的整理,代码的工作方式还和以前一样,但我们现在有了一个更便利的方式来创建纹理。

挑战

另创建一个纹理,并在你按下空格键时交替使用。

+ \ No newline at end of file diff --git a/beginner/tutorial6-uniforms/index.html b/beginner/tutorial6-uniforms/index.html index 02448237..7d020b9a 100644 --- a/beginner/tutorial6-uniforms/index.html +++ b/beginner/tutorial6-uniforms/index.html @@ -13,7 +13,7 @@ - + @@ -298,8 +298,8 @@ self.camera_controller.update_camera(&mut self.camera); self.camera_uniform.update_view_proj(&self.camera); self.app.queue.write_buffer(&self.camera_buffer, 0, bytemuck::cast_slice(&[self.camera_uniform])); -}

这就是要做的全部工作了。现在运行代码,将能看到一个带有树木纹理的五边形,并可以用 wasd/arrow 键来旋转和缩放。

挑战

让上面的五边形独立于摄像机进行旋转。提示:你需要另一个矩阵来实现这一点

- +}

这就是要做的全部工作了。现在运行代码,将能看到一个带有树木纹理的五边形,并可以用 wasd/arrow 键来旋转和缩放。

挑战

让上面的五边形独立于摄像机进行旋转。提示:你需要另一个矩阵来实现这一点

+ \ No newline at end of file diff --git a/beginner/tutorial7-instancing/index.html b/beginner/tutorial7-instancing/index.html index 72d82c55..9d7bdab4 100644 --- a/beginner/tutorial7-instancing/index.html +++ b/beginner/tutorial7-instancing/index.html @@ -13,7 +13,7 @@ - + @@ -161,8 +161,8 @@ out.tex_coords = model.tex_coords; out.clip_position = camera.view_proj * model_matrix * vec4f(model.position, 1.0); return out; -}

完成后,应该就能看到一片树林了!

./forest.png

挑战

逐帧变更实例的位置 和/或 旋转弧度。

- +}

完成后,应该就能看到一片树林了!

./forest.png

挑战

逐帧变更实例的位置 和/或 旋转弧度。

+ \ No newline at end of file diff --git a/beginner/tutorial8-depth/index.html b/beginner/tutorial8-depth/index.html index 469ad19c..0d14a605 100644 --- a/beginner/tutorial8-depth/index.html +++ b/beginner/tutorial8-depth/index.html @@ -13,7 +13,7 @@ - + @@ -108,8 +108,8 @@ stencil_ops: None, }), ..Default::default() -});

这就是我们所要做的!不涉及着色器代码!现在运行该应用程序,将看到深度问题已不复存在:

forest_fixed.png

挑战

深度缓冲区是一张纹理,所以我们可以在着色器中对其采样。请为深度纹理创建一个绑定组(或重用现有的),并将其渲染到屏幕上。

- +});

这就是我们所要做的!不涉及着色器代码!现在运行该应用程序,将看到深度问题已不复存在:

forest_fixed.png

挑战

深度缓冲区是一张纹理,所以我们可以在着色器中对其采样。请为深度纹理创建一个绑定组(或重用现有的),并将其渲染到屏幕上。

+ \ No newline at end of file diff --git a/beginner/tutorial9-models/index.html b/beginner/tutorial9-models/index.html index 65ee2831..ad0a8d08 100644 --- a/beginner/tutorial9-models/index.html +++ b/beginner/tutorial9-models/index.html @@ -13,7 +13,7 @@ - + @@ -394,8 +394,8 @@ } }

lib.rs 中的代码也相应地修改一下以调用新的 draw_model_instanced 函数:

rust
render_pass.set_vertex_buffer(1, self.instance_buffer.slice(..));
 render_pass.set_pipeline(&self.render_pipeline);
-render_pass.draw_model_instanced(&self.obj_model, 0..self.instances.len() as u32, &self.camera_bind_group);
- +render_pass.draw_model_instanced(&self.obj_model, 0..self.instances.len() as u32, &self.camera_bind_group);
+ \ No newline at end of file diff --git a/beginner/wgsl.html b/beginner/wgsl.html index db4bff59..a9cf4c6f 100644 --- a/beginner/wgsl.html +++ b/beginner/wgsl.html @@ -13,7 +13,7 @@ - + @@ -273,8 +273,8 @@ Err(e) => panic!("无法读取 {:?}: {:?}", path, e), }; Some(shader) -}

上面的几十行代码就是一套完整的预处理逻辑,它在每次程序编译时自动检查 wgsl/ 目录下的待处理着色器有没有发生变化,如果有变化,就重新处理并在 wgsl_preprocessed/ 目录下写入一个同名的处理后的着色器。

- +}

上面的几十行代码就是一套完整的预处理逻辑,它在每次程序编译时自动检查 wgsl/ 目录下的待处理着色器有没有发生变化,如果有变化,就重新处理并在 wgsl_preprocessed/ 目录下写入一个同名的处理后的着色器。

+ \ No newline at end of file diff --git a/hashmap.json b/hashmap.json index 3c0ed58c..f6cf56b0 100644 --- a/hashmap.json +++ b/hashmap.json @@ -1 +1 @@ -{"beginner_tutorial1-window.md":"C8ZI0hg5","beginner_tutorial2-surface_index.md":"ByWMdwf-","beginner_tutorial3-pipeline_index.md":"DI_8qMbn","beginner_tutorial4-buffer_index.md":"CBVcI70M","beginner_tutorial5-textures_index.md":"D7BOSf3I","beginner_tutorial6-uniforms_index.md":"CyrO-8g-","beginner_tutorial7-instancing_index.md":"C_URgdnh","beginner_tutorial8-depth_index.md":"Drl7CZ3w","beginner_tutorial9-models_index.md":"D3BzPIHP","beginner_wgsl.md":"sWJZXsDE","glossary_of_terms.md":"C1LKv77e","index.md":"DcsObarj","integration-and-debugging_android_index.md":"DfI_uwOa","integration-and-debugging_bevy_index.md":"CrTu7iUb","integration-and-debugging_index.md":"CFBzd_c7","integration-and-debugging_ios_index.md":"ClAGeCtq","integration-and-debugging_snapdragon-profiler_index.md":"Dw0yHUNM","integration-and-debugging_xcode_index.md":"C5BZo0Bn","intermediate_compute-pipeline_index.md":"CjN-Vtfd","intermediate_hdr_index.md":"Ctd21HWa","intermediate_invisible-ink_index.md":"DBVqj9a8","intermediate_pbr-notes.md":"DqzzrtzO","intermediate_tutorial10-lighting_index.md":"CnCNvDBO","intermediate_tutorial11-normals_index.md":"B7d0pD7y","intermediate_tutorial12-camera_index.md":"Co2N5_ta","intermediate_tutorial13-terrain_index.md":"DUADsmHW","intermediate_vertex-animation_index.md":"cG3Eq4HO","intermediate_vertex-animation_universal-animation-formula.md":"_1r7_WY2","showcase_alignment.md":"CyePbyqd","showcase_compute_index.md":"CWOTP5pM","showcase_gifs_index.md":"CH80CEdo","showcase_pong_index.md":"CUPuRLxE","showcase_threading.md":"CFux7KE3","showcase_windowless_index.md":"Ct5WE8lF","simuverse.md":"DfJWlfef"} +{"beginner_tutorial1-window.md":"B7zlm0Sv","beginner_tutorial2-surface_index.md":"CfKWAhfY","beginner_tutorial3-pipeline_index.md":"gz4l2pcY","beginner_tutorial4-buffer_index.md":"Cg7bRp8Q","beginner_tutorial5-textures_index.md":"H_E1oIHA","beginner_tutorial6-uniforms_index.md":"eQLJ9t_O","beginner_tutorial7-instancing_index.md":"DeW__MEG","beginner_tutorial8-depth_index.md":"BukaYSdF","beginner_tutorial9-models_index.md":"rqNdd8PH","beginner_wgsl.md":"CcD3RxrU","glossary_of_terms.md":"Btqh71Le","index.md":"BFjKA99M","integration-and-debugging_android_index.md":"B6mU7e9b","integration-and-debugging_bevy_index.md":"BbyyLarL","integration-and-debugging_index.md":"DPhtkj8c","integration-and-debugging_ios_index.md":"Cxl1hdmz","integration-and-debugging_snapdragon-profiler_index.md":"B8pn0hiK","integration-and-debugging_xcode_index.md":"C_yUZzL3","intermediate_compute-pipeline_index.md":"DlmYkMiE","intermediate_hdr_index.md":"BDXkM3Wb","intermediate_invisible-ink_index.md":"CVscJZGT","intermediate_pbr-notes.md":"DywmZiIv","intermediate_tutorial10-lighting_index.md":"CJkDqTjh","intermediate_tutorial11-normals_index.md":"CUYEvik6","intermediate_tutorial12-camera_index.md":"Deb8DUiR","intermediate_tutorial13-terrain_index.md":"Cv_QF1Ni","intermediate_vertex-animation_index.md":"CKm8ry4c","intermediate_vertex-animation_universal-animation-formula.md":"DjBsHDyn","showcase_alignment.md":"BqL_BHpa","showcase_compute_index.md":"B-OUxU2Q","showcase_gifs_index.md":"CoRgiZs-","showcase_pong_index.md":"Y5Zr7TtJ","showcase_threading.md":"BUeJbMh1","showcase_windowless_index.md":"BsQAIwDs","simuverse.md":"Dul2tOGJ"} diff --git a/index.html b/index.html index 878c3089..3f304119 100644 --- a/index.html +++ b/index.html @@ -13,7 +13,7 @@ - + @@ -29,8 +29,8 @@ # compute-pipeline, vertex-animation 及 hilbert-curve 示例只能在桌面端与浏览器端 WebGPU 环境运行 cargo run-wasm --bin vertex-animation # 使用 WebGL 2.0 -cargo run-wasm --bin tutorial2-surface --features webgl

调试与集成 部分的代码是 2 个独立的项目: wgpu-in-appbevy-in-app

simuverse 是基于 wgpu + egui 的扩展示例,提供了粒子矢量场,流体场及 GPU 程序化纹理的实现。

如何开启浏览器 WebGPU 功能支持

Chrome

Chrome 113+、Microsoft Edge 113+ 及 Arc 浏览器均已默认支持 WebGPU 功能。

Safari

Safari 18 (macOS 15) 已经默认开启了 WebGPU 功能。

macOS 14- 系统上,需安装 Safari Technology Preview 185+,从顶部菜单栏选择 开发 -> 功能标志 , 搜索并勾选 WebGPU: Safari Technology Preview

Firefox

安装 Nightly 版本,在地址栏中输入 about:config , 将 dom.webgpu.enabled 设置为 true: Firefox Nightly

关于译者

我是一名移动端架构师,有多年使用 OpenGL / WebGL, Metal 的实践经验。2018 年开始接触 WebGPU,目前正积极地参与到 wgpu 开源项目的开发与完善之中,并且已于两年前在 AppStore 上架了基于 wgpu 实现的毛笔书法模拟 App 字习 Pro

加入 wgpu 微信学习交流群

- +cargo run-wasm --bin tutorial2-surface --features webgl

调试与集成 部分的代码是 2 个独立的项目: wgpu-in-appbevy-in-app

simuverse 是基于 wgpu + egui 的扩展示例,提供了粒子矢量场,流体场及 GPU 程序化纹理的实现。

如何开启浏览器 WebGPU 功能支持

Chrome

Chrome 113+、Microsoft Edge 113+ 及 Arc 浏览器均已默认支持 WebGPU 功能。

Safari

Safari 18 (macOS 15) 已经默认开启了 WebGPU 功能。

macOS 14- 系统上,需安装 Safari Technology Preview 185+,从顶部菜单栏选择 开发 -> 功能标志 , 搜索并勾选 WebGPU: Safari Technology Preview

Firefox

安装 Nightly 版本,在地址栏中输入 about:config , 将 dom.webgpu.enabled 设置为 true: Firefox Nightly

关于译者

我是一名移动端架构师,有多年使用 OpenGL / WebGL, Metal 的实践经验。2018 年开始接触 WebGPU,目前正积极地参与到 wgpu 开源项目的开发与完善之中,并且已于两年前在 AppStore 上架了基于 wgpu 实现的毛笔书法模拟 App 字习 Pro

加入 wgpu 微信学习交流群

+ \ No newline at end of file diff --git a/integration-and-debugging/android/index.html b/integration-and-debugging/android/index.html index 5bfb00ec..1c93e2dc 100644 --- a/integration-and-debugging/android/index.html +++ b/integration-and-debugging/android/index.html @@ -13,7 +13,7 @@ - + @@ -227,8 +227,8 @@ .height(screenWidth), ) } -}

基于以上代码,我写了一个叫 wgpu-in-app 的示例程序,效果如下:

- +}

基于以上代码,我写了一个叫 wgpu-in-app 的示例程序,效果如下:

+ \ No newline at end of file diff --git a/integration-and-debugging/bevy/index.html b/integration-and-debugging/bevy/index.html index 8826e5ba..9e31f535 100644 --- a/integration-and-debugging/bevy/index.html +++ b/integration-and-debugging/bevy/index.html @@ -13,7 +13,7 @@ - + @@ -280,8 +280,8 @@ windows_state.apply(&mut app.world); // 由于我们没有使用 Bevy App 的 runner 函数,需要手动 update app.update(); -}

运行

Bevy in Android App
Bevy in iOS App
- +}

运行

Bevy in Android App
Bevy in iOS App
+ \ No newline at end of file diff --git a/integration-and-debugging/index.html b/integration-and-debugging/index.html index 8deac19e..af94f015 100644 --- a/integration-and-debugging/index.html +++ b/integration-and-debugging/index.html @@ -13,14 +13,14 @@ - + -
Skip to content

楔子

调试工具集

教程的开篇我们就已提到:wgpu 是基于 WebGPU 规范的跨平台图形 API。也就是说,wgpu 不光能运行在 Web 及桌面环境里,更是能运行在 iOS、Android 两大移动操作系统上。

wgpu 的运行并不依赖于任何窗口程序,所以也不提供窗口的创建及管理功能,只有在创建基于窗口的绘制表面(Surface)时,才可能需要一个实现了 raw-window-handle 抽象接口的实参(之所以说是可能需要,是因为在 iOS/macOS 上,使用 CAMetalLayer 也能创建绘制表面的实例)。 winit 是一个实现了 raw-window-handle 抽象接口的、跨平台的窗口创建及管理(crate)。 在桌面端(macOS、Windows、Linux)及移动端(iOS、Android),winit 会接管整个 App (应用程序)的窗口管理(包括事件循环(Events loop))。

毫无疑问,对于游戏类 App, 使用 wgpu + winit 的组合是非常合适的。但是,大量非游戏类 App 也经常有使用图形 API 的需求(比如,图表、图片滤镜等),这些 App 需要用到大量的系统 UI 组件及交互,winit 这种接管整个 App 窗口的方式是不合适的。所以,将 wgpu 集成到现有的 iOS、Android App 且不使用 winit 将非常有用。

我们都知道,调试和分析是优化程序性能的必备技能。

虽然 wgpu 会在运行时验证 API 调用及参数设置来保证只有有效的工作负载才能提交给 GPU 执行,但是,这并不能保证渲染计算着色(Compute Shading)的正确性。本章中我们还会学习到如何利用调试工具来分析 wgpu 程序的性能及查找难以发现的错误!

加入 wgpu 微信学习交流群

- +
Skip to content

楔子

调试工具集

教程的开篇我们就已提到:wgpu 是基于 WebGPU 规范的跨平台图形 API。也就是说,wgpu 不光能运行在 Web 及桌面环境里,更是能运行在 iOS、Android 两大移动操作系统上。

wgpu 的运行并不依赖于任何窗口程序,所以也不提供窗口的创建及管理功能,只有在创建基于窗口的绘制表面(Surface)时,才可能需要一个实现了 raw-window-handle 抽象接口的实参(之所以说是可能需要,是因为在 iOS/macOS 上,使用 CAMetalLayer 也能创建绘制表面的实例)。 winit 是一个实现了 raw-window-handle 抽象接口的、跨平台的窗口创建及管理(crate)。 在桌面端(macOS、Windows、Linux)及移动端(iOS、Android),winit 会接管整个 App (应用程序)的窗口管理(包括事件循环(Events loop))。

毫无疑问,对于游戏类 App, 使用 wgpu + winit 的组合是非常合适的。但是,大量非游戏类 App 也经常有使用图形 API 的需求(比如,图表、图片滤镜等),这些 App 需要用到大量的系统 UI 组件及交互,winit 这种接管整个 App 窗口的方式是不合适的。所以,将 wgpu 集成到现有的 iOS、Android App 且不使用 winit 将非常有用。

我们都知道,调试和分析是优化程序性能的必备技能。

虽然 wgpu 会在运行时验证 API 调用及参数设置来保证只有有效的工作负载才能提交给 GPU 执行,但是,这并不能保证渲染计算着色(Compute Shading)的正确性。本章中我们还会学习到如何利用调试工具来分析 wgpu 程序的性能及查找难以发现的错误!

加入 wgpu 微信学习交流群

+ \ No newline at end of file diff --git a/integration-and-debugging/ios/index.html b/integration-and-debugging/ios/index.html index 470b85dc..40a11a9d 100644 --- a/integration-and-debugging/ios/index.html +++ b/integration-and-debugging/ios/index.html @@ -13,7 +13,7 @@ - + @@ -163,8 +163,8 @@ cargo build --target x86_64-apple-ios # 编译成功后需复制文件libwgpu_in_app.a至项目目录下 -# cp target/${TARGET}/${LIB_FOLDER}/libwgpu_in_app.a Apple/libs/${LIB_FOLDER}/libwgpu_in_app.a

打开 iOS 项目,在项目的 General 选项卡下找到 Frameworks, Libraries, and Embedded Content 栏, 导入系统的 libresolv.tbd 及我们刚编译的 .a 库,此导入只需要操作一次:

然后在 Build Settings 选项卡下找到 Search Paths -> Library Search Paths 栏, 将 .a 库的 debug 和 release 路径填到对应的字段中:

最后,还是在 Build Settings 选项卡下,找到 Linking -> Other Linker Flags 栏,添加 -ObjC-lc++ 两个链接标记:

当 Xcode 版本 >= 13 且 iOS Deployment Target >= 12.0 时,Other Linker Flags 栏的设置可以省略。

以上就是所有的关键代码和步骤了,我写了一个叫 wgpu-in-app 的示例程序,效果如下:

- +# cp target/${TARGET}/${LIB_FOLDER}/libwgpu_in_app.a Apple/libs/${LIB_FOLDER}/libwgpu_in_app.a

打开 iOS 项目,在项目的 General 选项卡下找到 Frameworks, Libraries, and Embedded Content 栏, 导入系统的 libresolv.tbd 及我们刚编译的 .a 库,此导入只需要操作一次:

然后在 Build Settings 选项卡下找到 Search Paths -> Library Search Paths 栏, 将 .a 库的 debug 和 release 路径填到对应的字段中:

最后,还是在 Build Settings 选项卡下,找到 Linking -> Other Linker Flags 栏,添加 -ObjC-lc++ 两个链接标记:

当 Xcode 版本 >= 13 且 iOS Deployment Target >= 12.0 时,Other Linker Flags 栏的设置可以省略。

以上就是所有的关键代码和步骤了,我写了一个叫 wgpu-in-app 的示例程序,效果如下:

+ \ No newline at end of file diff --git a/integration-and-debugging/snapdragon-profiler/index.html b/integration-and-debugging/snapdragon-profiler/index.html index b9e66c47..e649c857 100644 --- a/integration-and-debugging/snapdragon-profiler/index.html +++ b/integration-and-debugging/snapdragon-profiler/index.html @@ -13,7 +13,7 @@ - + @@ -23,8 +23,8 @@ // load: wgpu::LoadOp::Clear(wgpu::Color::BLACK), load: wgpu::LoadOp::Load, store: wgpu::StoreOp::Store -},

但此处实际上没有装载之前的帧缓冲区数据的必要,我们改为使用 Clear() 改善性能之后,就回收了之前片上内存装载消耗的性能,下图可以看到 GMEM Load 统计项消失了(没有发生片上内存装载时就不会显示):

帧捕获模式

帧捕获模式允许捕获 GPU 应用程序的单一帧, 可以详细显示一个场景在 GPU 上的渲染情况。

启用帧捕获模式的操作与追踪模式几乎一样,唯一不同之处就是帧捕获模式在点击 Take Snapshot 捕获一帧数据后会自动结束捕获:

左侧红框区域是当前帧的着色器代码,它们是由 WGSL 自动转换而来的 SPIR-V 代码(当然,此处的着色器代码还取决于 GPU 应用所使用的图形后端,我使用的是 Vulkan 后端,如果使用 OpenGL 后端,此处就会显示 GLSL 代码)。红框下方的区域可以显示着色器的错误信息。说到这里就不得不提 WebGPU 的 WGSL 着色器语言的优势了:WGSL 在编译阶段时就得到了很好的验证,运行时的验证更是能方便地指出着色器与管线不一致的地方。所以,我们不需要依赖 Snapdragon Profiler 的着色器调试功能。

中间绿框区域是命令队列(Queue)提交给当前帧的所有 Vulkan 命令。选中某一条命令,右侧资源面板将展示出此命令涉及的所有资源:图形|计算管线,纹理,着色器等等。

右侧蓝框区域是资源面板。选中某一项资源,下方的面板将能展示出资源详情。
比如,选择纹理资源后,下方的 Image Preview 选项卡会展示可缩放的大图预览,鼠标在纹理图片上滑动可显示对应像素的 RGB 色值,Inspector 选项卡会展示纹理的格式及层次细节参数等(左图); 选择布局描述符资源后,Inspector 选项卡会展示出绑定组布局描述符(BindGroupLayoutDescriptor)详情(右图):

- +},

但此处实际上没有装载之前的帧缓冲区数据的必要,我们改为使用 Clear() 改善性能之后,就回收了之前片上内存装载消耗的性能,下图可以看到 GMEM Load 统计项消失了(没有发生片上内存装载时就不会显示):

帧捕获模式

帧捕获模式允许捕获 GPU 应用程序的单一帧, 可以详细显示一个场景在 GPU 上的渲染情况。

启用帧捕获模式的操作与追踪模式几乎一样,唯一不同之处就是帧捕获模式在点击 Take Snapshot 捕获一帧数据后会自动结束捕获:

左侧红框区域是当前帧的着色器代码,它们是由 WGSL 自动转换而来的 SPIR-V 代码(当然,此处的着色器代码还取决于 GPU 应用所使用的图形后端,我使用的是 Vulkan 后端,如果使用 OpenGL 后端,此处就会显示 GLSL 代码)。红框下方的区域可以显示着色器的错误信息。说到这里就不得不提 WebGPU 的 WGSL 着色器语言的优势了:WGSL 在编译阶段时就得到了很好的验证,运行时的验证更是能方便地指出着色器与管线不一致的地方。所以,我们不需要依赖 Snapdragon Profiler 的着色器调试功能。

中间绿框区域是命令队列(Queue)提交给当前帧的所有 Vulkan 命令。选中某一条命令,右侧资源面板将展示出此命令涉及的所有资源:图形|计算管线,纹理,着色器等等。

右侧蓝框区域是资源面板。选中某一项资源,下方的面板将能展示出资源详情。
比如,选择纹理资源后,下方的 Image Preview 选项卡会展示可缩放的大图预览,鼠标在纹理图片上滑动可显示对应像素的 RGB 色值,Inspector 选项卡会展示纹理的格式及层次细节参数等(左图); 选择布局描述符资源后,Inspector 选项卡会展示出绑定组布局描述符(BindGroupLayoutDescriptor)详情(右图):

+ \ No newline at end of file diff --git a/integration-and-debugging/xcode/index.html b/integration-and-debugging/xcode/index.html index 7b0ea0b2..0b02b215 100644 --- a/integration-and-debugging/xcode/index.html +++ b/integration-and-debugging/xcode/index.html @@ -13,7 +13,7 @@ - + @@ -27,8 +27,8 @@ let camera_buffer = device.create_buffer_init(&wgpu::util::BufferInitDescriptor { label: Some("Camera Buffer"), // ... -}); - +}); + \ No newline at end of file diff --git a/intermediate/compute-pipeline/index.html b/intermediate/compute-pipeline/index.html index 53d35f52..31399be6 100644 --- a/intermediate/compute-pipeline/index.html +++ b/intermediate/compute-pipeline/index.html @@ -13,7 +13,7 @@ - + @@ -84,8 +84,8 @@ var texel = textureLoad(from_tex, uv, 0) // ... }

使用计算着色器需要注意避免坐标越界问题,因为通常纹理图像的分辨率与我们的工作组大小不是整除关系。

确定工作组大小与数量

工作组的最佳大小(指 x, y, z 三个维度的大小)并没有固定的值,需要结合实际使用场景来确定,而且能支持的最大值还与目标硬件有关。

我们从 adapter.limits() 里,能获取到当前设备支持的最大工作组大小 (maxComputeWorkgroupSizeX,maxComputeWorkgroupSizeY,maxComputeWorkgroupSizeZ),它们的默认值分别为 (256, 256, 64)

这三个维度的最大值容易让人误解,以为可以在计算着色器中设置 @workgroup_size(256, 256, 64)

事实上 WebGPU spec 的验证规则是:x * y * z <= max(x, max(y, z)), 也就是说,设置的 @workgroup_size 三个维度的乘积不能大于 maxComputeWorkgroupSizeX,Y,Z 三个维度中的最大值。

通常,当只需要在计算着色器中操作存储缓冲区时,使用一维工作组 @workgroup_size(x) 是合适的, y、z 维度保持默认值 1; 当需要操作纹理,使用二维或三维工作组 @workgroup_size(x,y) 会更便利。

现在我们可以来回答开头的问题了:

rust
cpass.dispatch_workgroups(workgroup_count.0, workgroup_count.1, workgroup_count.2);

上面计算通道的调度命令接收的参数具体是什么意思呢?

它们就是工作组网格的 3 个维度量。
1000 * 768 个线程组成的网格为例,假设工作组大小为@workgroup_size(32,16),那么:

rust
// 计算维度值并向上取整
-workgroup_count = ((1000 + (32 -1)) / 32, (768 + (16 -1)) / 16, 1);

CPU 端读取计算管线输出

案例展示/离屏渲染章节已讲解过如何从缓冲区中读取数据,存储纹理的读取也是一样的,这里不再赘述。

实战:实现高斯模糊

要掌握 WebGPU 计算管线,核心内容就是上边讲解的 “使用存储缓冲区与存储纹理” 及 “工作组”,某个具体实现的着色器逻辑代码并不重要,因为它们与顶点及片元着色器代码没有太大的区别。

点击下方的查看源码就能看到所有实现代码。如对图片模糊算法的细节感兴趣,可以查看这里

运行示例代码

此示例可在桌面端及 Chrome / Edge 113+、Arc、Safari 18、Firefox Nightly、Safari Technology Preview 浏览器中运行(如何开启浏览器 WebGPU 功能支持)

- +workgroup_count = ((1000 + (32 -1)) / 32, (768 + (16 -1)) / 16, 1);

CPU 端读取计算管线输出

案例展示/离屏渲染章节已讲解过如何从缓冲区中读取数据,存储纹理的读取也是一样的,这里不再赘述。

实战:实现高斯模糊

要掌握 WebGPU 计算管线,核心内容就是上边讲解的 “使用存储缓冲区与存储纹理” 及 “工作组”,某个具体实现的着色器逻辑代码并不重要,因为它们与顶点及片元着色器代码没有太大的区别。

点击下方的查看源码就能看到所有实现代码。如对图片模糊算法的细节感兴趣,可以查看这里

运行示例代码

此示例可在桌面端及 Chrome / Edge 113+、Arc、Safari 18、Firefox Nightly、Safari Technology Preview 浏览器中运行(如何开启浏览器 WebGPU 功能支持)

+ \ No newline at end of file diff --git a/intermediate/hdr/index.html b/intermediate/hdr/index.html index 0d577ee8..29615268 100644 --- a/intermediate/hdr/index.html +++ b/intermediate/hdr/index.html @@ -13,7 +13,7 @@ - + @@ -917,8 +917,8 @@ let result = (diffuse_color + specular_color) * object_color.xyz + reflection * shininess; return vec4<f32>(result, object_color.a); -}

A little note on the reflection math. The view_dir gives us the direction to the camera from the surface. The reflection math needs the direction from the camera to the surface, so we negate view_dir. We then use wgsl's built-in reflect function to reflect the inverted view_dir about the world_normal. This gives us a direction that we can use to sample the environment map and get the color of the sky in that direction. Just looking at the reflection component gives us the following:

关于反射计算的一点说明:view_dir 给出了从屏幕到相机的方向。反射计算需要从相机到屏幕的方向,因此需要对 view_dir 取反。然后,使用 wgsl 内置的 reflect 函数将取反的 view_dir 关于 world_normal 进行反射,得到一个反射方向,我们使用它来采样环境贴图并获取该方向上的天空颜色。

仅查看反射分量的效果:

just-reflections

最终场景效果:

with-reflections

示例

- +}

A little note on the reflection math. The view_dir gives us the direction to the camera from the surface. The reflection math needs the direction from the camera to the surface, so we negate view_dir. We then use wgsl's built-in reflect function to reflect the inverted view_dir about the world_normal. This gives us a direction that we can use to sample the environment map and get the color of the sky in that direction. Just looking at the reflection component gives us the following:

关于反射计算的一点说明:view_dir 给出了从屏幕到相机的方向。反射计算需要从相机到屏幕的方向,因此需要对 view_dir 取反。然后,使用 wgsl 内置的 reflect 函数将取反的 view_dir 关于 world_normal 进行反射,得到一个反射方向,我们使用它来采样环境贴图并获取该方向上的天空颜色。

仅查看反射分量的效果:

just-reflections

最终场景效果:

with-reflections

示例

+ \ No newline at end of file diff --git a/intermediate/invisible-ink/index.html b/intermediate/invisible-ink/index.html index 92612f8e..76b1602d 100644 --- a/intermediate/invisible-ink/index.html +++ b/intermediate/invisible-ink/index.html @@ -13,14 +13,14 @@ - + -
Skip to content

实现 iOS iMessage 中的隐形墨水特效

此示例展示了如何使用 wgpu + raw-window-handle 实现隐形墨水粒子特效。

交互方式:鼠标划动粒子区域,鼠标周围的粒子会回归到原始位置,显示出由粒子组成的文字内容。

正在加载 WASM 模块 ...
- +
Skip to content

实现 iOS iMessage 中的隐形墨水特效

此示例展示了如何使用 wgpu + raw-window-handle 实现隐形墨水粒子特效。

交互方式:鼠标划动粒子区域,鼠标周围的粒子会回归到原始位置,显示出由粒子组成的文字内容。

正在加载 WASM 模块 ...
+ \ No newline at end of file diff --git a/intermediate/pbr-notes.html b/intermediate/pbr-notes.html index 4a6bab7e..ed17b058 100644 --- a/intermediate/pbr-notes.html +++ b/intermediate/pbr-notes.html @@ -13,14 +13,14 @@ - + -
Skip to content
- +
Skip to content
+ \ No newline at end of file diff --git a/intermediate/tutorial10-lighting/index.html b/intermediate/tutorial10-lighting/index.html index e67136db..a6ffdfec 100644 --- a/intermediate/tutorial10-lighting/index.html +++ b/intermediate/tutorial10-lighting/index.html @@ -13,7 +13,7 @@ - + @@ -595,8 +595,8 @@ let specular_color = specular_strength * light.color;

最后,将高光颜色合成到片元输出结果中:

rust
let result = (ambient_color + diffuse_color + specular_color) * object_color.xyz;

完成全部代码之后,就能得到如下渲染效果:

./ambient_diffuse_specular_lighting.png

假如只查看镜面反射得到的高光颜色 specular_color 本身,渲染效果如下:

./specular_lighting.png

半程向量

所谓的半程向量(Halfway Vector)也是一个单位向量,它正好在视图方向和光源方向的中间。

到目前为止,我们实际上只实现了 Blinn-Phong 的 Phong 部分。Phong 反射模型很好用,但在某些情况下会产生 bug。 Blinn-Phong 的 Blinn 部分来自于这样的事实:如果把 view_dirlight_dir 加在一起,对结果进行归一化处理后得到一个半程向量,然后再与法向量 normal 求点积,就会得到大致相同的渲染结果,且不会有使用反射方向 reflect_dir 可能产生的问题。

rust
let view_dir = normalize(camera.view_pos.xyz - in.world_position);
 let half_dir = normalize(view_dir + light_dir);
 
-let specular_strength = pow(max(dot(in.world_normal, half_dir), 0.0), 32.0);

在我们这个场景下很难看出有何不同,但以下就是改进了光照计算后的渲染效果:

./half_dir.png

- +let specular_strength = pow(max(dot(in.world_normal, half_dir), 0.0), 32.0);

在我们这个场景下很难看出有何不同,但以下就是改进了光照计算后的渲染效果:

./half_dir.png

+ \ No newline at end of file diff --git a/intermediate/tutorial11-normals/index.html b/intermediate/tutorial11-normals/index.html index 7d653a66..d9e3828d 100644 --- a/intermediate/tutorial11-normals/index.html +++ b/intermediate/tutorial11-normals/index.html @@ -13,7 +13,7 @@ - + @@ -450,8 +450,8 @@ 0..self.instances.len() as u32, &self.camera_bind_group, &self.light_bind_group, -);

得到的渲染效果如下:

上面使用的纹理可以在 Github 源码库中找到。

- +);

得到的渲染效果如下:

上面使用的纹理可以在 Github 源码库中找到。

+ \ No newline at end of file diff --git a/intermediate/tutorial12-camera/index.html b/intermediate/tutorial12-camera/index.html index 5d5f4fd6..49a4e5b5 100644 --- a/intermediate/tutorial12-camera/index.html +++ b/intermediate/tutorial12-camera/index.html @@ -13,7 +13,7 @@ - + @@ -324,8 +324,8 @@ _ => {} } } -}

现在,我们应该可以自由控制摄像机了:

./screenshot.png

- +}

现在,我们应该可以自由控制摄像机了:

./screenshot.png

+ \ No newline at end of file diff --git a/intermediate/tutorial13-terrain/index.html b/intermediate/tutorial13-terrain/index.html index 4888ce98..fc5061c9 100644 --- a/intermediate/tutorial13-terrain/index.html +++ b/intermediate/tutorial13-terrain/index.html @@ -13,7 +13,7 @@ - + @@ -121,8 +121,8 @@ for y in workgroup_size.x: for z in workgroup_size.x: var global_invocation_id = local_invocation_id * workgroup_size + (x, y, z); - gen_terrain(global_invocation_id)

如果想了解更多关于工作组的信息请查看 WGSL 文档

TODO:

- + gen_terrain(global_invocation_id)

如果想了解更多关于工作组的信息请查看 WGSL 文档

TODO:

+ \ No newline at end of file diff --git a/intermediate/vertex-animation/index.html b/intermediate/vertex-animation/index.html index 9ce4ad37..eb8a7ce1 100644 --- a/intermediate/vertex-animation/index.html +++ b/intermediate/vertex-animation/index.html @@ -13,14 +13,14 @@ - + -
Skip to content

顶点动画

示例:顶点网格模拟翻页动画

- +
Skip to content

顶点动画

示例:顶点网格模拟翻页动画

+ \ No newline at end of file diff --git a/intermediate/vertex-animation/universal-animation-formula.html b/intermediate/vertex-animation/universal-animation-formula.html index 8afc5271..c4dbbb7b 100644 --- a/intermediate/vertex-animation/universal-animation-formula.html +++ b/intermediate/vertex-animation/universal-animation-formula.html @@ -13,7 +13,7 @@ - + @@ -69,8 +69,8 @@ fn vs_main(@location(0) pos: vec3f, @location(1) target_pos: vec3f) -> @builtin(position) vec4f { let new_pos = pos + (target_pos - pos) * hilbert.near_target_ratio; return mvp_mat.mvp * vec4<f32>(new_pos, 1.0); -}

查看完整源码

- +}

查看完整源码

+ \ No newline at end of file diff --git a/showcase/alignment.html b/showcase/alignment.html index dd5ab7ca..011591b2 100644 --- a/showcase/alignment.html +++ b/showcase/alignment.html @@ -13,7 +13,7 @@ - + @@ -39,8 +39,8 @@ | ^^^^^^^^^^^^ | = note: source type: `LightUniform` (256 bits) - = note: target type: `_::{closure#0}::TypeWithoutPadding` (192 bits)

Additional resources

If you're looking for more information check out the write-up by @teoxoy.

- + = note: target type: `_::{closure#0}::TypeWithoutPadding` (192 bits)

Additional resources

If you're looking for more information check out the write-up by @teoxoy.

+ \ No newline at end of file diff --git a/showcase/compute/index.html b/showcase/compute/index.html index d3a23e5e..5d05eb00 100644 --- a/showcase/compute/index.html +++ b/showcase/compute/index.html @@ -13,7 +13,7 @@ - + @@ -113,8 +113,8 @@ len: t_list.len(), }); flat_triangle_map.extend(t_list); -}

I ultimately decided against this method as it was more complicated, and I haven't had time to benchmark it to see if it's faster than the simple method.

Results

The tangents and bitangents are now getting calculated correctly and on the GPU!

./results.png

- +}

I ultimately decided against this method as it was more complicated, and I haven't had time to benchmark it to see if it's faster than the simple method.

Results

The tangents and bitangents are now getting calculated correctly and on the GPU!

./results.png

+ \ No newline at end of file diff --git a/showcase/gifs/index.html b/showcase/gifs/index.html index 40f6106c..c55b63a4 100644 --- a/showcase/gifs/index.html +++ b/showcase/gifs/index.html @@ -13,7 +13,7 @@ - + @@ -142,8 +142,8 @@ _ => { eprintln!("Something went wrong") } } -}

完成后,就可以将我们的帧数据传递给 save_gif() 函数了:

rust
save_gif("output.gif", &mut frames, 1, texture_size as u16).unwrap();

我们还可以使用纹理数组来做优化,并一次发送所有绘制命令。 但上面的简单程序就是生成 GIF 动图的全部要点了,运行示例代码将得到以下 GIF 图:

./output.gif

- +}

完成后,就可以将我们的帧数据传递给 save_gif() 函数了:

rust
save_gif("output.gif", &mut frames, 1, texture_size as u16).unwrap();

我们还可以使用纹理数组来做优化,并一次发送所有绘制命令。 但上面的简单程序就是生成 GIF 动图的全部要点了,运行示例代码将得到以下 GIF 图:

./output.gif

+ \ No newline at end of file diff --git a/showcase/pong/index.html b/showcase/pong/index.html index e9929890..557f4b2b 100644 --- a/showcase/pong/index.html +++ b/showcase/pong/index.html @@ -13,7 +13,7 @@ - + @@ -278,8 +278,8 @@ Some(()) }) .expect("Couldn't append canvas to document body."); -}

Everything else works the same.

Summary

A fun project to work on. It was overly architected, and kinda hard to make changes, but a good experience nonetheless.

Try the code down below! (Controls currently require a keyboard.)

- +}

Everything else works the same.

Summary

A fun project to work on. It was overly architected, and kinda hard to make changes, but a good experience nonetheless.

Try the code down below! (Controls currently require a keyboard.)

+ \ No newline at end of file diff --git a/showcase/threading.html b/showcase/threading.html index ce870f92..9b8d308b 100644 --- a/showcase/threading.html +++ b/showcase/threading.html @@ -13,7 +13,7 @@ - + @@ -106,8 +106,8 @@ } // ... }

We've parallelized loading the meshes, and making the vertex array for them. Probably a bit overkill, but rayon should prevent us from using too many threads.

You'll notice that we didn't use rayon for calculating the tangent, and bitangent. I tried to get it to work, but I was having trouble finding a way to do it without multiple mutable references to vertices. I don't feel like introducing a std::sync::Mutex, so I'll leave it for now.

This is honestly a better job for a compute shader, as the model data is going to get loaded into a buffer anyway.

It's that easy!

Most of the wgpu types are Send + Sync, so we can use them in threads without much trouble. It was so easy, that I feel like this tutorial is too short! I'll just leave off with a speed comparison between the previous model loading code and the current code.

Elapsed (Original): 309.596382ms
-Elapsed (Threaded): 199.645027ms

We're not loading that many resources, so the speedup is minimal. We'll be doing more stuff with threading, but this is a good introduction.

- +Elapsed (Threaded): 199.645027ms

We're not loading that many resources, so the speedup is minimal. We'll be doing more stuff with threading, but this is a good introduction.

+ \ No newline at end of file diff --git a/showcase/windowless/index.html b/showcase/windowless/index.html index ff459cd2..72f63858 100644 --- a/showcase/windowless/index.html +++ b/showcase/windowless/index.html @@ -13,7 +13,7 @@ - + @@ -197,8 +197,8 @@ fn main() { pollster::block_on(run()); -}

现在运行代码,就会在项目根目录输出这样一张名为 image.png 的图像:

a brown triangle

- +}

现在运行代码,就会在项目根目录输出这样一张名为 image.png 的图像:

a brown triangle

+ \ No newline at end of file diff --git a/simuverse.html b/simuverse.html index 89db74e0..b4ab2ada 100644 --- a/simuverse.html +++ b/simuverse.html @@ -13,14 +13,14 @@ - +
Skip to content
WASM 加载中...
- + \ No newline at end of file diff --git a/wasm/compute-pipeline.js b/wasm/compute-pipeline.js new file mode 100644 index 00000000..0167ecc4 --- /dev/null +++ b/wasm/compute-pipeline.js @@ -0,0 +1,1672 @@ +import * as __wbg_star0 from 'env'; + +let wasm; + +function isLikeNone(x) { + return x === undefined || x === null; +} + +function addToExternrefTable0(obj) { + const idx = wasm.__externref_table_alloc(); + wasm.__wbindgen_export_1.set(idx, obj); + return idx; +} + +const cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : { decode: () => { throw Error('TextDecoder not available') } } ); + +if (typeof TextDecoder !== 'undefined') { cachedTextDecoder.decode(); }; + +let cachedUint8ArrayMemory0 = null; + +function getUint8ArrayMemory0() { + if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) { + cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer); + } + return cachedUint8ArrayMemory0; +} + +function getStringFromWasm0(ptr, len) { + ptr = ptr >>> 0; + return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len)); +} + +function handleError(f, args) { + try { + return f.apply(this, args); + } catch (e) { + const idx = addToExternrefTable0(e); + wasm.__wbindgen_exn_store(idx); + } +} + +let WASM_VECTOR_LEN = 0; + +const cachedTextEncoder = (typeof TextEncoder !== 'undefined' ? new TextEncoder('utf-8') : { encode: () => { throw Error('TextEncoder not available') } } ); + +const encodeString = (typeof cachedTextEncoder.encodeInto === 'function' + ? function (arg, view) { + return cachedTextEncoder.encodeInto(arg, view); +} + : function (arg, view) { + const buf = cachedTextEncoder.encode(arg); + view.set(buf); + return { + read: arg.length, + written: buf.length + }; +}); + +function passStringToWasm0(arg, malloc, realloc) { + + if (realloc === undefined) { + const buf = cachedTextEncoder.encode(arg); + const ptr = malloc(buf.length, 1) >>> 0; + getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf); + WASM_VECTOR_LEN = buf.length; + return ptr; + } + + let len = arg.length; + let ptr = malloc(len, 1) >>> 0; + + const mem = getUint8ArrayMemory0(); + + let offset = 0; + + for (; offset < len; offset++) { + const code = arg.charCodeAt(offset); + if (code > 0x7F) break; + mem[ptr + offset] = code; + } + + if (offset !== len) { + if (offset !== 0) { + arg = arg.slice(offset); + } + ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0; + const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len); + const ret = encodeString(arg, view); + + offset += ret.written; + ptr = realloc(ptr, len, offset, 1) >>> 0; + } + + WASM_VECTOR_LEN = offset; + return ptr; +} + +let cachedDataViewMemory0 = null; + +function getDataViewMemory0() { + if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) { + cachedDataViewMemory0 = new DataView(wasm.memory.buffer); + } + return cachedDataViewMemory0; +} + +let cachedUint32ArrayMemory0 = null; + +function getUint32ArrayMemory0() { + if (cachedUint32ArrayMemory0 === null || cachedUint32ArrayMemory0.byteLength === 0) { + cachedUint32ArrayMemory0 = new Uint32Array(wasm.memory.buffer); + } + return cachedUint32ArrayMemory0; +} + +function getArrayU32FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getUint32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len); +} + +const CLOSURE_DTORS = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(state => { + wasm.__wbindgen_export_6.get(state.dtor)(state.a, state.b) +}); + +function makeMutClosure(arg0, arg1, dtor, f) { + const state = { a: arg0, b: arg1, cnt: 1, dtor }; + const real = (...args) => { + // First up with a closure we increment the internal reference + // count. This ensures that the Rust closure environment won't + // be deallocated while we're invoking it. + state.cnt++; + const a = state.a; + state.a = 0; + try { + return f(a, state.b, ...args); + } finally { + if (--state.cnt === 0) { + wasm.__wbindgen_export_6.get(state.dtor)(a, state.b); + CLOSURE_DTORS.unregister(state); + } else { + state.a = a; + } + } + }; + real.original = state; + CLOSURE_DTORS.register(real, state, state); + return real; +} + +function debugString(val) { + // primitive types + const type = typeof val; + if (type == 'number' || type == 'boolean' || val == null) { + return `${val}`; + } + if (type == 'string') { + return `"${val}"`; + } + if (type == 'symbol') { + const description = val.description; + if (description == null) { + return 'Symbol'; + } else { + return `Symbol(${description})`; + } + } + if (type == 'function') { + const name = val.name; + if (typeof name == 'string' && name.length > 0) { + return `Function(${name})`; + } else { + return 'Function'; + } + } + // objects + if (Array.isArray(val)) { + const length = val.length; + let debug = '['; + if (length > 0) { + debug += debugString(val[0]); + } + for(let i = 1; i < length; i++) { + debug += ', ' + debugString(val[i]); + } + debug += ']'; + return debug; + } + // Test for built-in + const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val)); + let className; + if (builtInMatches && builtInMatches.length > 1) { + className = builtInMatches[1]; + } else { + // Failed to match the standard '[object ClassName]' + return toString.call(val); + } + if (className == 'Object') { + // we're a user defined class or Object + // JSON.stringify avoids problems with cycles, and is generally much + // easier than looping through ownProperties of `val`. + try { + return 'Object(' + JSON.stringify(val) + ')'; + } catch (_) { + return 'Object'; + } + } + // errors + if (val instanceof Error) { + return `${val.name}: ${val.message}\n${val.stack}`; + } + // TODO we could test for more things here, like `Set`s and `Map`s. + return className; +} +function __wbg_adapter_30(arg0, arg1, arg2) { + wasm.closure101_externref_shim(arg0, arg1, arg2); +} + +function __wbg_adapter_37(arg0, arg1) { + wasm._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hc519b4bd8e5dee38(arg0, arg1); +} + +function __wbg_adapter_54(arg0, arg1, arg2, arg3) { + wasm.closure135_externref_shim(arg0, arg1, arg2, arg3); +} + +const __wbindgen_enum_GpuCompilationMessageType = ["error", "warning", "info"]; + +const __wbindgen_enum_GpuDeviceLostReason = ["unknown", "destroyed"]; + +const __wbindgen_enum_GpuErrorFilter = ["validation", "out-of-memory", "internal"]; + +const __wbindgen_enum_GpuIndexFormat = ["uint16", "uint32"]; + +const __wbindgen_enum_GpuTextureFormat = ["r8unorm", "r8snorm", "r8uint", "r8sint", "r16uint", "r16sint", "r16float", "rg8unorm", "rg8snorm", "rg8uint", "rg8sint", "r32uint", "r32sint", "r32float", "rg16uint", "rg16sint", "rg16float", "rgba8unorm", "rgba8unorm-srgb", "rgba8snorm", "rgba8uint", "rgba8sint", "bgra8unorm", "bgra8unorm-srgb", "rgb9e5ufloat", "rgb10a2uint", "rgb10a2unorm", "rg11b10ufloat", "rg32uint", "rg32sint", "rg32float", "rgba16uint", "rgba16sint", "rgba16float", "rgba32uint", "rgba32sint", "rgba32float", "stencil8", "depth16unorm", "depth24plus", "depth24plus-stencil8", "depth32float", "depth32float-stencil8", "bc1-rgba-unorm", "bc1-rgba-unorm-srgb", "bc2-rgba-unorm", "bc2-rgba-unorm-srgb", "bc3-rgba-unorm", "bc3-rgba-unorm-srgb", "bc4-r-unorm", "bc4-r-snorm", "bc5-rg-unorm", "bc5-rg-snorm", "bc6h-rgb-ufloat", "bc6h-rgb-float", "bc7-rgba-unorm", "bc7-rgba-unorm-srgb", "etc2-rgb8unorm", "etc2-rgb8unorm-srgb", "etc2-rgb8a1unorm", "etc2-rgb8a1unorm-srgb", "etc2-rgba8unorm", "etc2-rgba8unorm-srgb", "eac-r11unorm", "eac-r11snorm", "eac-rg11unorm", "eac-rg11snorm", "astc-4x4-unorm", "astc-4x4-unorm-srgb", "astc-5x4-unorm", "astc-5x4-unorm-srgb", "astc-5x5-unorm", "astc-5x5-unorm-srgb", "astc-6x5-unorm", "astc-6x5-unorm-srgb", "astc-6x6-unorm", "astc-6x6-unorm-srgb", "astc-8x5-unorm", "astc-8x5-unorm-srgb", "astc-8x6-unorm", "astc-8x6-unorm-srgb", "astc-8x8-unorm", "astc-8x8-unorm-srgb", "astc-10x5-unorm", "astc-10x5-unorm-srgb", "astc-10x6-unorm", "astc-10x6-unorm-srgb", "astc-10x8-unorm", "astc-10x8-unorm-srgb", "astc-10x10-unorm", "astc-10x10-unorm-srgb", "astc-12x10-unorm", "astc-12x10-unorm-srgb", "astc-12x12-unorm", "astc-12x12-unorm-srgb"]; + +const __wbindgen_enum_ResizeObserverBoxOptions = ["border-box", "content-box", "device-pixel-content-box"]; + +const __wbindgen_enum_VisibilityState = ["hidden", "visible"]; + +async function __wbg_load(module, imports) { + if (typeof Response === 'function' && module instanceof Response) { + if (typeof WebAssembly.instantiateStreaming === 'function') { + try { + return await WebAssembly.instantiateStreaming(module, imports); + + } catch (e) { + if (module.headers.get('Content-Type') != 'application/wasm') { + console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e); + + } else { + throw e; + } + } + } + + const bytes = await module.arrayBuffer(); + return await WebAssembly.instantiate(bytes, imports); + + } else { + const instance = await WebAssembly.instantiate(module, imports); + + if (instance instanceof WebAssembly.Instance) { + return { instance, module }; + + } else { + return instance; + } + } +} + +function __wbg_get_imports() { + const imports = {}; + imports.wbg = {}; + imports.wbg.__wbg_Window_96e58b3552ce6bb1 = function(arg0) { + const ret = arg0.Window; + return ret; + }; + imports.wbg.__wbg_Window_cf5b693340a7c469 = function(arg0) { + const ret = arg0.Window; + return ret; + }; + imports.wbg.__wbg_WorkerGlobalScope_354364d1b0bd06e5 = function(arg0) { + const ret = arg0.WorkerGlobalScope; + return ret; + }; + imports.wbg.__wbg_abort_19de2f828ee0874a = function(arg0) { + arg0.abort(); + }; + imports.wbg.__wbg_activeElement_d1a1f2b334adf636 = function(arg0) { + const ret = arg0.activeElement; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_addEventListener_e27053e488770e58 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + arg0.addEventListener(getStringFromWasm0(arg1, arg2), arg3); + }, arguments) }; + imports.wbg.__wbg_addListener_dca1ccc036e24997 = function() { return handleError(function (arg0, arg1) { + arg0.addListener(arg1); + }, arguments) }; + imports.wbg.__wbg_altKey_56dd0987e7ccbbf2 = function(arg0) { + const ret = arg0.altKey; + return ret; + }; + imports.wbg.__wbg_altKey_583c79ba3f4fce1e = function(arg0) { + const ret = arg0.altKey; + return ret; + }; + imports.wbg.__wbg_animate_310f1b8e5b1fdb56 = function(arg0, arg1, arg2) { + const ret = arg0.animate(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_appendChild_805222aed73feea9 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.appendChild(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_beginComputePass_90d5303e604970cb = function(arg0, arg1) { + const ret = arg0.beginComputePass(arg1); + return ret; + }; + imports.wbg.__wbg_beginRenderPass_9739520c601001c3 = function(arg0, arg1) { + const ret = arg0.beginRenderPass(arg1); + return ret; + }; + imports.wbg.__wbg_blockSize_e0006fb003814895 = function(arg0) { + const ret = arg0.blockSize; + return ret; + }; + imports.wbg.__wbg_body_83d4bc4961a422aa = function(arg0) { + const ret = arg0.body; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_brand_67e4f3d950154d0a = function(arg0, arg1) { + const ret = arg1.brand; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_brands_1ec54d613da9db02 = function(arg0) { + const ret = arg0.brands; + return ret; + }; + imports.wbg.__wbg_buffer_6e1d53ff183194fc = function(arg0) { + const ret = arg0.buffer; + return ret; + }; + imports.wbg.__wbg_buffer_ffdeb2ee67420f9e = function(arg0) { + const ret = arg0.buffer; + return ret; + }; + imports.wbg.__wbg_button_db48f93638c59f95 = function(arg0) { + const ret = arg0.button; + return ret; + }; + imports.wbg.__wbg_buttons_b962d6dc116cd1a5 = function(arg0) { + const ret = arg0.buttons; + return ret; + }; + imports.wbg.__wbg_call_3114932863209ca6 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.call(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_cancelAnimationFrame_f1ad512e269ea165 = function() { return handleError(function (arg0, arg1) { + arg0.cancelAnimationFrame(arg1); + }, arguments) }; + imports.wbg.__wbg_cancelIdleCallback_bcc2dc9be9de0744 = function(arg0, arg1) { + arg0.cancelIdleCallback(arg1 >>> 0); + }; + imports.wbg.__wbg_cancel_3b69067dcdf7ffb7 = function(arg0) { + arg0.cancel(); + }; + imports.wbg.__wbg_catch_9da7d002aa356f1d = function(arg0, arg1) { + const ret = arg0.catch(arg1); + return ret; + }; + imports.wbg.__wbg_clearBuffer_6164fc25d22b25cc = function(arg0, arg1, arg2, arg3) { + arg0.clearBuffer(arg1, arg2, arg3); + }; + imports.wbg.__wbg_clearBuffer_cfcaaf1fb2baa885 = function(arg0, arg1, arg2) { + arg0.clearBuffer(arg1, arg2); + }; + imports.wbg.__wbg_clearTimeout_da4408c46e51bc7a = function(arg0, arg1) { + arg0.clearTimeout(arg1); + }; + imports.wbg.__wbg_close_35d643897b189a00 = function(arg0) { + arg0.close(); + }; + imports.wbg.__wbg_code_d8226b2133366406 = function(arg0, arg1) { + const ret = arg1.code; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_configure_2414aed971d368cd = function(arg0, arg1) { + arg0.configure(arg1); + }; + imports.wbg.__wbg_contains_6947e163e2a3c092 = function(arg0, arg1) { + const ret = arg0.contains(arg1); + return ret; + }; + imports.wbg.__wbg_contentRect_7aaa87e16fd2882d = function(arg0) { + const ret = arg0.contentRect; + return ret; + }; + imports.wbg.__wbg_copyBufferToBuffer_1ba67191114656a1 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.copyBufferToBuffer(arg1, arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_copyBufferToTexture_878d31d479e48f28 = function(arg0, arg1, arg2, arg3) { + arg0.copyBufferToTexture(arg1, arg2, arg3); + }; + imports.wbg.__wbg_copyExternalImageToTexture_7878d196c0b60d39 = function(arg0, arg1, arg2, arg3) { + arg0.copyExternalImageToTexture(arg1, arg2, arg3); + }; + imports.wbg.__wbg_copyTextureToBuffer_6a8fe0e90f0a663d = function(arg0, arg1, arg2, arg3) { + arg0.copyTextureToBuffer(arg1, arg2, arg3); + }; + imports.wbg.__wbg_copyTextureToTexture_0a06a393d6726b4a = function(arg0, arg1, arg2, arg3) { + arg0.copyTextureToTexture(arg1, arg2, arg3); + }; + imports.wbg.__wbg_createBindGroupLayout_1d93b6d41c87ba9d = function(arg0, arg1) { + const ret = arg0.createBindGroupLayout(arg1); + return ret; + }; + imports.wbg.__wbg_createBindGroup_61cd07ec9d423432 = function(arg0, arg1) { + const ret = arg0.createBindGroup(arg1); + return ret; + }; + imports.wbg.__wbg_createBuffer_963aa00d5fe859e4 = function(arg0, arg1) { + const ret = arg0.createBuffer(arg1); + return ret; + }; + imports.wbg.__wbg_createCommandEncoder_f0e1613e9a2dc1eb = function(arg0, arg1) { + const ret = arg0.createCommandEncoder(arg1); + return ret; + }; + imports.wbg.__wbg_createComputePipeline_b9616b9fe2f4eb2f = function(arg0, arg1) { + const ret = arg0.createComputePipeline(arg1); + return ret; + }; + imports.wbg.__wbg_createElement_22b48bfb31a0c20e = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.createElement(getStringFromWasm0(arg1, arg2)); + return ret; + }, arguments) }; + imports.wbg.__wbg_createObjectURL_06505af3e8787cc8 = function() { return handleError(function (arg0, arg1) { + const ret = URL.createObjectURL(arg1); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_createPipelineLayout_56c6cf983f892d2b = function(arg0, arg1) { + const ret = arg0.createPipelineLayout(arg1); + return ret; + }; + imports.wbg.__wbg_createQuerySet_c14be802adf7c207 = function(arg0, arg1) { + const ret = arg0.createQuerySet(arg1); + return ret; + }; + imports.wbg.__wbg_createRenderBundleEncoder_8e4bdffea72f8c1f = function(arg0, arg1) { + const ret = arg0.createRenderBundleEncoder(arg1); + return ret; + }; + imports.wbg.__wbg_createRenderPipeline_079a88a0601fcce1 = function(arg0, arg1) { + const ret = arg0.createRenderPipeline(arg1); + return ret; + }; + imports.wbg.__wbg_createSampler_ef5578990df3baf7 = function(arg0, arg1) { + const ret = arg0.createSampler(arg1); + return ret; + }; + imports.wbg.__wbg_createShaderModule_17f451ea25cae47c = function(arg0, arg1) { + const ret = arg0.createShaderModule(arg1); + return ret; + }; + imports.wbg.__wbg_createTexture_01cc1cd2fea732d9 = function(arg0, arg1) { + const ret = arg0.createTexture(arg1); + return ret; + }; + imports.wbg.__wbg_createView_04701884291e1ccc = function(arg0, arg1) { + const ret = arg0.createView(arg1); + return ret; + }; + imports.wbg.__wbg_ctrlKey_60b29e015a543678 = function(arg0) { + const ret = arg0.ctrlKey; + return ret; + }; + imports.wbg.__wbg_ctrlKey_ab341328ab202d37 = function(arg0) { + const ret = arg0.ctrlKey; + return ret; + }; + imports.wbg.__wbg_debug_347b3d1f33e1c28e = function(arg0) { + console.debug(arg0); + }; + imports.wbg.__wbg_deltaMode_a4cc321212f87817 = function(arg0) { + const ret = arg0.deltaMode; + return ret; + }; + imports.wbg.__wbg_deltaX_27e2939a1af8c940 = function(arg0) { + const ret = arg0.deltaX; + return ret; + }; + imports.wbg.__wbg_deltaY_4bb52a4f0a7ad28b = function(arg0) { + const ret = arg0.deltaY; + return ret; + }; + imports.wbg.__wbg_destroy_35f94012e5bb9c17 = function(arg0) { + arg0.destroy(); + }; + imports.wbg.__wbg_destroy_767d9dde1008e293 = function(arg0) { + arg0.destroy(); + }; + imports.wbg.__wbg_destroy_c6af4226dda95dbd = function(arg0) { + arg0.destroy(); + }; + imports.wbg.__wbg_devicePixelContentBoxSize_1ea2c6145730b8c0 = function(arg0) { + const ret = arg0.devicePixelContentBoxSize; + return ret; + }; + imports.wbg.__wbg_devicePixelRatio_f4eb7cbe3a812de0 = function(arg0) { + const ret = arg0.devicePixelRatio; + return ret; + }; + imports.wbg.__wbg_disconnect_8b7c928b6057719b = function(arg0) { + arg0.disconnect(); + }; + imports.wbg.__wbg_disconnect_c45e8044053eddf3 = function(arg0) { + arg0.disconnect(); + }; + imports.wbg.__wbg_dispatchWorkgroupsIndirect_8b25efab93a7a433 = function(arg0, arg1, arg2) { + arg0.dispatchWorkgroupsIndirect(arg1, arg2); + }; + imports.wbg.__wbg_dispatchWorkgroups_c102fa81b955935d = function(arg0, arg1, arg2, arg3) { + arg0.dispatchWorkgroups(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0); + }; + imports.wbg.__wbg_document_c488ca7509cc6938 = function(arg0) { + const ret = arg0.document; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_drawIndexedIndirect_34484fc6227c7bc8 = function(arg0, arg1, arg2) { + arg0.drawIndexedIndirect(arg1, arg2); + }; + imports.wbg.__wbg_drawIndexedIndirect_5a7c30bb5f1d5b67 = function(arg0, arg1, arg2) { + arg0.drawIndexedIndirect(arg1, arg2); + }; + imports.wbg.__wbg_drawIndexed_115af1449b52a948 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.drawIndexed(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5 >>> 0); + }; + imports.wbg.__wbg_drawIndexed_a587cce4c317791f = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.drawIndexed(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5 >>> 0); + }; + imports.wbg.__wbg_drawIndirect_036d71498a21f1a3 = function(arg0, arg1, arg2) { + arg0.drawIndirect(arg1, arg2); + }; + imports.wbg.__wbg_drawIndirect_a1d7c5e893aa5756 = function(arg0, arg1, arg2) { + arg0.drawIndirect(arg1, arg2); + }; + imports.wbg.__wbg_draw_5351b12033166aca = function(arg0, arg1, arg2, arg3, arg4) { + arg0.draw(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_draw_e2a7c5d66fb2d244 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.draw(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_end_0ac71677a5c1717a = function(arg0) { + arg0.end(); + }; + imports.wbg.__wbg_end_6f776519f1faa582 = function(arg0) { + arg0.end(); + }; + imports.wbg.__wbg_error_2a6b93fdada7ff11 = function(arg0) { + console.error(arg0); + }; + imports.wbg.__wbg_error_7534b8e9a36f1ab4 = function(arg0, arg1) { + let deferred0_0; + let deferred0_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + console.error(getStringFromWasm0(arg0, arg1)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + } + }; + imports.wbg.__wbg_error_e98e6aadd08e0b94 = function(arg0) { + const ret = arg0.error; + return ret; + }; + imports.wbg.__wbg_error_f0dde81ae1e4cfea = function(arg0, arg1) { + console.error(arg0, arg1); + }; + imports.wbg.__wbg_executeBundles_8e6c0614da2805d4 = function(arg0, arg1) { + arg0.executeBundles(arg1); + }; + imports.wbg.__wbg_features_1b464383ea8a7691 = function(arg0) { + const ret = arg0.features; + return ret; + }; + imports.wbg.__wbg_features_e5fbbc2760867852 = function(arg0) { + const ret = arg0.features; + return ret; + }; + imports.wbg.__wbg_finish_20711371c58df61c = function(arg0) { + const ret = arg0.finish(); + return ret; + }; + imports.wbg.__wbg_finish_34b2c54329c8719f = function(arg0, arg1) { + const ret = arg0.finish(arg1); + return ret; + }; + imports.wbg.__wbg_finish_a9ab917e756ea00c = function(arg0, arg1) { + const ret = arg0.finish(arg1); + return ret; + }; + imports.wbg.__wbg_finish_e0a6c97c0622f843 = function(arg0) { + const ret = arg0.finish(); + return ret; + }; + imports.wbg.__wbg_focus_c71947fc3fe22147 = function() { return handleError(function (arg0) { + arg0.focus(); + }, arguments) }; + imports.wbg.__wbg_fullscreenElement_a613ad02fa918fb4 = function(arg0) { + const ret = arg0.fullscreenElement; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getBindGroupLayout_4a94df6108ac6667 = function(arg0, arg1) { + const ret = arg0.getBindGroupLayout(arg1 >>> 0); + return ret; + }; + imports.wbg.__wbg_getBindGroupLayout_80e803d942962f6a = function(arg0, arg1) { + const ret = arg0.getBindGroupLayout(arg1 >>> 0); + return ret; + }; + imports.wbg.__wbg_getCoalescedEvents_1372a1922f78401a = function(arg0) { + const ret = arg0.getCoalescedEvents; + return ret; + }; + imports.wbg.__wbg_getCoalescedEvents_3736b5e5d63bed7b = function(arg0) { + const ret = arg0.getCoalescedEvents(); + return ret; + }; + imports.wbg.__wbg_getCompilationInfo_2af3ecdfeda551a3 = function(arg0) { + const ret = arg0.getCompilationInfo(); + return ret; + }; + imports.wbg.__wbg_getComputedStyle_c3a9de7674a38310 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.getComputedStyle(arg1); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getContext_02d86c7d9cfa709e = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.getContext(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getContext_24d4414b979c1bbd = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.getContext(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getCurrentTexture_5a79cda2ff36e1ee = function(arg0) { + const ret = arg0.getCurrentTexture(); + return ret; + }; + imports.wbg.__wbg_getElementById_7b2db24a9b54f077 = function(arg0, arg1, arg2) { + const ret = arg0.getElementById(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getMappedRange_932dd043ae22ee0a = function(arg0, arg1, arg2) { + const ret = arg0.getMappedRange(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_getOwnPropertyDescriptor_c701b185423f5b7e = function(arg0, arg1) { + const ret = Object.getOwnPropertyDescriptor(arg0, arg1); + return ret; + }; + imports.wbg.__wbg_getPreferredCanvasFormat_de73c02773a5209e = function(arg0) { + const ret = arg0.getPreferredCanvasFormat(); + return (__wbindgen_enum_GpuTextureFormat.indexOf(ret) + 1 || 96) - 1; + }; + imports.wbg.__wbg_getPropertyValue_e87121b8549f72d5 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = arg1.getPropertyValue(getStringFromWasm0(arg2, arg3)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_get_68aa371864aa301a = function(arg0, arg1) { + const ret = arg0[arg1 >>> 0]; + return ret; + }; + imports.wbg.__wbg_get_6b316bfdb1b95076 = function(arg0, arg1) { + const ret = arg0[arg1 >>> 0]; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_globalThis_1e2ac1d6eee845b3 = function() { return handleError(function () { + const ret = globalThis.globalThis; + return ret; + }, arguments) }; + imports.wbg.__wbg_global_f25a574ae080367c = function() { return handleError(function () { + const ret = global.global; + return ret; + }, arguments) }; + imports.wbg.__wbg_gpu_87871e8f7ace8fee = function(arg0) { + const ret = arg0.gpu; + return ret; + }; + imports.wbg.__wbg_has_624cbf0451d880e8 = function(arg0, arg1, arg2) { + const ret = arg0.has(getStringFromWasm0(arg1, arg2)); + return ret; + }; + imports.wbg.__wbg_height_e509816ec3fdf5b1 = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_info_b6bd3cb6471c2b4c = function(arg0) { + console.info(arg0); + }; + imports.wbg.__wbg_inlineSize_6f8d0983462c2919 = function(arg0) { + const ret = arg0.inlineSize; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuAdapter_0731153d2b08720b = function(arg0) { + let result; + try { + result = arg0 instanceof GPUAdapter; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuCanvasContext_d14121c7bd72fcef = function(arg0) { + let result; + try { + result = arg0 instanceof GPUCanvasContext; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuDeviceLostInfo_a3677ebb8241d800 = function(arg0) { + let result; + try { + result = arg0 instanceof GPUDeviceLostInfo; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuOutOfMemoryError_391d9a08edbfa04b = function(arg0) { + let result; + try { + result = arg0 instanceof GPUOutOfMemoryError; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuValidationError_f4d803c383da3c92 = function(arg0) { + let result; + try { + result = arg0 instanceof GPUValidationError; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_Object_f0f57d6eeca1b81d = function(arg0) { + let result; + try { + result = arg0 instanceof Object; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_Window_a959820eb267fe22 = function(arg0) { + let result; + try { + result = arg0 instanceof Window; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_isIntersecting_9059d5bcaf29f415 = function(arg0) { + const ret = arg0.isIntersecting; + return ret; + }; + imports.wbg.__wbg_is_20768e55ad2a7c3f = function(arg0, arg1) { + const ret = Object.is(arg0, arg1); + return ret; + }; + imports.wbg.__wbg_key_02315cd3f595756b = function(arg0, arg1) { + const ret = arg1.key; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_label_2082ab37d2ad170d = function(arg0, arg1) { + const ret = arg1.label; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_length_2e63ba34c4121df5 = function(arg0) { + const ret = arg0.length; + return ret; + }; + imports.wbg.__wbg_length_9df32f7add647235 = function(arg0) { + const ret = arg0.length; + return ret; + }; + imports.wbg.__wbg_length_e74df4881604f1d9 = function(arg0) { + const ret = arg0.length; + return ret; + }; + imports.wbg.__wbg_limits_2dd632c891786ddf = function(arg0) { + const ret = arg0.limits; + return ret; + }; + imports.wbg.__wbg_limits_f6411f884b0b2d62 = function(arg0) { + const ret = arg0.limits; + return ret; + }; + imports.wbg.__wbg_lineNum_0246de1e072ffe19 = function(arg0) { + const ret = arg0.lineNum; + return ret; + }; + imports.wbg.__wbg_location_54d35e8c85dcfb9c = function(arg0) { + const ret = arg0.location; + return ret; + }; + imports.wbg.__wbg_location_e9eba129bf0612a5 = function(arg0) { + const ret = arg0.location; + return ret; + }; + imports.wbg.__wbg_log_d818ca3cab23fc77 = function(arg0) { + console.log(arg0); + }; + imports.wbg.__wbg_lost_6e4d29847ce2a34a = function(arg0) { + const ret = arg0.lost; + return ret; + }; + imports.wbg.__wbg_mapAsync_37f5e03edf2e1352 = function(arg0, arg1, arg2, arg3) { + const ret = arg0.mapAsync(arg1 >>> 0, arg2, arg3); + return ret; + }; + imports.wbg.__wbg_matchMedia_0be65181eeae951c = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.matchMedia(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_matches_254463383aee4688 = function(arg0) { + const ret = arg0.matches; + return ret; + }; + imports.wbg.__wbg_maxBindGroups_768ca5e8623bf450 = function(arg0) { + const ret = arg0.maxBindGroups; + return ret; + }; + imports.wbg.__wbg_maxBindingsPerBindGroup_057972d600d69719 = function(arg0) { + const ret = arg0.maxBindingsPerBindGroup; + return ret; + }; + imports.wbg.__wbg_maxBufferSize_e237b44f19a5a62b = function(arg0) { + const ret = arg0.maxBufferSize; + return ret; + }; + imports.wbg.__wbg_maxColorAttachmentBytesPerSample_d6c7b4051d22c6d6 = function(arg0) { + const ret = arg0.maxColorAttachmentBytesPerSample; + return ret; + }; + imports.wbg.__wbg_maxColorAttachments_7a18ba24c05edcfd = function(arg0) { + const ret = arg0.maxColorAttachments; + return ret; + }; + imports.wbg.__wbg_maxComputeInvocationsPerWorkgroup_b99c2f3611633992 = function(arg0) { + const ret = arg0.maxComputeInvocationsPerWorkgroup; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupSizeX_adb26da9ed7f77f7 = function(arg0) { + const ret = arg0.maxComputeWorkgroupSizeX; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupSizeY_cc217559c98be33b = function(arg0) { + const ret = arg0.maxComputeWorkgroupSizeY; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupSizeZ_66606a80e2cf2309 = function(arg0) { + const ret = arg0.maxComputeWorkgroupSizeZ; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupStorageSize_cb6235497b8c4997 = function(arg0) { + const ret = arg0.maxComputeWorkgroupStorageSize; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupsPerDimension_6bf550b5f21d57cf = function(arg0) { + const ret = arg0.maxComputeWorkgroupsPerDimension; + return ret; + }; + imports.wbg.__wbg_maxDynamicStorageBuffersPerPipelineLayout_c6ac20334e328b47 = function(arg0) { + const ret = arg0.maxDynamicStorageBuffersPerPipelineLayout; + return ret; + }; + imports.wbg.__wbg_maxDynamicUniformBuffersPerPipelineLayout_aa8f14a74b440f01 = function(arg0) { + const ret = arg0.maxDynamicUniformBuffersPerPipelineLayout; + return ret; + }; + imports.wbg.__wbg_maxSampledTexturesPerShaderStage_db7c4922cc60144a = function(arg0) { + const ret = arg0.maxSampledTexturesPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxSamplersPerShaderStage_538705fe2263e710 = function(arg0) { + const ret = arg0.maxSamplersPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxStorageBufferBindingSize_32178c0f5f7f85cb = function(arg0) { + const ret = arg0.maxStorageBufferBindingSize; + return ret; + }; + imports.wbg.__wbg_maxStorageBuffersPerShaderStage_9f67e9eae0089f77 = function(arg0) { + const ret = arg0.maxStorageBuffersPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxStorageTexturesPerShaderStage_57239664936031cf = function(arg0) { + const ret = arg0.maxStorageTexturesPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxTextureArrayLayers_db5d4e486c78ae04 = function(arg0) { + const ret = arg0.maxTextureArrayLayers; + return ret; + }; + imports.wbg.__wbg_maxTextureDimension1D_3475085ffacabbdc = function(arg0) { + const ret = arg0.maxTextureDimension1D; + return ret; + }; + imports.wbg.__wbg_maxTextureDimension2D_7c8d5ecf09eb8519 = function(arg0) { + const ret = arg0.maxTextureDimension2D; + return ret; + }; + imports.wbg.__wbg_maxTextureDimension3D_8bd976677a0f91d4 = function(arg0) { + const ret = arg0.maxTextureDimension3D; + return ret; + }; + imports.wbg.__wbg_maxUniformBufferBindingSize_95b1a54e7e4a0f0f = function(arg0) { + const ret = arg0.maxUniformBufferBindingSize; + return ret; + }; + imports.wbg.__wbg_maxUniformBuffersPerShaderStage_5f475d9a453af14d = function(arg0) { + const ret = arg0.maxUniformBuffersPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxVertexAttributes_4c48ca2f5d32f860 = function(arg0) { + const ret = arg0.maxVertexAttributes; + return ret; + }; + imports.wbg.__wbg_maxVertexBufferArrayStride_2233f6933ecc5a16 = function(arg0) { + const ret = arg0.maxVertexBufferArrayStride; + return ret; + }; + imports.wbg.__wbg_maxVertexBuffers_c47e508cd7348554 = function(arg0) { + const ret = arg0.maxVertexBuffers; + return ret; + }; + imports.wbg.__wbg_message_0762358e59db7ed6 = function(arg0, arg1) { + const ret = arg1.message; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_message_7957ab09f64c6822 = function(arg0, arg1) { + const ret = arg1.message; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_message_b163994503433c9e = function(arg0, arg1) { + const ret = arg1.message; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_messages_da071582f72bc978 = function(arg0) { + const ret = arg0.messages; + return ret; + }; + imports.wbg.__wbg_metaKey_34d5658170ffb3ee = function(arg0) { + const ret = arg0.metaKey; + return ret; + }; + imports.wbg.__wbg_metaKey_6c8e9228e8dda152 = function(arg0) { + const ret = arg0.metaKey; + return ret; + }; + imports.wbg.__wbg_minStorageBufferOffsetAlignment_51b4801fac3a58de = function(arg0) { + const ret = arg0.minStorageBufferOffsetAlignment; + return ret; + }; + imports.wbg.__wbg_minUniformBufferOffsetAlignment_5d62a77924b2335f = function(arg0) { + const ret = arg0.minUniformBufferOffsetAlignment; + return ret; + }; + imports.wbg.__wbg_movementX_e32c342d96d1c701 = function(arg0) { + const ret = arg0.movementX; + return ret; + }; + imports.wbg.__wbg_movementY_136c6febb976ca3b = function(arg0) { + const ret = arg0.movementY; + return ret; + }; + imports.wbg.__wbg_navigator_2936a93ec3c6f4c5 = function(arg0) { + const ret = arg0.navigator; + return ret; + }; + imports.wbg.__wbg_navigator_da495c9e52e160b1 = function(arg0) { + const ret = arg0.navigator; + return ret; + }; + imports.wbg.__wbg_new_076cac58bb698dd4 = function() { + const ret = new Object(); + return ret; + }; + imports.wbg.__wbg_new_0c28e72025e00594 = function() { + const ret = new Array(); + return ret; + }; + imports.wbg.__wbg_new_23362fa370a0a372 = function(arg0) { + const ret = new Uint8Array(arg0); + return ret; + }; + imports.wbg.__wbg_new_238671e08bf4fcbb = function() { return handleError(function () { + const ret = new MessageChannel(); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_4b15073a88792687 = function() { return handleError(function (arg0) { + const ret = new ResizeObserver(arg0); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_8a6f238a6ece86ea = function() { + const ret = new Error(); + return ret; + }; + imports.wbg.__wbg_new_93cf40e4f48fe902 = function() { return handleError(function () { + const ret = new AbortController(); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_b4a18f0a618c89f2 = function() { return handleError(function (arg0, arg1) { + const ret = new Worker(getStringFromWasm0(arg0, arg1)); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_c94d990936d8ea5d = function() { return handleError(function (arg0) { + const ret = new IntersectionObserver(arg0); + return ret; + }, arguments) }; + imports.wbg.__wbg_newnoargs_19a249f4eceaaac3 = function(arg0, arg1) { + const ret = new Function(getStringFromWasm0(arg0, arg1)); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_ee8def7000b7b2be = function(arg0, arg1, arg2) { + const ret = new Uint8Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithstrsequenceandoptions_af096ce40d9d9ac8 = function() { return handleError(function (arg0, arg1) { + const ret = new Blob(arg0, arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_now_2c95c9de01293173 = function(arg0) { + const ret = arg0.now(); + return ret; + }; + imports.wbg.__wbg_observe_e2208b07fe315de7 = function(arg0, arg1) { + arg0.observe(arg1); + }; + imports.wbg.__wbg_observe_ec91d62599b7772b = function(arg0, arg1) { + arg0.observe(arg1); + }; + imports.wbg.__wbg_observe_fd48955513eca909 = function(arg0, arg1, arg2) { + arg0.observe(arg1, arg2); + }; + imports.wbg.__wbg_of_2f6232d86af7992c = function(arg0, arg1) { + const ret = Array.of(arg0, arg1); + return ret; + }; + imports.wbg.__wbg_of_5ae3a2d893e18853 = function(arg0) { + const ret = Array.of(arg0); + return ret; + }; + imports.wbg.__wbg_offsetX_d6957d052a0d4b11 = function(arg0) { + const ret = arg0.offsetX; + return ret; + }; + imports.wbg.__wbg_offsetY_076edde514bf80f4 = function(arg0) { + const ret = arg0.offsetY; + return ret; + }; + imports.wbg.__wbg_offset_336f14c993863b76 = function(arg0) { + const ret = arg0.offset; + return ret; + }; + imports.wbg.__wbg_performance_7a3ffd0b17f663ad = function(arg0) { + const ret = arg0.performance; + return ret; + }; + imports.wbg.__wbg_persisted_7e044507e52804d9 = function(arg0) { + const ret = arg0.persisted; + return ret; + }; + imports.wbg.__wbg_play_e7eb90a843114e0d = function(arg0) { + arg0.play(); + }; + imports.wbg.__wbg_pointerId_a2cbd2cdd6da90b2 = function(arg0) { + const ret = arg0.pointerId; + return ret; + }; + imports.wbg.__wbg_pointerType_1b74686427cdec29 = function(arg0, arg1) { + const ret = arg1.pointerType; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_popErrorScope_af0b22f136a861d6 = function(arg0) { + const ret = arg0.popErrorScope(); + return ret; + }; + imports.wbg.__wbg_port1_6f5b26fd23d19536 = function(arg0) { + const ret = arg0.port1; + return ret; + }; + imports.wbg.__wbg_port2_2eb4c961d6df5816 = function(arg0) { + const ret = arg0.port2; + return ret; + }; + imports.wbg.__wbg_postMessage_33dcf5caa3589c64 = function() { return handleError(function (arg0, arg1, arg2) { + arg0.postMessage(arg1, arg2); + }, arguments) }; + imports.wbg.__wbg_postMessage_3e7f3215320b4a9c = function() { return handleError(function (arg0, arg1) { + arg0.postMessage(arg1); + }, arguments) }; + imports.wbg.__wbg_postTask_9ba4c3cedae00b38 = function(arg0, arg1, arg2) { + const ret = arg0.postTask(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_pressure_8707a47b6fb1c1fd = function(arg0) { + const ret = arg0.pressure; + return ret; + }; + imports.wbg.__wbg_preventDefault_faafffcaad92972d = function(arg0) { + arg0.preventDefault(); + }; + imports.wbg.__wbg_prototype_0f68911d93450df4 = function() { + const ret = ResizeObserverEntry.prototype; + return ret; + }; + imports.wbg.__wbg_pushErrorScope_b52914ff10ba6ce3 = function(arg0, arg1) { + arg0.pushErrorScope(__wbindgen_enum_GpuErrorFilter[arg1]); + }; + imports.wbg.__wbg_push_3e9ce81246ef1d1b = function(arg0, arg1) { + const ret = arg0.push(arg1); + return ret; + }; + imports.wbg.__wbg_querySelectorAll_775f04e6f26ad643 = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.querySelectorAll(getStringFromWasm0(arg1, arg2)); + return ret; + }, arguments) }; + imports.wbg.__wbg_queueMicrotask_3d422e1ba49c2500 = function(arg0) { + const ret = arg0.queueMicrotask; + return ret; + }; + imports.wbg.__wbg_queueMicrotask_5fc3e400ac3c03f4 = function(arg0) { + queueMicrotask(arg0); + }; + imports.wbg.__wbg_queueMicrotask_f301663ccadbb7d0 = function(arg0) { + queueMicrotask(arg0); + }; + imports.wbg.__wbg_queue_bea4017efaaf9904 = function(arg0) { + const ret = arg0.queue; + return ret; + }; + imports.wbg.__wbg_reason_43acd39cce242b50 = function(arg0) { + const ret = arg0.reason; + return (__wbindgen_enum_GpuDeviceLostReason.indexOf(ret) + 1 || 3) - 1; + }; + imports.wbg.__wbg_removeEventListener_d14a328308e427ba = function() { return handleError(function (arg0, arg1, arg2, arg3) { + arg0.removeEventListener(getStringFromWasm0(arg1, arg2), arg3); + }, arguments) }; + imports.wbg.__wbg_removeListener_aee72eb2e5fba09c = function() { return handleError(function (arg0, arg1) { + arg0.removeListener(arg1); + }, arguments) }; + imports.wbg.__wbg_removeProperty_902c73a4430b3e54 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = arg1.removeProperty(getStringFromWasm0(arg2, arg3)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_repeat_56fa20e30d00be95 = function(arg0) { + const ret = arg0.repeat; + return ret; + }; + imports.wbg.__wbg_requestAdapter_e6dcfac497cafa7a = function(arg0, arg1) { + const ret = arg0.requestAdapter(arg1); + return ret; + }; + imports.wbg.__wbg_requestAnimationFrame_e8ca543d07df528e = function() { return handleError(function (arg0, arg1) { + const ret = arg0.requestAnimationFrame(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_requestDevice_03b802707d5a382c = function(arg0, arg1) { + const ret = arg0.requestDevice(arg1); + return ret; + }; + imports.wbg.__wbg_requestFullscreen_e1ad8752a4e33f7e = function(arg0) { + const ret = arg0.requestFullscreen; + return ret; + }; + imports.wbg.__wbg_requestFullscreen_f727b1f250ebb10a = function(arg0) { + const ret = arg0.requestFullscreen(); + return ret; + }; + imports.wbg.__wbg_requestIdleCallback_773c554fc8c5a310 = function(arg0) { + const ret = arg0.requestIdleCallback; + return ret; + }; + imports.wbg.__wbg_requestIdleCallback_ba1f658c72e2140c = function() { return handleError(function (arg0, arg1) { + const ret = arg0.requestIdleCallback(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_resolveQuerySet_811661fb23f3b699 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.resolveQuerySet(arg1, arg2 >>> 0, arg3 >>> 0, arg4, arg5 >>> 0); + }; + imports.wbg.__wbg_resolve_6a311e8bb26423ab = function(arg0) { + const ret = Promise.resolve(arg0); + return ret; + }; + imports.wbg.__wbg_revokeObjectURL_3e4ad6d46a9a93f1 = function() { return handleError(function (arg0, arg1) { + URL.revokeObjectURL(getStringFromWasm0(arg0, arg1)); + }, arguments) }; + imports.wbg.__wbg_scheduler_10edeee35a76c7c6 = function(arg0) { + const ret = arg0.scheduler; + return ret; + }; + imports.wbg.__wbg_scheduler_6d71128f17fbca34 = function(arg0) { + const ret = arg0.scheduler; + return ret; + }; + imports.wbg.__wbg_search_4c8c4c416a168e55 = function() { return handleError(function (arg0, arg1) { + const ret = arg1.search; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_self_ac4343e4047b83cc = function() { return handleError(function () { + const ret = self.self; + return ret; + }, arguments) }; + imports.wbg.__wbg_setAttribute_e5d83ecaf7f586d5 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { + arg0.setAttribute(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4)); + }, arguments) }; + imports.wbg.__wbg_setBindGroup_62a3045b0921e429 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setBindGroup(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4), arg5, arg6 >>> 0); + }; + imports.wbg.__wbg_setBindGroup_6c0fd18e9a53a945 = function(arg0, arg1, arg2) { + arg0.setBindGroup(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_setBindGroup_7f3b61f1f482133b = function(arg0, arg1, arg2) { + arg0.setBindGroup(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_setBindGroup_bf767a5aa46a33ce = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setBindGroup(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4), arg5, arg6 >>> 0); + }; + imports.wbg.__wbg_setBindGroup_c4aaff14063226b4 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setBindGroup(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4), arg5, arg6 >>> 0); + }; + imports.wbg.__wbg_setBindGroup_f82e771dc1b69093 = function(arg0, arg1, arg2) { + arg0.setBindGroup(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_setBlendConstant_016723821cfb3aa4 = function(arg0, arg1) { + arg0.setBlendConstant(arg1); + }; + imports.wbg.__wbg_setIndexBuffer_286a40afdff411b7 = function(arg0, arg1, arg2, arg3) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3); + }; + imports.wbg.__wbg_setIndexBuffer_7efd0b7a40c65fb9 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3, arg4); + }; + imports.wbg.__wbg_setIndexBuffer_e091a9673bb575e2 = function(arg0, arg1, arg2, arg3) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3); + }; + imports.wbg.__wbg_setIndexBuffer_f0759f00036f615f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3, arg4); + }; + imports.wbg.__wbg_setPipeline_ba92070b8ee81cf9 = function(arg0, arg1) { + arg0.setPipeline(arg1); + }; + imports.wbg.__wbg_setPipeline_c344f76bae58c4d6 = function(arg0, arg1) { + arg0.setPipeline(arg1); + }; + imports.wbg.__wbg_setPipeline_d76451c50a121598 = function(arg0, arg1) { + arg0.setPipeline(arg1); + }; + imports.wbg.__wbg_setPointerCapture_6b89bc3d20c408af = function() { return handleError(function (arg0, arg1) { + arg0.setPointerCapture(arg1); + }, arguments) }; + imports.wbg.__wbg_setProperty_b11b0bad191551d1 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { + arg0.setProperty(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4)); + }, arguments) }; + imports.wbg.__wbg_setScissorRect_0b6ee0852ef0b6b9 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setScissorRect(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_setStencilReference_34fd3d59673a5a9d = function(arg0, arg1) { + arg0.setStencilReference(arg1 >>> 0); + }; + imports.wbg.__wbg_setTimeout_11f3c7cad8433a4f = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.setTimeout(arg1, arg2); + return ret; + }, arguments) }; + imports.wbg.__wbg_setTimeout_15ba883433c836ab = function() { return handleError(function (arg0, arg1) { + const ret = arg0.setTimeout(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_setVertexBuffer_06a90dc78e1ad9c4 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_setVertexBuffer_1540e9118b6c451d = function(arg0, arg1, arg2, arg3) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_setVertexBuffer_5166eedc06450701 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_setVertexBuffer_8621784e5014065b = function(arg0, arg1, arg2, arg3) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_setViewport_731ad30abb13f744 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setViewport(arg1, arg2, arg3, arg4, arg5, arg6); + }; + imports.wbg.__wbg_set_421385e996a16e02 = function() { return handleError(function (arg0, arg1, arg2) { + const ret = Reflect.set(arg0, arg1, arg2); + return ret; + }, arguments) }; + imports.wbg.__wbg_set_7b70226104a82921 = function(arg0, arg1, arg2) { + arg0.set(arg1, arg2 >>> 0); + }; + imports.wbg.__wbg_setbox_f664fc1447c0b2bb = function(arg0, arg1) { + arg0.box = __wbindgen_enum_ResizeObserverBoxOptions[arg1]; + }; + imports.wbg.__wbg_setheight_4286b13b9186d39f = function(arg0, arg1) { + arg0.height = arg1 >>> 0; + }; + imports.wbg.__wbg_setheight_7632621fed149fd9 = function(arg0, arg1) { + arg0.height = arg1 >>> 0; + }; + imports.wbg.__wbg_setonmessage_1f177e6cba71d19d = function(arg0, arg1) { + arg0.onmessage = arg1; + }; + imports.wbg.__wbg_setonuncapturederror_19541466822d790b = function(arg0, arg1) { + arg0.onuncapturederror = arg1; + }; + imports.wbg.__wbg_settabIndex_bc37dd560b089902 = function(arg0, arg1) { + arg0.tabIndex = arg1; + }; + imports.wbg.__wbg_settype_202db174d92fe493 = function(arg0, arg1, arg2) { + arg0.type = getStringFromWasm0(arg1, arg2); + }; + imports.wbg.__wbg_setwidth_5e43e6e177d3e2ec = function(arg0, arg1) { + arg0.width = arg1 >>> 0; + }; + imports.wbg.__wbg_setwidth_db46810857c0f6bd = function(arg0, arg1) { + arg0.width = arg1 >>> 0; + }; + imports.wbg.__wbg_shiftKey_570898b1142a9898 = function(arg0) { + const ret = arg0.shiftKey; + return ret; + }; + imports.wbg.__wbg_shiftKey_e90da27a3092777e = function(arg0) { + const ret = arg0.shiftKey; + return ret; + }; + imports.wbg.__wbg_signal_fd2d6d0644f16ad8 = function(arg0) { + const ret = arg0.signal; + return ret; + }; + imports.wbg.__wbg_size_661bddb3f9898121 = function(arg0) { + const ret = arg0.size; + return ret; + }; + imports.wbg.__wbg_stack_0ed75d68575b0f3c = function(arg0, arg1) { + const ret = arg1.stack; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_start_a00c28f297559e1d = function(arg0) { + arg0.start(); + }; + imports.wbg.__wbg_style_e7c4e0938a7565b2 = function(arg0) { + const ret = arg0.style; + return ret; + }; + imports.wbg.__wbg_submit_f635072bb3d05faa = function(arg0, arg1) { + arg0.submit(arg1); + }; + imports.wbg.__wbg_then_5c6469c1e1da9e59 = function(arg0, arg1) { + const ret = arg0.then(arg1); + return ret; + }; + imports.wbg.__wbg_then_faeb8aed8c1629b7 = function(arg0, arg1, arg2) { + const ret = arg0.then(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_type_c0d5d83032e9858a = function(arg0) { + const ret = arg0.type; + return (__wbindgen_enum_GpuCompilationMessageType.indexOf(ret) + 1 || 4) - 1; + }; + imports.wbg.__wbg_unmap_8c2e8131b2aaa844 = function(arg0) { + arg0.unmap(); + }; + imports.wbg.__wbg_unobserve_9198337c0c96042f = function(arg0, arg1) { + arg0.unobserve(arg1); + }; + imports.wbg.__wbg_usage_13caa02888040e9f = function(arg0) { + const ret = arg0.usage; + return ret; + }; + imports.wbg.__wbg_userAgentData_5e600df9bb352050 = function(arg0) { + const ret = arg0.userAgentData; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_userAgent_bfd54e5c60738678 = function() { return handleError(function (arg0, arg1) { + const ret = arg1.userAgent; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_valueOf_a2728b52687d72b4 = function(arg0) { + const ret = arg0.valueOf(); + return ret; + }; + imports.wbg.__wbg_visibilityState_c2b01655a6777e68 = function(arg0) { + const ret = arg0.visibilityState; + return (__wbindgen_enum_VisibilityState.indexOf(ret) + 1 || 3) - 1; + }; + imports.wbg.__wbg_warn_a6963915e4da61f6 = function(arg0) { + console.warn(arg0); + }; + imports.wbg.__wbg_webkitFullscreenElement_0c4654cdfe6894e5 = function(arg0) { + const ret = arg0.webkitFullscreenElement; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_webkitRequestFullscreen_fe95241c4f21ea63 = function(arg0) { + arg0.webkitRequestFullscreen(); + }; + imports.wbg.__wbg_width_dfc6149b0c4d8821 = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_window_1a23defd102c72f4 = function() { return handleError(function () { + const ret = window.window; + return ret; + }, arguments) }; + imports.wbg.__wbg_writeBuffer_5ca4981365eb5ac0 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.writeBuffer(arg1, arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_writeTexture_246118eb2f5a1592 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.writeTexture(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbindgen_cb_drop = function(arg0) { + const obj = arg0.original; + if (obj.cnt-- == 1) { + obj.a = 0; + return true; + } + const ret = false; + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper1339 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 102, __wbg_adapter_30); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2101 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 102, __wbg_adapter_30); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2107 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 102, __wbg_adapter_30); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2590 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 102, __wbg_adapter_37); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2635 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 102, __wbg_adapter_30); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2655 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 102, __wbg_adapter_30); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2656 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 102, __wbg_adapter_30); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2657 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 102, __wbg_adapter_30); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2658 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 102, __wbg_adapter_30); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2659 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 102, __wbg_adapter_30); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2702 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 102, __wbg_adapter_30); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2703 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 102, __wbg_adapter_54); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2704 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 102, __wbg_adapter_30); + return ret; + }; + imports.wbg.__wbindgen_debug_string = function(arg0, arg1) { + const ret = debugString(arg1); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_init_externref_table = function() { + const table = wasm.__wbindgen_export_1; + const offset = table.grow(4); + table.set(0, undefined); + table.set(offset + 0, undefined); + table.set(offset + 1, null); + table.set(offset + 2, true); + table.set(offset + 3, false); + ; + }; + imports.wbg.__wbindgen_is_function = function(arg0) { + const ret = typeof(arg0) === 'function'; + return ret; + }; + imports.wbg.__wbindgen_is_null = function(arg0) { + const ret = arg0 === null; + return ret; + }; + imports.wbg.__wbindgen_is_object = function(arg0) { + const val = arg0; + const ret = typeof(val) === 'object' && val !== null; + return ret; + }; + imports.wbg.__wbindgen_is_undefined = function(arg0) { + const ret = arg0 === undefined; + return ret; + }; + imports.wbg.__wbindgen_memory = function() { + const ret = wasm.memory; + return ret; + }; + imports.wbg.__wbindgen_number_new = function(arg0) { + const ret = arg0; + return ret; + }; + imports.wbg.__wbindgen_string_get = function(arg0, arg1) { + const obj = arg1; + const ret = typeof(obj) === 'string' ? obj : undefined; + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_string_new = function(arg0, arg1) { + const ret = getStringFromWasm0(arg0, arg1); + return ret; + }; + imports.wbg.__wbindgen_throw = function(arg0, arg1) { + throw new Error(getStringFromWasm0(arg0, arg1)); + }; + imports['env'] = __wbg_star0; + + return imports; +} + +function __wbg_init_memory(imports, memory) { + +} + +function __wbg_finalize_init(instance, module) { + wasm = instance.exports; + __wbg_init.__wbindgen_wasm_module = module; + cachedDataViewMemory0 = null; + cachedUint32ArrayMemory0 = null; + cachedUint8ArrayMemory0 = null; + + + wasm.__wbindgen_start(); + return wasm; +} + +function initSync(module) { + if (wasm !== undefined) return wasm; + + + if (typeof module !== 'undefined') { + if (Object.getPrototypeOf(module) === Object.prototype) { + ({module} = module) + } else { + console.warn('using deprecated parameters for `initSync()`; pass a single object instead') + } + } + + const imports = __wbg_get_imports(); + + __wbg_init_memory(imports); + + if (!(module instanceof WebAssembly.Module)) { + module = new WebAssembly.Module(module); + } + + const instance = new WebAssembly.Instance(module, imports); + + return __wbg_finalize_init(instance, module); +} + +async function __wbg_init(module_or_path) { + if (wasm !== undefined) return wasm; + + + if (typeof module_or_path !== 'undefined') { + if (Object.getPrototypeOf(module_or_path) === Object.prototype) { + ({module_or_path} = module_or_path) + } else { + console.warn('using deprecated parameters for the initialization function; pass a single object instead') + } + } + + if (typeof module_or_path === 'undefined') { + module_or_path = new URL('compute-pipeline_bg.wasm', import.meta.url); + } + const imports = __wbg_get_imports(); + + if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) { + module_or_path = fetch(module_or_path); + } + + __wbg_init_memory(imports); + + const { instance, module } = await __wbg_load(await module_or_path, imports); + + return __wbg_finalize_init(instance, module); +} + +export { initSync }; +export default __wbg_init; diff --git a/wasm/compute-pipeline_bg.wasm b/wasm/compute-pipeline_bg.wasm new file mode 100644 index 00000000..d8789ab4 Binary files /dev/null and b/wasm/compute-pipeline_bg.wasm differ diff --git a/wasm/hilbert-curve.js b/wasm/hilbert-curve.js new file mode 100644 index 00000000..1b8f2eb4 --- /dev/null +++ b/wasm/hilbert-curve.js @@ -0,0 +1,1672 @@ +import * as __wbg_star0 from 'env'; + +let wasm; + +function isLikeNone(x) { + return x === undefined || x === null; +} + +function addToExternrefTable0(obj) { + const idx = wasm.__externref_table_alloc(); + wasm.__wbindgen_export_1.set(idx, obj); + return idx; +} + +const cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : { decode: () => { throw Error('TextDecoder not available') } } ); + +if (typeof TextDecoder !== 'undefined') { cachedTextDecoder.decode(); }; + +let cachedUint8ArrayMemory0 = null; + +function getUint8ArrayMemory0() { + if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) { + cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer); + } + return cachedUint8ArrayMemory0; +} + +function getStringFromWasm0(ptr, len) { + ptr = ptr >>> 0; + return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len)); +} + +function handleError(f, args) { + try { + return f.apply(this, args); + } catch (e) { + const idx = addToExternrefTable0(e); + wasm.__wbindgen_exn_store(idx); + } +} + +let WASM_VECTOR_LEN = 0; + +const cachedTextEncoder = (typeof TextEncoder !== 'undefined' ? new TextEncoder('utf-8') : { encode: () => { throw Error('TextEncoder not available') } } ); + +const encodeString = (typeof cachedTextEncoder.encodeInto === 'function' + ? function (arg, view) { + return cachedTextEncoder.encodeInto(arg, view); +} + : function (arg, view) { + const buf = cachedTextEncoder.encode(arg); + view.set(buf); + return { + read: arg.length, + written: buf.length + }; +}); + +function passStringToWasm0(arg, malloc, realloc) { + + if (realloc === undefined) { + const buf = cachedTextEncoder.encode(arg); + const ptr = malloc(buf.length, 1) >>> 0; + getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf); + WASM_VECTOR_LEN = buf.length; + return ptr; + } + + let len = arg.length; + let ptr = malloc(len, 1) >>> 0; + + const mem = getUint8ArrayMemory0(); + + let offset = 0; + + for (; offset < len; offset++) { + const code = arg.charCodeAt(offset); + if (code > 0x7F) break; + mem[ptr + offset] = code; + } + + if (offset !== len) { + if (offset !== 0) { + arg = arg.slice(offset); + } + ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0; + const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len); + const ret = encodeString(arg, view); + + offset += ret.written; + ptr = realloc(ptr, len, offset, 1) >>> 0; + } + + WASM_VECTOR_LEN = offset; + return ptr; +} + +let cachedDataViewMemory0 = null; + +function getDataViewMemory0() { + if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) { + cachedDataViewMemory0 = new DataView(wasm.memory.buffer); + } + return cachedDataViewMemory0; +} + +let cachedUint32ArrayMemory0 = null; + +function getUint32ArrayMemory0() { + if (cachedUint32ArrayMemory0 === null || cachedUint32ArrayMemory0.byteLength === 0) { + cachedUint32ArrayMemory0 = new Uint32Array(wasm.memory.buffer); + } + return cachedUint32ArrayMemory0; +} + +function getArrayU32FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getUint32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len); +} + +const CLOSURE_DTORS = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(state => { + wasm.__wbindgen_export_6.get(state.dtor)(state.a, state.b) +}); + +function makeMutClosure(arg0, arg1, dtor, f) { + const state = { a: arg0, b: arg1, cnt: 1, dtor }; + const real = (...args) => { + // First up with a closure we increment the internal reference + // count. This ensures that the Rust closure environment won't + // be deallocated while we're invoking it. + state.cnt++; + const a = state.a; + state.a = 0; + try { + return f(a, state.b, ...args); + } finally { + if (--state.cnt === 0) { + wasm.__wbindgen_export_6.get(state.dtor)(a, state.b); + CLOSURE_DTORS.unregister(state); + } else { + state.a = a; + } + } + }; + real.original = state; + CLOSURE_DTORS.register(real, state, state); + return real; +} + +function debugString(val) { + // primitive types + const type = typeof val; + if (type == 'number' || type == 'boolean' || val == null) { + return `${val}`; + } + if (type == 'string') { + return `"${val}"`; + } + if (type == 'symbol') { + const description = val.description; + if (description == null) { + return 'Symbol'; + } else { + return `Symbol(${description})`; + } + } + if (type == 'function') { + const name = val.name; + if (typeof name == 'string' && name.length > 0) { + return `Function(${name})`; + } else { + return 'Function'; + } + } + // objects + if (Array.isArray(val)) { + const length = val.length; + let debug = '['; + if (length > 0) { + debug += debugString(val[0]); + } + for(let i = 1; i < length; i++) { + debug += ', ' + debugString(val[i]); + } + debug += ']'; + return debug; + } + // Test for built-in + const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val)); + let className; + if (builtInMatches && builtInMatches.length > 1) { + className = builtInMatches[1]; + } else { + // Failed to match the standard '[object ClassName]' + return toString.call(val); + } + if (className == 'Object') { + // we're a user defined class or Object + // JSON.stringify avoids problems with cycles, and is generally much + // easier than looping through ownProperties of `val`. + try { + return 'Object(' + JSON.stringify(val) + ')'; + } catch (_) { + return 'Object'; + } + } + // errors + if (val instanceof Error) { + return `${val.name}: ${val.message}\n${val.stack}`; + } + // TODO we could test for more things here, like `Set`s and `Map`s. + return className; +} +function __wbg_adapter_30(arg0, arg1, arg2) { + wasm.closure68_externref_shim(arg0, arg1, arg2); +} + +function __wbg_adapter_37(arg0, arg1) { + wasm._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hc519b4bd8e5dee38(arg0, arg1); +} + +function __wbg_adapter_54(arg0, arg1, arg2, arg3) { + wasm.closure102_externref_shim(arg0, arg1, arg2, arg3); +} + +const __wbindgen_enum_GpuCompilationMessageType = ["error", "warning", "info"]; + +const __wbindgen_enum_GpuDeviceLostReason = ["unknown", "destroyed"]; + +const __wbindgen_enum_GpuErrorFilter = ["validation", "out-of-memory", "internal"]; + +const __wbindgen_enum_GpuIndexFormat = ["uint16", "uint32"]; + +const __wbindgen_enum_GpuTextureFormat = ["r8unorm", "r8snorm", "r8uint", "r8sint", "r16uint", "r16sint", "r16float", "rg8unorm", "rg8snorm", "rg8uint", "rg8sint", "r32uint", "r32sint", "r32float", "rg16uint", "rg16sint", "rg16float", "rgba8unorm", "rgba8unorm-srgb", "rgba8snorm", "rgba8uint", "rgba8sint", "bgra8unorm", "bgra8unorm-srgb", "rgb9e5ufloat", "rgb10a2uint", "rgb10a2unorm", "rg11b10ufloat", "rg32uint", "rg32sint", "rg32float", "rgba16uint", "rgba16sint", "rgba16float", "rgba32uint", "rgba32sint", "rgba32float", "stencil8", "depth16unorm", "depth24plus", "depth24plus-stencil8", "depth32float", "depth32float-stencil8", "bc1-rgba-unorm", "bc1-rgba-unorm-srgb", "bc2-rgba-unorm", "bc2-rgba-unorm-srgb", "bc3-rgba-unorm", "bc3-rgba-unorm-srgb", "bc4-r-unorm", "bc4-r-snorm", "bc5-rg-unorm", "bc5-rg-snorm", "bc6h-rgb-ufloat", "bc6h-rgb-float", "bc7-rgba-unorm", "bc7-rgba-unorm-srgb", "etc2-rgb8unorm", "etc2-rgb8unorm-srgb", "etc2-rgb8a1unorm", "etc2-rgb8a1unorm-srgb", "etc2-rgba8unorm", "etc2-rgba8unorm-srgb", "eac-r11unorm", "eac-r11snorm", "eac-rg11unorm", "eac-rg11snorm", "astc-4x4-unorm", "astc-4x4-unorm-srgb", "astc-5x4-unorm", "astc-5x4-unorm-srgb", "astc-5x5-unorm", "astc-5x5-unorm-srgb", "astc-6x5-unorm", "astc-6x5-unorm-srgb", "astc-6x6-unorm", "astc-6x6-unorm-srgb", "astc-8x5-unorm", "astc-8x5-unorm-srgb", "astc-8x6-unorm", "astc-8x6-unorm-srgb", "astc-8x8-unorm", "astc-8x8-unorm-srgb", "astc-10x5-unorm", "astc-10x5-unorm-srgb", "astc-10x6-unorm", "astc-10x6-unorm-srgb", "astc-10x8-unorm", "astc-10x8-unorm-srgb", "astc-10x10-unorm", "astc-10x10-unorm-srgb", "astc-12x10-unorm", "astc-12x10-unorm-srgb", "astc-12x12-unorm", "astc-12x12-unorm-srgb"]; + +const __wbindgen_enum_ResizeObserverBoxOptions = ["border-box", "content-box", "device-pixel-content-box"]; + +const __wbindgen_enum_VisibilityState = ["hidden", "visible"]; + +async function __wbg_load(module, imports) { + if (typeof Response === 'function' && module instanceof Response) { + if (typeof WebAssembly.instantiateStreaming === 'function') { + try { + return await WebAssembly.instantiateStreaming(module, imports); + + } catch (e) { + if (module.headers.get('Content-Type') != 'application/wasm') { + console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e); + + } else { + throw e; + } + } + } + + const bytes = await module.arrayBuffer(); + return await WebAssembly.instantiate(bytes, imports); + + } else { + const instance = await WebAssembly.instantiate(module, imports); + + if (instance instanceof WebAssembly.Instance) { + return { instance, module }; + + } else { + return instance; + } + } +} + +function __wbg_get_imports() { + const imports = {}; + imports.wbg = {}; + imports.wbg.__wbg_Window_96e58b3552ce6bb1 = function(arg0) { + const ret = arg0.Window; + return ret; + }; + imports.wbg.__wbg_Window_cf5b693340a7c469 = function(arg0) { + const ret = arg0.Window; + return ret; + }; + imports.wbg.__wbg_WorkerGlobalScope_354364d1b0bd06e5 = function(arg0) { + const ret = arg0.WorkerGlobalScope; + return ret; + }; + imports.wbg.__wbg_abort_19de2f828ee0874a = function(arg0) { + arg0.abort(); + }; + imports.wbg.__wbg_activeElement_d1a1f2b334adf636 = function(arg0) { + const ret = arg0.activeElement; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_addEventListener_e27053e488770e58 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + arg0.addEventListener(getStringFromWasm0(arg1, arg2), arg3); + }, arguments) }; + imports.wbg.__wbg_addListener_dca1ccc036e24997 = function() { return handleError(function (arg0, arg1) { + arg0.addListener(arg1); + }, arguments) }; + imports.wbg.__wbg_altKey_56dd0987e7ccbbf2 = function(arg0) { + const ret = arg0.altKey; + return ret; + }; + imports.wbg.__wbg_altKey_583c79ba3f4fce1e = function(arg0) { + const ret = arg0.altKey; + return ret; + }; + imports.wbg.__wbg_animate_310f1b8e5b1fdb56 = function(arg0, arg1, arg2) { + const ret = arg0.animate(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_appendChild_805222aed73feea9 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.appendChild(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_beginComputePass_90d5303e604970cb = function(arg0, arg1) { + const ret = arg0.beginComputePass(arg1); + return ret; + }; + imports.wbg.__wbg_beginRenderPass_9739520c601001c3 = function(arg0, arg1) { + const ret = arg0.beginRenderPass(arg1); + return ret; + }; + imports.wbg.__wbg_blockSize_e0006fb003814895 = function(arg0) { + const ret = arg0.blockSize; + return ret; + }; + imports.wbg.__wbg_body_83d4bc4961a422aa = function(arg0) { + const ret = arg0.body; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_brand_67e4f3d950154d0a = function(arg0, arg1) { + const ret = arg1.brand; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_brands_1ec54d613da9db02 = function(arg0) { + const ret = arg0.brands; + return ret; + }; + imports.wbg.__wbg_buffer_6e1d53ff183194fc = function(arg0) { + const ret = arg0.buffer; + return ret; + }; + imports.wbg.__wbg_buffer_ffdeb2ee67420f9e = function(arg0) { + const ret = arg0.buffer; + return ret; + }; + imports.wbg.__wbg_button_db48f93638c59f95 = function(arg0) { + const ret = arg0.button; + return ret; + }; + imports.wbg.__wbg_buttons_b962d6dc116cd1a5 = function(arg0) { + const ret = arg0.buttons; + return ret; + }; + imports.wbg.__wbg_call_3114932863209ca6 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.call(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_cancelAnimationFrame_f1ad512e269ea165 = function() { return handleError(function (arg0, arg1) { + arg0.cancelAnimationFrame(arg1); + }, arguments) }; + imports.wbg.__wbg_cancelIdleCallback_bcc2dc9be9de0744 = function(arg0, arg1) { + arg0.cancelIdleCallback(arg1 >>> 0); + }; + imports.wbg.__wbg_cancel_3b69067dcdf7ffb7 = function(arg0) { + arg0.cancel(); + }; + imports.wbg.__wbg_catch_9da7d002aa356f1d = function(arg0, arg1) { + const ret = arg0.catch(arg1); + return ret; + }; + imports.wbg.__wbg_clearBuffer_6164fc25d22b25cc = function(arg0, arg1, arg2, arg3) { + arg0.clearBuffer(arg1, arg2, arg3); + }; + imports.wbg.__wbg_clearBuffer_cfcaaf1fb2baa885 = function(arg0, arg1, arg2) { + arg0.clearBuffer(arg1, arg2); + }; + imports.wbg.__wbg_clearTimeout_da4408c46e51bc7a = function(arg0, arg1) { + arg0.clearTimeout(arg1); + }; + imports.wbg.__wbg_close_35d643897b189a00 = function(arg0) { + arg0.close(); + }; + imports.wbg.__wbg_code_d8226b2133366406 = function(arg0, arg1) { + const ret = arg1.code; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_configure_2414aed971d368cd = function(arg0, arg1) { + arg0.configure(arg1); + }; + imports.wbg.__wbg_contains_6947e163e2a3c092 = function(arg0, arg1) { + const ret = arg0.contains(arg1); + return ret; + }; + imports.wbg.__wbg_contentRect_7aaa87e16fd2882d = function(arg0) { + const ret = arg0.contentRect; + return ret; + }; + imports.wbg.__wbg_copyBufferToBuffer_1ba67191114656a1 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.copyBufferToBuffer(arg1, arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_copyBufferToTexture_878d31d479e48f28 = function(arg0, arg1, arg2, arg3) { + arg0.copyBufferToTexture(arg1, arg2, arg3); + }; + imports.wbg.__wbg_copyExternalImageToTexture_7878d196c0b60d39 = function(arg0, arg1, arg2, arg3) { + arg0.copyExternalImageToTexture(arg1, arg2, arg3); + }; + imports.wbg.__wbg_copyTextureToBuffer_6a8fe0e90f0a663d = function(arg0, arg1, arg2, arg3) { + arg0.copyTextureToBuffer(arg1, arg2, arg3); + }; + imports.wbg.__wbg_copyTextureToTexture_0a06a393d6726b4a = function(arg0, arg1, arg2, arg3) { + arg0.copyTextureToTexture(arg1, arg2, arg3); + }; + imports.wbg.__wbg_createBindGroupLayout_1d93b6d41c87ba9d = function(arg0, arg1) { + const ret = arg0.createBindGroupLayout(arg1); + return ret; + }; + imports.wbg.__wbg_createBindGroup_61cd07ec9d423432 = function(arg0, arg1) { + const ret = arg0.createBindGroup(arg1); + return ret; + }; + imports.wbg.__wbg_createBuffer_963aa00d5fe859e4 = function(arg0, arg1) { + const ret = arg0.createBuffer(arg1); + return ret; + }; + imports.wbg.__wbg_createCommandEncoder_f0e1613e9a2dc1eb = function(arg0, arg1) { + const ret = arg0.createCommandEncoder(arg1); + return ret; + }; + imports.wbg.__wbg_createComputePipeline_b9616b9fe2f4eb2f = function(arg0, arg1) { + const ret = arg0.createComputePipeline(arg1); + return ret; + }; + imports.wbg.__wbg_createElement_22b48bfb31a0c20e = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.createElement(getStringFromWasm0(arg1, arg2)); + return ret; + }, arguments) }; + imports.wbg.__wbg_createObjectURL_06505af3e8787cc8 = function() { return handleError(function (arg0, arg1) { + const ret = URL.createObjectURL(arg1); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_createPipelineLayout_56c6cf983f892d2b = function(arg0, arg1) { + const ret = arg0.createPipelineLayout(arg1); + return ret; + }; + imports.wbg.__wbg_createQuerySet_c14be802adf7c207 = function(arg0, arg1) { + const ret = arg0.createQuerySet(arg1); + return ret; + }; + imports.wbg.__wbg_createRenderBundleEncoder_8e4bdffea72f8c1f = function(arg0, arg1) { + const ret = arg0.createRenderBundleEncoder(arg1); + return ret; + }; + imports.wbg.__wbg_createRenderPipeline_079a88a0601fcce1 = function(arg0, arg1) { + const ret = arg0.createRenderPipeline(arg1); + return ret; + }; + imports.wbg.__wbg_createSampler_ef5578990df3baf7 = function(arg0, arg1) { + const ret = arg0.createSampler(arg1); + return ret; + }; + imports.wbg.__wbg_createShaderModule_17f451ea25cae47c = function(arg0, arg1) { + const ret = arg0.createShaderModule(arg1); + return ret; + }; + imports.wbg.__wbg_createTexture_01cc1cd2fea732d9 = function(arg0, arg1) { + const ret = arg0.createTexture(arg1); + return ret; + }; + imports.wbg.__wbg_createView_04701884291e1ccc = function(arg0, arg1) { + const ret = arg0.createView(arg1); + return ret; + }; + imports.wbg.__wbg_ctrlKey_60b29e015a543678 = function(arg0) { + const ret = arg0.ctrlKey; + return ret; + }; + imports.wbg.__wbg_ctrlKey_ab341328ab202d37 = function(arg0) { + const ret = arg0.ctrlKey; + return ret; + }; + imports.wbg.__wbg_debug_347b3d1f33e1c28e = function(arg0) { + console.debug(arg0); + }; + imports.wbg.__wbg_deltaMode_a4cc321212f87817 = function(arg0) { + const ret = arg0.deltaMode; + return ret; + }; + imports.wbg.__wbg_deltaX_27e2939a1af8c940 = function(arg0) { + const ret = arg0.deltaX; + return ret; + }; + imports.wbg.__wbg_deltaY_4bb52a4f0a7ad28b = function(arg0) { + const ret = arg0.deltaY; + return ret; + }; + imports.wbg.__wbg_destroy_35f94012e5bb9c17 = function(arg0) { + arg0.destroy(); + }; + imports.wbg.__wbg_destroy_767d9dde1008e293 = function(arg0) { + arg0.destroy(); + }; + imports.wbg.__wbg_destroy_c6af4226dda95dbd = function(arg0) { + arg0.destroy(); + }; + imports.wbg.__wbg_devicePixelContentBoxSize_1ea2c6145730b8c0 = function(arg0) { + const ret = arg0.devicePixelContentBoxSize; + return ret; + }; + imports.wbg.__wbg_devicePixelRatio_f4eb7cbe3a812de0 = function(arg0) { + const ret = arg0.devicePixelRatio; + return ret; + }; + imports.wbg.__wbg_disconnect_8b7c928b6057719b = function(arg0) { + arg0.disconnect(); + }; + imports.wbg.__wbg_disconnect_c45e8044053eddf3 = function(arg0) { + arg0.disconnect(); + }; + imports.wbg.__wbg_dispatchWorkgroupsIndirect_8b25efab93a7a433 = function(arg0, arg1, arg2) { + arg0.dispatchWorkgroupsIndirect(arg1, arg2); + }; + imports.wbg.__wbg_dispatchWorkgroups_c102fa81b955935d = function(arg0, arg1, arg2, arg3) { + arg0.dispatchWorkgroups(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0); + }; + imports.wbg.__wbg_document_c488ca7509cc6938 = function(arg0) { + const ret = arg0.document; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_drawIndexedIndirect_34484fc6227c7bc8 = function(arg0, arg1, arg2) { + arg0.drawIndexedIndirect(arg1, arg2); + }; + imports.wbg.__wbg_drawIndexedIndirect_5a7c30bb5f1d5b67 = function(arg0, arg1, arg2) { + arg0.drawIndexedIndirect(arg1, arg2); + }; + imports.wbg.__wbg_drawIndexed_115af1449b52a948 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.drawIndexed(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5 >>> 0); + }; + imports.wbg.__wbg_drawIndexed_a587cce4c317791f = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.drawIndexed(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5 >>> 0); + }; + imports.wbg.__wbg_drawIndirect_036d71498a21f1a3 = function(arg0, arg1, arg2) { + arg0.drawIndirect(arg1, arg2); + }; + imports.wbg.__wbg_drawIndirect_a1d7c5e893aa5756 = function(arg0, arg1, arg2) { + arg0.drawIndirect(arg1, arg2); + }; + imports.wbg.__wbg_draw_5351b12033166aca = function(arg0, arg1, arg2, arg3, arg4) { + arg0.draw(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_draw_e2a7c5d66fb2d244 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.draw(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_end_0ac71677a5c1717a = function(arg0) { + arg0.end(); + }; + imports.wbg.__wbg_end_6f776519f1faa582 = function(arg0) { + arg0.end(); + }; + imports.wbg.__wbg_error_2a6b93fdada7ff11 = function(arg0) { + console.error(arg0); + }; + imports.wbg.__wbg_error_7534b8e9a36f1ab4 = function(arg0, arg1) { + let deferred0_0; + let deferred0_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + console.error(getStringFromWasm0(arg0, arg1)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + } + }; + imports.wbg.__wbg_error_e98e6aadd08e0b94 = function(arg0) { + const ret = arg0.error; + return ret; + }; + imports.wbg.__wbg_error_f0dde81ae1e4cfea = function(arg0, arg1) { + console.error(arg0, arg1); + }; + imports.wbg.__wbg_executeBundles_8e6c0614da2805d4 = function(arg0, arg1) { + arg0.executeBundles(arg1); + }; + imports.wbg.__wbg_features_1b464383ea8a7691 = function(arg0) { + const ret = arg0.features; + return ret; + }; + imports.wbg.__wbg_features_e5fbbc2760867852 = function(arg0) { + const ret = arg0.features; + return ret; + }; + imports.wbg.__wbg_finish_20711371c58df61c = function(arg0) { + const ret = arg0.finish(); + return ret; + }; + imports.wbg.__wbg_finish_34b2c54329c8719f = function(arg0, arg1) { + const ret = arg0.finish(arg1); + return ret; + }; + imports.wbg.__wbg_finish_a9ab917e756ea00c = function(arg0, arg1) { + const ret = arg0.finish(arg1); + return ret; + }; + imports.wbg.__wbg_finish_e0a6c97c0622f843 = function(arg0) { + const ret = arg0.finish(); + return ret; + }; + imports.wbg.__wbg_focus_c71947fc3fe22147 = function() { return handleError(function (arg0) { + arg0.focus(); + }, arguments) }; + imports.wbg.__wbg_fullscreenElement_a613ad02fa918fb4 = function(arg0) { + const ret = arg0.fullscreenElement; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getBindGroupLayout_4a94df6108ac6667 = function(arg0, arg1) { + const ret = arg0.getBindGroupLayout(arg1 >>> 0); + return ret; + }; + imports.wbg.__wbg_getBindGroupLayout_80e803d942962f6a = function(arg0, arg1) { + const ret = arg0.getBindGroupLayout(arg1 >>> 0); + return ret; + }; + imports.wbg.__wbg_getCoalescedEvents_1372a1922f78401a = function(arg0) { + const ret = arg0.getCoalescedEvents; + return ret; + }; + imports.wbg.__wbg_getCoalescedEvents_3736b5e5d63bed7b = function(arg0) { + const ret = arg0.getCoalescedEvents(); + return ret; + }; + imports.wbg.__wbg_getCompilationInfo_2af3ecdfeda551a3 = function(arg0) { + const ret = arg0.getCompilationInfo(); + return ret; + }; + imports.wbg.__wbg_getComputedStyle_c3a9de7674a38310 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.getComputedStyle(arg1); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getContext_02d86c7d9cfa709e = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.getContext(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getContext_24d4414b979c1bbd = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.getContext(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getCurrentTexture_5a79cda2ff36e1ee = function(arg0) { + const ret = arg0.getCurrentTexture(); + return ret; + }; + imports.wbg.__wbg_getElementById_7b2db24a9b54f077 = function(arg0, arg1, arg2) { + const ret = arg0.getElementById(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getMappedRange_932dd043ae22ee0a = function(arg0, arg1, arg2) { + const ret = arg0.getMappedRange(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_getOwnPropertyDescriptor_c701b185423f5b7e = function(arg0, arg1) { + const ret = Object.getOwnPropertyDescriptor(arg0, arg1); + return ret; + }; + imports.wbg.__wbg_getPreferredCanvasFormat_de73c02773a5209e = function(arg0) { + const ret = arg0.getPreferredCanvasFormat(); + return (__wbindgen_enum_GpuTextureFormat.indexOf(ret) + 1 || 96) - 1; + }; + imports.wbg.__wbg_getPropertyValue_e87121b8549f72d5 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = arg1.getPropertyValue(getStringFromWasm0(arg2, arg3)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_get_68aa371864aa301a = function(arg0, arg1) { + const ret = arg0[arg1 >>> 0]; + return ret; + }; + imports.wbg.__wbg_get_6b316bfdb1b95076 = function(arg0, arg1) { + const ret = arg0[arg1 >>> 0]; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_globalThis_1e2ac1d6eee845b3 = function() { return handleError(function () { + const ret = globalThis.globalThis; + return ret; + }, arguments) }; + imports.wbg.__wbg_global_f25a574ae080367c = function() { return handleError(function () { + const ret = global.global; + return ret; + }, arguments) }; + imports.wbg.__wbg_gpu_87871e8f7ace8fee = function(arg0) { + const ret = arg0.gpu; + return ret; + }; + imports.wbg.__wbg_has_624cbf0451d880e8 = function(arg0, arg1, arg2) { + const ret = arg0.has(getStringFromWasm0(arg1, arg2)); + return ret; + }; + imports.wbg.__wbg_height_e509816ec3fdf5b1 = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_info_b6bd3cb6471c2b4c = function(arg0) { + console.info(arg0); + }; + imports.wbg.__wbg_inlineSize_6f8d0983462c2919 = function(arg0) { + const ret = arg0.inlineSize; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuAdapter_0731153d2b08720b = function(arg0) { + let result; + try { + result = arg0 instanceof GPUAdapter; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuCanvasContext_d14121c7bd72fcef = function(arg0) { + let result; + try { + result = arg0 instanceof GPUCanvasContext; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuDeviceLostInfo_a3677ebb8241d800 = function(arg0) { + let result; + try { + result = arg0 instanceof GPUDeviceLostInfo; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuOutOfMemoryError_391d9a08edbfa04b = function(arg0) { + let result; + try { + result = arg0 instanceof GPUOutOfMemoryError; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuValidationError_f4d803c383da3c92 = function(arg0) { + let result; + try { + result = arg0 instanceof GPUValidationError; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_Object_f0f57d6eeca1b81d = function(arg0) { + let result; + try { + result = arg0 instanceof Object; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_Window_a959820eb267fe22 = function(arg0) { + let result; + try { + result = arg0 instanceof Window; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_isIntersecting_9059d5bcaf29f415 = function(arg0) { + const ret = arg0.isIntersecting; + return ret; + }; + imports.wbg.__wbg_is_20768e55ad2a7c3f = function(arg0, arg1) { + const ret = Object.is(arg0, arg1); + return ret; + }; + imports.wbg.__wbg_key_02315cd3f595756b = function(arg0, arg1) { + const ret = arg1.key; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_label_2082ab37d2ad170d = function(arg0, arg1) { + const ret = arg1.label; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_length_2e63ba34c4121df5 = function(arg0) { + const ret = arg0.length; + return ret; + }; + imports.wbg.__wbg_length_9df32f7add647235 = function(arg0) { + const ret = arg0.length; + return ret; + }; + imports.wbg.__wbg_length_e74df4881604f1d9 = function(arg0) { + const ret = arg0.length; + return ret; + }; + imports.wbg.__wbg_limits_2dd632c891786ddf = function(arg0) { + const ret = arg0.limits; + return ret; + }; + imports.wbg.__wbg_limits_f6411f884b0b2d62 = function(arg0) { + const ret = arg0.limits; + return ret; + }; + imports.wbg.__wbg_lineNum_0246de1e072ffe19 = function(arg0) { + const ret = arg0.lineNum; + return ret; + }; + imports.wbg.__wbg_location_54d35e8c85dcfb9c = function(arg0) { + const ret = arg0.location; + return ret; + }; + imports.wbg.__wbg_location_e9eba129bf0612a5 = function(arg0) { + const ret = arg0.location; + return ret; + }; + imports.wbg.__wbg_log_d818ca3cab23fc77 = function(arg0) { + console.log(arg0); + }; + imports.wbg.__wbg_lost_6e4d29847ce2a34a = function(arg0) { + const ret = arg0.lost; + return ret; + }; + imports.wbg.__wbg_mapAsync_37f5e03edf2e1352 = function(arg0, arg1, arg2, arg3) { + const ret = arg0.mapAsync(arg1 >>> 0, arg2, arg3); + return ret; + }; + imports.wbg.__wbg_matchMedia_0be65181eeae951c = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.matchMedia(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_matches_254463383aee4688 = function(arg0) { + const ret = arg0.matches; + return ret; + }; + imports.wbg.__wbg_maxBindGroups_768ca5e8623bf450 = function(arg0) { + const ret = arg0.maxBindGroups; + return ret; + }; + imports.wbg.__wbg_maxBindingsPerBindGroup_057972d600d69719 = function(arg0) { + const ret = arg0.maxBindingsPerBindGroup; + return ret; + }; + imports.wbg.__wbg_maxBufferSize_e237b44f19a5a62b = function(arg0) { + const ret = arg0.maxBufferSize; + return ret; + }; + imports.wbg.__wbg_maxColorAttachmentBytesPerSample_d6c7b4051d22c6d6 = function(arg0) { + const ret = arg0.maxColorAttachmentBytesPerSample; + return ret; + }; + imports.wbg.__wbg_maxColorAttachments_7a18ba24c05edcfd = function(arg0) { + const ret = arg0.maxColorAttachments; + return ret; + }; + imports.wbg.__wbg_maxComputeInvocationsPerWorkgroup_b99c2f3611633992 = function(arg0) { + const ret = arg0.maxComputeInvocationsPerWorkgroup; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupSizeX_adb26da9ed7f77f7 = function(arg0) { + const ret = arg0.maxComputeWorkgroupSizeX; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupSizeY_cc217559c98be33b = function(arg0) { + const ret = arg0.maxComputeWorkgroupSizeY; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupSizeZ_66606a80e2cf2309 = function(arg0) { + const ret = arg0.maxComputeWorkgroupSizeZ; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupStorageSize_cb6235497b8c4997 = function(arg0) { + const ret = arg0.maxComputeWorkgroupStorageSize; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupsPerDimension_6bf550b5f21d57cf = function(arg0) { + const ret = arg0.maxComputeWorkgroupsPerDimension; + return ret; + }; + imports.wbg.__wbg_maxDynamicStorageBuffersPerPipelineLayout_c6ac20334e328b47 = function(arg0) { + const ret = arg0.maxDynamicStorageBuffersPerPipelineLayout; + return ret; + }; + imports.wbg.__wbg_maxDynamicUniformBuffersPerPipelineLayout_aa8f14a74b440f01 = function(arg0) { + const ret = arg0.maxDynamicUniformBuffersPerPipelineLayout; + return ret; + }; + imports.wbg.__wbg_maxSampledTexturesPerShaderStage_db7c4922cc60144a = function(arg0) { + const ret = arg0.maxSampledTexturesPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxSamplersPerShaderStage_538705fe2263e710 = function(arg0) { + const ret = arg0.maxSamplersPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxStorageBufferBindingSize_32178c0f5f7f85cb = function(arg0) { + const ret = arg0.maxStorageBufferBindingSize; + return ret; + }; + imports.wbg.__wbg_maxStorageBuffersPerShaderStage_9f67e9eae0089f77 = function(arg0) { + const ret = arg0.maxStorageBuffersPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxStorageTexturesPerShaderStage_57239664936031cf = function(arg0) { + const ret = arg0.maxStorageTexturesPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxTextureArrayLayers_db5d4e486c78ae04 = function(arg0) { + const ret = arg0.maxTextureArrayLayers; + return ret; + }; + imports.wbg.__wbg_maxTextureDimension1D_3475085ffacabbdc = function(arg0) { + const ret = arg0.maxTextureDimension1D; + return ret; + }; + imports.wbg.__wbg_maxTextureDimension2D_7c8d5ecf09eb8519 = function(arg0) { + const ret = arg0.maxTextureDimension2D; + return ret; + }; + imports.wbg.__wbg_maxTextureDimension3D_8bd976677a0f91d4 = function(arg0) { + const ret = arg0.maxTextureDimension3D; + return ret; + }; + imports.wbg.__wbg_maxUniformBufferBindingSize_95b1a54e7e4a0f0f = function(arg0) { + const ret = arg0.maxUniformBufferBindingSize; + return ret; + }; + imports.wbg.__wbg_maxUniformBuffersPerShaderStage_5f475d9a453af14d = function(arg0) { + const ret = arg0.maxUniformBuffersPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxVertexAttributes_4c48ca2f5d32f860 = function(arg0) { + const ret = arg0.maxVertexAttributes; + return ret; + }; + imports.wbg.__wbg_maxVertexBufferArrayStride_2233f6933ecc5a16 = function(arg0) { + const ret = arg0.maxVertexBufferArrayStride; + return ret; + }; + imports.wbg.__wbg_maxVertexBuffers_c47e508cd7348554 = function(arg0) { + const ret = arg0.maxVertexBuffers; + return ret; + }; + imports.wbg.__wbg_message_0762358e59db7ed6 = function(arg0, arg1) { + const ret = arg1.message; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_message_7957ab09f64c6822 = function(arg0, arg1) { + const ret = arg1.message; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_message_b163994503433c9e = function(arg0, arg1) { + const ret = arg1.message; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_messages_da071582f72bc978 = function(arg0) { + const ret = arg0.messages; + return ret; + }; + imports.wbg.__wbg_metaKey_34d5658170ffb3ee = function(arg0) { + const ret = arg0.metaKey; + return ret; + }; + imports.wbg.__wbg_metaKey_6c8e9228e8dda152 = function(arg0) { + const ret = arg0.metaKey; + return ret; + }; + imports.wbg.__wbg_minStorageBufferOffsetAlignment_51b4801fac3a58de = function(arg0) { + const ret = arg0.minStorageBufferOffsetAlignment; + return ret; + }; + imports.wbg.__wbg_minUniformBufferOffsetAlignment_5d62a77924b2335f = function(arg0) { + const ret = arg0.minUniformBufferOffsetAlignment; + return ret; + }; + imports.wbg.__wbg_movementX_e32c342d96d1c701 = function(arg0) { + const ret = arg0.movementX; + return ret; + }; + imports.wbg.__wbg_movementY_136c6febb976ca3b = function(arg0) { + const ret = arg0.movementY; + return ret; + }; + imports.wbg.__wbg_navigator_2936a93ec3c6f4c5 = function(arg0) { + const ret = arg0.navigator; + return ret; + }; + imports.wbg.__wbg_navigator_da495c9e52e160b1 = function(arg0) { + const ret = arg0.navigator; + return ret; + }; + imports.wbg.__wbg_new_076cac58bb698dd4 = function() { + const ret = new Object(); + return ret; + }; + imports.wbg.__wbg_new_0c28e72025e00594 = function() { + const ret = new Array(); + return ret; + }; + imports.wbg.__wbg_new_23362fa370a0a372 = function(arg0) { + const ret = new Uint8Array(arg0); + return ret; + }; + imports.wbg.__wbg_new_238671e08bf4fcbb = function() { return handleError(function () { + const ret = new MessageChannel(); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_4b15073a88792687 = function() { return handleError(function (arg0) { + const ret = new ResizeObserver(arg0); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_8a6f238a6ece86ea = function() { + const ret = new Error(); + return ret; + }; + imports.wbg.__wbg_new_93cf40e4f48fe902 = function() { return handleError(function () { + const ret = new AbortController(); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_b4a18f0a618c89f2 = function() { return handleError(function (arg0, arg1) { + const ret = new Worker(getStringFromWasm0(arg0, arg1)); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_c94d990936d8ea5d = function() { return handleError(function (arg0) { + const ret = new IntersectionObserver(arg0); + return ret; + }, arguments) }; + imports.wbg.__wbg_newnoargs_19a249f4eceaaac3 = function(arg0, arg1) { + const ret = new Function(getStringFromWasm0(arg0, arg1)); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_ee8def7000b7b2be = function(arg0, arg1, arg2) { + const ret = new Uint8Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithstrsequenceandoptions_af096ce40d9d9ac8 = function() { return handleError(function (arg0, arg1) { + const ret = new Blob(arg0, arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_now_2c95c9de01293173 = function(arg0) { + const ret = arg0.now(); + return ret; + }; + imports.wbg.__wbg_observe_e2208b07fe315de7 = function(arg0, arg1) { + arg0.observe(arg1); + }; + imports.wbg.__wbg_observe_ec91d62599b7772b = function(arg0, arg1) { + arg0.observe(arg1); + }; + imports.wbg.__wbg_observe_fd48955513eca909 = function(arg0, arg1, arg2) { + arg0.observe(arg1, arg2); + }; + imports.wbg.__wbg_of_2f6232d86af7992c = function(arg0, arg1) { + const ret = Array.of(arg0, arg1); + return ret; + }; + imports.wbg.__wbg_of_5ae3a2d893e18853 = function(arg0) { + const ret = Array.of(arg0); + return ret; + }; + imports.wbg.__wbg_offsetX_d6957d052a0d4b11 = function(arg0) { + const ret = arg0.offsetX; + return ret; + }; + imports.wbg.__wbg_offsetY_076edde514bf80f4 = function(arg0) { + const ret = arg0.offsetY; + return ret; + }; + imports.wbg.__wbg_offset_336f14c993863b76 = function(arg0) { + const ret = arg0.offset; + return ret; + }; + imports.wbg.__wbg_performance_7a3ffd0b17f663ad = function(arg0) { + const ret = arg0.performance; + return ret; + }; + imports.wbg.__wbg_persisted_7e044507e52804d9 = function(arg0) { + const ret = arg0.persisted; + return ret; + }; + imports.wbg.__wbg_play_e7eb90a843114e0d = function(arg0) { + arg0.play(); + }; + imports.wbg.__wbg_pointerId_a2cbd2cdd6da90b2 = function(arg0) { + const ret = arg0.pointerId; + return ret; + }; + imports.wbg.__wbg_pointerType_1b74686427cdec29 = function(arg0, arg1) { + const ret = arg1.pointerType; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_popErrorScope_af0b22f136a861d6 = function(arg0) { + const ret = arg0.popErrorScope(); + return ret; + }; + imports.wbg.__wbg_port1_6f5b26fd23d19536 = function(arg0) { + const ret = arg0.port1; + return ret; + }; + imports.wbg.__wbg_port2_2eb4c961d6df5816 = function(arg0) { + const ret = arg0.port2; + return ret; + }; + imports.wbg.__wbg_postMessage_33dcf5caa3589c64 = function() { return handleError(function (arg0, arg1, arg2) { + arg0.postMessage(arg1, arg2); + }, arguments) }; + imports.wbg.__wbg_postMessage_3e7f3215320b4a9c = function() { return handleError(function (arg0, arg1) { + arg0.postMessage(arg1); + }, arguments) }; + imports.wbg.__wbg_postTask_9ba4c3cedae00b38 = function(arg0, arg1, arg2) { + const ret = arg0.postTask(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_pressure_8707a47b6fb1c1fd = function(arg0) { + const ret = arg0.pressure; + return ret; + }; + imports.wbg.__wbg_preventDefault_faafffcaad92972d = function(arg0) { + arg0.preventDefault(); + }; + imports.wbg.__wbg_prototype_0f68911d93450df4 = function() { + const ret = ResizeObserverEntry.prototype; + return ret; + }; + imports.wbg.__wbg_pushErrorScope_b52914ff10ba6ce3 = function(arg0, arg1) { + arg0.pushErrorScope(__wbindgen_enum_GpuErrorFilter[arg1]); + }; + imports.wbg.__wbg_push_3e9ce81246ef1d1b = function(arg0, arg1) { + const ret = arg0.push(arg1); + return ret; + }; + imports.wbg.__wbg_querySelectorAll_775f04e6f26ad643 = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.querySelectorAll(getStringFromWasm0(arg1, arg2)); + return ret; + }, arguments) }; + imports.wbg.__wbg_queueMicrotask_3d422e1ba49c2500 = function(arg0) { + const ret = arg0.queueMicrotask; + return ret; + }; + imports.wbg.__wbg_queueMicrotask_5fc3e400ac3c03f4 = function(arg0) { + queueMicrotask(arg0); + }; + imports.wbg.__wbg_queueMicrotask_f301663ccadbb7d0 = function(arg0) { + queueMicrotask(arg0); + }; + imports.wbg.__wbg_queue_bea4017efaaf9904 = function(arg0) { + const ret = arg0.queue; + return ret; + }; + imports.wbg.__wbg_reason_43acd39cce242b50 = function(arg0) { + const ret = arg0.reason; + return (__wbindgen_enum_GpuDeviceLostReason.indexOf(ret) + 1 || 3) - 1; + }; + imports.wbg.__wbg_removeEventListener_d14a328308e427ba = function() { return handleError(function (arg0, arg1, arg2, arg3) { + arg0.removeEventListener(getStringFromWasm0(arg1, arg2), arg3); + }, arguments) }; + imports.wbg.__wbg_removeListener_aee72eb2e5fba09c = function() { return handleError(function (arg0, arg1) { + arg0.removeListener(arg1); + }, arguments) }; + imports.wbg.__wbg_removeProperty_902c73a4430b3e54 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = arg1.removeProperty(getStringFromWasm0(arg2, arg3)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_repeat_56fa20e30d00be95 = function(arg0) { + const ret = arg0.repeat; + return ret; + }; + imports.wbg.__wbg_requestAdapter_e6dcfac497cafa7a = function(arg0, arg1) { + const ret = arg0.requestAdapter(arg1); + return ret; + }; + imports.wbg.__wbg_requestAnimationFrame_e8ca543d07df528e = function() { return handleError(function (arg0, arg1) { + const ret = arg0.requestAnimationFrame(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_requestDevice_03b802707d5a382c = function(arg0, arg1) { + const ret = arg0.requestDevice(arg1); + return ret; + }; + imports.wbg.__wbg_requestFullscreen_e1ad8752a4e33f7e = function(arg0) { + const ret = arg0.requestFullscreen; + return ret; + }; + imports.wbg.__wbg_requestFullscreen_f727b1f250ebb10a = function(arg0) { + const ret = arg0.requestFullscreen(); + return ret; + }; + imports.wbg.__wbg_requestIdleCallback_773c554fc8c5a310 = function(arg0) { + const ret = arg0.requestIdleCallback; + return ret; + }; + imports.wbg.__wbg_requestIdleCallback_ba1f658c72e2140c = function() { return handleError(function (arg0, arg1) { + const ret = arg0.requestIdleCallback(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_resolveQuerySet_811661fb23f3b699 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.resolveQuerySet(arg1, arg2 >>> 0, arg3 >>> 0, arg4, arg5 >>> 0); + }; + imports.wbg.__wbg_resolve_6a311e8bb26423ab = function(arg0) { + const ret = Promise.resolve(arg0); + return ret; + }; + imports.wbg.__wbg_revokeObjectURL_3e4ad6d46a9a93f1 = function() { return handleError(function (arg0, arg1) { + URL.revokeObjectURL(getStringFromWasm0(arg0, arg1)); + }, arguments) }; + imports.wbg.__wbg_scheduler_10edeee35a76c7c6 = function(arg0) { + const ret = arg0.scheduler; + return ret; + }; + imports.wbg.__wbg_scheduler_6d71128f17fbca34 = function(arg0) { + const ret = arg0.scheduler; + return ret; + }; + imports.wbg.__wbg_search_4c8c4c416a168e55 = function() { return handleError(function (arg0, arg1) { + const ret = arg1.search; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_self_ac4343e4047b83cc = function() { return handleError(function () { + const ret = self.self; + return ret; + }, arguments) }; + imports.wbg.__wbg_setAttribute_e5d83ecaf7f586d5 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { + arg0.setAttribute(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4)); + }, arguments) }; + imports.wbg.__wbg_setBindGroup_62a3045b0921e429 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setBindGroup(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4), arg5, arg6 >>> 0); + }; + imports.wbg.__wbg_setBindGroup_6c0fd18e9a53a945 = function(arg0, arg1, arg2) { + arg0.setBindGroup(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_setBindGroup_7f3b61f1f482133b = function(arg0, arg1, arg2) { + arg0.setBindGroup(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_setBindGroup_bf767a5aa46a33ce = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setBindGroup(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4), arg5, arg6 >>> 0); + }; + imports.wbg.__wbg_setBindGroup_c4aaff14063226b4 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setBindGroup(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4), arg5, arg6 >>> 0); + }; + imports.wbg.__wbg_setBindGroup_f82e771dc1b69093 = function(arg0, arg1, arg2) { + arg0.setBindGroup(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_setBlendConstant_016723821cfb3aa4 = function(arg0, arg1) { + arg0.setBlendConstant(arg1); + }; + imports.wbg.__wbg_setIndexBuffer_286a40afdff411b7 = function(arg0, arg1, arg2, arg3) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3); + }; + imports.wbg.__wbg_setIndexBuffer_7efd0b7a40c65fb9 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3, arg4); + }; + imports.wbg.__wbg_setIndexBuffer_e091a9673bb575e2 = function(arg0, arg1, arg2, arg3) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3); + }; + imports.wbg.__wbg_setIndexBuffer_f0759f00036f615f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3, arg4); + }; + imports.wbg.__wbg_setPipeline_ba92070b8ee81cf9 = function(arg0, arg1) { + arg0.setPipeline(arg1); + }; + imports.wbg.__wbg_setPipeline_c344f76bae58c4d6 = function(arg0, arg1) { + arg0.setPipeline(arg1); + }; + imports.wbg.__wbg_setPipeline_d76451c50a121598 = function(arg0, arg1) { + arg0.setPipeline(arg1); + }; + imports.wbg.__wbg_setPointerCapture_6b89bc3d20c408af = function() { return handleError(function (arg0, arg1) { + arg0.setPointerCapture(arg1); + }, arguments) }; + imports.wbg.__wbg_setProperty_b11b0bad191551d1 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { + arg0.setProperty(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4)); + }, arguments) }; + imports.wbg.__wbg_setScissorRect_0b6ee0852ef0b6b9 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setScissorRect(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_setStencilReference_34fd3d59673a5a9d = function(arg0, arg1) { + arg0.setStencilReference(arg1 >>> 0); + }; + imports.wbg.__wbg_setTimeout_11f3c7cad8433a4f = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.setTimeout(arg1, arg2); + return ret; + }, arguments) }; + imports.wbg.__wbg_setTimeout_15ba883433c836ab = function() { return handleError(function (arg0, arg1) { + const ret = arg0.setTimeout(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_setVertexBuffer_06a90dc78e1ad9c4 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_setVertexBuffer_1540e9118b6c451d = function(arg0, arg1, arg2, arg3) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_setVertexBuffer_5166eedc06450701 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_setVertexBuffer_8621784e5014065b = function(arg0, arg1, arg2, arg3) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_setViewport_731ad30abb13f744 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setViewport(arg1, arg2, arg3, arg4, arg5, arg6); + }; + imports.wbg.__wbg_set_421385e996a16e02 = function() { return handleError(function (arg0, arg1, arg2) { + const ret = Reflect.set(arg0, arg1, arg2); + return ret; + }, arguments) }; + imports.wbg.__wbg_set_7b70226104a82921 = function(arg0, arg1, arg2) { + arg0.set(arg1, arg2 >>> 0); + }; + imports.wbg.__wbg_setbox_f664fc1447c0b2bb = function(arg0, arg1) { + arg0.box = __wbindgen_enum_ResizeObserverBoxOptions[arg1]; + }; + imports.wbg.__wbg_setheight_4286b13b9186d39f = function(arg0, arg1) { + arg0.height = arg1 >>> 0; + }; + imports.wbg.__wbg_setheight_7632621fed149fd9 = function(arg0, arg1) { + arg0.height = arg1 >>> 0; + }; + imports.wbg.__wbg_setonmessage_1f177e6cba71d19d = function(arg0, arg1) { + arg0.onmessage = arg1; + }; + imports.wbg.__wbg_setonuncapturederror_19541466822d790b = function(arg0, arg1) { + arg0.onuncapturederror = arg1; + }; + imports.wbg.__wbg_settabIndex_bc37dd560b089902 = function(arg0, arg1) { + arg0.tabIndex = arg1; + }; + imports.wbg.__wbg_settype_202db174d92fe493 = function(arg0, arg1, arg2) { + arg0.type = getStringFromWasm0(arg1, arg2); + }; + imports.wbg.__wbg_setwidth_5e43e6e177d3e2ec = function(arg0, arg1) { + arg0.width = arg1 >>> 0; + }; + imports.wbg.__wbg_setwidth_db46810857c0f6bd = function(arg0, arg1) { + arg0.width = arg1 >>> 0; + }; + imports.wbg.__wbg_shiftKey_570898b1142a9898 = function(arg0) { + const ret = arg0.shiftKey; + return ret; + }; + imports.wbg.__wbg_shiftKey_e90da27a3092777e = function(arg0) { + const ret = arg0.shiftKey; + return ret; + }; + imports.wbg.__wbg_signal_fd2d6d0644f16ad8 = function(arg0) { + const ret = arg0.signal; + return ret; + }; + imports.wbg.__wbg_size_661bddb3f9898121 = function(arg0) { + const ret = arg0.size; + return ret; + }; + imports.wbg.__wbg_stack_0ed75d68575b0f3c = function(arg0, arg1) { + const ret = arg1.stack; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_start_a00c28f297559e1d = function(arg0) { + arg0.start(); + }; + imports.wbg.__wbg_style_e7c4e0938a7565b2 = function(arg0) { + const ret = arg0.style; + return ret; + }; + imports.wbg.__wbg_submit_f635072bb3d05faa = function(arg0, arg1) { + arg0.submit(arg1); + }; + imports.wbg.__wbg_then_5c6469c1e1da9e59 = function(arg0, arg1) { + const ret = arg0.then(arg1); + return ret; + }; + imports.wbg.__wbg_then_faeb8aed8c1629b7 = function(arg0, arg1, arg2) { + const ret = arg0.then(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_type_c0d5d83032e9858a = function(arg0) { + const ret = arg0.type; + return (__wbindgen_enum_GpuCompilationMessageType.indexOf(ret) + 1 || 4) - 1; + }; + imports.wbg.__wbg_unmap_8c2e8131b2aaa844 = function(arg0) { + arg0.unmap(); + }; + imports.wbg.__wbg_unobserve_9198337c0c96042f = function(arg0, arg1) { + arg0.unobserve(arg1); + }; + imports.wbg.__wbg_usage_13caa02888040e9f = function(arg0) { + const ret = arg0.usage; + return ret; + }; + imports.wbg.__wbg_userAgentData_5e600df9bb352050 = function(arg0) { + const ret = arg0.userAgentData; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_userAgent_bfd54e5c60738678 = function() { return handleError(function (arg0, arg1) { + const ret = arg1.userAgent; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_valueOf_a2728b52687d72b4 = function(arg0) { + const ret = arg0.valueOf(); + return ret; + }; + imports.wbg.__wbg_visibilityState_c2b01655a6777e68 = function(arg0) { + const ret = arg0.visibilityState; + return (__wbindgen_enum_VisibilityState.indexOf(ret) + 1 || 3) - 1; + }; + imports.wbg.__wbg_warn_a6963915e4da61f6 = function(arg0) { + console.warn(arg0); + }; + imports.wbg.__wbg_webkitFullscreenElement_0c4654cdfe6894e5 = function(arg0) { + const ret = arg0.webkitFullscreenElement; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_webkitRequestFullscreen_fe95241c4f21ea63 = function(arg0) { + arg0.webkitRequestFullscreen(); + }; + imports.wbg.__wbg_width_dfc6149b0c4d8821 = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_window_1a23defd102c72f4 = function() { return handleError(function () { + const ret = window.window; + return ret; + }, arguments) }; + imports.wbg.__wbg_writeBuffer_5ca4981365eb5ac0 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.writeBuffer(arg1, arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_writeTexture_246118eb2f5a1592 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.writeTexture(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbindgen_cb_drop = function(arg0) { + const obj = arg0.original; + if (obj.cnt-- == 1) { + obj.a = 0; + return true; + } + const ret = false; + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper1237 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 69, __wbg_adapter_30); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper1999 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 69, __wbg_adapter_30); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2005 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 69, __wbg_adapter_30); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2490 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 69, __wbg_adapter_37); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2535 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 69, __wbg_adapter_30); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2555 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 69, __wbg_adapter_30); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2556 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 69, __wbg_adapter_30); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2557 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 69, __wbg_adapter_30); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2558 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 69, __wbg_adapter_30); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2559 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 69, __wbg_adapter_30); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2602 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 69, __wbg_adapter_30); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2603 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 69, __wbg_adapter_54); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2604 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 69, __wbg_adapter_30); + return ret; + }; + imports.wbg.__wbindgen_debug_string = function(arg0, arg1) { + const ret = debugString(arg1); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_init_externref_table = function() { + const table = wasm.__wbindgen_export_1; + const offset = table.grow(4); + table.set(0, undefined); + table.set(offset + 0, undefined); + table.set(offset + 1, null); + table.set(offset + 2, true); + table.set(offset + 3, false); + ; + }; + imports.wbg.__wbindgen_is_function = function(arg0) { + const ret = typeof(arg0) === 'function'; + return ret; + }; + imports.wbg.__wbindgen_is_null = function(arg0) { + const ret = arg0 === null; + return ret; + }; + imports.wbg.__wbindgen_is_object = function(arg0) { + const val = arg0; + const ret = typeof(val) === 'object' && val !== null; + return ret; + }; + imports.wbg.__wbindgen_is_undefined = function(arg0) { + const ret = arg0 === undefined; + return ret; + }; + imports.wbg.__wbindgen_memory = function() { + const ret = wasm.memory; + return ret; + }; + imports.wbg.__wbindgen_number_new = function(arg0) { + const ret = arg0; + return ret; + }; + imports.wbg.__wbindgen_string_get = function(arg0, arg1) { + const obj = arg1; + const ret = typeof(obj) === 'string' ? obj : undefined; + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_string_new = function(arg0, arg1) { + const ret = getStringFromWasm0(arg0, arg1); + return ret; + }; + imports.wbg.__wbindgen_throw = function(arg0, arg1) { + throw new Error(getStringFromWasm0(arg0, arg1)); + }; + imports['env'] = __wbg_star0; + + return imports; +} + +function __wbg_init_memory(imports, memory) { + +} + +function __wbg_finalize_init(instance, module) { + wasm = instance.exports; + __wbg_init.__wbindgen_wasm_module = module; + cachedDataViewMemory0 = null; + cachedUint32ArrayMemory0 = null; + cachedUint8ArrayMemory0 = null; + + + wasm.__wbindgen_start(); + return wasm; +} + +function initSync(module) { + if (wasm !== undefined) return wasm; + + + if (typeof module !== 'undefined') { + if (Object.getPrototypeOf(module) === Object.prototype) { + ({module} = module) + } else { + console.warn('using deprecated parameters for `initSync()`; pass a single object instead') + } + } + + const imports = __wbg_get_imports(); + + __wbg_init_memory(imports); + + if (!(module instanceof WebAssembly.Module)) { + module = new WebAssembly.Module(module); + } + + const instance = new WebAssembly.Instance(module, imports); + + return __wbg_finalize_init(instance, module); +} + +async function __wbg_init(module_or_path) { + if (wasm !== undefined) return wasm; + + + if (typeof module_or_path !== 'undefined') { + if (Object.getPrototypeOf(module_or_path) === Object.prototype) { + ({module_or_path} = module_or_path) + } else { + console.warn('using deprecated parameters for the initialization function; pass a single object instead') + } + } + + if (typeof module_or_path === 'undefined') { + module_or_path = new URL('hilbert-curve_bg.wasm', import.meta.url); + } + const imports = __wbg_get_imports(); + + if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) { + module_or_path = fetch(module_or_path); + } + + __wbg_init_memory(imports); + + const { instance, module } = await __wbg_load(await module_or_path, imports); + + return __wbg_finalize_init(instance, module); +} + +export { initSync }; +export default __wbg_init; diff --git a/wasm/hilbert-curve_bg.wasm b/wasm/hilbert-curve_bg.wasm new file mode 100644 index 00000000..dbf1d2e5 Binary files /dev/null and b/wasm/hilbert-curve_bg.wasm differ diff --git a/wasm/tutorial1-window.js b/wasm/tutorial1-window.js new file mode 100644 index 00000000..c1b84d75 --- /dev/null +++ b/wasm/tutorial1-window.js @@ -0,0 +1,992 @@ +let wasm; + +function isLikeNone(x) { + return x === undefined || x === null; +} + +function addToExternrefTable0(obj) { + const idx = wasm.__externref_table_alloc(); + wasm.__wbindgen_export_1.set(idx, obj); + return idx; +} + +const cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : { decode: () => { throw Error('TextDecoder not available') } } ); + +if (typeof TextDecoder !== 'undefined') { cachedTextDecoder.decode(); }; + +let cachedUint8ArrayMemory0 = null; + +function getUint8ArrayMemory0() { + if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) { + cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer); + } + return cachedUint8ArrayMemory0; +} + +function getStringFromWasm0(ptr, len) { + ptr = ptr >>> 0; + return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len)); +} + +function handleError(f, args) { + try { + return f.apply(this, args); + } catch (e) { + const idx = addToExternrefTable0(e); + wasm.__wbindgen_exn_store(idx); + } +} + +let WASM_VECTOR_LEN = 0; + +const cachedTextEncoder = (typeof TextEncoder !== 'undefined' ? new TextEncoder('utf-8') : { encode: () => { throw Error('TextEncoder not available') } } ); + +const encodeString = (typeof cachedTextEncoder.encodeInto === 'function' + ? function (arg, view) { + return cachedTextEncoder.encodeInto(arg, view); +} + : function (arg, view) { + const buf = cachedTextEncoder.encode(arg); + view.set(buf); + return { + read: arg.length, + written: buf.length + }; +}); + +function passStringToWasm0(arg, malloc, realloc) { + + if (realloc === undefined) { + const buf = cachedTextEncoder.encode(arg); + const ptr = malloc(buf.length, 1) >>> 0; + getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf); + WASM_VECTOR_LEN = buf.length; + return ptr; + } + + let len = arg.length; + let ptr = malloc(len, 1) >>> 0; + + const mem = getUint8ArrayMemory0(); + + let offset = 0; + + for (; offset < len; offset++) { + const code = arg.charCodeAt(offset); + if (code > 0x7F) break; + mem[ptr + offset] = code; + } + + if (offset !== len) { + if (offset !== 0) { + arg = arg.slice(offset); + } + ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0; + const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len); + const ret = encodeString(arg, view); + + offset += ret.written; + ptr = realloc(ptr, len, offset, 1) >>> 0; + } + + WASM_VECTOR_LEN = offset; + return ptr; +} + +let cachedDataViewMemory0 = null; + +function getDataViewMemory0() { + if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) { + cachedDataViewMemory0 = new DataView(wasm.memory.buffer); + } + return cachedDataViewMemory0; +} + +const CLOSURE_DTORS = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(state => { + wasm.__wbindgen_export_6.get(state.dtor)(state.a, state.b) +}); + +function makeMutClosure(arg0, arg1, dtor, f) { + const state = { a: arg0, b: arg1, cnt: 1, dtor }; + const real = (...args) => { + // First up with a closure we increment the internal reference + // count. This ensures that the Rust closure environment won't + // be deallocated while we're invoking it. + state.cnt++; + const a = state.a; + state.a = 0; + try { + return f(a, state.b, ...args); + } finally { + if (--state.cnt === 0) { + wasm.__wbindgen_export_6.get(state.dtor)(a, state.b); + CLOSURE_DTORS.unregister(state); + } else { + state.a = a; + } + } + }; + real.original = state; + CLOSURE_DTORS.register(real, state, state); + return real; +} + +function debugString(val) { + // primitive types + const type = typeof val; + if (type == 'number' || type == 'boolean' || val == null) { + return `${val}`; + } + if (type == 'string') { + return `"${val}"`; + } + if (type == 'symbol') { + const description = val.description; + if (description == null) { + return 'Symbol'; + } else { + return `Symbol(${description})`; + } + } + if (type == 'function') { + const name = val.name; + if (typeof name == 'string' && name.length > 0) { + return `Function(${name})`; + } else { + return 'Function'; + } + } + // objects + if (Array.isArray(val)) { + const length = val.length; + let debug = '['; + if (length > 0) { + debug += debugString(val[0]); + } + for(let i = 1; i < length; i++) { + debug += ', ' + debugString(val[i]); + } + debug += ']'; + return debug; + } + // Test for built-in + const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val)); + let className; + if (builtInMatches && builtInMatches.length > 1) { + className = builtInMatches[1]; + } else { + // Failed to match the standard '[object ClassName]' + return toString.call(val); + } + if (className == 'Object') { + // we're a user defined class or Object + // JSON.stringify avoids problems with cycles, and is generally much + // easier than looping through ownProperties of `val`. + try { + return 'Object(' + JSON.stringify(val) + ')'; + } catch (_) { + return 'Object'; + } + } + // errors + if (val instanceof Error) { + return `${val.name}: ${val.message}\n${val.stack}`; + } + // TODO we could test for more things here, like `Set`s and `Map`s. + return className; +} +function __wbg_adapter_22(arg0, arg1, arg2) { + wasm.closure54_externref_shim(arg0, arg1, arg2); +} + +function __wbg_adapter_25(arg0, arg1) { + wasm._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hc2a92dab5895dab9(arg0, arg1); +} + +function __wbg_adapter_42(arg0, arg1, arg2, arg3) { + wasm.closure70_externref_shim(arg0, arg1, arg2, arg3); +} + +const __wbindgen_enum_ResizeObserverBoxOptions = ["border-box", "content-box", "device-pixel-content-box"]; + +const __wbindgen_enum_VisibilityState = ["hidden", "visible"]; + +async function __wbg_load(module, imports) { + if (typeof Response === 'function' && module instanceof Response) { + if (typeof WebAssembly.instantiateStreaming === 'function') { + try { + return await WebAssembly.instantiateStreaming(module, imports); + + } catch (e) { + if (module.headers.get('Content-Type') != 'application/wasm') { + console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e); + + } else { + throw e; + } + } + } + + const bytes = await module.arrayBuffer(); + return await WebAssembly.instantiate(bytes, imports); + + } else { + const instance = await WebAssembly.instantiate(module, imports); + + if (instance instanceof WebAssembly.Instance) { + return { instance, module }; + + } else { + return instance; + } + } +} + +function __wbg_get_imports() { + const imports = {}; + imports.wbg = {}; + imports.wbg.__wbg_Window_96e58b3552ce6bb1 = function(arg0) { + const ret = arg0.Window; + return ret; + }; + imports.wbg.__wbg_abort_19de2f828ee0874a = function(arg0) { + arg0.abort(); + }; + imports.wbg.__wbg_activeElement_d1a1f2b334adf636 = function(arg0) { + const ret = arg0.activeElement; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_addEventListener_e27053e488770e58 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + arg0.addEventListener(getStringFromWasm0(arg1, arg2), arg3); + }, arguments) }; + imports.wbg.__wbg_addListener_dca1ccc036e24997 = function() { return handleError(function (arg0, arg1) { + arg0.addListener(arg1); + }, arguments) }; + imports.wbg.__wbg_altKey_56dd0987e7ccbbf2 = function(arg0) { + const ret = arg0.altKey; + return ret; + }; + imports.wbg.__wbg_altKey_583c79ba3f4fce1e = function(arg0) { + const ret = arg0.altKey; + return ret; + }; + imports.wbg.__wbg_animate_310f1b8e5b1fdb56 = function(arg0, arg1, arg2) { + const ret = arg0.animate(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_appendChild_805222aed73feea9 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.appendChild(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_blockSize_e0006fb003814895 = function(arg0) { + const ret = arg0.blockSize; + return ret; + }; + imports.wbg.__wbg_body_83d4bc4961a422aa = function(arg0) { + const ret = arg0.body; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_brand_67e4f3d950154d0a = function(arg0, arg1) { + const ret = arg1.brand; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_brands_1ec54d613da9db02 = function(arg0) { + const ret = arg0.brands; + return ret; + }; + imports.wbg.__wbg_button_db48f93638c59f95 = function(arg0) { + const ret = arg0.button; + return ret; + }; + imports.wbg.__wbg_buttons_b962d6dc116cd1a5 = function(arg0) { + const ret = arg0.buttons; + return ret; + }; + imports.wbg.__wbg_call_3114932863209ca6 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.call(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_cancelAnimationFrame_f1ad512e269ea165 = function() { return handleError(function (arg0, arg1) { + arg0.cancelAnimationFrame(arg1); + }, arguments) }; + imports.wbg.__wbg_cancelIdleCallback_bcc2dc9be9de0744 = function(arg0, arg1) { + arg0.cancelIdleCallback(arg1 >>> 0); + }; + imports.wbg.__wbg_cancel_3b69067dcdf7ffb7 = function(arg0) { + arg0.cancel(); + }; + imports.wbg.__wbg_catch_9da7d002aa356f1d = function(arg0, arg1) { + const ret = arg0.catch(arg1); + return ret; + }; + imports.wbg.__wbg_clearTimeout_da4408c46e51bc7a = function(arg0, arg1) { + arg0.clearTimeout(arg1); + }; + imports.wbg.__wbg_close_35d643897b189a00 = function(arg0) { + arg0.close(); + }; + imports.wbg.__wbg_code_d8226b2133366406 = function(arg0, arg1) { + const ret = arg1.code; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_contains_6947e163e2a3c092 = function(arg0, arg1) { + const ret = arg0.contains(arg1); + return ret; + }; + imports.wbg.__wbg_contentRect_7aaa87e16fd2882d = function(arg0) { + const ret = arg0.contentRect; + return ret; + }; + imports.wbg.__wbg_createElement_22b48bfb31a0c20e = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.createElement(getStringFromWasm0(arg1, arg2)); + return ret; + }, arguments) }; + imports.wbg.__wbg_createObjectURL_06505af3e8787cc8 = function() { return handleError(function (arg0, arg1) { + const ret = URL.createObjectURL(arg1); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_ctrlKey_60b29e015a543678 = function(arg0) { + const ret = arg0.ctrlKey; + return ret; + }; + imports.wbg.__wbg_ctrlKey_ab341328ab202d37 = function(arg0) { + const ret = arg0.ctrlKey; + return ret; + }; + imports.wbg.__wbg_debug_347b3d1f33e1c28e = function(arg0) { + console.debug(arg0); + }; + imports.wbg.__wbg_deltaMode_a4cc321212f87817 = function(arg0) { + const ret = arg0.deltaMode; + return ret; + }; + imports.wbg.__wbg_deltaX_27e2939a1af8c940 = function(arg0) { + const ret = arg0.deltaX; + return ret; + }; + imports.wbg.__wbg_deltaY_4bb52a4f0a7ad28b = function(arg0) { + const ret = arg0.deltaY; + return ret; + }; + imports.wbg.__wbg_devicePixelContentBoxSize_1ea2c6145730b8c0 = function(arg0) { + const ret = arg0.devicePixelContentBoxSize; + return ret; + }; + imports.wbg.__wbg_devicePixelRatio_f4eb7cbe3a812de0 = function(arg0) { + const ret = arg0.devicePixelRatio; + return ret; + }; + imports.wbg.__wbg_disconnect_8b7c928b6057719b = function(arg0) { + arg0.disconnect(); + }; + imports.wbg.__wbg_disconnect_c45e8044053eddf3 = function(arg0) { + arg0.disconnect(); + }; + imports.wbg.__wbg_document_c488ca7509cc6938 = function(arg0) { + const ret = arg0.document; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_error_2a6b93fdada7ff11 = function(arg0) { + console.error(arg0); + }; + imports.wbg.__wbg_error_7534b8e9a36f1ab4 = function(arg0, arg1) { + let deferred0_0; + let deferred0_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + console.error(getStringFromWasm0(arg0, arg1)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + } + }; + imports.wbg.__wbg_error_f0dde81ae1e4cfea = function(arg0, arg1) { + console.error(arg0, arg1); + }; + imports.wbg.__wbg_focus_c71947fc3fe22147 = function() { return handleError(function (arg0) { + arg0.focus(); + }, arguments) }; + imports.wbg.__wbg_fullscreenElement_a613ad02fa918fb4 = function(arg0) { + const ret = arg0.fullscreenElement; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getCoalescedEvents_1372a1922f78401a = function(arg0) { + const ret = arg0.getCoalescedEvents; + return ret; + }; + imports.wbg.__wbg_getCoalescedEvents_3736b5e5d63bed7b = function(arg0) { + const ret = arg0.getCoalescedEvents(); + return ret; + }; + imports.wbg.__wbg_getComputedStyle_c3a9de7674a38310 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.getComputedStyle(arg1); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getElementById_7b2db24a9b54f077 = function(arg0, arg1, arg2) { + const ret = arg0.getElementById(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getOwnPropertyDescriptor_c701b185423f5b7e = function(arg0, arg1) { + const ret = Object.getOwnPropertyDescriptor(arg0, arg1); + return ret; + }; + imports.wbg.__wbg_getPropertyValue_e87121b8549f72d5 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = arg1.getPropertyValue(getStringFromWasm0(arg2, arg3)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_get_68aa371864aa301a = function(arg0, arg1) { + const ret = arg0[arg1 >>> 0]; + return ret; + }; + imports.wbg.__wbg_globalThis_1e2ac1d6eee845b3 = function() { return handleError(function () { + const ret = globalThis.globalThis; + return ret; + }, arguments) }; + imports.wbg.__wbg_global_f25a574ae080367c = function() { return handleError(function () { + const ret = global.global; + return ret; + }, arguments) }; + imports.wbg.__wbg_height_e509816ec3fdf5b1 = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_info_b6bd3cb6471c2b4c = function(arg0) { + console.info(arg0); + }; + imports.wbg.__wbg_inlineSize_6f8d0983462c2919 = function(arg0) { + const ret = arg0.inlineSize; + return ret; + }; + imports.wbg.__wbg_instanceof_Window_a959820eb267fe22 = function(arg0) { + let result; + try { + result = arg0 instanceof Window; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_isIntersecting_9059d5bcaf29f415 = function(arg0) { + const ret = arg0.isIntersecting; + return ret; + }; + imports.wbg.__wbg_is_20768e55ad2a7c3f = function(arg0, arg1) { + const ret = Object.is(arg0, arg1); + return ret; + }; + imports.wbg.__wbg_key_02315cd3f595756b = function(arg0, arg1) { + const ret = arg1.key; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_length_e74df4881604f1d9 = function(arg0) { + const ret = arg0.length; + return ret; + }; + imports.wbg.__wbg_location_54d35e8c85dcfb9c = function(arg0) { + const ret = arg0.location; + return ret; + }; + imports.wbg.__wbg_location_e9eba129bf0612a5 = function(arg0) { + const ret = arg0.location; + return ret; + }; + imports.wbg.__wbg_log_d818ca3cab23fc77 = function(arg0) { + console.log(arg0); + }; + imports.wbg.__wbg_matchMedia_0be65181eeae951c = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.matchMedia(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_matches_254463383aee4688 = function(arg0) { + const ret = arg0.matches; + return ret; + }; + imports.wbg.__wbg_metaKey_34d5658170ffb3ee = function(arg0) { + const ret = arg0.metaKey; + return ret; + }; + imports.wbg.__wbg_metaKey_6c8e9228e8dda152 = function(arg0) { + const ret = arg0.metaKey; + return ret; + }; + imports.wbg.__wbg_movementX_e32c342d96d1c701 = function(arg0) { + const ret = arg0.movementX; + return ret; + }; + imports.wbg.__wbg_movementY_136c6febb976ca3b = function(arg0) { + const ret = arg0.movementY; + return ret; + }; + imports.wbg.__wbg_navigator_da495c9e52e160b1 = function(arg0) { + const ret = arg0.navigator; + return ret; + }; + imports.wbg.__wbg_new_076cac58bb698dd4 = function() { + const ret = new Object(); + return ret; + }; + imports.wbg.__wbg_new_238671e08bf4fcbb = function() { return handleError(function () { + const ret = new MessageChannel(); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_4b15073a88792687 = function() { return handleError(function (arg0) { + const ret = new ResizeObserver(arg0); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_8a6f238a6ece86ea = function() { + const ret = new Error(); + return ret; + }; + imports.wbg.__wbg_new_93cf40e4f48fe902 = function() { return handleError(function () { + const ret = new AbortController(); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_b4a18f0a618c89f2 = function() { return handleError(function (arg0, arg1) { + const ret = new Worker(getStringFromWasm0(arg0, arg1)); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_c94d990936d8ea5d = function() { return handleError(function (arg0) { + const ret = new IntersectionObserver(arg0); + return ret; + }, arguments) }; + imports.wbg.__wbg_newnoargs_19a249f4eceaaac3 = function(arg0, arg1) { + const ret = new Function(getStringFromWasm0(arg0, arg1)); + return ret; + }; + imports.wbg.__wbg_newwithstrsequenceandoptions_af096ce40d9d9ac8 = function() { return handleError(function (arg0, arg1) { + const ret = new Blob(arg0, arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_now_2c95c9de01293173 = function(arg0) { + const ret = arg0.now(); + return ret; + }; + imports.wbg.__wbg_observe_e2208b07fe315de7 = function(arg0, arg1) { + arg0.observe(arg1); + }; + imports.wbg.__wbg_observe_ec91d62599b7772b = function(arg0, arg1) { + arg0.observe(arg1); + }; + imports.wbg.__wbg_observe_fd48955513eca909 = function(arg0, arg1, arg2) { + arg0.observe(arg1, arg2); + }; + imports.wbg.__wbg_of_2f6232d86af7992c = function(arg0, arg1) { + const ret = Array.of(arg0, arg1); + return ret; + }; + imports.wbg.__wbg_of_5ae3a2d893e18853 = function(arg0) { + const ret = Array.of(arg0); + return ret; + }; + imports.wbg.__wbg_offsetX_d6957d052a0d4b11 = function(arg0) { + const ret = arg0.offsetX; + return ret; + }; + imports.wbg.__wbg_offsetY_076edde514bf80f4 = function(arg0) { + const ret = arg0.offsetY; + return ret; + }; + imports.wbg.__wbg_performance_7a3ffd0b17f663ad = function(arg0) { + const ret = arg0.performance; + return ret; + }; + imports.wbg.__wbg_persisted_7e044507e52804d9 = function(arg0) { + const ret = arg0.persisted; + return ret; + }; + imports.wbg.__wbg_play_e7eb90a843114e0d = function(arg0) { + arg0.play(); + }; + imports.wbg.__wbg_pointerId_a2cbd2cdd6da90b2 = function(arg0) { + const ret = arg0.pointerId; + return ret; + }; + imports.wbg.__wbg_pointerType_1b74686427cdec29 = function(arg0, arg1) { + const ret = arg1.pointerType; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_port1_6f5b26fd23d19536 = function(arg0) { + const ret = arg0.port1; + return ret; + }; + imports.wbg.__wbg_port2_2eb4c961d6df5816 = function(arg0) { + const ret = arg0.port2; + return ret; + }; + imports.wbg.__wbg_postMessage_33dcf5caa3589c64 = function() { return handleError(function (arg0, arg1, arg2) { + arg0.postMessage(arg1, arg2); + }, arguments) }; + imports.wbg.__wbg_postMessage_3e7f3215320b4a9c = function() { return handleError(function (arg0, arg1) { + arg0.postMessage(arg1); + }, arguments) }; + imports.wbg.__wbg_postTask_9ba4c3cedae00b38 = function(arg0, arg1, arg2) { + const ret = arg0.postTask(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_pressure_8707a47b6fb1c1fd = function(arg0) { + const ret = arg0.pressure; + return ret; + }; + imports.wbg.__wbg_preventDefault_faafffcaad92972d = function(arg0) { + arg0.preventDefault(); + }; + imports.wbg.__wbg_prototype_0f68911d93450df4 = function() { + const ret = ResizeObserverEntry.prototype; + return ret; + }; + imports.wbg.__wbg_queueMicrotask_3d422e1ba49c2500 = function(arg0) { + const ret = arg0.queueMicrotask; + return ret; + }; + imports.wbg.__wbg_queueMicrotask_5fc3e400ac3c03f4 = function(arg0) { + queueMicrotask(arg0); + }; + imports.wbg.__wbg_queueMicrotask_f301663ccadbb7d0 = function(arg0) { + queueMicrotask(arg0); + }; + imports.wbg.__wbg_removeEventListener_d14a328308e427ba = function() { return handleError(function (arg0, arg1, arg2, arg3) { + arg0.removeEventListener(getStringFromWasm0(arg1, arg2), arg3); + }, arguments) }; + imports.wbg.__wbg_removeListener_aee72eb2e5fba09c = function() { return handleError(function (arg0, arg1) { + arg0.removeListener(arg1); + }, arguments) }; + imports.wbg.__wbg_removeProperty_902c73a4430b3e54 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = arg1.removeProperty(getStringFromWasm0(arg2, arg3)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_repeat_56fa20e30d00be95 = function(arg0) { + const ret = arg0.repeat; + return ret; + }; + imports.wbg.__wbg_requestAnimationFrame_e8ca543d07df528e = function() { return handleError(function (arg0, arg1) { + const ret = arg0.requestAnimationFrame(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_requestFullscreen_e1ad8752a4e33f7e = function(arg0) { + const ret = arg0.requestFullscreen; + return ret; + }; + imports.wbg.__wbg_requestFullscreen_f727b1f250ebb10a = function(arg0) { + const ret = arg0.requestFullscreen(); + return ret; + }; + imports.wbg.__wbg_requestIdleCallback_773c554fc8c5a310 = function(arg0) { + const ret = arg0.requestIdleCallback; + return ret; + }; + imports.wbg.__wbg_requestIdleCallback_ba1f658c72e2140c = function() { return handleError(function (arg0, arg1) { + const ret = arg0.requestIdleCallback(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_resolve_6a311e8bb26423ab = function(arg0) { + const ret = Promise.resolve(arg0); + return ret; + }; + imports.wbg.__wbg_revokeObjectURL_3e4ad6d46a9a93f1 = function() { return handleError(function (arg0, arg1) { + URL.revokeObjectURL(getStringFromWasm0(arg0, arg1)); + }, arguments) }; + imports.wbg.__wbg_scheduler_10edeee35a76c7c6 = function(arg0) { + const ret = arg0.scheduler; + return ret; + }; + imports.wbg.__wbg_scheduler_6d71128f17fbca34 = function(arg0) { + const ret = arg0.scheduler; + return ret; + }; + imports.wbg.__wbg_search_4c8c4c416a168e55 = function() { return handleError(function (arg0, arg1) { + const ret = arg1.search; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_self_ac4343e4047b83cc = function() { return handleError(function () { + const ret = self.self; + return ret; + }, arguments) }; + imports.wbg.__wbg_setAttribute_e5d83ecaf7f586d5 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { + arg0.setAttribute(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4)); + }, arguments) }; + imports.wbg.__wbg_setPointerCapture_6b89bc3d20c408af = function() { return handleError(function (arg0, arg1) { + arg0.setPointerCapture(arg1); + }, arguments) }; + imports.wbg.__wbg_setProperty_b11b0bad191551d1 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { + arg0.setProperty(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4)); + }, arguments) }; + imports.wbg.__wbg_setTimeout_11f3c7cad8433a4f = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.setTimeout(arg1, arg2); + return ret; + }, arguments) }; + imports.wbg.__wbg_setTimeout_15ba883433c836ab = function() { return handleError(function (arg0, arg1) { + const ret = arg0.setTimeout(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_set_421385e996a16e02 = function() { return handleError(function (arg0, arg1, arg2) { + const ret = Reflect.set(arg0, arg1, arg2); + return ret; + }, arguments) }; + imports.wbg.__wbg_setbox_f664fc1447c0b2bb = function(arg0, arg1) { + arg0.box = __wbindgen_enum_ResizeObserverBoxOptions[arg1]; + }; + imports.wbg.__wbg_setonmessage_1f177e6cba71d19d = function(arg0, arg1) { + arg0.onmessage = arg1; + }; + imports.wbg.__wbg_settabIndex_bc37dd560b089902 = function(arg0, arg1) { + arg0.tabIndex = arg1; + }; + imports.wbg.__wbg_settype_202db174d92fe493 = function(arg0, arg1, arg2) { + arg0.type = getStringFromWasm0(arg1, arg2); + }; + imports.wbg.__wbg_shiftKey_570898b1142a9898 = function(arg0) { + const ret = arg0.shiftKey; + return ret; + }; + imports.wbg.__wbg_shiftKey_e90da27a3092777e = function(arg0) { + const ret = arg0.shiftKey; + return ret; + }; + imports.wbg.__wbg_signal_fd2d6d0644f16ad8 = function(arg0) { + const ret = arg0.signal; + return ret; + }; + imports.wbg.__wbg_stack_0ed75d68575b0f3c = function(arg0, arg1) { + const ret = arg1.stack; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_start_a00c28f297559e1d = function(arg0) { + arg0.start(); + }; + imports.wbg.__wbg_style_e7c4e0938a7565b2 = function(arg0) { + const ret = arg0.style; + return ret; + }; + imports.wbg.__wbg_then_5c6469c1e1da9e59 = function(arg0, arg1) { + const ret = arg0.then(arg1); + return ret; + }; + imports.wbg.__wbg_unobserve_9198337c0c96042f = function(arg0, arg1) { + arg0.unobserve(arg1); + }; + imports.wbg.__wbg_userAgentData_5e600df9bb352050 = function(arg0) { + const ret = arg0.userAgentData; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_userAgent_bfd54e5c60738678 = function() { return handleError(function (arg0, arg1) { + const ret = arg1.userAgent; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_visibilityState_c2b01655a6777e68 = function(arg0) { + const ret = arg0.visibilityState; + return (__wbindgen_enum_VisibilityState.indexOf(ret) + 1 || 3) - 1; + }; + imports.wbg.__wbg_warn_a6963915e4da61f6 = function(arg0) { + console.warn(arg0); + }; + imports.wbg.__wbg_webkitFullscreenElement_0c4654cdfe6894e5 = function(arg0) { + const ret = arg0.webkitFullscreenElement; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_webkitRequestFullscreen_fe95241c4f21ea63 = function(arg0) { + arg0.webkitRequestFullscreen(); + }; + imports.wbg.__wbg_width_dfc6149b0c4d8821 = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_window_1a23defd102c72f4 = function() { return handleError(function () { + const ret = window.window; + return ret; + }, arguments) }; + imports.wbg.__wbindgen_cb_drop = function(arg0) { + const obj = arg0.original; + if (obj.cnt-- == 1) { + obj.a = 0; + return true; + } + const ret = false; + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2518 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 55, __wbg_adapter_25); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2563 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 55, __wbg_adapter_22); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2584 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 55, __wbg_adapter_22); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2585 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 55, __wbg_adapter_22); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2586 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 55, __wbg_adapter_22); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2587 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 55, __wbg_adapter_22); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2588 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 55, __wbg_adapter_22); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2631 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 55, __wbg_adapter_22); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2632 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 55, __wbg_adapter_42); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2633 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 55, __wbg_adapter_22); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper989 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 55, __wbg_adapter_22); + return ret; + }; + imports.wbg.__wbindgen_debug_string = function(arg0, arg1) { + const ret = debugString(arg1); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_init_externref_table = function() { + const table = wasm.__wbindgen_export_1; + const offset = table.grow(4); + table.set(0, undefined); + table.set(offset + 0, undefined); + table.set(offset + 1, null); + table.set(offset + 2, true); + table.set(offset + 3, false); + ; + }; + imports.wbg.__wbindgen_is_function = function(arg0) { + const ret = typeof(arg0) === 'function'; + return ret; + }; + imports.wbg.__wbindgen_is_undefined = function(arg0) { + const ret = arg0 === undefined; + return ret; + }; + imports.wbg.__wbindgen_number_new = function(arg0) { + const ret = arg0; + return ret; + }; + imports.wbg.__wbindgen_string_new = function(arg0, arg1) { + const ret = getStringFromWasm0(arg0, arg1); + return ret; + }; + imports.wbg.__wbindgen_throw = function(arg0, arg1) { + throw new Error(getStringFromWasm0(arg0, arg1)); + }; + + return imports; +} + +function __wbg_init_memory(imports, memory) { + +} + +function __wbg_finalize_init(instance, module) { + wasm = instance.exports; + __wbg_init.__wbindgen_wasm_module = module; + cachedDataViewMemory0 = null; + cachedUint8ArrayMemory0 = null; + + + wasm.__wbindgen_start(); + return wasm; +} + +function initSync(module) { + if (wasm !== undefined) return wasm; + + + if (typeof module !== 'undefined') { + if (Object.getPrototypeOf(module) === Object.prototype) { + ({module} = module) + } else { + console.warn('using deprecated parameters for `initSync()`; pass a single object instead') + } + } + + const imports = __wbg_get_imports(); + + __wbg_init_memory(imports); + + if (!(module instanceof WebAssembly.Module)) { + module = new WebAssembly.Module(module); + } + + const instance = new WebAssembly.Instance(module, imports); + + return __wbg_finalize_init(instance, module); +} + +async function __wbg_init(module_or_path) { + if (wasm !== undefined) return wasm; + + + if (typeof module_or_path !== 'undefined') { + if (Object.getPrototypeOf(module_or_path) === Object.prototype) { + ({module_or_path} = module_or_path) + } else { + console.warn('using deprecated parameters for the initialization function; pass a single object instead') + } + } + + if (typeof module_or_path === 'undefined') { + module_or_path = new URL('tutorial1-window_bg.wasm', import.meta.url); + } + const imports = __wbg_get_imports(); + + if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) { + module_or_path = fetch(module_or_path); + } + + __wbg_init_memory(imports); + + const { instance, module } = await __wbg_load(await module_or_path, imports); + + return __wbg_finalize_init(instance, module); +} + +export { initSync }; +export default __wbg_init; diff --git a/wasm/tutorial1-window_bg.wasm b/wasm/tutorial1-window_bg.wasm new file mode 100644 index 00000000..bb4df8bb Binary files /dev/null and b/wasm/tutorial1-window_bg.wasm differ diff --git a/wasm/tutorial10-lighting.js b/wasm/tutorial10-lighting.js new file mode 100644 index 00000000..8677bc35 --- /dev/null +++ b/wasm/tutorial10-lighting.js @@ -0,0 +1,2752 @@ +import * as __wbg_star0 from 'env'; + +let wasm; + +function isLikeNone(x) { + return x === undefined || x === null; +} + +function addToExternrefTable0(obj) { + const idx = wasm.__externref_table_alloc(); + wasm.__wbindgen_export_1.set(idx, obj); + return idx; +} + +const cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : { decode: () => { throw Error('TextDecoder not available') } } ); + +if (typeof TextDecoder !== 'undefined') { cachedTextDecoder.decode(); }; + +let cachedUint8ArrayMemory0 = null; + +function getUint8ArrayMemory0() { + if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) { + cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer); + } + return cachedUint8ArrayMemory0; +} + +function getStringFromWasm0(ptr, len) { + ptr = ptr >>> 0; + return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len)); +} + +function handleError(f, args) { + try { + return f.apply(this, args); + } catch (e) { + const idx = addToExternrefTable0(e); + wasm.__wbindgen_exn_store(idx); + } +} + +let WASM_VECTOR_LEN = 0; + +const cachedTextEncoder = (typeof TextEncoder !== 'undefined' ? new TextEncoder('utf-8') : { encode: () => { throw Error('TextEncoder not available') } } ); + +const encodeString = (typeof cachedTextEncoder.encodeInto === 'function' + ? function (arg, view) { + return cachedTextEncoder.encodeInto(arg, view); +} + : function (arg, view) { + const buf = cachedTextEncoder.encode(arg); + view.set(buf); + return { + read: arg.length, + written: buf.length + }; +}); + +function passStringToWasm0(arg, malloc, realloc) { + + if (realloc === undefined) { + const buf = cachedTextEncoder.encode(arg); + const ptr = malloc(buf.length, 1) >>> 0; + getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf); + WASM_VECTOR_LEN = buf.length; + return ptr; + } + + let len = arg.length; + let ptr = malloc(len, 1) >>> 0; + + const mem = getUint8ArrayMemory0(); + + let offset = 0; + + for (; offset < len; offset++) { + const code = arg.charCodeAt(offset); + if (code > 0x7F) break; + mem[ptr + offset] = code; + } + + if (offset !== len) { + if (offset !== 0) { + arg = arg.slice(offset); + } + ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0; + const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len); + const ret = encodeString(arg, view); + + offset += ret.written; + ptr = realloc(ptr, len, offset, 1) >>> 0; + } + + WASM_VECTOR_LEN = offset; + return ptr; +} + +let cachedDataViewMemory0 = null; + +function getDataViewMemory0() { + if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) { + cachedDataViewMemory0 = new DataView(wasm.memory.buffer); + } + return cachedDataViewMemory0; +} + +let cachedFloat32ArrayMemory0 = null; + +function getFloat32ArrayMemory0() { + if (cachedFloat32ArrayMemory0 === null || cachedFloat32ArrayMemory0.byteLength === 0) { + cachedFloat32ArrayMemory0 = new Float32Array(wasm.memory.buffer); + } + return cachedFloat32ArrayMemory0; +} + +function getArrayF32FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getFloat32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len); +} + +let cachedInt32ArrayMemory0 = null; + +function getInt32ArrayMemory0() { + if (cachedInt32ArrayMemory0 === null || cachedInt32ArrayMemory0.byteLength === 0) { + cachedInt32ArrayMemory0 = new Int32Array(wasm.memory.buffer); + } + return cachedInt32ArrayMemory0; +} + +function getArrayI32FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getInt32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len); +} + +let cachedUint32ArrayMemory0 = null; + +function getUint32ArrayMemory0() { + if (cachedUint32ArrayMemory0 === null || cachedUint32ArrayMemory0.byteLength === 0) { + cachedUint32ArrayMemory0 = new Uint32Array(wasm.memory.buffer); + } + return cachedUint32ArrayMemory0; +} + +function getArrayU32FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getUint32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len); +} + +const CLOSURE_DTORS = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(state => { + wasm.__wbindgen_export_6.get(state.dtor)(state.a, state.b) +}); + +function makeMutClosure(arg0, arg1, dtor, f) { + const state = { a: arg0, b: arg1, cnt: 1, dtor }; + const real = (...args) => { + // First up with a closure we increment the internal reference + // count. This ensures that the Rust closure environment won't + // be deallocated while we're invoking it. + state.cnt++; + const a = state.a; + state.a = 0; + try { + return f(a, state.b, ...args); + } finally { + if (--state.cnt === 0) { + wasm.__wbindgen_export_6.get(state.dtor)(a, state.b); + CLOSURE_DTORS.unregister(state); + } else { + state.a = a; + } + } + }; + real.original = state; + CLOSURE_DTORS.register(real, state, state); + return real; +} + +function debugString(val) { + // primitive types + const type = typeof val; + if (type == 'number' || type == 'boolean' || val == null) { + return `${val}`; + } + if (type == 'string') { + return `"${val}"`; + } + if (type == 'symbol') { + const description = val.description; + if (description == null) { + return 'Symbol'; + } else { + return `Symbol(${description})`; + } + } + if (type == 'function') { + const name = val.name; + if (typeof name == 'string' && name.length > 0) { + return `Function(${name})`; + } else { + return 'Function'; + } + } + // objects + if (Array.isArray(val)) { + const length = val.length; + let debug = '['; + if (length > 0) { + debug += debugString(val[0]); + } + for(let i = 1; i < length; i++) { + debug += ', ' + debugString(val[i]); + } + debug += ']'; + return debug; + } + // Test for built-in + const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val)); + let className; + if (builtInMatches && builtInMatches.length > 1) { + className = builtInMatches[1]; + } else { + // Failed to match the standard '[object ClassName]' + return toString.call(val); + } + if (className == 'Object') { + // we're a user defined class or Object + // JSON.stringify avoids problems with cycles, and is generally much + // easier than looping through ownProperties of `val`. + try { + return 'Object(' + JSON.stringify(val) + ')'; + } catch (_) { + return 'Object'; + } + } + // errors + if (val instanceof Error) { + return `${val.name}: ${val.message}\n${val.stack}`; + } + // TODO we could test for more things here, like `Set`s and `Map`s. + return className; +} +function __wbg_adapter_36(arg0, arg1, arg2) { + wasm.closure384_externref_shim(arg0, arg1, arg2); +} + +function __wbg_adapter_43(arg0, arg1) { + wasm._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hc2a92dab5895dab9(arg0, arg1); +} + +function __wbg_adapter_60(arg0, arg1, arg2, arg3) { + wasm.closure885_externref_shim(arg0, arg1, arg2, arg3); +} + +const __wbindgen_enum_GpuCompilationMessageType = ["error", "warning", "info"]; + +const __wbindgen_enum_GpuDeviceLostReason = ["unknown", "destroyed"]; + +const __wbindgen_enum_GpuErrorFilter = ["validation", "out-of-memory", "internal"]; + +const __wbindgen_enum_GpuIndexFormat = ["uint16", "uint32"]; + +const __wbindgen_enum_GpuTextureFormat = ["r8unorm", "r8snorm", "r8uint", "r8sint", "r16uint", "r16sint", "r16float", "rg8unorm", "rg8snorm", "rg8uint", "rg8sint", "r32uint", "r32sint", "r32float", "rg16uint", "rg16sint", "rg16float", "rgba8unorm", "rgba8unorm-srgb", "rgba8snorm", "rgba8uint", "rgba8sint", "bgra8unorm", "bgra8unorm-srgb", "rgb9e5ufloat", "rgb10a2uint", "rgb10a2unorm", "rg11b10ufloat", "rg32uint", "rg32sint", "rg32float", "rgba16uint", "rgba16sint", "rgba16float", "rgba32uint", "rgba32sint", "rgba32float", "stencil8", "depth16unorm", "depth24plus", "depth24plus-stencil8", "depth32float", "depth32float-stencil8", "bc1-rgba-unorm", "bc1-rgba-unorm-srgb", "bc2-rgba-unorm", "bc2-rgba-unorm-srgb", "bc3-rgba-unorm", "bc3-rgba-unorm-srgb", "bc4-r-unorm", "bc4-r-snorm", "bc5-rg-unorm", "bc5-rg-snorm", "bc6h-rgb-ufloat", "bc6h-rgb-float", "bc7-rgba-unorm", "bc7-rgba-unorm-srgb", "etc2-rgb8unorm", "etc2-rgb8unorm-srgb", "etc2-rgb8a1unorm", "etc2-rgb8a1unorm-srgb", "etc2-rgba8unorm", "etc2-rgba8unorm-srgb", "eac-r11unorm", "eac-r11snorm", "eac-rg11unorm", "eac-rg11snorm", "astc-4x4-unorm", "astc-4x4-unorm-srgb", "astc-5x4-unorm", "astc-5x4-unorm-srgb", "astc-5x5-unorm", "astc-5x5-unorm-srgb", "astc-6x5-unorm", "astc-6x5-unorm-srgb", "astc-6x6-unorm", "astc-6x6-unorm-srgb", "astc-8x5-unorm", "astc-8x5-unorm-srgb", "astc-8x6-unorm", "astc-8x6-unorm-srgb", "astc-8x8-unorm", "astc-8x8-unorm-srgb", "astc-10x5-unorm", "astc-10x5-unorm-srgb", "astc-10x6-unorm", "astc-10x6-unorm-srgb", "astc-10x8-unorm", "astc-10x8-unorm-srgb", "astc-10x10-unorm", "astc-10x10-unorm-srgb", "astc-12x10-unorm", "astc-12x10-unorm-srgb", "astc-12x12-unorm", "astc-12x12-unorm-srgb"]; + +const __wbindgen_enum_RequestCredentials = ["omit", "same-origin", "include"]; + +const __wbindgen_enum_RequestMode = ["same-origin", "no-cors", "cors", "navigate"]; + +const __wbindgen_enum_ResizeObserverBoxOptions = ["border-box", "content-box", "device-pixel-content-box"]; + +const __wbindgen_enum_VisibilityState = ["hidden", "visible"]; + +async function __wbg_load(module, imports) { + if (typeof Response === 'function' && module instanceof Response) { + if (typeof WebAssembly.instantiateStreaming === 'function') { + try { + return await WebAssembly.instantiateStreaming(module, imports); + + } catch (e) { + if (module.headers.get('Content-Type') != 'application/wasm') { + console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e); + + } else { + throw e; + } + } + } + + const bytes = await module.arrayBuffer(); + return await WebAssembly.instantiate(bytes, imports); + + } else { + const instance = await WebAssembly.instantiate(module, imports); + + if (instance instanceof WebAssembly.Instance) { + return { instance, module }; + + } else { + return instance; + } + } +} + +function __wbg_get_imports() { + const imports = {}; + imports.wbg = {}; + imports.wbg.__wbg_Window_96e58b3552ce6bb1 = function(arg0) { + const ret = arg0.Window; + return ret; + }; + imports.wbg.__wbg_Window_cf5b693340a7c469 = function(arg0) { + const ret = arg0.Window; + return ret; + }; + imports.wbg.__wbg_WorkerGlobalScope_354364d1b0bd06e5 = function(arg0) { + const ret = arg0.WorkerGlobalScope; + return ret; + }; + imports.wbg.__wbg_abort_19de2f828ee0874a = function(arg0) { + arg0.abort(); + }; + imports.wbg.__wbg_activeElement_d1a1f2b334adf636 = function(arg0) { + const ret = arg0.activeElement; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_activeTexture_24b42b03041f3428 = function(arg0, arg1) { + arg0.activeTexture(arg1 >>> 0); + }; + imports.wbg.__wbg_activeTexture_47928613532be667 = function(arg0, arg1) { + arg0.activeTexture(arg1 >>> 0); + }; + imports.wbg.__wbg_addEventListener_e27053e488770e58 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + arg0.addEventListener(getStringFromWasm0(arg1, arg2), arg3); + }, arguments) }; + imports.wbg.__wbg_addListener_dca1ccc036e24997 = function() { return handleError(function (arg0, arg1) { + arg0.addListener(arg1); + }, arguments) }; + imports.wbg.__wbg_altKey_56dd0987e7ccbbf2 = function(arg0) { + const ret = arg0.altKey; + return ret; + }; + imports.wbg.__wbg_altKey_583c79ba3f4fce1e = function(arg0) { + const ret = arg0.altKey; + return ret; + }; + imports.wbg.__wbg_animate_310f1b8e5b1fdb56 = function(arg0, arg1, arg2) { + const ret = arg0.animate(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_appendChild_805222aed73feea9 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.appendChild(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_append_daea8d1dbe91d314 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { + arg0.append(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4)); + }, arguments) }; + imports.wbg.__wbg_arrayBuffer_d004045654bdb712 = function() { return handleError(function (arg0) { + const ret = arg0.arrayBuffer(); + return ret; + }, arguments) }; + imports.wbg.__wbg_attachShader_81000b0c4da5b206 = function(arg0, arg1, arg2) { + arg0.attachShader(arg1, arg2); + }; + imports.wbg.__wbg_attachShader_ccc35921e866b2bf = function(arg0, arg1, arg2) { + arg0.attachShader(arg1, arg2); + }; + imports.wbg.__wbg_beginComputePass_90d5303e604970cb = function(arg0, arg1) { + const ret = arg0.beginComputePass(arg1); + return ret; + }; + imports.wbg.__wbg_beginQuery_4e54bbe77706fb3c = function(arg0, arg1, arg2) { + arg0.beginQuery(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_beginRenderPass_9739520c601001c3 = function(arg0, arg1) { + const ret = arg0.beginRenderPass(arg1); + return ret; + }; + imports.wbg.__wbg_bindAttribLocation_a08ae4fdf9b16e7d = function(arg0, arg1, arg2, arg3, arg4) { + arg0.bindAttribLocation(arg1, arg2 >>> 0, getStringFromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_bindAttribLocation_b53db53e1b134420 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.bindAttribLocation(arg1, arg2 >>> 0, getStringFromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_bindBufferRange_ce5a2827ed937112 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.bindBufferRange(arg1 >>> 0, arg2 >>> 0, arg3, arg4, arg5); + }; + imports.wbg.__wbg_bindBuffer_0fedb16582ffeee6 = function(arg0, arg1, arg2) { + arg0.bindBuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindBuffer_c6e5f29d60e90c01 = function(arg0, arg1, arg2) { + arg0.bindBuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindFramebuffer_87e15614ca3e9537 = function(arg0, arg1, arg2) { + arg0.bindFramebuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindFramebuffer_a0d602bd474dcbfb = function(arg0, arg1, arg2) { + arg0.bindFramebuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindRenderbuffer_3100396894cc2d72 = function(arg0, arg1, arg2) { + arg0.bindRenderbuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindRenderbuffer_fd3e47dad76906ea = function(arg0, arg1, arg2) { + arg0.bindRenderbuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindSampler_7614054a94f8e3d1 = function(arg0, arg1, arg2) { + arg0.bindSampler(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindTexture_6478edbb238b9c73 = function(arg0, arg1, arg2) { + arg0.bindTexture(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindTexture_9b177c97248ed4d9 = function(arg0, arg1, arg2) { + arg0.bindTexture(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindVertexArrayOES_e81fca007d08d0db = function(arg0, arg1) { + arg0.bindVertexArrayOES(arg1); + }; + imports.wbg.__wbg_bindVertexArray_d9082254ff3bcc13 = function(arg0, arg1) { + arg0.bindVertexArray(arg1); + }; + imports.wbg.__wbg_blendColor_075aa544f1fe84c5 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.blendColor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_blendColor_ed292080d5966f2c = function(arg0, arg1, arg2, arg3, arg4) { + arg0.blendColor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_blendEquationSeparate_3dbbe20b0a9fa818 = function(arg0, arg1, arg2) { + arg0.blendEquationSeparate(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_blendEquationSeparate_d360393d3b1557cd = function(arg0, arg1, arg2) { + arg0.blendEquationSeparate(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_blendEquation_41f4ed79f5ddd25c = function(arg0, arg1) { + arg0.blendEquation(arg1 >>> 0); + }; + imports.wbg.__wbg_blendEquation_8804e10c9ced3fc4 = function(arg0, arg1) { + arg0.blendEquation(arg1 >>> 0); + }; + imports.wbg.__wbg_blendFuncSeparate_2cc7ac2397290a15 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.blendFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_blendFuncSeparate_c6c035b0094bd58f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.blendFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_blendFunc_63aca14ff3252b59 = function(arg0, arg1, arg2) { + arg0.blendFunc(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_blendFunc_8e1cfba50a4eea89 = function(arg0, arg1, arg2) { + arg0.blendFunc(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_blitFramebuffer_171b9355e4e730c9 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) { + arg0.blitFramebuffer(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0); + }; + imports.wbg.__wbg_blockSize_e0006fb003814895 = function(arg0) { + const ret = arg0.blockSize; + return ret; + }; + imports.wbg.__wbg_body_83d4bc4961a422aa = function(arg0) { + const ret = arg0.body; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_brand_67e4f3d950154d0a = function(arg0, arg1) { + const ret = arg1.brand; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_brands_1ec54d613da9db02 = function(arg0) { + const ret = arg0.brands; + return ret; + }; + imports.wbg.__wbg_bufferData_2a747a2c2c3b23b5 = function(arg0, arg1, arg2, arg3) { + arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0); + }; + imports.wbg.__wbg_bufferData_5b85d77150f6520a = function(arg0, arg1, arg2, arg3) { + arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0); + }; + imports.wbg.__wbg_bufferData_b03654fb80052afe = function(arg0, arg1, arg2, arg3) { + arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0); + }; + imports.wbg.__wbg_bufferData_c2eb7dbb2ea2ab3f = function(arg0, arg1, arg2, arg3) { + arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0); + }; + imports.wbg.__wbg_bufferSubData_8a7d35c05111a120 = function(arg0, arg1, arg2, arg3) { + arg0.bufferSubData(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_bufferSubData_c4b11388b9eb4175 = function(arg0, arg1, arg2, arg3) { + arg0.bufferSubData(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_buffer_6e1d53ff183194fc = function(arg0) { + const ret = arg0.buffer; + return ret; + }; + imports.wbg.__wbg_buffer_ffdeb2ee67420f9e = function(arg0) { + const ret = arg0.buffer; + return ret; + }; + imports.wbg.__wbg_button_db48f93638c59f95 = function(arg0) { + const ret = arg0.button; + return ret; + }; + imports.wbg.__wbg_buttons_b962d6dc116cd1a5 = function(arg0) { + const ret = arg0.buttons; + return ret; + }; + imports.wbg.__wbg_call_0411c0c3c424db9a = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.call(arg1, arg2); + return ret; + }, arguments) }; + imports.wbg.__wbg_call_3114932863209ca6 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.call(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_cancelAnimationFrame_f1ad512e269ea165 = function() { return handleError(function (arg0, arg1) { + arg0.cancelAnimationFrame(arg1); + }, arguments) }; + imports.wbg.__wbg_cancelIdleCallback_bcc2dc9be9de0744 = function(arg0, arg1) { + arg0.cancelIdleCallback(arg1 >>> 0); + }; + imports.wbg.__wbg_cancel_3b69067dcdf7ffb7 = function(arg0) { + arg0.cancel(); + }; + imports.wbg.__wbg_catch_9da7d002aa356f1d = function(arg0, arg1) { + const ret = arg0.catch(arg1); + return ret; + }; + imports.wbg.__wbg_clearBuffer_6164fc25d22b25cc = function(arg0, arg1, arg2, arg3) { + arg0.clearBuffer(arg1, arg2, arg3); + }; + imports.wbg.__wbg_clearBuffer_cfcaaf1fb2baa885 = function(arg0, arg1, arg2) { + arg0.clearBuffer(arg1, arg2); + }; + imports.wbg.__wbg_clearBufferfv_2cf04e18ef87ed90 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.clearBufferfv(arg1 >>> 0, arg2, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_clearBufferiv_b45be02e57957dad = function(arg0, arg1, arg2, arg3, arg4) { + arg0.clearBufferiv(arg1 >>> 0, arg2, getArrayI32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_clearBufferuiv_deca83038abb23d2 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.clearBufferuiv(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_clearDepth_14d34daa30215440 = function(arg0, arg1) { + arg0.clearDepth(arg1); + }; + imports.wbg.__wbg_clearDepth_1cdcb08d8a5afa49 = function(arg0, arg1) { + arg0.clearDepth(arg1); + }; + imports.wbg.__wbg_clearStencil_e2c8b1892d5e033d = function(arg0, arg1) { + arg0.clearStencil(arg1); + }; + imports.wbg.__wbg_clearStencil_f3138d2e338d1436 = function(arg0, arg1) { + arg0.clearStencil(arg1); + }; + imports.wbg.__wbg_clearTimeout_da4408c46e51bc7a = function(arg0, arg1) { + arg0.clearTimeout(arg1); + }; + imports.wbg.__wbg_clear_4e68091e616c29ad = function(arg0, arg1) { + arg0.clear(arg1 >>> 0); + }; + imports.wbg.__wbg_clear_af7641961d766f51 = function(arg0, arg1) { + arg0.clear(arg1 >>> 0); + }; + imports.wbg.__wbg_clientWaitSync_2c4c0bd3a8d3536b = function(arg0, arg1, arg2, arg3) { + const ret = arg0.clientWaitSync(arg1, arg2 >>> 0, arg3 >>> 0); + return ret; + }; + imports.wbg.__wbg_close_35d643897b189a00 = function(arg0) { + arg0.close(); + }; + imports.wbg.__wbg_code_d8226b2133366406 = function(arg0, arg1) { + const ret = arg1.code; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_colorMask_22d850d91e89df9f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.colorMask(arg1 !== 0, arg2 !== 0, arg3 !== 0, arg4 !== 0); + }; + imports.wbg.__wbg_colorMask_a6068fae89c17ceb = function(arg0, arg1, arg2, arg3, arg4) { + arg0.colorMask(arg1 !== 0, arg2 !== 0, arg3 !== 0, arg4 !== 0); + }; + imports.wbg.__wbg_compileShader_5e41ecd397194c21 = function(arg0, arg1) { + arg0.compileShader(arg1); + }; + imports.wbg.__wbg_compileShader_6868fa6a842f0911 = function(arg0, arg1) { + arg0.compileShader(arg1); + }; + imports.wbg.__wbg_compressedTexSubImage2D_216f6eec167da8d7 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + arg0.compressedTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8); + }; + imports.wbg.__wbg_compressedTexSubImage2D_4b50d2a94bf4ea60 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.compressedTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8, arg9); + }; + imports.wbg.__wbg_compressedTexSubImage2D_9b0c2c785026006a = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + arg0.compressedTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8); + }; + imports.wbg.__wbg_compressedTexSubImage3D_8102ea4403fef5ce = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) { + arg0.compressedTexSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10); + }; + imports.wbg.__wbg_compressedTexSubImage3D_bf2bdb940e26bc8c = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.compressedTexSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10, arg11); + }; + imports.wbg.__wbg_configure_2414aed971d368cd = function(arg0, arg1) { + arg0.configure(arg1); + }; + imports.wbg.__wbg_contains_6947e163e2a3c092 = function(arg0, arg1) { + const ret = arg0.contains(arg1); + return ret; + }; + imports.wbg.__wbg_contentRect_7aaa87e16fd2882d = function(arg0) { + const ret = arg0.contentRect; + return ret; + }; + imports.wbg.__wbg_copyBufferSubData_ff213d67aa3b1f82 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.copyBufferSubData(arg1 >>> 0, arg2 >>> 0, arg3, arg4, arg5); + }; + imports.wbg.__wbg_copyBufferToBuffer_1ba67191114656a1 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.copyBufferToBuffer(arg1, arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_copyBufferToTexture_878d31d479e48f28 = function(arg0, arg1, arg2, arg3) { + arg0.copyBufferToTexture(arg1, arg2, arg3); + }; + imports.wbg.__wbg_copyExternalImageToTexture_7878d196c0b60d39 = function(arg0, arg1, arg2, arg3) { + arg0.copyExternalImageToTexture(arg1, arg2, arg3); + }; + imports.wbg.__wbg_copyTexSubImage2D_4b37e79c31b798b1 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + arg0.copyTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + }; + imports.wbg.__wbg_copyTexSubImage2D_a29106dfb31dd17c = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + arg0.copyTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + }; + imports.wbg.__wbg_copyTexSubImage3D_f8350e268c143688 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.copyTexSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); + }; + imports.wbg.__wbg_copyTextureToBuffer_6a8fe0e90f0a663d = function(arg0, arg1, arg2, arg3) { + arg0.copyTextureToBuffer(arg1, arg2, arg3); + }; + imports.wbg.__wbg_copyTextureToTexture_0a06a393d6726b4a = function(arg0, arg1, arg2, arg3) { + arg0.copyTextureToTexture(arg1, arg2, arg3); + }; + imports.wbg.__wbg_createBindGroupLayout_1d93b6d41c87ba9d = function(arg0, arg1) { + const ret = arg0.createBindGroupLayout(arg1); + return ret; + }; + imports.wbg.__wbg_createBindGroup_61cd07ec9d423432 = function(arg0, arg1) { + const ret = arg0.createBindGroup(arg1); + return ret; + }; + imports.wbg.__wbg_createBuffer_1e646d14cebbb438 = function(arg0) { + const ret = arg0.createBuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createBuffer_2a696fb8c0d07970 = function(arg0) { + const ret = arg0.createBuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createBuffer_963aa00d5fe859e4 = function(arg0, arg1) { + const ret = arg0.createBuffer(arg1); + return ret; + }; + imports.wbg.__wbg_createCommandEncoder_f0e1613e9a2dc1eb = function(arg0, arg1) { + const ret = arg0.createCommandEncoder(arg1); + return ret; + }; + imports.wbg.__wbg_createComputePipeline_b9616b9fe2f4eb2f = function(arg0, arg1) { + const ret = arg0.createComputePipeline(arg1); + return ret; + }; + imports.wbg.__wbg_createElement_22b48bfb31a0c20e = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.createElement(getStringFromWasm0(arg1, arg2)); + return ret; + }, arguments) }; + imports.wbg.__wbg_createFramebuffer_163e192e1e53ec9b = function(arg0) { + const ret = arg0.createFramebuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createFramebuffer_1aa54479f7524ef5 = function(arg0) { + const ret = arg0.createFramebuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createObjectURL_06505af3e8787cc8 = function() { return handleError(function (arg0, arg1) { + const ret = URL.createObjectURL(arg1); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_createPipelineLayout_56c6cf983f892d2b = function(arg0, arg1) { + const ret = arg0.createPipelineLayout(arg1); + return ret; + }; + imports.wbg.__wbg_createProgram_5a5a92d23fdc2f1a = function(arg0) { + const ret = arg0.createProgram(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createProgram_b75025f0f1a4ef55 = function(arg0) { + const ret = arg0.createProgram(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createQuerySet_c14be802adf7c207 = function(arg0, arg1) { + const ret = arg0.createQuerySet(arg1); + return ret; + }; + imports.wbg.__wbg_createQuery_2816e95a473b5501 = function(arg0) { + const ret = arg0.createQuery(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createRenderBundleEncoder_8e4bdffea72f8c1f = function(arg0, arg1) { + const ret = arg0.createRenderBundleEncoder(arg1); + return ret; + }; + imports.wbg.__wbg_createRenderPipeline_079a88a0601fcce1 = function(arg0, arg1) { + const ret = arg0.createRenderPipeline(arg1); + return ret; + }; + imports.wbg.__wbg_createRenderbuffer_29e130c03bc689d3 = function(arg0) { + const ret = arg0.createRenderbuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createRenderbuffer_b10004ae18d38014 = function(arg0) { + const ret = arg0.createRenderbuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createSampler_50ae7c4dd1f9b066 = function(arg0) { + const ret = arg0.createSampler(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createSampler_ef5578990df3baf7 = function(arg0, arg1) { + const ret = arg0.createSampler(arg1); + return ret; + }; + imports.wbg.__wbg_createShaderModule_17f451ea25cae47c = function(arg0, arg1) { + const ret = arg0.createShaderModule(arg1); + return ret; + }; + imports.wbg.__wbg_createShader_29c8e06db7e7211f = function(arg0, arg1) { + const ret = arg0.createShader(arg1 >>> 0); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createShader_8c3053457f874cdd = function(arg0, arg1) { + const ret = arg0.createShader(arg1 >>> 0); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createTexture_01cc1cd2fea732d9 = function(arg0, arg1) { + const ret = arg0.createTexture(arg1); + return ret; + }; + imports.wbg.__wbg_createTexture_20f63b261993f581 = function(arg0) { + const ret = arg0.createTexture(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createTexture_facd2df68d8d0276 = function(arg0) { + const ret = arg0.createTexture(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createVertexArrayOES_89f45f4a4fde395f = function(arg0) { + const ret = arg0.createVertexArrayOES(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createVertexArray_70d7c4c62e00613d = function(arg0) { + const ret = arg0.createVertexArray(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createView_04701884291e1ccc = function(arg0, arg1) { + const ret = arg0.createView(arg1); + return ret; + }; + imports.wbg.__wbg_crypto_ed58b8e10a292839 = function(arg0) { + const ret = arg0.crypto; + return ret; + }; + imports.wbg.__wbg_ctrlKey_60b29e015a543678 = function(arg0) { + const ret = arg0.ctrlKey; + return ret; + }; + imports.wbg.__wbg_ctrlKey_ab341328ab202d37 = function(arg0) { + const ret = arg0.ctrlKey; + return ret; + }; + imports.wbg.__wbg_cullFace_96a9dca4a5b1ca33 = function(arg0, arg1) { + arg0.cullFace(arg1 >>> 0); + }; + imports.wbg.__wbg_cullFace_99bb4e31c974596d = function(arg0, arg1) { + arg0.cullFace(arg1 >>> 0); + }; + imports.wbg.__wbg_debug_347b3d1f33e1c28e = function(arg0) { + console.debug(arg0); + }; + imports.wbg.__wbg_deleteBuffer_9d705222a7e77a7b = function(arg0, arg1) { + arg0.deleteBuffer(arg1); + }; + imports.wbg.__wbg_deleteBuffer_db0d7ecbaa97fa56 = function(arg0, arg1) { + arg0.deleteBuffer(arg1); + }; + imports.wbg.__wbg_deleteFramebuffer_69db238ea6b8a9a1 = function(arg0, arg1) { + arg0.deleteFramebuffer(arg1); + }; + imports.wbg.__wbg_deleteFramebuffer_ecf398bec452aaf9 = function(arg0, arg1) { + arg0.deleteFramebuffer(arg1); + }; + imports.wbg.__wbg_deleteProgram_cb18e0020d488bad = function(arg0, arg1) { + arg0.deleteProgram(arg1); + }; + imports.wbg.__wbg_deleteProgram_e1a6c4b922e202e3 = function(arg0, arg1) { + arg0.deleteProgram(arg1); + }; + imports.wbg.__wbg_deleteQuery_e083394da1710d6c = function(arg0, arg1) { + arg0.deleteQuery(arg1); + }; + imports.wbg.__wbg_deleteRenderbuffer_05fa7f35ea76cafd = function(arg0, arg1) { + arg0.deleteRenderbuffer(arg1); + }; + imports.wbg.__wbg_deleteRenderbuffer_2f1216e54aa2f248 = function(arg0, arg1) { + arg0.deleteRenderbuffer(arg1); + }; + imports.wbg.__wbg_deleteSampler_e5c61c85993f9a69 = function(arg0, arg1) { + arg0.deleteSampler(arg1); + }; + imports.wbg.__wbg_deleteShader_257caf93b24ac555 = function(arg0, arg1) { + arg0.deleteShader(arg1); + }; + imports.wbg.__wbg_deleteShader_fb86028e46cb069b = function(arg0, arg1) { + arg0.deleteShader(arg1); + }; + imports.wbg.__wbg_deleteSync_b5caedf06185d972 = function(arg0, arg1) { + arg0.deleteSync(arg1); + }; + imports.wbg.__wbg_deleteTexture_6913f682a09c8171 = function(arg0, arg1) { + arg0.deleteTexture(arg1); + }; + imports.wbg.__wbg_deleteTexture_a29655740b1cbe33 = function(arg0, arg1) { + arg0.deleteTexture(arg1); + }; + imports.wbg.__wbg_deleteVertexArrayOES_2def7ce37f8e89f2 = function(arg0, arg1) { + arg0.deleteVertexArrayOES(arg1); + }; + imports.wbg.__wbg_deleteVertexArray_a3bca8e15204ffed = function(arg0, arg1) { + arg0.deleteVertexArray(arg1); + }; + imports.wbg.__wbg_deltaMode_a4cc321212f87817 = function(arg0) { + const ret = arg0.deltaMode; + return ret; + }; + imports.wbg.__wbg_deltaX_27e2939a1af8c940 = function(arg0) { + const ret = arg0.deltaX; + return ret; + }; + imports.wbg.__wbg_deltaY_4bb52a4f0a7ad28b = function(arg0) { + const ret = arg0.deltaY; + return ret; + }; + imports.wbg.__wbg_depthFunc_657dd592930e7f2f = function(arg0, arg1) { + arg0.depthFunc(arg1 >>> 0); + }; + imports.wbg.__wbg_depthFunc_f9fd44a07ea8398e = function(arg0, arg1) { + arg0.depthFunc(arg1 >>> 0); + }; + imports.wbg.__wbg_depthMask_87195357e4f7df17 = function(arg0, arg1) { + arg0.depthMask(arg1 !== 0); + }; + imports.wbg.__wbg_depthMask_bac7f6b455b6ddeb = function(arg0, arg1) { + arg0.depthMask(arg1 !== 0); + }; + imports.wbg.__wbg_depthRange_d947e824a28dc9a1 = function(arg0, arg1, arg2) { + arg0.depthRange(arg1, arg2); + }; + imports.wbg.__wbg_depthRange_f71c79182f666e45 = function(arg0, arg1, arg2) { + arg0.depthRange(arg1, arg2); + }; + imports.wbg.__wbg_destroy_35f94012e5bb9c17 = function(arg0) { + arg0.destroy(); + }; + imports.wbg.__wbg_destroy_767d9dde1008e293 = function(arg0) { + arg0.destroy(); + }; + imports.wbg.__wbg_destroy_c6af4226dda95dbd = function(arg0) { + arg0.destroy(); + }; + imports.wbg.__wbg_devicePixelContentBoxSize_1ea2c6145730b8c0 = function(arg0) { + const ret = arg0.devicePixelContentBoxSize; + return ret; + }; + imports.wbg.__wbg_devicePixelRatio_f4eb7cbe3a812de0 = function(arg0) { + const ret = arg0.devicePixelRatio; + return ret; + }; + imports.wbg.__wbg_disableVertexAttribArray_c513f1fff3cb73f2 = function(arg0, arg1) { + arg0.disableVertexAttribArray(arg1 >>> 0); + }; + imports.wbg.__wbg_disableVertexAttribArray_e7ff41dc0c3eaf1f = function(arg0, arg1) { + arg0.disableVertexAttribArray(arg1 >>> 0); + }; + imports.wbg.__wbg_disable_4c1cedffa6646166 = function(arg0, arg1) { + arg0.disable(arg1 >>> 0); + }; + imports.wbg.__wbg_disable_5320561e5cb15f08 = function(arg0, arg1) { + arg0.disable(arg1 >>> 0); + }; + imports.wbg.__wbg_disconnect_8b7c928b6057719b = function(arg0) { + arg0.disconnect(); + }; + imports.wbg.__wbg_disconnect_c45e8044053eddf3 = function(arg0) { + arg0.disconnect(); + }; + imports.wbg.__wbg_dispatchWorkgroupsIndirect_8b25efab93a7a433 = function(arg0, arg1, arg2) { + arg0.dispatchWorkgroupsIndirect(arg1, arg2); + }; + imports.wbg.__wbg_dispatchWorkgroups_c102fa81b955935d = function(arg0, arg1, arg2, arg3) { + arg0.dispatchWorkgroups(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0); + }; + imports.wbg.__wbg_document_c488ca7509cc6938 = function(arg0) { + const ret = arg0.document; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_done_adfd3f40364def50 = function(arg0) { + const ret = arg0.done; + return ret; + }; + imports.wbg.__wbg_drawArraysInstancedANGLE_55c83db2758c6ab4 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.drawArraysInstancedANGLE(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_drawArraysInstanced_11f863da4daf24d0 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.drawArraysInstanced(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_drawArrays_87e9bb0e2fb3e0fa = function(arg0, arg1, arg2, arg3) { + arg0.drawArrays(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_drawArrays_f5b0f0a0dc392c3f = function(arg0, arg1, arg2, arg3) { + arg0.drawArrays(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_drawBuffersWEBGL_22730193cdce9696 = function(arg0, arg1) { + arg0.drawBuffersWEBGL(arg1); + }; + imports.wbg.__wbg_drawBuffers_f256d529aecd01f2 = function(arg0, arg1) { + arg0.drawBuffers(arg1); + }; + imports.wbg.__wbg_drawElementsInstancedANGLE_db0bafff77affb0d = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.drawElementsInstancedANGLE(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_drawElementsInstanced_e87f1c69165df984 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.drawElementsInstanced(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_drawIndexedIndirect_34484fc6227c7bc8 = function(arg0, arg1, arg2) { + arg0.drawIndexedIndirect(arg1, arg2); + }; + imports.wbg.__wbg_drawIndexedIndirect_5a7c30bb5f1d5b67 = function(arg0, arg1, arg2) { + arg0.drawIndexedIndirect(arg1, arg2); + }; + imports.wbg.__wbg_drawIndexed_115af1449b52a948 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.drawIndexed(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5 >>> 0); + }; + imports.wbg.__wbg_drawIndexed_a587cce4c317791f = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.drawIndexed(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5 >>> 0); + }; + imports.wbg.__wbg_drawIndirect_036d71498a21f1a3 = function(arg0, arg1, arg2) { + arg0.drawIndirect(arg1, arg2); + }; + imports.wbg.__wbg_drawIndirect_a1d7c5e893aa5756 = function(arg0, arg1, arg2) { + arg0.drawIndirect(arg1, arg2); + }; + imports.wbg.__wbg_draw_5351b12033166aca = function(arg0, arg1, arg2, arg3, arg4) { + arg0.draw(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_draw_e2a7c5d66fb2d244 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.draw(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_enableVertexAttribArray_0ce3052ae5f3f84a = function(arg0, arg1) { + arg0.enableVertexAttribArray(arg1 >>> 0); + }; + imports.wbg.__wbg_enableVertexAttribArray_2bb681a583bf0dbe = function(arg0, arg1) { + arg0.enableVertexAttribArray(arg1 >>> 0); + }; + imports.wbg.__wbg_enable_8d6ea7489b31dabd = function(arg0, arg1) { + arg0.enable(arg1 >>> 0); + }; + imports.wbg.__wbg_enable_bb868e19d5c88d56 = function(arg0, arg1) { + arg0.enable(arg1 >>> 0); + }; + imports.wbg.__wbg_endQuery_b4f2566f7afc4117 = function(arg0, arg1) { + arg0.endQuery(arg1 >>> 0); + }; + imports.wbg.__wbg_end_0ac71677a5c1717a = function(arg0) { + arg0.end(); + }; + imports.wbg.__wbg_end_6f776519f1faa582 = function(arg0) { + arg0.end(); + }; + imports.wbg.__wbg_error_2a6b93fdada7ff11 = function(arg0) { + console.error(arg0); + }; + imports.wbg.__wbg_error_7534b8e9a36f1ab4 = function(arg0, arg1) { + let deferred0_0; + let deferred0_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + console.error(getStringFromWasm0(arg0, arg1)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + } + }; + imports.wbg.__wbg_error_e98e6aadd08e0b94 = function(arg0) { + const ret = arg0.error; + return ret; + }; + imports.wbg.__wbg_error_f0dde81ae1e4cfea = function(arg0, arg1) { + console.error(arg0, arg1); + }; + imports.wbg.__wbg_executeBundles_8e6c0614da2805d4 = function(arg0, arg1) { + arg0.executeBundles(arg1); + }; + imports.wbg.__wbg_features_1b464383ea8a7691 = function(arg0) { + const ret = arg0.features; + return ret; + }; + imports.wbg.__wbg_features_e5fbbc2760867852 = function(arg0) { + const ret = arg0.features; + return ret; + }; + imports.wbg.__wbg_fenceSync_68dcf439f52decac = function(arg0, arg1, arg2) { + const ret = arg0.fenceSync(arg1 >>> 0, arg2 >>> 0); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_fetch_2367a4a7762e7c4a = function(arg0, arg1) { + const ret = arg0.fetch(arg1); + return ret; + }; + imports.wbg.__wbg_fetch_f1856afdb49415d1 = function(arg0) { + const ret = fetch(arg0); + return ret; + }; + imports.wbg.__wbg_finish_20711371c58df61c = function(arg0) { + const ret = arg0.finish(); + return ret; + }; + imports.wbg.__wbg_finish_34b2c54329c8719f = function(arg0, arg1) { + const ret = arg0.finish(arg1); + return ret; + }; + imports.wbg.__wbg_finish_a9ab917e756ea00c = function(arg0, arg1) { + const ret = arg0.finish(arg1); + return ret; + }; + imports.wbg.__wbg_finish_e0a6c97c0622f843 = function(arg0) { + const ret = arg0.finish(); + return ret; + }; + imports.wbg.__wbg_focus_c71947fc3fe22147 = function() { return handleError(function (arg0) { + arg0.focus(); + }, arguments) }; + imports.wbg.__wbg_framebufferRenderbuffer_308ddbcaaed66ff2 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.framebufferRenderbuffer(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4); + }; + imports.wbg.__wbg_framebufferRenderbuffer_a23d035c46e3e192 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.framebufferRenderbuffer(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4); + }; + imports.wbg.__wbg_framebufferTexture2D_170b0f8c792e246f = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.framebufferTexture2D(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_framebufferTexture2D_5366ecb050293d09 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.framebufferTexture2D(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_framebufferTextureLayer_daccfb6fb9396578 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.framebufferTextureLayer(arg1 >>> 0, arg2 >>> 0, arg3, arg4, arg5); + }; + imports.wbg.__wbg_framebufferTextureMultiviewOVR_e2282e87fdf2564f = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.framebufferTextureMultiviewOVR(arg1 >>> 0, arg2 >>> 0, arg3, arg4, arg5, arg6); + }; + imports.wbg.__wbg_frontFace_7b469405c0e889ee = function(arg0, arg1) { + arg0.frontFace(arg1 >>> 0); + }; + imports.wbg.__wbg_frontFace_993e921eaef39c45 = function(arg0, arg1) { + arg0.frontFace(arg1 >>> 0); + }; + imports.wbg.__wbg_fullscreenElement_a613ad02fa918fb4 = function(arg0) { + const ret = arg0.fullscreenElement; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getBindGroupLayout_4a94df6108ac6667 = function(arg0, arg1) { + const ret = arg0.getBindGroupLayout(arg1 >>> 0); + return ret; + }; + imports.wbg.__wbg_getBindGroupLayout_80e803d942962f6a = function(arg0, arg1) { + const ret = arg0.getBindGroupLayout(arg1 >>> 0); + return ret; + }; + imports.wbg.__wbg_getBufferSubData_5102d8a217d0774c = function(arg0, arg1, arg2, arg3) { + arg0.getBufferSubData(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_getCoalescedEvents_1372a1922f78401a = function(arg0) { + const ret = arg0.getCoalescedEvents; + return ret; + }; + imports.wbg.__wbg_getCoalescedEvents_3736b5e5d63bed7b = function(arg0) { + const ret = arg0.getCoalescedEvents(); + return ret; + }; + imports.wbg.__wbg_getCompilationInfo_2af3ecdfeda551a3 = function(arg0) { + const ret = arg0.getCompilationInfo(); + return ret; + }; + imports.wbg.__wbg_getComputedStyle_c3a9de7674a38310 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.getComputedStyle(arg1); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getContext_02d86c7d9cfa709e = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.getContext(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getContext_24d4414b979c1bbd = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.getContext(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getContext_74e4f1560c2a2fae = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = arg0.getContext(getStringFromWasm0(arg1, arg2), arg3); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getContext_b22f05fca7ddb494 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = arg0.getContext(getStringFromWasm0(arg1, arg2), arg3); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getCurrentTexture_5a79cda2ff36e1ee = function(arg0) { + const ret = arg0.getCurrentTexture(); + return ret; + }; + imports.wbg.__wbg_getElementById_7b2db24a9b54f077 = function(arg0, arg1, arg2) { + const ret = arg0.getElementById(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getExtension_28666bdc87d23aca = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.getExtension(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getIndexedParameter_f9e7220a3bb8862c = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.getIndexedParameter(arg1 >>> 0, arg2 >>> 0); + return ret; + }, arguments) }; + imports.wbg.__wbg_getMappedRange_932dd043ae22ee0a = function(arg0, arg1, arg2) { + const ret = arg0.getMappedRange(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_getOwnPropertyDescriptor_c701b185423f5b7e = function(arg0, arg1) { + const ret = Object.getOwnPropertyDescriptor(arg0, arg1); + return ret; + }; + imports.wbg.__wbg_getParameter_304cffb9a759dc04 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.getParameter(arg1 >>> 0); + return ret; + }, arguments) }; + imports.wbg.__wbg_getParameter_fd65bc6ff1b0ffd9 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.getParameter(arg1 >>> 0); + return ret; + }, arguments) }; + imports.wbg.__wbg_getPreferredCanvasFormat_de73c02773a5209e = function(arg0) { + const ret = arg0.getPreferredCanvasFormat(); + return (__wbindgen_enum_GpuTextureFormat.indexOf(ret) + 1 || 96) - 1; + }; + imports.wbg.__wbg_getProgramInfoLog_032aac3e6f3a253c = function(arg0, arg1, arg2) { + const ret = arg1.getProgramInfoLog(arg2); + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_getProgramInfoLog_039168c2aed8d3fe = function(arg0, arg1, arg2) { + const ret = arg1.getProgramInfoLog(arg2); + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_getProgramParameter_70b22019524689fa = function(arg0, arg1, arg2) { + const ret = arg0.getProgramParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getProgramParameter_9b3bdf8d90159edb = function(arg0, arg1, arg2) { + const ret = arg0.getProgramParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getPropertyValue_e87121b8549f72d5 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = arg1.getPropertyValue(getStringFromWasm0(arg2, arg3)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_getQueryParameter_e7b02fe5fd64baa5 = function(arg0, arg1, arg2) { + const ret = arg0.getQueryParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getRandomValues_bcb4912f16000dc4 = function() { return handleError(function (arg0, arg1) { + arg0.getRandomValues(arg1); + }, arguments) }; + imports.wbg.__wbg_getShaderInfoLog_5c7d45bafe3be3dd = function(arg0, arg1, arg2) { + const ret = arg1.getShaderInfoLog(arg2); + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_getShaderInfoLog_d2cc881ce343a733 = function(arg0, arg1, arg2) { + const ret = arg1.getShaderInfoLog(arg2); + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_getShaderParameter_6d0578dd9f58b684 = function(arg0, arg1, arg2) { + const ret = arg0.getShaderParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getShaderParameter_c50fbeadf9ef6879 = function(arg0, arg1, arg2) { + const ret = arg0.getShaderParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getSupportedExtensions_fca342bac23691db = function(arg0) { + const ret = arg0.getSupportedExtensions(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getSupportedProfiles_b2cc3aec569a65fa = function(arg0) { + const ret = arg0.getSupportedProfiles(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getSyncParameter_5688138f66b57b16 = function(arg0, arg1, arg2) { + const ret = arg0.getSyncParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getUniformBlockIndex_b53609b8ecff8b48 = function(arg0, arg1, arg2, arg3) { + const ret = arg0.getUniformBlockIndex(arg1, getStringFromWasm0(arg2, arg3)); + return ret; + }; + imports.wbg.__wbg_getUniformLocation_852fbe42afe106ff = function(arg0, arg1, arg2, arg3) { + const ret = arg0.getUniformLocation(arg1, getStringFromWasm0(arg2, arg3)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getUniformLocation_9d46a65011600cce = function(arg0, arg1, arg2, arg3) { + const ret = arg0.getUniformLocation(arg1, getStringFromWasm0(arg2, arg3)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_get_68aa371864aa301a = function(arg0, arg1) { + const ret = arg0[arg1 >>> 0]; + return ret; + }; + imports.wbg.__wbg_get_6b316bfdb1b95076 = function(arg0, arg1) { + const ret = arg0[arg1 >>> 0]; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_get_92a4780a3beb5fe9 = function() { return handleError(function (arg0, arg1) { + const ret = Reflect.get(arg0, arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_globalThis_1e2ac1d6eee845b3 = function() { return handleError(function () { + const ret = globalThis.globalThis; + return ret; + }, arguments) }; + imports.wbg.__wbg_global_f25a574ae080367c = function() { return handleError(function () { + const ret = global.global; + return ret; + }, arguments) }; + imports.wbg.__wbg_gpu_87871e8f7ace8fee = function(arg0) { + const ret = arg0.gpu; + return ret; + }; + imports.wbg.__wbg_has_38b228962f492b9b = function() { return handleError(function (arg0, arg1) { + const ret = Reflect.has(arg0, arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_has_624cbf0451d880e8 = function(arg0, arg1, arg2) { + const ret = arg0.has(getStringFromWasm0(arg1, arg2)); + return ret; + }; + imports.wbg.__wbg_headers_a5edfea2425875b2 = function(arg0) { + const ret = arg0.headers; + return ret; + }; + imports.wbg.__wbg_height_4065e49e5ec4c4c1 = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_51a97623165c9beb = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_74bc8ec7548ff6b6 = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_a196a7b9b1d7e01c = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_cabc0c8a4c838304 = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_e509816ec3fdf5b1 = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_includes_959087f4155febdf = function(arg0, arg1, arg2) { + const ret = arg0.includes(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_info_b6bd3cb6471c2b4c = function(arg0) { + console.info(arg0); + }; + imports.wbg.__wbg_inlineSize_6f8d0983462c2919 = function(arg0) { + const ret = arg0.inlineSize; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuAdapter_0731153d2b08720b = function(arg0) { + let result; + try { + result = arg0 instanceof GPUAdapter; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuCanvasContext_d14121c7bd72fcef = function(arg0) { + let result; + try { + result = arg0 instanceof GPUCanvasContext; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuDeviceLostInfo_a3677ebb8241d800 = function(arg0) { + let result; + try { + result = arg0 instanceof GPUDeviceLostInfo; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuOutOfMemoryError_391d9a08edbfa04b = function(arg0) { + let result; + try { + result = arg0 instanceof GPUOutOfMemoryError; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuValidationError_f4d803c383da3c92 = function(arg0) { + let result; + try { + result = arg0 instanceof GPUValidationError; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_HtmlCanvasElement_9db0dfd54b2c5330 = function(arg0) { + let result; + try { + result = arg0 instanceof HTMLCanvasElement; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_Object_f0f57d6eeca1b81d = function(arg0) { + let result; + try { + result = arg0 instanceof Object; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_Response_0ec26bd2f8a75ca2 = function(arg0) { + let result; + try { + result = arg0 instanceof Response; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_WebGl2RenderingContext_888701598b82d45d = function(arg0) { + let result; + try { + result = arg0 instanceof WebGL2RenderingContext; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_Window_a959820eb267fe22 = function(arg0) { + let result; + try { + result = arg0 instanceof Window; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_invalidateFramebuffer_f4a994f4a8535cca = function() { return handleError(function (arg0, arg1, arg2) { + arg0.invalidateFramebuffer(arg1 >>> 0, arg2); + }, arguments) }; + imports.wbg.__wbg_isIntersecting_9059d5bcaf29f415 = function(arg0) { + const ret = arg0.isIntersecting; + return ret; + }; + imports.wbg.__wbg_is_20768e55ad2a7c3f = function(arg0, arg1) { + const ret = Object.is(arg0, arg1); + return ret; + }; + imports.wbg.__wbg_iterator_7a20c20ce22add0f = function() { + const ret = Symbol.iterator; + return ret; + }; + imports.wbg.__wbg_key_02315cd3f595756b = function(arg0, arg1) { + const ret = arg1.key; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_label_2082ab37d2ad170d = function(arg0, arg1) { + const ret = arg1.label; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_length_2e63ba34c4121df5 = function(arg0) { + const ret = arg0.length; + return ret; + }; + imports.wbg.__wbg_length_9df32f7add647235 = function(arg0) { + const ret = arg0.length; + return ret; + }; + imports.wbg.__wbg_length_e74df4881604f1d9 = function(arg0) { + const ret = arg0.length; + return ret; + }; + imports.wbg.__wbg_limits_2dd632c891786ddf = function(arg0) { + const ret = arg0.limits; + return ret; + }; + imports.wbg.__wbg_limits_f6411f884b0b2d62 = function(arg0) { + const ret = arg0.limits; + return ret; + }; + imports.wbg.__wbg_lineNum_0246de1e072ffe19 = function(arg0) { + const ret = arg0.lineNum; + return ret; + }; + imports.wbg.__wbg_linkProgram_575f761eda0a14bc = function(arg0, arg1) { + arg0.linkProgram(arg1); + }; + imports.wbg.__wbg_linkProgram_5eee13e603e9af41 = function(arg0, arg1) { + arg0.linkProgram(arg1); + }; + imports.wbg.__wbg_location_54d35e8c85dcfb9c = function(arg0) { + const ret = arg0.location; + return ret; + }; + imports.wbg.__wbg_location_e9eba129bf0612a5 = function(arg0) { + const ret = arg0.location; + return ret; + }; + imports.wbg.__wbg_log_d818ca3cab23fc77 = function(arg0) { + console.log(arg0); + }; + imports.wbg.__wbg_lost_6e4d29847ce2a34a = function(arg0) { + const ret = arg0.lost; + return ret; + }; + imports.wbg.__wbg_mapAsync_37f5e03edf2e1352 = function(arg0, arg1, arg2, arg3) { + const ret = arg0.mapAsync(arg1 >>> 0, arg2, arg3); + return ret; + }; + imports.wbg.__wbg_matchMedia_0be65181eeae951c = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.matchMedia(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_matches_254463383aee4688 = function(arg0) { + const ret = arg0.matches; + return ret; + }; + imports.wbg.__wbg_maxBindGroups_768ca5e8623bf450 = function(arg0) { + const ret = arg0.maxBindGroups; + return ret; + }; + imports.wbg.__wbg_maxBindingsPerBindGroup_057972d600d69719 = function(arg0) { + const ret = arg0.maxBindingsPerBindGroup; + return ret; + }; + imports.wbg.__wbg_maxBufferSize_e237b44f19a5a62b = function(arg0) { + const ret = arg0.maxBufferSize; + return ret; + }; + imports.wbg.__wbg_maxColorAttachmentBytesPerSample_d6c7b4051d22c6d6 = function(arg0) { + const ret = arg0.maxColorAttachmentBytesPerSample; + return ret; + }; + imports.wbg.__wbg_maxColorAttachments_7a18ba24c05edcfd = function(arg0) { + const ret = arg0.maxColorAttachments; + return ret; + }; + imports.wbg.__wbg_maxComputeInvocationsPerWorkgroup_b99c2f3611633992 = function(arg0) { + const ret = arg0.maxComputeInvocationsPerWorkgroup; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupSizeX_adb26da9ed7f77f7 = function(arg0) { + const ret = arg0.maxComputeWorkgroupSizeX; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupSizeY_cc217559c98be33b = function(arg0) { + const ret = arg0.maxComputeWorkgroupSizeY; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupSizeZ_66606a80e2cf2309 = function(arg0) { + const ret = arg0.maxComputeWorkgroupSizeZ; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupStorageSize_cb6235497b8c4997 = function(arg0) { + const ret = arg0.maxComputeWorkgroupStorageSize; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupsPerDimension_6bf550b5f21d57cf = function(arg0) { + const ret = arg0.maxComputeWorkgroupsPerDimension; + return ret; + }; + imports.wbg.__wbg_maxDynamicStorageBuffersPerPipelineLayout_c6ac20334e328b47 = function(arg0) { + const ret = arg0.maxDynamicStorageBuffersPerPipelineLayout; + return ret; + }; + imports.wbg.__wbg_maxDynamicUniformBuffersPerPipelineLayout_aa8f14a74b440f01 = function(arg0) { + const ret = arg0.maxDynamicUniformBuffersPerPipelineLayout; + return ret; + }; + imports.wbg.__wbg_maxSampledTexturesPerShaderStage_db7c4922cc60144a = function(arg0) { + const ret = arg0.maxSampledTexturesPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxSamplersPerShaderStage_538705fe2263e710 = function(arg0) { + const ret = arg0.maxSamplersPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxStorageBufferBindingSize_32178c0f5f7f85cb = function(arg0) { + const ret = arg0.maxStorageBufferBindingSize; + return ret; + }; + imports.wbg.__wbg_maxStorageBuffersPerShaderStage_9f67e9eae0089f77 = function(arg0) { + const ret = arg0.maxStorageBuffersPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxStorageTexturesPerShaderStage_57239664936031cf = function(arg0) { + const ret = arg0.maxStorageTexturesPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxTextureArrayLayers_db5d4e486c78ae04 = function(arg0) { + const ret = arg0.maxTextureArrayLayers; + return ret; + }; + imports.wbg.__wbg_maxTextureDimension1D_3475085ffacabbdc = function(arg0) { + const ret = arg0.maxTextureDimension1D; + return ret; + }; + imports.wbg.__wbg_maxTextureDimension2D_7c8d5ecf09eb8519 = function(arg0) { + const ret = arg0.maxTextureDimension2D; + return ret; + }; + imports.wbg.__wbg_maxTextureDimension3D_8bd976677a0f91d4 = function(arg0) { + const ret = arg0.maxTextureDimension3D; + return ret; + }; + imports.wbg.__wbg_maxUniformBufferBindingSize_95b1a54e7e4a0f0f = function(arg0) { + const ret = arg0.maxUniformBufferBindingSize; + return ret; + }; + imports.wbg.__wbg_maxUniformBuffersPerShaderStage_5f475d9a453af14d = function(arg0) { + const ret = arg0.maxUniformBuffersPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxVertexAttributes_4c48ca2f5d32f860 = function(arg0) { + const ret = arg0.maxVertexAttributes; + return ret; + }; + imports.wbg.__wbg_maxVertexBufferArrayStride_2233f6933ecc5a16 = function(arg0) { + const ret = arg0.maxVertexBufferArrayStride; + return ret; + }; + imports.wbg.__wbg_maxVertexBuffers_c47e508cd7348554 = function(arg0) { + const ret = arg0.maxVertexBuffers; + return ret; + }; + imports.wbg.__wbg_message_0762358e59db7ed6 = function(arg0, arg1) { + const ret = arg1.message; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_message_7957ab09f64c6822 = function(arg0, arg1) { + const ret = arg1.message; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_message_b163994503433c9e = function(arg0, arg1) { + const ret = arg1.message; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_messages_da071582f72bc978 = function(arg0) { + const ret = arg0.messages; + return ret; + }; + imports.wbg.__wbg_metaKey_34d5658170ffb3ee = function(arg0) { + const ret = arg0.metaKey; + return ret; + }; + imports.wbg.__wbg_metaKey_6c8e9228e8dda152 = function(arg0) { + const ret = arg0.metaKey; + return ret; + }; + imports.wbg.__wbg_minStorageBufferOffsetAlignment_51b4801fac3a58de = function(arg0) { + const ret = arg0.minStorageBufferOffsetAlignment; + return ret; + }; + imports.wbg.__wbg_minUniformBufferOffsetAlignment_5d62a77924b2335f = function(arg0) { + const ret = arg0.minUniformBufferOffsetAlignment; + return ret; + }; + imports.wbg.__wbg_movementX_e32c342d96d1c701 = function(arg0) { + const ret = arg0.movementX; + return ret; + }; + imports.wbg.__wbg_movementY_136c6febb976ca3b = function(arg0) { + const ret = arg0.movementY; + return ret; + }; + imports.wbg.__wbg_msCrypto_0a36e2ec3a343d26 = function(arg0) { + const ret = arg0.msCrypto; + return ret; + }; + imports.wbg.__wbg_navigator_2936a93ec3c6f4c5 = function(arg0) { + const ret = arg0.navigator; + return ret; + }; + imports.wbg.__wbg_navigator_da495c9e52e160b1 = function(arg0) { + const ret = arg0.navigator; + return ret; + }; + imports.wbg.__wbg_new_076cac58bb698dd4 = function() { + const ret = new Object(); + return ret; + }; + imports.wbg.__wbg_new_0c28e72025e00594 = function() { + const ret = new Array(); + return ret; + }; + imports.wbg.__wbg_new_23362fa370a0a372 = function(arg0) { + const ret = new Uint8Array(arg0); + return ret; + }; + imports.wbg.__wbg_new_238671e08bf4fcbb = function() { return handleError(function () { + const ret = new MessageChannel(); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_4b15073a88792687 = function() { return handleError(function (arg0) { + const ret = new ResizeObserver(arg0); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_8a6f238a6ece86ea = function() { + const ret = new Error(); + return ret; + }; + imports.wbg.__wbg_new_93cf40e4f48fe902 = function() { return handleError(function () { + const ret = new AbortController(); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_b4a18f0a618c89f2 = function() { return handleError(function (arg0, arg1) { + const ret = new Worker(getStringFromWasm0(arg0, arg1)); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_c94d990936d8ea5d = function() { return handleError(function (arg0) { + const ret = new IntersectionObserver(arg0); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_e2ec18a02bb844cb = function() { return handleError(function () { + const ret = new Headers(); + return ret; + }, arguments) }; + imports.wbg.__wbg_newnoargs_19a249f4eceaaac3 = function(arg0, arg1) { + const ret = new Function(getStringFromWasm0(arg0, arg1)); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_24ff09a6b37a856f = function(arg0, arg1, arg2) { + const ret = new Int16Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_25d3cac011b6e2d5 = function(arg0, arg1, arg2) { + const ret = new Uint32Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_457c61bfe0fb7b8c = function(arg0, arg1, arg2) { + const ret = new Int32Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_9f48300371c8802a = function(arg0, arg1, arg2) { + const ret = new Uint16Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_a6087a94c7bfea61 = function(arg0, arg1, arg2) { + const ret = new Int8Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_c280c15b00e018cd = function(arg0, arg1, arg2) { + const ret = new Float32Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_ee8def7000b7b2be = function(arg0, arg1, arg2) { + const ret = new Uint8Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithlength_91de49dea5643c87 = function(arg0) { + const ret = new Uint8Array(arg0 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithstrandinit_ee1418802d8d481c = function() { return handleError(function (arg0, arg1, arg2) { + const ret = new Request(getStringFromWasm0(arg0, arg1), arg2); + return ret; + }, arguments) }; + imports.wbg.__wbg_newwithstrsequenceandoptions_af096ce40d9d9ac8 = function() { return handleError(function (arg0, arg1) { + const ret = new Blob(arg0, arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_next_c591766a7286b02a = function() { return handleError(function (arg0) { + const ret = arg0.next(); + return ret; + }, arguments) }; + imports.wbg.__wbg_next_f387ecc56a94ba00 = function(arg0) { + const ret = arg0.next; + return ret; + }; + imports.wbg.__wbg_node_02999533c4ea02e3 = function(arg0) { + const ret = arg0.node; + return ret; + }; + imports.wbg.__wbg_now_2c95c9de01293173 = function(arg0) { + const ret = arg0.now(); + return ret; + }; + imports.wbg.__wbg_observe_e2208b07fe315de7 = function(arg0, arg1) { + arg0.observe(arg1); + }; + imports.wbg.__wbg_observe_ec91d62599b7772b = function(arg0, arg1) { + arg0.observe(arg1); + }; + imports.wbg.__wbg_observe_fd48955513eca909 = function(arg0, arg1, arg2) { + arg0.observe(arg1, arg2); + }; + imports.wbg.__wbg_of_2f6232d86af7992c = function(arg0, arg1) { + const ret = Array.of(arg0, arg1); + return ret; + }; + imports.wbg.__wbg_of_5ae3a2d893e18853 = function(arg0) { + const ret = Array.of(arg0); + return ret; + }; + imports.wbg.__wbg_offsetX_d6957d052a0d4b11 = function(arg0) { + const ret = arg0.offsetX; + return ret; + }; + imports.wbg.__wbg_offsetY_076edde514bf80f4 = function(arg0) { + const ret = arg0.offsetY; + return ret; + }; + imports.wbg.__wbg_offset_336f14c993863b76 = function(arg0) { + const ret = arg0.offset; + return ret; + }; + imports.wbg.__wbg_origin_e6426cdc04ec89f8 = function() { return handleError(function (arg0, arg1) { + const ret = arg1.origin; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_performance_7a3ffd0b17f663ad = function(arg0) { + const ret = arg0.performance; + return ret; + }; + imports.wbg.__wbg_persisted_7e044507e52804d9 = function(arg0) { + const ret = arg0.persisted; + return ret; + }; + imports.wbg.__wbg_pixelStorei_198b92c3e346678a = function(arg0, arg1, arg2) { + arg0.pixelStorei(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_pixelStorei_9c4cb0a4b040b41d = function(arg0, arg1, arg2) { + arg0.pixelStorei(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_play_e7eb90a843114e0d = function(arg0) { + arg0.play(); + }; + imports.wbg.__wbg_pointerId_a2cbd2cdd6da90b2 = function(arg0) { + const ret = arg0.pointerId; + return ret; + }; + imports.wbg.__wbg_pointerType_1b74686427cdec29 = function(arg0, arg1) { + const ret = arg1.pointerType; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_polygonOffset_7ec31dee95d41171 = function(arg0, arg1, arg2) { + arg0.polygonOffset(arg1, arg2); + }; + imports.wbg.__wbg_polygonOffset_c6cbc8093770e840 = function(arg0, arg1, arg2) { + arg0.polygonOffset(arg1, arg2); + }; + imports.wbg.__wbg_popErrorScope_af0b22f136a861d6 = function(arg0) { + const ret = arg0.popErrorScope(); + return ret; + }; + imports.wbg.__wbg_port1_6f5b26fd23d19536 = function(arg0) { + const ret = arg0.port1; + return ret; + }; + imports.wbg.__wbg_port2_2eb4c961d6df5816 = function(arg0) { + const ret = arg0.port2; + return ret; + }; + imports.wbg.__wbg_postMessage_33dcf5caa3589c64 = function() { return handleError(function (arg0, arg1, arg2) { + arg0.postMessage(arg1, arg2); + }, arguments) }; + imports.wbg.__wbg_postMessage_3e7f3215320b4a9c = function() { return handleError(function (arg0, arg1) { + arg0.postMessage(arg1); + }, arguments) }; + imports.wbg.__wbg_postTask_9ba4c3cedae00b38 = function(arg0, arg1, arg2) { + const ret = arg0.postTask(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_pressure_8707a47b6fb1c1fd = function(arg0) { + const ret = arg0.pressure; + return ret; + }; + imports.wbg.__wbg_preventDefault_faafffcaad92972d = function(arg0) { + arg0.preventDefault(); + }; + imports.wbg.__wbg_process_5c1d670bc53614b8 = function(arg0) { + const ret = arg0.process; + return ret; + }; + imports.wbg.__wbg_prototype_0f68911d93450df4 = function() { + const ret = ResizeObserverEntry.prototype; + return ret; + }; + imports.wbg.__wbg_pushErrorScope_b52914ff10ba6ce3 = function(arg0, arg1) { + arg0.pushErrorScope(__wbindgen_enum_GpuErrorFilter[arg1]); + }; + imports.wbg.__wbg_push_3e9ce81246ef1d1b = function(arg0, arg1) { + const ret = arg0.push(arg1); + return ret; + }; + imports.wbg.__wbg_queryCounterEXT_6da4ab4ec9c37329 = function(arg0, arg1, arg2) { + arg0.queryCounterEXT(arg1, arg2 >>> 0); + }; + imports.wbg.__wbg_querySelectorAll_775f04e6f26ad643 = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.querySelectorAll(getStringFromWasm0(arg1, arg2)); + return ret; + }, arguments) }; + imports.wbg.__wbg_querySelector_473a7bd6647e7cbb = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.querySelector(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_queueMicrotask_3d422e1ba49c2500 = function(arg0) { + const ret = arg0.queueMicrotask; + return ret; + }; + imports.wbg.__wbg_queueMicrotask_5fc3e400ac3c03f4 = function(arg0) { + queueMicrotask(arg0); + }; + imports.wbg.__wbg_queueMicrotask_f301663ccadbb7d0 = function(arg0) { + queueMicrotask(arg0); + }; + imports.wbg.__wbg_queue_bea4017efaaf9904 = function(arg0) { + const ret = arg0.queue; + return ret; + }; + imports.wbg.__wbg_randomFillSync_ab2cfe79ebbf2740 = function() { return handleError(function (arg0, arg1) { + arg0.randomFillSync(arg1); + }, arguments) }; + imports.wbg.__wbg_readBuffer_8fd1512f6bdfc8f0 = function(arg0, arg1) { + arg0.readBuffer(arg1 >>> 0); + }; + imports.wbg.__wbg_readPixels_48fc96a447cda9aa = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + arg0.readPixels(arg1, arg2, arg3, arg4, arg5 >>> 0, arg6 >>> 0, arg7); + }, arguments) }; + imports.wbg.__wbg_readPixels_7b1022930a9026d1 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + arg0.readPixels(arg1, arg2, arg3, arg4, arg5 >>> 0, arg6 >>> 0, arg7); + }, arguments) }; + imports.wbg.__wbg_readPixels_da6e94b84b4cfd41 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + arg0.readPixels(arg1, arg2, arg3, arg4, arg5 >>> 0, arg6 >>> 0, arg7); + }, arguments) }; + imports.wbg.__wbg_reason_43acd39cce242b50 = function(arg0) { + const ret = arg0.reason; + return (__wbindgen_enum_GpuDeviceLostReason.indexOf(ret) + 1 || 3) - 1; + }; + imports.wbg.__wbg_removeEventListener_d14a328308e427ba = function() { return handleError(function (arg0, arg1, arg2, arg3) { + arg0.removeEventListener(getStringFromWasm0(arg1, arg2), arg3); + }, arguments) }; + imports.wbg.__wbg_removeListener_aee72eb2e5fba09c = function() { return handleError(function (arg0, arg1) { + arg0.removeListener(arg1); + }, arguments) }; + imports.wbg.__wbg_removeProperty_902c73a4430b3e54 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = arg1.removeProperty(getStringFromWasm0(arg2, arg3)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_renderbufferStorageMultisample_abd1099fecb2e2a4 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.renderbufferStorageMultisample(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_renderbufferStorage_56c61eb0bb2718a9 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.renderbufferStorage(arg1 >>> 0, arg2 >>> 0, arg3, arg4); + }; + imports.wbg.__wbg_renderbufferStorage_aa4b58453d5aca0f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.renderbufferStorage(arg1 >>> 0, arg2 >>> 0, arg3, arg4); + }; + imports.wbg.__wbg_repeat_56fa20e30d00be95 = function(arg0) { + const ret = arg0.repeat; + return ret; + }; + imports.wbg.__wbg_requestAdapter_e6dcfac497cafa7a = function(arg0, arg1) { + const ret = arg0.requestAdapter(arg1); + return ret; + }; + imports.wbg.__wbg_requestAnimationFrame_e8ca543d07df528e = function() { return handleError(function (arg0, arg1) { + const ret = arg0.requestAnimationFrame(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_requestDevice_03b802707d5a382c = function(arg0, arg1) { + const ret = arg0.requestDevice(arg1); + return ret; + }; + imports.wbg.__wbg_requestFullscreen_e1ad8752a4e33f7e = function(arg0) { + const ret = arg0.requestFullscreen; + return ret; + }; + imports.wbg.__wbg_requestFullscreen_f727b1f250ebb10a = function(arg0) { + const ret = arg0.requestFullscreen(); + return ret; + }; + imports.wbg.__wbg_requestIdleCallback_773c554fc8c5a310 = function(arg0) { + const ret = arg0.requestIdleCallback; + return ret; + }; + imports.wbg.__wbg_requestIdleCallback_ba1f658c72e2140c = function() { return handleError(function (arg0, arg1) { + const ret = arg0.requestIdleCallback(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_require_79b1e9274cde3c87 = function() { return handleError(function () { + const ret = module.require; + return ret; + }, arguments) }; + imports.wbg.__wbg_resolveQuerySet_811661fb23f3b699 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.resolveQuerySet(arg1, arg2 >>> 0, arg3 >>> 0, arg4, arg5 >>> 0); + }; + imports.wbg.__wbg_resolve_6a311e8bb26423ab = function(arg0) { + const ret = Promise.resolve(arg0); + return ret; + }; + imports.wbg.__wbg_revokeObjectURL_3e4ad6d46a9a93f1 = function() { return handleError(function (arg0, arg1) { + URL.revokeObjectURL(getStringFromWasm0(arg0, arg1)); + }, arguments) }; + imports.wbg.__wbg_samplerParameterf_a9708333dc0df03e = function(arg0, arg1, arg2, arg3) { + arg0.samplerParameterf(arg1, arg2 >>> 0, arg3); + }; + imports.wbg.__wbg_samplerParameteri_6011eca3eaa96ac6 = function(arg0, arg1, arg2, arg3) { + arg0.samplerParameteri(arg1, arg2 >>> 0, arg3); + }; + imports.wbg.__wbg_scheduler_10edeee35a76c7c6 = function(arg0) { + const ret = arg0.scheduler; + return ret; + }; + imports.wbg.__wbg_scheduler_6d71128f17fbca34 = function(arg0) { + const ret = arg0.scheduler; + return ret; + }; + imports.wbg.__wbg_scissor_4c06926fa8af817c = function(arg0, arg1, arg2, arg3, arg4) { + arg0.scissor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_scissor_608c4f610141e6df = function(arg0, arg1, arg2, arg3, arg4) { + arg0.scissor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_search_4c8c4c416a168e55 = function() { return handleError(function (arg0, arg1) { + const ret = arg1.search; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_self_ac4343e4047b83cc = function() { return handleError(function () { + const ret = self.self; + return ret; + }, arguments) }; + imports.wbg.__wbg_setAttribute_e5d83ecaf7f586d5 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { + arg0.setAttribute(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4)); + }, arguments) }; + imports.wbg.__wbg_setBindGroup_62a3045b0921e429 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setBindGroup(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4), arg5, arg6 >>> 0); + }; + imports.wbg.__wbg_setBindGroup_6c0fd18e9a53a945 = function(arg0, arg1, arg2) { + arg0.setBindGroup(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_setBindGroup_7f3b61f1f482133b = function(arg0, arg1, arg2) { + arg0.setBindGroup(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_setBindGroup_bf767a5aa46a33ce = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setBindGroup(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4), arg5, arg6 >>> 0); + }; + imports.wbg.__wbg_setBindGroup_c4aaff14063226b4 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setBindGroup(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4), arg5, arg6 >>> 0); + }; + imports.wbg.__wbg_setBindGroup_f82e771dc1b69093 = function(arg0, arg1, arg2) { + arg0.setBindGroup(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_setBlendConstant_016723821cfb3aa4 = function(arg0, arg1) { + arg0.setBlendConstant(arg1); + }; + imports.wbg.__wbg_setIndexBuffer_286a40afdff411b7 = function(arg0, arg1, arg2, arg3) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3); + }; + imports.wbg.__wbg_setIndexBuffer_7efd0b7a40c65fb9 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3, arg4); + }; + imports.wbg.__wbg_setIndexBuffer_e091a9673bb575e2 = function(arg0, arg1, arg2, arg3) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3); + }; + imports.wbg.__wbg_setIndexBuffer_f0759f00036f615f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3, arg4); + }; + imports.wbg.__wbg_setPipeline_ba92070b8ee81cf9 = function(arg0, arg1) { + arg0.setPipeline(arg1); + }; + imports.wbg.__wbg_setPipeline_c344f76bae58c4d6 = function(arg0, arg1) { + arg0.setPipeline(arg1); + }; + imports.wbg.__wbg_setPipeline_d76451c50a121598 = function(arg0, arg1) { + arg0.setPipeline(arg1); + }; + imports.wbg.__wbg_setPointerCapture_6b89bc3d20c408af = function() { return handleError(function (arg0, arg1) { + arg0.setPointerCapture(arg1); + }, arguments) }; + imports.wbg.__wbg_setProperty_b11b0bad191551d1 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { + arg0.setProperty(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4)); + }, arguments) }; + imports.wbg.__wbg_setScissorRect_0b6ee0852ef0b6b9 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setScissorRect(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_setStencilReference_34fd3d59673a5a9d = function(arg0, arg1) { + arg0.setStencilReference(arg1 >>> 0); + }; + imports.wbg.__wbg_setTimeout_11f3c7cad8433a4f = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.setTimeout(arg1, arg2); + return ret; + }, arguments) }; + imports.wbg.__wbg_setTimeout_15ba883433c836ab = function() { return handleError(function (arg0, arg1) { + const ret = arg0.setTimeout(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_setVertexBuffer_06a90dc78e1ad9c4 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_setVertexBuffer_1540e9118b6c451d = function(arg0, arg1, arg2, arg3) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_setVertexBuffer_5166eedc06450701 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_setVertexBuffer_8621784e5014065b = function(arg0, arg1, arg2, arg3) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_setViewport_731ad30abb13f744 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setViewport(arg1, arg2, arg3, arg4, arg5, arg6); + }; + imports.wbg.__wbg_set_421385e996a16e02 = function() { return handleError(function (arg0, arg1, arg2) { + const ret = Reflect.set(arg0, arg1, arg2); + return ret; + }, arguments) }; + imports.wbg.__wbg_set_7b70226104a82921 = function(arg0, arg1, arg2) { + arg0.set(arg1, arg2 >>> 0); + }; + imports.wbg.__wbg_setbody_a548052400c35526 = function(arg0, arg1) { + arg0.body = arg1; + }; + imports.wbg.__wbg_setbox_f664fc1447c0b2bb = function(arg0, arg1) { + arg0.box = __wbindgen_enum_ResizeObserverBoxOptions[arg1]; + }; + imports.wbg.__wbg_setcredentials_6ae5f65d7ad22ffc = function(arg0, arg1) { + arg0.credentials = __wbindgen_enum_RequestCredentials[arg1]; + }; + imports.wbg.__wbg_setheaders_1f2d4c08004f4227 = function(arg0, arg1) { + arg0.headers = arg1; + }; + imports.wbg.__wbg_setheight_4286b13b9186d39f = function(arg0, arg1) { + arg0.height = arg1 >>> 0; + }; + imports.wbg.__wbg_setheight_7632621fed149fd9 = function(arg0, arg1) { + arg0.height = arg1 >>> 0; + }; + imports.wbg.__wbg_setmethod_c704d56d480d8580 = function(arg0, arg1, arg2) { + arg0.method = getStringFromWasm0(arg1, arg2); + }; + imports.wbg.__wbg_setmode_26f3e7a9f55ddb2d = function(arg0, arg1) { + arg0.mode = __wbindgen_enum_RequestMode[arg1]; + }; + imports.wbg.__wbg_setonmessage_1f177e6cba71d19d = function(arg0, arg1) { + arg0.onmessage = arg1; + }; + imports.wbg.__wbg_setonuncapturederror_19541466822d790b = function(arg0, arg1) { + arg0.onuncapturederror = arg1; + }; + imports.wbg.__wbg_setsignal_de26efe32c2e413d = function(arg0, arg1) { + arg0.signal = arg1; + }; + imports.wbg.__wbg_settabIndex_bc37dd560b089902 = function(arg0, arg1) { + arg0.tabIndex = arg1; + }; + imports.wbg.__wbg_settype_202db174d92fe493 = function(arg0, arg1, arg2) { + arg0.type = getStringFromWasm0(arg1, arg2); + }; + imports.wbg.__wbg_setwidth_5e43e6e177d3e2ec = function(arg0, arg1) { + arg0.width = arg1 >>> 0; + }; + imports.wbg.__wbg_setwidth_db46810857c0f6bd = function(arg0, arg1) { + arg0.width = arg1 >>> 0; + }; + imports.wbg.__wbg_shaderSource_7d9e91c6b9aaf864 = function(arg0, arg1, arg2, arg3) { + arg0.shaderSource(arg1, getStringFromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_shaderSource_b7db90958962e1f7 = function(arg0, arg1, arg2, arg3) { + arg0.shaderSource(arg1, getStringFromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_shiftKey_570898b1142a9898 = function(arg0) { + const ret = arg0.shiftKey; + return ret; + }; + imports.wbg.__wbg_shiftKey_e90da27a3092777e = function(arg0) { + const ret = arg0.shiftKey; + return ret; + }; + imports.wbg.__wbg_signal_fd2d6d0644f16ad8 = function(arg0) { + const ret = arg0.signal; + return ret; + }; + imports.wbg.__wbg_size_661bddb3f9898121 = function(arg0) { + const ret = arg0.size; + return ret; + }; + imports.wbg.__wbg_stack_0ed75d68575b0f3c = function(arg0, arg1) { + const ret = arg1.stack; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_start_a00c28f297559e1d = function(arg0) { + arg0.start(); + }; + imports.wbg.__wbg_status_5f9868b7ed8dd175 = function(arg0) { + const ret = arg0.status; + return ret; + }; + imports.wbg.__wbg_stencilFuncSeparate_903776516b404f1e = function(arg0, arg1, arg2, arg3, arg4) { + arg0.stencilFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3, arg4 >>> 0); + }; + imports.wbg.__wbg_stencilFuncSeparate_9987b0fe1f74adc3 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.stencilFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3, arg4 >>> 0); + }; + imports.wbg.__wbg_stencilMaskSeparate_24a5bad679d4896c = function(arg0, arg1, arg2) { + arg0.stencilMaskSeparate(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_stencilMaskSeparate_5ade706794e0ff10 = function(arg0, arg1, arg2) { + arg0.stencilMaskSeparate(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_stencilMask_8ccbc71e58e71b93 = function(arg0, arg1) { + arg0.stencilMask(arg1 >>> 0); + }; + imports.wbg.__wbg_stencilMask_e03561d8e6b7171a = function(arg0, arg1) { + arg0.stencilMask(arg1 >>> 0); + }; + imports.wbg.__wbg_stencilOpSeparate_13e313403862a2bc = function(arg0, arg1, arg2, arg3, arg4) { + arg0.stencilOpSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_stencilOpSeparate_e03fe45a6a83cf8f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.stencilOpSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_stringify_f5476f15b5654a07 = function() { return handleError(function (arg0) { + const ret = JSON.stringify(arg0); + return ret; + }, arguments) }; + imports.wbg.__wbg_style_e7c4e0938a7565b2 = function(arg0) { + const ret = arg0.style; + return ret; + }; + imports.wbg.__wbg_subarray_b4e9772c34a7f5ba = function(arg0, arg1, arg2) { + const ret = arg0.subarray(arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_submit_f635072bb3d05faa = function(arg0, arg1) { + arg0.submit(arg1); + }; + imports.wbg.__wbg_texImage2D_102612af3b3ea301 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texImage2D_38f7a3dc4dcf0183 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texImage3D_4828de4d80648b9d = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) { + arg0.texImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8 >>> 0, arg9 >>> 0, arg10); + }, arguments) }; + imports.wbg.__wbg_texParameteri_2cc96bb59a67d4c2 = function(arg0, arg1, arg2, arg3) { + arg0.texParameteri(arg1 >>> 0, arg2 >>> 0, arg3); + }; + imports.wbg.__wbg_texParameteri_8e4109b7fbd3b875 = function(arg0, arg1, arg2, arg3) { + arg0.texParameteri(arg1 >>> 0, arg2 >>> 0, arg3); + }; + imports.wbg.__wbg_texStorage2D_728b9632dbd913e2 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.texStorage2D(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_texStorage3D_04d10ef19e465ec2 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.texStorage3D(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5, arg6); + }; + imports.wbg.__wbg_texSubImage2D_0c095c30c73e34c0 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_3c9a9ceac3c27fe7 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_3dbb6fb895fd53a7 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_4e505a214a40fc20 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_7197aef4cdbc7d70 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_746d9e75d2dd12d1 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_ca1d7744b168aa02 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_da8455e8da280cee = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_82336f6100e3ef24 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_831e19830a791320 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_9623fc609df925f5 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_9a8cb5676fdf0b50 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_a18f6424082a9393 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_d127dad275801f75 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_ebd1f2b229a92c5d = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_text_693c6c8a197588c7 = function() { return handleError(function (arg0) { + const ret = arg0.text(); + return ret; + }, arguments) }; + imports.wbg.__wbg_then_5c6469c1e1da9e59 = function(arg0, arg1) { + const ret = arg0.then(arg1); + return ret; + }; + imports.wbg.__wbg_then_faeb8aed8c1629b7 = function(arg0, arg1, arg2) { + const ret = arg0.then(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_type_c0d5d83032e9858a = function(arg0) { + const ret = arg0.type; + return (__wbindgen_enum_GpuCompilationMessageType.indexOf(ret) + 1 || 4) - 1; + }; + imports.wbg.__wbg_uniform1f_163e6ffe0d9805a4 = function(arg0, arg1, arg2) { + arg0.uniform1f(arg1, arg2); + }; + imports.wbg.__wbg_uniform1f_bb85eb8ed9248e52 = function(arg0, arg1, arg2) { + arg0.uniform1f(arg1, arg2); + }; + imports.wbg.__wbg_uniform1i_9fe01b91ff85aa85 = function(arg0, arg1, arg2) { + arg0.uniform1i(arg1, arg2); + }; + imports.wbg.__wbg_uniform1i_da7c764279d55bb5 = function(arg0, arg1, arg2) { + arg0.uniform1i(arg1, arg2); + }; + imports.wbg.__wbg_uniform1ui_1cd8b5fee3b44787 = function(arg0, arg1, arg2) { + arg0.uniform1ui(arg1, arg2 >>> 0); + }; + imports.wbg.__wbg_uniform2fv_40e0cc0b3d7ab815 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform2fv_d7ec4f77d2282f77 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform2iv_6d1ed66fa019f1a6 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform2iv_b36969471f3bb8e2 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform2uiv_e5d292b09c7c2eb4 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2uiv(arg1, getArrayU32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3fv_4f40a7b75bcdeb91 = function(arg0, arg1, arg2, arg3) { + arg0.uniform3fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3fv_c6fea7086ffa568e = function(arg0, arg1, arg2, arg3) { + arg0.uniform3fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3iv_46cafa9a87333139 = function(arg0, arg1, arg2, arg3) { + arg0.uniform3iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3iv_c13167af320af60e = function(arg0, arg1, arg2, arg3) { + arg0.uniform3iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3uiv_7e60873d7a35f50b = function(arg0, arg1, arg2, arg3) { + arg0.uniform3uiv(arg1, getArrayU32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4f_2408c0a3b4a0941d = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.uniform4f(arg1, arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_uniform4f_4eebf85a05c60a16 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.uniform4f(arg1, arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_uniform4fv_7ecf41f27e0e71ec = function(arg0, arg1, arg2, arg3) { + arg0.uniform4fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4fv_c88b1733f9a40a7a = function(arg0, arg1, arg2, arg3) { + arg0.uniform4fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4iv_0ee5d566bd3880e4 = function(arg0, arg1, arg2, arg3) { + arg0.uniform4iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4iv_cd69e9451d767045 = function(arg0, arg1, arg2, arg3) { + arg0.uniform4iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4uiv_c55d0b6c672eaf59 = function(arg0, arg1, arg2, arg3) { + arg0.uniform4uiv(arg1, getArrayU32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniformBlockBinding_e646e98e7f5da8fa = function(arg0, arg1, arg2, arg3) { + arg0.uniformBlockBinding(arg1, arg2 >>> 0, arg3 >>> 0); + }; + imports.wbg.__wbg_uniformMatrix2fv_ae2d3b42477e00fd = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix2fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix2fv_d44126fac416e7e4 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix2fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix2x3fv_18d94e4451a372cc = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix2x3fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix2x4fv_c34a8a330e7c94bd = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix2x4fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix3fv_652493ea4042e14f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix3fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix3fv_a3b27e44f0ad7caa = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix3fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix3x2fv_1bc7685c610e2b46 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix3x2fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix3x4fv_c99cdce05d7ffca9 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix3x4fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix4fv_a5f6838f6e217418 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix4fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix4fv_bbdf3d84ccedee84 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix4fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix4x2fv_05ec6db042145650 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix4x2fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix4x3fv_c393892235ce0f8b = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix4x3fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_unmap_8c2e8131b2aaa844 = function(arg0) { + arg0.unmap(); + }; + imports.wbg.__wbg_unobserve_9198337c0c96042f = function(arg0, arg1) { + arg0.unobserve(arg1); + }; + imports.wbg.__wbg_url_ba6c16bbafb59895 = function(arg0, arg1) { + const ret = arg1.url; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_usage_13caa02888040e9f = function(arg0) { + const ret = arg0.usage; + return ret; + }; + imports.wbg.__wbg_useProgram_795e70e5047fcb65 = function(arg0, arg1) { + arg0.useProgram(arg1); + }; + imports.wbg.__wbg_useProgram_e84b53bf74bbe9b3 = function(arg0, arg1) { + arg0.useProgram(arg1); + }; + imports.wbg.__wbg_userAgentData_5e600df9bb352050 = function(arg0) { + const ret = arg0.userAgentData; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_userAgent_bfd54e5c60738678 = function() { return handleError(function (arg0, arg1) { + const ret = arg1.userAgent; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_valueOf_a2728b52687d72b4 = function(arg0) { + const ret = arg0.valueOf(); + return ret; + }; + imports.wbg.__wbg_value_30db1d77772f3236 = function(arg0) { + const ret = arg0.value; + return ret; + }; + imports.wbg.__wbg_versions_c71aa1626a93e0a1 = function(arg0) { + const ret = arg0.versions; + return ret; + }; + imports.wbg.__wbg_vertexAttribDivisorANGLE_78ad959056e0feb7 = function(arg0, arg1, arg2) { + arg0.vertexAttribDivisorANGLE(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_vertexAttribDivisor_bc3026299e814316 = function(arg0, arg1, arg2) { + arg0.vertexAttribDivisor(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_vertexAttribIPointer_4397ca04b895d127 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.vertexAttribIPointer(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_vertexAttribPointer_1738c34c1c0d57a0 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.vertexAttribPointer(arg1 >>> 0, arg2, arg3 >>> 0, arg4 !== 0, arg5, arg6); + }; + imports.wbg.__wbg_vertexAttribPointer_34a2b143ee35746f = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.vertexAttribPointer(arg1 >>> 0, arg2, arg3 >>> 0, arg4 !== 0, arg5, arg6); + }; + imports.wbg.__wbg_videoHeight_7d8449d4b1aad15d = function(arg0) { + const ret = arg0.videoHeight; + return ret; + }; + imports.wbg.__wbg_videoWidth_134d623b7b20f203 = function(arg0) { + const ret = arg0.videoWidth; + return ret; + }; + imports.wbg.__wbg_viewport_04c48fc077486d94 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.viewport(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_viewport_301bba26f65246ed = function(arg0, arg1, arg2, arg3, arg4) { + arg0.viewport(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_visibilityState_c2b01655a6777e68 = function(arg0) { + const ret = arg0.visibilityState; + return (__wbindgen_enum_VisibilityState.indexOf(ret) + 1 || 3) - 1; + }; + imports.wbg.__wbg_warn_a6963915e4da61f6 = function(arg0) { + console.warn(arg0); + }; + imports.wbg.__wbg_webkitFullscreenElement_0c4654cdfe6894e5 = function(arg0) { + const ret = arg0.webkitFullscreenElement; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_webkitRequestFullscreen_fe95241c4f21ea63 = function(arg0) { + arg0.webkitRequestFullscreen(); + }; + imports.wbg.__wbg_width_514dd9b3b0cff49c = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_551edb4bb900e3dd = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_826b25a505a0b357 = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_dfc6149b0c4d8821 = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_e9eedd46da897708 = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_ee6a46425045c0dd = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_window_1a23defd102c72f4 = function() { return handleError(function () { + const ret = window.window; + return ret; + }, arguments) }; + imports.wbg.__wbg_writeBuffer_5ca4981365eb5ac0 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.writeBuffer(arg1, arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_writeTexture_246118eb2f5a1592 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.writeTexture(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbindgen_boolean_get = function(arg0) { + const v = arg0; + const ret = typeof(v) === 'boolean' ? (v ? 1 : 0) : 2; + return ret; + }; + imports.wbg.__wbindgen_cb_drop = function(arg0) { + const obj = arg0.original; + if (obj.cnt-- == 1) { + obj.a = 0; + return true; + } + const ret = false; + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper3083 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 385, __wbg_adapter_36); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper5248 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 385, __wbg_adapter_36); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper5254 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 385, __wbg_adapter_36); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6661 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 385, __wbg_adapter_43); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6706 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 385, __wbg_adapter_36); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6723 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 385, __wbg_adapter_36); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6724 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 385, __wbg_adapter_36); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6725 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 385, __wbg_adapter_36); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6726 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 385, __wbg_adapter_36); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6727 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 385, __wbg_adapter_36); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6769 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 385, __wbg_adapter_36); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6770 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 385, __wbg_adapter_60); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6771 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 385, __wbg_adapter_36); + return ret; + }; + imports.wbg.__wbindgen_debug_string = function(arg0, arg1) { + const ret = debugString(arg1); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_init_externref_table = function() { + const table = wasm.__wbindgen_export_1; + const offset = table.grow(4); + table.set(0, undefined); + table.set(offset + 0, undefined); + table.set(offset + 1, null); + table.set(offset + 2, true); + table.set(offset + 3, false); + ; + }; + imports.wbg.__wbindgen_is_function = function(arg0) { + const ret = typeof(arg0) === 'function'; + return ret; + }; + imports.wbg.__wbindgen_is_null = function(arg0) { + const ret = arg0 === null; + return ret; + }; + imports.wbg.__wbindgen_is_object = function(arg0) { + const val = arg0; + const ret = typeof(val) === 'object' && val !== null; + return ret; + }; + imports.wbg.__wbindgen_is_string = function(arg0) { + const ret = typeof(arg0) === 'string'; + return ret; + }; + imports.wbg.__wbindgen_is_undefined = function(arg0) { + const ret = arg0 === undefined; + return ret; + }; + imports.wbg.__wbindgen_memory = function() { + const ret = wasm.memory; + return ret; + }; + imports.wbg.__wbindgen_number_get = function(arg0, arg1) { + const obj = arg1; + const ret = typeof(obj) === 'number' ? obj : undefined; + getDataViewMemory0().setFloat64(arg0 + 8 * 1, isLikeNone(ret) ? 0 : ret, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true); + }; + imports.wbg.__wbindgen_number_new = function(arg0) { + const ret = arg0; + return ret; + }; + imports.wbg.__wbindgen_string_get = function(arg0, arg1) { + const obj = arg1; + const ret = typeof(obj) === 'string' ? obj : undefined; + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_string_new = function(arg0, arg1) { + const ret = getStringFromWasm0(arg0, arg1); + return ret; + }; + imports.wbg.__wbindgen_throw = function(arg0, arg1) { + throw new Error(getStringFromWasm0(arg0, arg1)); + }; + imports['env'] = __wbg_star0; + + return imports; +} + +function __wbg_init_memory(imports, memory) { + +} + +function __wbg_finalize_init(instance, module) { + wasm = instance.exports; + __wbg_init.__wbindgen_wasm_module = module; + cachedDataViewMemory0 = null; + cachedFloat32ArrayMemory0 = null; + cachedInt32ArrayMemory0 = null; + cachedUint32ArrayMemory0 = null; + cachedUint8ArrayMemory0 = null; + + + wasm.__wbindgen_start(); + return wasm; +} + +function initSync(module) { + if (wasm !== undefined) return wasm; + + + if (typeof module !== 'undefined') { + if (Object.getPrototypeOf(module) === Object.prototype) { + ({module} = module) + } else { + console.warn('using deprecated parameters for `initSync()`; pass a single object instead') + } + } + + const imports = __wbg_get_imports(); + + __wbg_init_memory(imports); + + if (!(module instanceof WebAssembly.Module)) { + module = new WebAssembly.Module(module); + } + + const instance = new WebAssembly.Instance(module, imports); + + return __wbg_finalize_init(instance, module); +} + +async function __wbg_init(module_or_path) { + if (wasm !== undefined) return wasm; + + + if (typeof module_or_path !== 'undefined') { + if (Object.getPrototypeOf(module_or_path) === Object.prototype) { + ({module_or_path} = module_or_path) + } else { + console.warn('using deprecated parameters for the initialization function; pass a single object instead') + } + } + + if (typeof module_or_path === 'undefined') { + module_or_path = new URL('tutorial10-lighting_bg.wasm', import.meta.url); + } + const imports = __wbg_get_imports(); + + if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) { + module_or_path = fetch(module_or_path); + } + + __wbg_init_memory(imports); + + const { instance, module } = await __wbg_load(await module_or_path, imports); + + return __wbg_finalize_init(instance, module); +} + +export { initSync }; +export default __wbg_init; diff --git a/wasm/tutorial10-lighting_bg.wasm b/wasm/tutorial10-lighting_bg.wasm new file mode 100644 index 00000000..5c8db329 Binary files /dev/null and b/wasm/tutorial10-lighting_bg.wasm differ diff --git a/wasm/tutorial11-normals.js b/wasm/tutorial11-normals.js new file mode 100644 index 00000000..a2f77ff2 --- /dev/null +++ b/wasm/tutorial11-normals.js @@ -0,0 +1,2752 @@ +import * as __wbg_star0 from 'env'; + +let wasm; + +function isLikeNone(x) { + return x === undefined || x === null; +} + +function addToExternrefTable0(obj) { + const idx = wasm.__externref_table_alloc(); + wasm.__wbindgen_export_1.set(idx, obj); + return idx; +} + +const cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : { decode: () => { throw Error('TextDecoder not available') } } ); + +if (typeof TextDecoder !== 'undefined') { cachedTextDecoder.decode(); }; + +let cachedUint8ArrayMemory0 = null; + +function getUint8ArrayMemory0() { + if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) { + cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer); + } + return cachedUint8ArrayMemory0; +} + +function getStringFromWasm0(ptr, len) { + ptr = ptr >>> 0; + return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len)); +} + +function handleError(f, args) { + try { + return f.apply(this, args); + } catch (e) { + const idx = addToExternrefTable0(e); + wasm.__wbindgen_exn_store(idx); + } +} + +let WASM_VECTOR_LEN = 0; + +const cachedTextEncoder = (typeof TextEncoder !== 'undefined' ? new TextEncoder('utf-8') : { encode: () => { throw Error('TextEncoder not available') } } ); + +const encodeString = (typeof cachedTextEncoder.encodeInto === 'function' + ? function (arg, view) { + return cachedTextEncoder.encodeInto(arg, view); +} + : function (arg, view) { + const buf = cachedTextEncoder.encode(arg); + view.set(buf); + return { + read: arg.length, + written: buf.length + }; +}); + +function passStringToWasm0(arg, malloc, realloc) { + + if (realloc === undefined) { + const buf = cachedTextEncoder.encode(arg); + const ptr = malloc(buf.length, 1) >>> 0; + getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf); + WASM_VECTOR_LEN = buf.length; + return ptr; + } + + let len = arg.length; + let ptr = malloc(len, 1) >>> 0; + + const mem = getUint8ArrayMemory0(); + + let offset = 0; + + for (; offset < len; offset++) { + const code = arg.charCodeAt(offset); + if (code > 0x7F) break; + mem[ptr + offset] = code; + } + + if (offset !== len) { + if (offset !== 0) { + arg = arg.slice(offset); + } + ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0; + const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len); + const ret = encodeString(arg, view); + + offset += ret.written; + ptr = realloc(ptr, len, offset, 1) >>> 0; + } + + WASM_VECTOR_LEN = offset; + return ptr; +} + +let cachedDataViewMemory0 = null; + +function getDataViewMemory0() { + if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) { + cachedDataViewMemory0 = new DataView(wasm.memory.buffer); + } + return cachedDataViewMemory0; +} + +let cachedFloat32ArrayMemory0 = null; + +function getFloat32ArrayMemory0() { + if (cachedFloat32ArrayMemory0 === null || cachedFloat32ArrayMemory0.byteLength === 0) { + cachedFloat32ArrayMemory0 = new Float32Array(wasm.memory.buffer); + } + return cachedFloat32ArrayMemory0; +} + +function getArrayF32FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getFloat32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len); +} + +let cachedInt32ArrayMemory0 = null; + +function getInt32ArrayMemory0() { + if (cachedInt32ArrayMemory0 === null || cachedInt32ArrayMemory0.byteLength === 0) { + cachedInt32ArrayMemory0 = new Int32Array(wasm.memory.buffer); + } + return cachedInt32ArrayMemory0; +} + +function getArrayI32FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getInt32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len); +} + +let cachedUint32ArrayMemory0 = null; + +function getUint32ArrayMemory0() { + if (cachedUint32ArrayMemory0 === null || cachedUint32ArrayMemory0.byteLength === 0) { + cachedUint32ArrayMemory0 = new Uint32Array(wasm.memory.buffer); + } + return cachedUint32ArrayMemory0; +} + +function getArrayU32FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getUint32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len); +} + +const CLOSURE_DTORS = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(state => { + wasm.__wbindgen_export_6.get(state.dtor)(state.a, state.b) +}); + +function makeMutClosure(arg0, arg1, dtor, f) { + const state = { a: arg0, b: arg1, cnt: 1, dtor }; + const real = (...args) => { + // First up with a closure we increment the internal reference + // count. This ensures that the Rust closure environment won't + // be deallocated while we're invoking it. + state.cnt++; + const a = state.a; + state.a = 0; + try { + return f(a, state.b, ...args); + } finally { + if (--state.cnt === 0) { + wasm.__wbindgen_export_6.get(state.dtor)(a, state.b); + CLOSURE_DTORS.unregister(state); + } else { + state.a = a; + } + } + }; + real.original = state; + CLOSURE_DTORS.register(real, state, state); + return real; +} + +function debugString(val) { + // primitive types + const type = typeof val; + if (type == 'number' || type == 'boolean' || val == null) { + return `${val}`; + } + if (type == 'string') { + return `"${val}"`; + } + if (type == 'symbol') { + const description = val.description; + if (description == null) { + return 'Symbol'; + } else { + return `Symbol(${description})`; + } + } + if (type == 'function') { + const name = val.name; + if (typeof name == 'string' && name.length > 0) { + return `Function(${name})`; + } else { + return 'Function'; + } + } + // objects + if (Array.isArray(val)) { + const length = val.length; + let debug = '['; + if (length > 0) { + debug += debugString(val[0]); + } + for(let i = 1; i < length; i++) { + debug += ', ' + debugString(val[i]); + } + debug += ']'; + return debug; + } + // Test for built-in + const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val)); + let className; + if (builtInMatches && builtInMatches.length > 1) { + className = builtInMatches[1]; + } else { + // Failed to match the standard '[object ClassName]' + return toString.call(val); + } + if (className == 'Object') { + // we're a user defined class or Object + // JSON.stringify avoids problems with cycles, and is generally much + // easier than looping through ownProperties of `val`. + try { + return 'Object(' + JSON.stringify(val) + ')'; + } catch (_) { + return 'Object'; + } + } + // errors + if (val instanceof Error) { + return `${val.name}: ${val.message}\n${val.stack}`; + } + // TODO we could test for more things here, like `Set`s and `Map`s. + return className; +} +function __wbg_adapter_36(arg0, arg1, arg2) { + wasm.closure384_externref_shim(arg0, arg1, arg2); +} + +function __wbg_adapter_43(arg0, arg1) { + wasm._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hc2a92dab5895dab9(arg0, arg1); +} + +function __wbg_adapter_60(arg0, arg1, arg2, arg3) { + wasm.closure885_externref_shim(arg0, arg1, arg2, arg3); +} + +const __wbindgen_enum_GpuCompilationMessageType = ["error", "warning", "info"]; + +const __wbindgen_enum_GpuDeviceLostReason = ["unknown", "destroyed"]; + +const __wbindgen_enum_GpuErrorFilter = ["validation", "out-of-memory", "internal"]; + +const __wbindgen_enum_GpuIndexFormat = ["uint16", "uint32"]; + +const __wbindgen_enum_GpuTextureFormat = ["r8unorm", "r8snorm", "r8uint", "r8sint", "r16uint", "r16sint", "r16float", "rg8unorm", "rg8snorm", "rg8uint", "rg8sint", "r32uint", "r32sint", "r32float", "rg16uint", "rg16sint", "rg16float", "rgba8unorm", "rgba8unorm-srgb", "rgba8snorm", "rgba8uint", "rgba8sint", "bgra8unorm", "bgra8unorm-srgb", "rgb9e5ufloat", "rgb10a2uint", "rgb10a2unorm", "rg11b10ufloat", "rg32uint", "rg32sint", "rg32float", "rgba16uint", "rgba16sint", "rgba16float", "rgba32uint", "rgba32sint", "rgba32float", "stencil8", "depth16unorm", "depth24plus", "depth24plus-stencil8", "depth32float", "depth32float-stencil8", "bc1-rgba-unorm", "bc1-rgba-unorm-srgb", "bc2-rgba-unorm", "bc2-rgba-unorm-srgb", "bc3-rgba-unorm", "bc3-rgba-unorm-srgb", "bc4-r-unorm", "bc4-r-snorm", "bc5-rg-unorm", "bc5-rg-snorm", "bc6h-rgb-ufloat", "bc6h-rgb-float", "bc7-rgba-unorm", "bc7-rgba-unorm-srgb", "etc2-rgb8unorm", "etc2-rgb8unorm-srgb", "etc2-rgb8a1unorm", "etc2-rgb8a1unorm-srgb", "etc2-rgba8unorm", "etc2-rgba8unorm-srgb", "eac-r11unorm", "eac-r11snorm", "eac-rg11unorm", "eac-rg11snorm", "astc-4x4-unorm", "astc-4x4-unorm-srgb", "astc-5x4-unorm", "astc-5x4-unorm-srgb", "astc-5x5-unorm", "astc-5x5-unorm-srgb", "astc-6x5-unorm", "astc-6x5-unorm-srgb", "astc-6x6-unorm", "astc-6x6-unorm-srgb", "astc-8x5-unorm", "astc-8x5-unorm-srgb", "astc-8x6-unorm", "astc-8x6-unorm-srgb", "astc-8x8-unorm", "astc-8x8-unorm-srgb", "astc-10x5-unorm", "astc-10x5-unorm-srgb", "astc-10x6-unorm", "astc-10x6-unorm-srgb", "astc-10x8-unorm", "astc-10x8-unorm-srgb", "astc-10x10-unorm", "astc-10x10-unorm-srgb", "astc-12x10-unorm", "astc-12x10-unorm-srgb", "astc-12x12-unorm", "astc-12x12-unorm-srgb"]; + +const __wbindgen_enum_RequestCredentials = ["omit", "same-origin", "include"]; + +const __wbindgen_enum_RequestMode = ["same-origin", "no-cors", "cors", "navigate"]; + +const __wbindgen_enum_ResizeObserverBoxOptions = ["border-box", "content-box", "device-pixel-content-box"]; + +const __wbindgen_enum_VisibilityState = ["hidden", "visible"]; + +async function __wbg_load(module, imports) { + if (typeof Response === 'function' && module instanceof Response) { + if (typeof WebAssembly.instantiateStreaming === 'function') { + try { + return await WebAssembly.instantiateStreaming(module, imports); + + } catch (e) { + if (module.headers.get('Content-Type') != 'application/wasm') { + console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e); + + } else { + throw e; + } + } + } + + const bytes = await module.arrayBuffer(); + return await WebAssembly.instantiate(bytes, imports); + + } else { + const instance = await WebAssembly.instantiate(module, imports); + + if (instance instanceof WebAssembly.Instance) { + return { instance, module }; + + } else { + return instance; + } + } +} + +function __wbg_get_imports() { + const imports = {}; + imports.wbg = {}; + imports.wbg.__wbg_Window_96e58b3552ce6bb1 = function(arg0) { + const ret = arg0.Window; + return ret; + }; + imports.wbg.__wbg_Window_cf5b693340a7c469 = function(arg0) { + const ret = arg0.Window; + return ret; + }; + imports.wbg.__wbg_WorkerGlobalScope_354364d1b0bd06e5 = function(arg0) { + const ret = arg0.WorkerGlobalScope; + return ret; + }; + imports.wbg.__wbg_abort_19de2f828ee0874a = function(arg0) { + arg0.abort(); + }; + imports.wbg.__wbg_activeElement_d1a1f2b334adf636 = function(arg0) { + const ret = arg0.activeElement; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_activeTexture_24b42b03041f3428 = function(arg0, arg1) { + arg0.activeTexture(arg1 >>> 0); + }; + imports.wbg.__wbg_activeTexture_47928613532be667 = function(arg0, arg1) { + arg0.activeTexture(arg1 >>> 0); + }; + imports.wbg.__wbg_addEventListener_e27053e488770e58 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + arg0.addEventListener(getStringFromWasm0(arg1, arg2), arg3); + }, arguments) }; + imports.wbg.__wbg_addListener_dca1ccc036e24997 = function() { return handleError(function (arg0, arg1) { + arg0.addListener(arg1); + }, arguments) }; + imports.wbg.__wbg_altKey_56dd0987e7ccbbf2 = function(arg0) { + const ret = arg0.altKey; + return ret; + }; + imports.wbg.__wbg_altKey_583c79ba3f4fce1e = function(arg0) { + const ret = arg0.altKey; + return ret; + }; + imports.wbg.__wbg_animate_310f1b8e5b1fdb56 = function(arg0, arg1, arg2) { + const ret = arg0.animate(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_appendChild_805222aed73feea9 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.appendChild(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_append_daea8d1dbe91d314 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { + arg0.append(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4)); + }, arguments) }; + imports.wbg.__wbg_arrayBuffer_d004045654bdb712 = function() { return handleError(function (arg0) { + const ret = arg0.arrayBuffer(); + return ret; + }, arguments) }; + imports.wbg.__wbg_attachShader_81000b0c4da5b206 = function(arg0, arg1, arg2) { + arg0.attachShader(arg1, arg2); + }; + imports.wbg.__wbg_attachShader_ccc35921e866b2bf = function(arg0, arg1, arg2) { + arg0.attachShader(arg1, arg2); + }; + imports.wbg.__wbg_beginComputePass_90d5303e604970cb = function(arg0, arg1) { + const ret = arg0.beginComputePass(arg1); + return ret; + }; + imports.wbg.__wbg_beginQuery_4e54bbe77706fb3c = function(arg0, arg1, arg2) { + arg0.beginQuery(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_beginRenderPass_9739520c601001c3 = function(arg0, arg1) { + const ret = arg0.beginRenderPass(arg1); + return ret; + }; + imports.wbg.__wbg_bindAttribLocation_a08ae4fdf9b16e7d = function(arg0, arg1, arg2, arg3, arg4) { + arg0.bindAttribLocation(arg1, arg2 >>> 0, getStringFromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_bindAttribLocation_b53db53e1b134420 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.bindAttribLocation(arg1, arg2 >>> 0, getStringFromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_bindBufferRange_ce5a2827ed937112 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.bindBufferRange(arg1 >>> 0, arg2 >>> 0, arg3, arg4, arg5); + }; + imports.wbg.__wbg_bindBuffer_0fedb16582ffeee6 = function(arg0, arg1, arg2) { + arg0.bindBuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindBuffer_c6e5f29d60e90c01 = function(arg0, arg1, arg2) { + arg0.bindBuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindFramebuffer_87e15614ca3e9537 = function(arg0, arg1, arg2) { + arg0.bindFramebuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindFramebuffer_a0d602bd474dcbfb = function(arg0, arg1, arg2) { + arg0.bindFramebuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindRenderbuffer_3100396894cc2d72 = function(arg0, arg1, arg2) { + arg0.bindRenderbuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindRenderbuffer_fd3e47dad76906ea = function(arg0, arg1, arg2) { + arg0.bindRenderbuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindSampler_7614054a94f8e3d1 = function(arg0, arg1, arg2) { + arg0.bindSampler(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindTexture_6478edbb238b9c73 = function(arg0, arg1, arg2) { + arg0.bindTexture(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindTexture_9b177c97248ed4d9 = function(arg0, arg1, arg2) { + arg0.bindTexture(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindVertexArrayOES_e81fca007d08d0db = function(arg0, arg1) { + arg0.bindVertexArrayOES(arg1); + }; + imports.wbg.__wbg_bindVertexArray_d9082254ff3bcc13 = function(arg0, arg1) { + arg0.bindVertexArray(arg1); + }; + imports.wbg.__wbg_blendColor_075aa544f1fe84c5 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.blendColor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_blendColor_ed292080d5966f2c = function(arg0, arg1, arg2, arg3, arg4) { + arg0.blendColor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_blendEquationSeparate_3dbbe20b0a9fa818 = function(arg0, arg1, arg2) { + arg0.blendEquationSeparate(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_blendEquationSeparate_d360393d3b1557cd = function(arg0, arg1, arg2) { + arg0.blendEquationSeparate(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_blendEquation_41f4ed79f5ddd25c = function(arg0, arg1) { + arg0.blendEquation(arg1 >>> 0); + }; + imports.wbg.__wbg_blendEquation_8804e10c9ced3fc4 = function(arg0, arg1) { + arg0.blendEquation(arg1 >>> 0); + }; + imports.wbg.__wbg_blendFuncSeparate_2cc7ac2397290a15 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.blendFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_blendFuncSeparate_c6c035b0094bd58f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.blendFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_blendFunc_63aca14ff3252b59 = function(arg0, arg1, arg2) { + arg0.blendFunc(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_blendFunc_8e1cfba50a4eea89 = function(arg0, arg1, arg2) { + arg0.blendFunc(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_blitFramebuffer_171b9355e4e730c9 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) { + arg0.blitFramebuffer(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0); + }; + imports.wbg.__wbg_blockSize_e0006fb003814895 = function(arg0) { + const ret = arg0.blockSize; + return ret; + }; + imports.wbg.__wbg_body_83d4bc4961a422aa = function(arg0) { + const ret = arg0.body; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_brand_67e4f3d950154d0a = function(arg0, arg1) { + const ret = arg1.brand; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_brands_1ec54d613da9db02 = function(arg0) { + const ret = arg0.brands; + return ret; + }; + imports.wbg.__wbg_bufferData_2a747a2c2c3b23b5 = function(arg0, arg1, arg2, arg3) { + arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0); + }; + imports.wbg.__wbg_bufferData_5b85d77150f6520a = function(arg0, arg1, arg2, arg3) { + arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0); + }; + imports.wbg.__wbg_bufferData_b03654fb80052afe = function(arg0, arg1, arg2, arg3) { + arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0); + }; + imports.wbg.__wbg_bufferData_c2eb7dbb2ea2ab3f = function(arg0, arg1, arg2, arg3) { + arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0); + }; + imports.wbg.__wbg_bufferSubData_8a7d35c05111a120 = function(arg0, arg1, arg2, arg3) { + arg0.bufferSubData(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_bufferSubData_c4b11388b9eb4175 = function(arg0, arg1, arg2, arg3) { + arg0.bufferSubData(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_buffer_6e1d53ff183194fc = function(arg0) { + const ret = arg0.buffer; + return ret; + }; + imports.wbg.__wbg_buffer_ffdeb2ee67420f9e = function(arg0) { + const ret = arg0.buffer; + return ret; + }; + imports.wbg.__wbg_button_db48f93638c59f95 = function(arg0) { + const ret = arg0.button; + return ret; + }; + imports.wbg.__wbg_buttons_b962d6dc116cd1a5 = function(arg0) { + const ret = arg0.buttons; + return ret; + }; + imports.wbg.__wbg_call_0411c0c3c424db9a = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.call(arg1, arg2); + return ret; + }, arguments) }; + imports.wbg.__wbg_call_3114932863209ca6 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.call(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_cancelAnimationFrame_f1ad512e269ea165 = function() { return handleError(function (arg0, arg1) { + arg0.cancelAnimationFrame(arg1); + }, arguments) }; + imports.wbg.__wbg_cancelIdleCallback_bcc2dc9be9de0744 = function(arg0, arg1) { + arg0.cancelIdleCallback(arg1 >>> 0); + }; + imports.wbg.__wbg_cancel_3b69067dcdf7ffb7 = function(arg0) { + arg0.cancel(); + }; + imports.wbg.__wbg_catch_9da7d002aa356f1d = function(arg0, arg1) { + const ret = arg0.catch(arg1); + return ret; + }; + imports.wbg.__wbg_clearBuffer_6164fc25d22b25cc = function(arg0, arg1, arg2, arg3) { + arg0.clearBuffer(arg1, arg2, arg3); + }; + imports.wbg.__wbg_clearBuffer_cfcaaf1fb2baa885 = function(arg0, arg1, arg2) { + arg0.clearBuffer(arg1, arg2); + }; + imports.wbg.__wbg_clearBufferfv_2cf04e18ef87ed90 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.clearBufferfv(arg1 >>> 0, arg2, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_clearBufferiv_b45be02e57957dad = function(arg0, arg1, arg2, arg3, arg4) { + arg0.clearBufferiv(arg1 >>> 0, arg2, getArrayI32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_clearBufferuiv_deca83038abb23d2 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.clearBufferuiv(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_clearDepth_14d34daa30215440 = function(arg0, arg1) { + arg0.clearDepth(arg1); + }; + imports.wbg.__wbg_clearDepth_1cdcb08d8a5afa49 = function(arg0, arg1) { + arg0.clearDepth(arg1); + }; + imports.wbg.__wbg_clearStencil_e2c8b1892d5e033d = function(arg0, arg1) { + arg0.clearStencil(arg1); + }; + imports.wbg.__wbg_clearStencil_f3138d2e338d1436 = function(arg0, arg1) { + arg0.clearStencil(arg1); + }; + imports.wbg.__wbg_clearTimeout_da4408c46e51bc7a = function(arg0, arg1) { + arg0.clearTimeout(arg1); + }; + imports.wbg.__wbg_clear_4e68091e616c29ad = function(arg0, arg1) { + arg0.clear(arg1 >>> 0); + }; + imports.wbg.__wbg_clear_af7641961d766f51 = function(arg0, arg1) { + arg0.clear(arg1 >>> 0); + }; + imports.wbg.__wbg_clientWaitSync_2c4c0bd3a8d3536b = function(arg0, arg1, arg2, arg3) { + const ret = arg0.clientWaitSync(arg1, arg2 >>> 0, arg3 >>> 0); + return ret; + }; + imports.wbg.__wbg_close_35d643897b189a00 = function(arg0) { + arg0.close(); + }; + imports.wbg.__wbg_code_d8226b2133366406 = function(arg0, arg1) { + const ret = arg1.code; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_colorMask_22d850d91e89df9f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.colorMask(arg1 !== 0, arg2 !== 0, arg3 !== 0, arg4 !== 0); + }; + imports.wbg.__wbg_colorMask_a6068fae89c17ceb = function(arg0, arg1, arg2, arg3, arg4) { + arg0.colorMask(arg1 !== 0, arg2 !== 0, arg3 !== 0, arg4 !== 0); + }; + imports.wbg.__wbg_compileShader_5e41ecd397194c21 = function(arg0, arg1) { + arg0.compileShader(arg1); + }; + imports.wbg.__wbg_compileShader_6868fa6a842f0911 = function(arg0, arg1) { + arg0.compileShader(arg1); + }; + imports.wbg.__wbg_compressedTexSubImage2D_216f6eec167da8d7 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + arg0.compressedTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8); + }; + imports.wbg.__wbg_compressedTexSubImage2D_4b50d2a94bf4ea60 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.compressedTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8, arg9); + }; + imports.wbg.__wbg_compressedTexSubImage2D_9b0c2c785026006a = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + arg0.compressedTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8); + }; + imports.wbg.__wbg_compressedTexSubImage3D_8102ea4403fef5ce = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) { + arg0.compressedTexSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10); + }; + imports.wbg.__wbg_compressedTexSubImage3D_bf2bdb940e26bc8c = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.compressedTexSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10, arg11); + }; + imports.wbg.__wbg_configure_2414aed971d368cd = function(arg0, arg1) { + arg0.configure(arg1); + }; + imports.wbg.__wbg_contains_6947e163e2a3c092 = function(arg0, arg1) { + const ret = arg0.contains(arg1); + return ret; + }; + imports.wbg.__wbg_contentRect_7aaa87e16fd2882d = function(arg0) { + const ret = arg0.contentRect; + return ret; + }; + imports.wbg.__wbg_copyBufferSubData_ff213d67aa3b1f82 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.copyBufferSubData(arg1 >>> 0, arg2 >>> 0, arg3, arg4, arg5); + }; + imports.wbg.__wbg_copyBufferToBuffer_1ba67191114656a1 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.copyBufferToBuffer(arg1, arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_copyBufferToTexture_878d31d479e48f28 = function(arg0, arg1, arg2, arg3) { + arg0.copyBufferToTexture(arg1, arg2, arg3); + }; + imports.wbg.__wbg_copyExternalImageToTexture_7878d196c0b60d39 = function(arg0, arg1, arg2, arg3) { + arg0.copyExternalImageToTexture(arg1, arg2, arg3); + }; + imports.wbg.__wbg_copyTexSubImage2D_4b37e79c31b798b1 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + arg0.copyTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + }; + imports.wbg.__wbg_copyTexSubImage2D_a29106dfb31dd17c = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + arg0.copyTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + }; + imports.wbg.__wbg_copyTexSubImage3D_f8350e268c143688 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.copyTexSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); + }; + imports.wbg.__wbg_copyTextureToBuffer_6a8fe0e90f0a663d = function(arg0, arg1, arg2, arg3) { + arg0.copyTextureToBuffer(arg1, arg2, arg3); + }; + imports.wbg.__wbg_copyTextureToTexture_0a06a393d6726b4a = function(arg0, arg1, arg2, arg3) { + arg0.copyTextureToTexture(arg1, arg2, arg3); + }; + imports.wbg.__wbg_createBindGroupLayout_1d93b6d41c87ba9d = function(arg0, arg1) { + const ret = arg0.createBindGroupLayout(arg1); + return ret; + }; + imports.wbg.__wbg_createBindGroup_61cd07ec9d423432 = function(arg0, arg1) { + const ret = arg0.createBindGroup(arg1); + return ret; + }; + imports.wbg.__wbg_createBuffer_1e646d14cebbb438 = function(arg0) { + const ret = arg0.createBuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createBuffer_2a696fb8c0d07970 = function(arg0) { + const ret = arg0.createBuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createBuffer_963aa00d5fe859e4 = function(arg0, arg1) { + const ret = arg0.createBuffer(arg1); + return ret; + }; + imports.wbg.__wbg_createCommandEncoder_f0e1613e9a2dc1eb = function(arg0, arg1) { + const ret = arg0.createCommandEncoder(arg1); + return ret; + }; + imports.wbg.__wbg_createComputePipeline_b9616b9fe2f4eb2f = function(arg0, arg1) { + const ret = arg0.createComputePipeline(arg1); + return ret; + }; + imports.wbg.__wbg_createElement_22b48bfb31a0c20e = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.createElement(getStringFromWasm0(arg1, arg2)); + return ret; + }, arguments) }; + imports.wbg.__wbg_createFramebuffer_163e192e1e53ec9b = function(arg0) { + const ret = arg0.createFramebuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createFramebuffer_1aa54479f7524ef5 = function(arg0) { + const ret = arg0.createFramebuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createObjectURL_06505af3e8787cc8 = function() { return handleError(function (arg0, arg1) { + const ret = URL.createObjectURL(arg1); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_createPipelineLayout_56c6cf983f892d2b = function(arg0, arg1) { + const ret = arg0.createPipelineLayout(arg1); + return ret; + }; + imports.wbg.__wbg_createProgram_5a5a92d23fdc2f1a = function(arg0) { + const ret = arg0.createProgram(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createProgram_b75025f0f1a4ef55 = function(arg0) { + const ret = arg0.createProgram(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createQuerySet_c14be802adf7c207 = function(arg0, arg1) { + const ret = arg0.createQuerySet(arg1); + return ret; + }; + imports.wbg.__wbg_createQuery_2816e95a473b5501 = function(arg0) { + const ret = arg0.createQuery(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createRenderBundleEncoder_8e4bdffea72f8c1f = function(arg0, arg1) { + const ret = arg0.createRenderBundleEncoder(arg1); + return ret; + }; + imports.wbg.__wbg_createRenderPipeline_079a88a0601fcce1 = function(arg0, arg1) { + const ret = arg0.createRenderPipeline(arg1); + return ret; + }; + imports.wbg.__wbg_createRenderbuffer_29e130c03bc689d3 = function(arg0) { + const ret = arg0.createRenderbuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createRenderbuffer_b10004ae18d38014 = function(arg0) { + const ret = arg0.createRenderbuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createSampler_50ae7c4dd1f9b066 = function(arg0) { + const ret = arg0.createSampler(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createSampler_ef5578990df3baf7 = function(arg0, arg1) { + const ret = arg0.createSampler(arg1); + return ret; + }; + imports.wbg.__wbg_createShaderModule_17f451ea25cae47c = function(arg0, arg1) { + const ret = arg0.createShaderModule(arg1); + return ret; + }; + imports.wbg.__wbg_createShader_29c8e06db7e7211f = function(arg0, arg1) { + const ret = arg0.createShader(arg1 >>> 0); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createShader_8c3053457f874cdd = function(arg0, arg1) { + const ret = arg0.createShader(arg1 >>> 0); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createTexture_01cc1cd2fea732d9 = function(arg0, arg1) { + const ret = arg0.createTexture(arg1); + return ret; + }; + imports.wbg.__wbg_createTexture_20f63b261993f581 = function(arg0) { + const ret = arg0.createTexture(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createTexture_facd2df68d8d0276 = function(arg0) { + const ret = arg0.createTexture(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createVertexArrayOES_89f45f4a4fde395f = function(arg0) { + const ret = arg0.createVertexArrayOES(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createVertexArray_70d7c4c62e00613d = function(arg0) { + const ret = arg0.createVertexArray(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createView_04701884291e1ccc = function(arg0, arg1) { + const ret = arg0.createView(arg1); + return ret; + }; + imports.wbg.__wbg_crypto_ed58b8e10a292839 = function(arg0) { + const ret = arg0.crypto; + return ret; + }; + imports.wbg.__wbg_ctrlKey_60b29e015a543678 = function(arg0) { + const ret = arg0.ctrlKey; + return ret; + }; + imports.wbg.__wbg_ctrlKey_ab341328ab202d37 = function(arg0) { + const ret = arg0.ctrlKey; + return ret; + }; + imports.wbg.__wbg_cullFace_96a9dca4a5b1ca33 = function(arg0, arg1) { + arg0.cullFace(arg1 >>> 0); + }; + imports.wbg.__wbg_cullFace_99bb4e31c974596d = function(arg0, arg1) { + arg0.cullFace(arg1 >>> 0); + }; + imports.wbg.__wbg_debug_347b3d1f33e1c28e = function(arg0) { + console.debug(arg0); + }; + imports.wbg.__wbg_deleteBuffer_9d705222a7e77a7b = function(arg0, arg1) { + arg0.deleteBuffer(arg1); + }; + imports.wbg.__wbg_deleteBuffer_db0d7ecbaa97fa56 = function(arg0, arg1) { + arg0.deleteBuffer(arg1); + }; + imports.wbg.__wbg_deleteFramebuffer_69db238ea6b8a9a1 = function(arg0, arg1) { + arg0.deleteFramebuffer(arg1); + }; + imports.wbg.__wbg_deleteFramebuffer_ecf398bec452aaf9 = function(arg0, arg1) { + arg0.deleteFramebuffer(arg1); + }; + imports.wbg.__wbg_deleteProgram_cb18e0020d488bad = function(arg0, arg1) { + arg0.deleteProgram(arg1); + }; + imports.wbg.__wbg_deleteProgram_e1a6c4b922e202e3 = function(arg0, arg1) { + arg0.deleteProgram(arg1); + }; + imports.wbg.__wbg_deleteQuery_e083394da1710d6c = function(arg0, arg1) { + arg0.deleteQuery(arg1); + }; + imports.wbg.__wbg_deleteRenderbuffer_05fa7f35ea76cafd = function(arg0, arg1) { + arg0.deleteRenderbuffer(arg1); + }; + imports.wbg.__wbg_deleteRenderbuffer_2f1216e54aa2f248 = function(arg0, arg1) { + arg0.deleteRenderbuffer(arg1); + }; + imports.wbg.__wbg_deleteSampler_e5c61c85993f9a69 = function(arg0, arg1) { + arg0.deleteSampler(arg1); + }; + imports.wbg.__wbg_deleteShader_257caf93b24ac555 = function(arg0, arg1) { + arg0.deleteShader(arg1); + }; + imports.wbg.__wbg_deleteShader_fb86028e46cb069b = function(arg0, arg1) { + arg0.deleteShader(arg1); + }; + imports.wbg.__wbg_deleteSync_b5caedf06185d972 = function(arg0, arg1) { + arg0.deleteSync(arg1); + }; + imports.wbg.__wbg_deleteTexture_6913f682a09c8171 = function(arg0, arg1) { + arg0.deleteTexture(arg1); + }; + imports.wbg.__wbg_deleteTexture_a29655740b1cbe33 = function(arg0, arg1) { + arg0.deleteTexture(arg1); + }; + imports.wbg.__wbg_deleteVertexArrayOES_2def7ce37f8e89f2 = function(arg0, arg1) { + arg0.deleteVertexArrayOES(arg1); + }; + imports.wbg.__wbg_deleteVertexArray_a3bca8e15204ffed = function(arg0, arg1) { + arg0.deleteVertexArray(arg1); + }; + imports.wbg.__wbg_deltaMode_a4cc321212f87817 = function(arg0) { + const ret = arg0.deltaMode; + return ret; + }; + imports.wbg.__wbg_deltaX_27e2939a1af8c940 = function(arg0) { + const ret = arg0.deltaX; + return ret; + }; + imports.wbg.__wbg_deltaY_4bb52a4f0a7ad28b = function(arg0) { + const ret = arg0.deltaY; + return ret; + }; + imports.wbg.__wbg_depthFunc_657dd592930e7f2f = function(arg0, arg1) { + arg0.depthFunc(arg1 >>> 0); + }; + imports.wbg.__wbg_depthFunc_f9fd44a07ea8398e = function(arg0, arg1) { + arg0.depthFunc(arg1 >>> 0); + }; + imports.wbg.__wbg_depthMask_87195357e4f7df17 = function(arg0, arg1) { + arg0.depthMask(arg1 !== 0); + }; + imports.wbg.__wbg_depthMask_bac7f6b455b6ddeb = function(arg0, arg1) { + arg0.depthMask(arg1 !== 0); + }; + imports.wbg.__wbg_depthRange_d947e824a28dc9a1 = function(arg0, arg1, arg2) { + arg0.depthRange(arg1, arg2); + }; + imports.wbg.__wbg_depthRange_f71c79182f666e45 = function(arg0, arg1, arg2) { + arg0.depthRange(arg1, arg2); + }; + imports.wbg.__wbg_destroy_35f94012e5bb9c17 = function(arg0) { + arg0.destroy(); + }; + imports.wbg.__wbg_destroy_767d9dde1008e293 = function(arg0) { + arg0.destroy(); + }; + imports.wbg.__wbg_destroy_c6af4226dda95dbd = function(arg0) { + arg0.destroy(); + }; + imports.wbg.__wbg_devicePixelContentBoxSize_1ea2c6145730b8c0 = function(arg0) { + const ret = arg0.devicePixelContentBoxSize; + return ret; + }; + imports.wbg.__wbg_devicePixelRatio_f4eb7cbe3a812de0 = function(arg0) { + const ret = arg0.devicePixelRatio; + return ret; + }; + imports.wbg.__wbg_disableVertexAttribArray_c513f1fff3cb73f2 = function(arg0, arg1) { + arg0.disableVertexAttribArray(arg1 >>> 0); + }; + imports.wbg.__wbg_disableVertexAttribArray_e7ff41dc0c3eaf1f = function(arg0, arg1) { + arg0.disableVertexAttribArray(arg1 >>> 0); + }; + imports.wbg.__wbg_disable_4c1cedffa6646166 = function(arg0, arg1) { + arg0.disable(arg1 >>> 0); + }; + imports.wbg.__wbg_disable_5320561e5cb15f08 = function(arg0, arg1) { + arg0.disable(arg1 >>> 0); + }; + imports.wbg.__wbg_disconnect_8b7c928b6057719b = function(arg0) { + arg0.disconnect(); + }; + imports.wbg.__wbg_disconnect_c45e8044053eddf3 = function(arg0) { + arg0.disconnect(); + }; + imports.wbg.__wbg_dispatchWorkgroupsIndirect_8b25efab93a7a433 = function(arg0, arg1, arg2) { + arg0.dispatchWorkgroupsIndirect(arg1, arg2); + }; + imports.wbg.__wbg_dispatchWorkgroups_c102fa81b955935d = function(arg0, arg1, arg2, arg3) { + arg0.dispatchWorkgroups(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0); + }; + imports.wbg.__wbg_document_c488ca7509cc6938 = function(arg0) { + const ret = arg0.document; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_done_adfd3f40364def50 = function(arg0) { + const ret = arg0.done; + return ret; + }; + imports.wbg.__wbg_drawArraysInstancedANGLE_55c83db2758c6ab4 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.drawArraysInstancedANGLE(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_drawArraysInstanced_11f863da4daf24d0 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.drawArraysInstanced(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_drawArrays_87e9bb0e2fb3e0fa = function(arg0, arg1, arg2, arg3) { + arg0.drawArrays(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_drawArrays_f5b0f0a0dc392c3f = function(arg0, arg1, arg2, arg3) { + arg0.drawArrays(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_drawBuffersWEBGL_22730193cdce9696 = function(arg0, arg1) { + arg0.drawBuffersWEBGL(arg1); + }; + imports.wbg.__wbg_drawBuffers_f256d529aecd01f2 = function(arg0, arg1) { + arg0.drawBuffers(arg1); + }; + imports.wbg.__wbg_drawElementsInstancedANGLE_db0bafff77affb0d = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.drawElementsInstancedANGLE(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_drawElementsInstanced_e87f1c69165df984 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.drawElementsInstanced(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_drawIndexedIndirect_34484fc6227c7bc8 = function(arg0, arg1, arg2) { + arg0.drawIndexedIndirect(arg1, arg2); + }; + imports.wbg.__wbg_drawIndexedIndirect_5a7c30bb5f1d5b67 = function(arg0, arg1, arg2) { + arg0.drawIndexedIndirect(arg1, arg2); + }; + imports.wbg.__wbg_drawIndexed_115af1449b52a948 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.drawIndexed(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5 >>> 0); + }; + imports.wbg.__wbg_drawIndexed_a587cce4c317791f = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.drawIndexed(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5 >>> 0); + }; + imports.wbg.__wbg_drawIndirect_036d71498a21f1a3 = function(arg0, arg1, arg2) { + arg0.drawIndirect(arg1, arg2); + }; + imports.wbg.__wbg_drawIndirect_a1d7c5e893aa5756 = function(arg0, arg1, arg2) { + arg0.drawIndirect(arg1, arg2); + }; + imports.wbg.__wbg_draw_5351b12033166aca = function(arg0, arg1, arg2, arg3, arg4) { + arg0.draw(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_draw_e2a7c5d66fb2d244 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.draw(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_enableVertexAttribArray_0ce3052ae5f3f84a = function(arg0, arg1) { + arg0.enableVertexAttribArray(arg1 >>> 0); + }; + imports.wbg.__wbg_enableVertexAttribArray_2bb681a583bf0dbe = function(arg0, arg1) { + arg0.enableVertexAttribArray(arg1 >>> 0); + }; + imports.wbg.__wbg_enable_8d6ea7489b31dabd = function(arg0, arg1) { + arg0.enable(arg1 >>> 0); + }; + imports.wbg.__wbg_enable_bb868e19d5c88d56 = function(arg0, arg1) { + arg0.enable(arg1 >>> 0); + }; + imports.wbg.__wbg_endQuery_b4f2566f7afc4117 = function(arg0, arg1) { + arg0.endQuery(arg1 >>> 0); + }; + imports.wbg.__wbg_end_0ac71677a5c1717a = function(arg0) { + arg0.end(); + }; + imports.wbg.__wbg_end_6f776519f1faa582 = function(arg0) { + arg0.end(); + }; + imports.wbg.__wbg_error_2a6b93fdada7ff11 = function(arg0) { + console.error(arg0); + }; + imports.wbg.__wbg_error_7534b8e9a36f1ab4 = function(arg0, arg1) { + let deferred0_0; + let deferred0_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + console.error(getStringFromWasm0(arg0, arg1)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + } + }; + imports.wbg.__wbg_error_e98e6aadd08e0b94 = function(arg0) { + const ret = arg0.error; + return ret; + }; + imports.wbg.__wbg_error_f0dde81ae1e4cfea = function(arg0, arg1) { + console.error(arg0, arg1); + }; + imports.wbg.__wbg_executeBundles_8e6c0614da2805d4 = function(arg0, arg1) { + arg0.executeBundles(arg1); + }; + imports.wbg.__wbg_features_1b464383ea8a7691 = function(arg0) { + const ret = arg0.features; + return ret; + }; + imports.wbg.__wbg_features_e5fbbc2760867852 = function(arg0) { + const ret = arg0.features; + return ret; + }; + imports.wbg.__wbg_fenceSync_68dcf439f52decac = function(arg0, arg1, arg2) { + const ret = arg0.fenceSync(arg1 >>> 0, arg2 >>> 0); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_fetch_2367a4a7762e7c4a = function(arg0, arg1) { + const ret = arg0.fetch(arg1); + return ret; + }; + imports.wbg.__wbg_fetch_f1856afdb49415d1 = function(arg0) { + const ret = fetch(arg0); + return ret; + }; + imports.wbg.__wbg_finish_20711371c58df61c = function(arg0) { + const ret = arg0.finish(); + return ret; + }; + imports.wbg.__wbg_finish_34b2c54329c8719f = function(arg0, arg1) { + const ret = arg0.finish(arg1); + return ret; + }; + imports.wbg.__wbg_finish_a9ab917e756ea00c = function(arg0, arg1) { + const ret = arg0.finish(arg1); + return ret; + }; + imports.wbg.__wbg_finish_e0a6c97c0622f843 = function(arg0) { + const ret = arg0.finish(); + return ret; + }; + imports.wbg.__wbg_focus_c71947fc3fe22147 = function() { return handleError(function (arg0) { + arg0.focus(); + }, arguments) }; + imports.wbg.__wbg_framebufferRenderbuffer_308ddbcaaed66ff2 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.framebufferRenderbuffer(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4); + }; + imports.wbg.__wbg_framebufferRenderbuffer_a23d035c46e3e192 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.framebufferRenderbuffer(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4); + }; + imports.wbg.__wbg_framebufferTexture2D_170b0f8c792e246f = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.framebufferTexture2D(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_framebufferTexture2D_5366ecb050293d09 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.framebufferTexture2D(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_framebufferTextureLayer_daccfb6fb9396578 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.framebufferTextureLayer(arg1 >>> 0, arg2 >>> 0, arg3, arg4, arg5); + }; + imports.wbg.__wbg_framebufferTextureMultiviewOVR_e2282e87fdf2564f = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.framebufferTextureMultiviewOVR(arg1 >>> 0, arg2 >>> 0, arg3, arg4, arg5, arg6); + }; + imports.wbg.__wbg_frontFace_7b469405c0e889ee = function(arg0, arg1) { + arg0.frontFace(arg1 >>> 0); + }; + imports.wbg.__wbg_frontFace_993e921eaef39c45 = function(arg0, arg1) { + arg0.frontFace(arg1 >>> 0); + }; + imports.wbg.__wbg_fullscreenElement_a613ad02fa918fb4 = function(arg0) { + const ret = arg0.fullscreenElement; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getBindGroupLayout_4a94df6108ac6667 = function(arg0, arg1) { + const ret = arg0.getBindGroupLayout(arg1 >>> 0); + return ret; + }; + imports.wbg.__wbg_getBindGroupLayout_80e803d942962f6a = function(arg0, arg1) { + const ret = arg0.getBindGroupLayout(arg1 >>> 0); + return ret; + }; + imports.wbg.__wbg_getBufferSubData_5102d8a217d0774c = function(arg0, arg1, arg2, arg3) { + arg0.getBufferSubData(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_getCoalescedEvents_1372a1922f78401a = function(arg0) { + const ret = arg0.getCoalescedEvents; + return ret; + }; + imports.wbg.__wbg_getCoalescedEvents_3736b5e5d63bed7b = function(arg0) { + const ret = arg0.getCoalescedEvents(); + return ret; + }; + imports.wbg.__wbg_getCompilationInfo_2af3ecdfeda551a3 = function(arg0) { + const ret = arg0.getCompilationInfo(); + return ret; + }; + imports.wbg.__wbg_getComputedStyle_c3a9de7674a38310 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.getComputedStyle(arg1); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getContext_02d86c7d9cfa709e = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.getContext(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getContext_24d4414b979c1bbd = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.getContext(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getContext_74e4f1560c2a2fae = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = arg0.getContext(getStringFromWasm0(arg1, arg2), arg3); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getContext_b22f05fca7ddb494 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = arg0.getContext(getStringFromWasm0(arg1, arg2), arg3); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getCurrentTexture_5a79cda2ff36e1ee = function(arg0) { + const ret = arg0.getCurrentTexture(); + return ret; + }; + imports.wbg.__wbg_getElementById_7b2db24a9b54f077 = function(arg0, arg1, arg2) { + const ret = arg0.getElementById(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getExtension_28666bdc87d23aca = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.getExtension(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getIndexedParameter_f9e7220a3bb8862c = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.getIndexedParameter(arg1 >>> 0, arg2 >>> 0); + return ret; + }, arguments) }; + imports.wbg.__wbg_getMappedRange_932dd043ae22ee0a = function(arg0, arg1, arg2) { + const ret = arg0.getMappedRange(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_getOwnPropertyDescriptor_c701b185423f5b7e = function(arg0, arg1) { + const ret = Object.getOwnPropertyDescriptor(arg0, arg1); + return ret; + }; + imports.wbg.__wbg_getParameter_304cffb9a759dc04 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.getParameter(arg1 >>> 0); + return ret; + }, arguments) }; + imports.wbg.__wbg_getParameter_fd65bc6ff1b0ffd9 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.getParameter(arg1 >>> 0); + return ret; + }, arguments) }; + imports.wbg.__wbg_getPreferredCanvasFormat_de73c02773a5209e = function(arg0) { + const ret = arg0.getPreferredCanvasFormat(); + return (__wbindgen_enum_GpuTextureFormat.indexOf(ret) + 1 || 96) - 1; + }; + imports.wbg.__wbg_getProgramInfoLog_032aac3e6f3a253c = function(arg0, arg1, arg2) { + const ret = arg1.getProgramInfoLog(arg2); + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_getProgramInfoLog_039168c2aed8d3fe = function(arg0, arg1, arg2) { + const ret = arg1.getProgramInfoLog(arg2); + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_getProgramParameter_70b22019524689fa = function(arg0, arg1, arg2) { + const ret = arg0.getProgramParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getProgramParameter_9b3bdf8d90159edb = function(arg0, arg1, arg2) { + const ret = arg0.getProgramParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getPropertyValue_e87121b8549f72d5 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = arg1.getPropertyValue(getStringFromWasm0(arg2, arg3)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_getQueryParameter_e7b02fe5fd64baa5 = function(arg0, arg1, arg2) { + const ret = arg0.getQueryParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getRandomValues_bcb4912f16000dc4 = function() { return handleError(function (arg0, arg1) { + arg0.getRandomValues(arg1); + }, arguments) }; + imports.wbg.__wbg_getShaderInfoLog_5c7d45bafe3be3dd = function(arg0, arg1, arg2) { + const ret = arg1.getShaderInfoLog(arg2); + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_getShaderInfoLog_d2cc881ce343a733 = function(arg0, arg1, arg2) { + const ret = arg1.getShaderInfoLog(arg2); + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_getShaderParameter_6d0578dd9f58b684 = function(arg0, arg1, arg2) { + const ret = arg0.getShaderParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getShaderParameter_c50fbeadf9ef6879 = function(arg0, arg1, arg2) { + const ret = arg0.getShaderParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getSupportedExtensions_fca342bac23691db = function(arg0) { + const ret = arg0.getSupportedExtensions(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getSupportedProfiles_b2cc3aec569a65fa = function(arg0) { + const ret = arg0.getSupportedProfiles(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getSyncParameter_5688138f66b57b16 = function(arg0, arg1, arg2) { + const ret = arg0.getSyncParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getUniformBlockIndex_b53609b8ecff8b48 = function(arg0, arg1, arg2, arg3) { + const ret = arg0.getUniformBlockIndex(arg1, getStringFromWasm0(arg2, arg3)); + return ret; + }; + imports.wbg.__wbg_getUniformLocation_852fbe42afe106ff = function(arg0, arg1, arg2, arg3) { + const ret = arg0.getUniformLocation(arg1, getStringFromWasm0(arg2, arg3)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getUniformLocation_9d46a65011600cce = function(arg0, arg1, arg2, arg3) { + const ret = arg0.getUniformLocation(arg1, getStringFromWasm0(arg2, arg3)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_get_68aa371864aa301a = function(arg0, arg1) { + const ret = arg0[arg1 >>> 0]; + return ret; + }; + imports.wbg.__wbg_get_6b316bfdb1b95076 = function(arg0, arg1) { + const ret = arg0[arg1 >>> 0]; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_get_92a4780a3beb5fe9 = function() { return handleError(function (arg0, arg1) { + const ret = Reflect.get(arg0, arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_globalThis_1e2ac1d6eee845b3 = function() { return handleError(function () { + const ret = globalThis.globalThis; + return ret; + }, arguments) }; + imports.wbg.__wbg_global_f25a574ae080367c = function() { return handleError(function () { + const ret = global.global; + return ret; + }, arguments) }; + imports.wbg.__wbg_gpu_87871e8f7ace8fee = function(arg0) { + const ret = arg0.gpu; + return ret; + }; + imports.wbg.__wbg_has_38b228962f492b9b = function() { return handleError(function (arg0, arg1) { + const ret = Reflect.has(arg0, arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_has_624cbf0451d880e8 = function(arg0, arg1, arg2) { + const ret = arg0.has(getStringFromWasm0(arg1, arg2)); + return ret; + }; + imports.wbg.__wbg_headers_a5edfea2425875b2 = function(arg0) { + const ret = arg0.headers; + return ret; + }; + imports.wbg.__wbg_height_4065e49e5ec4c4c1 = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_51a97623165c9beb = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_74bc8ec7548ff6b6 = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_a196a7b9b1d7e01c = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_cabc0c8a4c838304 = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_e509816ec3fdf5b1 = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_includes_959087f4155febdf = function(arg0, arg1, arg2) { + const ret = arg0.includes(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_info_b6bd3cb6471c2b4c = function(arg0) { + console.info(arg0); + }; + imports.wbg.__wbg_inlineSize_6f8d0983462c2919 = function(arg0) { + const ret = arg0.inlineSize; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuAdapter_0731153d2b08720b = function(arg0) { + let result; + try { + result = arg0 instanceof GPUAdapter; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuCanvasContext_d14121c7bd72fcef = function(arg0) { + let result; + try { + result = arg0 instanceof GPUCanvasContext; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuDeviceLostInfo_a3677ebb8241d800 = function(arg0) { + let result; + try { + result = arg0 instanceof GPUDeviceLostInfo; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuOutOfMemoryError_391d9a08edbfa04b = function(arg0) { + let result; + try { + result = arg0 instanceof GPUOutOfMemoryError; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuValidationError_f4d803c383da3c92 = function(arg0) { + let result; + try { + result = arg0 instanceof GPUValidationError; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_HtmlCanvasElement_9db0dfd54b2c5330 = function(arg0) { + let result; + try { + result = arg0 instanceof HTMLCanvasElement; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_Object_f0f57d6eeca1b81d = function(arg0) { + let result; + try { + result = arg0 instanceof Object; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_Response_0ec26bd2f8a75ca2 = function(arg0) { + let result; + try { + result = arg0 instanceof Response; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_WebGl2RenderingContext_888701598b82d45d = function(arg0) { + let result; + try { + result = arg0 instanceof WebGL2RenderingContext; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_Window_a959820eb267fe22 = function(arg0) { + let result; + try { + result = arg0 instanceof Window; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_invalidateFramebuffer_f4a994f4a8535cca = function() { return handleError(function (arg0, arg1, arg2) { + arg0.invalidateFramebuffer(arg1 >>> 0, arg2); + }, arguments) }; + imports.wbg.__wbg_isIntersecting_9059d5bcaf29f415 = function(arg0) { + const ret = arg0.isIntersecting; + return ret; + }; + imports.wbg.__wbg_is_20768e55ad2a7c3f = function(arg0, arg1) { + const ret = Object.is(arg0, arg1); + return ret; + }; + imports.wbg.__wbg_iterator_7a20c20ce22add0f = function() { + const ret = Symbol.iterator; + return ret; + }; + imports.wbg.__wbg_key_02315cd3f595756b = function(arg0, arg1) { + const ret = arg1.key; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_label_2082ab37d2ad170d = function(arg0, arg1) { + const ret = arg1.label; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_length_2e63ba34c4121df5 = function(arg0) { + const ret = arg0.length; + return ret; + }; + imports.wbg.__wbg_length_9df32f7add647235 = function(arg0) { + const ret = arg0.length; + return ret; + }; + imports.wbg.__wbg_length_e74df4881604f1d9 = function(arg0) { + const ret = arg0.length; + return ret; + }; + imports.wbg.__wbg_limits_2dd632c891786ddf = function(arg0) { + const ret = arg0.limits; + return ret; + }; + imports.wbg.__wbg_limits_f6411f884b0b2d62 = function(arg0) { + const ret = arg0.limits; + return ret; + }; + imports.wbg.__wbg_lineNum_0246de1e072ffe19 = function(arg0) { + const ret = arg0.lineNum; + return ret; + }; + imports.wbg.__wbg_linkProgram_575f761eda0a14bc = function(arg0, arg1) { + arg0.linkProgram(arg1); + }; + imports.wbg.__wbg_linkProgram_5eee13e603e9af41 = function(arg0, arg1) { + arg0.linkProgram(arg1); + }; + imports.wbg.__wbg_location_54d35e8c85dcfb9c = function(arg0) { + const ret = arg0.location; + return ret; + }; + imports.wbg.__wbg_location_e9eba129bf0612a5 = function(arg0) { + const ret = arg0.location; + return ret; + }; + imports.wbg.__wbg_log_d818ca3cab23fc77 = function(arg0) { + console.log(arg0); + }; + imports.wbg.__wbg_lost_6e4d29847ce2a34a = function(arg0) { + const ret = arg0.lost; + return ret; + }; + imports.wbg.__wbg_mapAsync_37f5e03edf2e1352 = function(arg0, arg1, arg2, arg3) { + const ret = arg0.mapAsync(arg1 >>> 0, arg2, arg3); + return ret; + }; + imports.wbg.__wbg_matchMedia_0be65181eeae951c = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.matchMedia(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_matches_254463383aee4688 = function(arg0) { + const ret = arg0.matches; + return ret; + }; + imports.wbg.__wbg_maxBindGroups_768ca5e8623bf450 = function(arg0) { + const ret = arg0.maxBindGroups; + return ret; + }; + imports.wbg.__wbg_maxBindingsPerBindGroup_057972d600d69719 = function(arg0) { + const ret = arg0.maxBindingsPerBindGroup; + return ret; + }; + imports.wbg.__wbg_maxBufferSize_e237b44f19a5a62b = function(arg0) { + const ret = arg0.maxBufferSize; + return ret; + }; + imports.wbg.__wbg_maxColorAttachmentBytesPerSample_d6c7b4051d22c6d6 = function(arg0) { + const ret = arg0.maxColorAttachmentBytesPerSample; + return ret; + }; + imports.wbg.__wbg_maxColorAttachments_7a18ba24c05edcfd = function(arg0) { + const ret = arg0.maxColorAttachments; + return ret; + }; + imports.wbg.__wbg_maxComputeInvocationsPerWorkgroup_b99c2f3611633992 = function(arg0) { + const ret = arg0.maxComputeInvocationsPerWorkgroup; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupSizeX_adb26da9ed7f77f7 = function(arg0) { + const ret = arg0.maxComputeWorkgroupSizeX; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupSizeY_cc217559c98be33b = function(arg0) { + const ret = arg0.maxComputeWorkgroupSizeY; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupSizeZ_66606a80e2cf2309 = function(arg0) { + const ret = arg0.maxComputeWorkgroupSizeZ; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupStorageSize_cb6235497b8c4997 = function(arg0) { + const ret = arg0.maxComputeWorkgroupStorageSize; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupsPerDimension_6bf550b5f21d57cf = function(arg0) { + const ret = arg0.maxComputeWorkgroupsPerDimension; + return ret; + }; + imports.wbg.__wbg_maxDynamicStorageBuffersPerPipelineLayout_c6ac20334e328b47 = function(arg0) { + const ret = arg0.maxDynamicStorageBuffersPerPipelineLayout; + return ret; + }; + imports.wbg.__wbg_maxDynamicUniformBuffersPerPipelineLayout_aa8f14a74b440f01 = function(arg0) { + const ret = arg0.maxDynamicUniformBuffersPerPipelineLayout; + return ret; + }; + imports.wbg.__wbg_maxSampledTexturesPerShaderStage_db7c4922cc60144a = function(arg0) { + const ret = arg0.maxSampledTexturesPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxSamplersPerShaderStage_538705fe2263e710 = function(arg0) { + const ret = arg0.maxSamplersPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxStorageBufferBindingSize_32178c0f5f7f85cb = function(arg0) { + const ret = arg0.maxStorageBufferBindingSize; + return ret; + }; + imports.wbg.__wbg_maxStorageBuffersPerShaderStage_9f67e9eae0089f77 = function(arg0) { + const ret = arg0.maxStorageBuffersPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxStorageTexturesPerShaderStage_57239664936031cf = function(arg0) { + const ret = arg0.maxStorageTexturesPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxTextureArrayLayers_db5d4e486c78ae04 = function(arg0) { + const ret = arg0.maxTextureArrayLayers; + return ret; + }; + imports.wbg.__wbg_maxTextureDimension1D_3475085ffacabbdc = function(arg0) { + const ret = arg0.maxTextureDimension1D; + return ret; + }; + imports.wbg.__wbg_maxTextureDimension2D_7c8d5ecf09eb8519 = function(arg0) { + const ret = arg0.maxTextureDimension2D; + return ret; + }; + imports.wbg.__wbg_maxTextureDimension3D_8bd976677a0f91d4 = function(arg0) { + const ret = arg0.maxTextureDimension3D; + return ret; + }; + imports.wbg.__wbg_maxUniformBufferBindingSize_95b1a54e7e4a0f0f = function(arg0) { + const ret = arg0.maxUniformBufferBindingSize; + return ret; + }; + imports.wbg.__wbg_maxUniformBuffersPerShaderStage_5f475d9a453af14d = function(arg0) { + const ret = arg0.maxUniformBuffersPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxVertexAttributes_4c48ca2f5d32f860 = function(arg0) { + const ret = arg0.maxVertexAttributes; + return ret; + }; + imports.wbg.__wbg_maxVertexBufferArrayStride_2233f6933ecc5a16 = function(arg0) { + const ret = arg0.maxVertexBufferArrayStride; + return ret; + }; + imports.wbg.__wbg_maxVertexBuffers_c47e508cd7348554 = function(arg0) { + const ret = arg0.maxVertexBuffers; + return ret; + }; + imports.wbg.__wbg_message_0762358e59db7ed6 = function(arg0, arg1) { + const ret = arg1.message; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_message_7957ab09f64c6822 = function(arg0, arg1) { + const ret = arg1.message; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_message_b163994503433c9e = function(arg0, arg1) { + const ret = arg1.message; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_messages_da071582f72bc978 = function(arg0) { + const ret = arg0.messages; + return ret; + }; + imports.wbg.__wbg_metaKey_34d5658170ffb3ee = function(arg0) { + const ret = arg0.metaKey; + return ret; + }; + imports.wbg.__wbg_metaKey_6c8e9228e8dda152 = function(arg0) { + const ret = arg0.metaKey; + return ret; + }; + imports.wbg.__wbg_minStorageBufferOffsetAlignment_51b4801fac3a58de = function(arg0) { + const ret = arg0.minStorageBufferOffsetAlignment; + return ret; + }; + imports.wbg.__wbg_minUniformBufferOffsetAlignment_5d62a77924b2335f = function(arg0) { + const ret = arg0.minUniformBufferOffsetAlignment; + return ret; + }; + imports.wbg.__wbg_movementX_e32c342d96d1c701 = function(arg0) { + const ret = arg0.movementX; + return ret; + }; + imports.wbg.__wbg_movementY_136c6febb976ca3b = function(arg0) { + const ret = arg0.movementY; + return ret; + }; + imports.wbg.__wbg_msCrypto_0a36e2ec3a343d26 = function(arg0) { + const ret = arg0.msCrypto; + return ret; + }; + imports.wbg.__wbg_navigator_2936a93ec3c6f4c5 = function(arg0) { + const ret = arg0.navigator; + return ret; + }; + imports.wbg.__wbg_navigator_da495c9e52e160b1 = function(arg0) { + const ret = arg0.navigator; + return ret; + }; + imports.wbg.__wbg_new_076cac58bb698dd4 = function() { + const ret = new Object(); + return ret; + }; + imports.wbg.__wbg_new_0c28e72025e00594 = function() { + const ret = new Array(); + return ret; + }; + imports.wbg.__wbg_new_23362fa370a0a372 = function(arg0) { + const ret = new Uint8Array(arg0); + return ret; + }; + imports.wbg.__wbg_new_238671e08bf4fcbb = function() { return handleError(function () { + const ret = new MessageChannel(); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_4b15073a88792687 = function() { return handleError(function (arg0) { + const ret = new ResizeObserver(arg0); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_8a6f238a6ece86ea = function() { + const ret = new Error(); + return ret; + }; + imports.wbg.__wbg_new_93cf40e4f48fe902 = function() { return handleError(function () { + const ret = new AbortController(); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_b4a18f0a618c89f2 = function() { return handleError(function (arg0, arg1) { + const ret = new Worker(getStringFromWasm0(arg0, arg1)); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_c94d990936d8ea5d = function() { return handleError(function (arg0) { + const ret = new IntersectionObserver(arg0); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_e2ec18a02bb844cb = function() { return handleError(function () { + const ret = new Headers(); + return ret; + }, arguments) }; + imports.wbg.__wbg_newnoargs_19a249f4eceaaac3 = function(arg0, arg1) { + const ret = new Function(getStringFromWasm0(arg0, arg1)); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_24ff09a6b37a856f = function(arg0, arg1, arg2) { + const ret = new Int16Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_25d3cac011b6e2d5 = function(arg0, arg1, arg2) { + const ret = new Uint32Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_457c61bfe0fb7b8c = function(arg0, arg1, arg2) { + const ret = new Int32Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_9f48300371c8802a = function(arg0, arg1, arg2) { + const ret = new Uint16Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_a6087a94c7bfea61 = function(arg0, arg1, arg2) { + const ret = new Int8Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_c280c15b00e018cd = function(arg0, arg1, arg2) { + const ret = new Float32Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_ee8def7000b7b2be = function(arg0, arg1, arg2) { + const ret = new Uint8Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithlength_91de49dea5643c87 = function(arg0) { + const ret = new Uint8Array(arg0 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithstrandinit_ee1418802d8d481c = function() { return handleError(function (arg0, arg1, arg2) { + const ret = new Request(getStringFromWasm0(arg0, arg1), arg2); + return ret; + }, arguments) }; + imports.wbg.__wbg_newwithstrsequenceandoptions_af096ce40d9d9ac8 = function() { return handleError(function (arg0, arg1) { + const ret = new Blob(arg0, arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_next_c591766a7286b02a = function() { return handleError(function (arg0) { + const ret = arg0.next(); + return ret; + }, arguments) }; + imports.wbg.__wbg_next_f387ecc56a94ba00 = function(arg0) { + const ret = arg0.next; + return ret; + }; + imports.wbg.__wbg_node_02999533c4ea02e3 = function(arg0) { + const ret = arg0.node; + return ret; + }; + imports.wbg.__wbg_now_2c95c9de01293173 = function(arg0) { + const ret = arg0.now(); + return ret; + }; + imports.wbg.__wbg_observe_e2208b07fe315de7 = function(arg0, arg1) { + arg0.observe(arg1); + }; + imports.wbg.__wbg_observe_ec91d62599b7772b = function(arg0, arg1) { + arg0.observe(arg1); + }; + imports.wbg.__wbg_observe_fd48955513eca909 = function(arg0, arg1, arg2) { + arg0.observe(arg1, arg2); + }; + imports.wbg.__wbg_of_2f6232d86af7992c = function(arg0, arg1) { + const ret = Array.of(arg0, arg1); + return ret; + }; + imports.wbg.__wbg_of_5ae3a2d893e18853 = function(arg0) { + const ret = Array.of(arg0); + return ret; + }; + imports.wbg.__wbg_offsetX_d6957d052a0d4b11 = function(arg0) { + const ret = arg0.offsetX; + return ret; + }; + imports.wbg.__wbg_offsetY_076edde514bf80f4 = function(arg0) { + const ret = arg0.offsetY; + return ret; + }; + imports.wbg.__wbg_offset_336f14c993863b76 = function(arg0) { + const ret = arg0.offset; + return ret; + }; + imports.wbg.__wbg_origin_e6426cdc04ec89f8 = function() { return handleError(function (arg0, arg1) { + const ret = arg1.origin; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_performance_7a3ffd0b17f663ad = function(arg0) { + const ret = arg0.performance; + return ret; + }; + imports.wbg.__wbg_persisted_7e044507e52804d9 = function(arg0) { + const ret = arg0.persisted; + return ret; + }; + imports.wbg.__wbg_pixelStorei_198b92c3e346678a = function(arg0, arg1, arg2) { + arg0.pixelStorei(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_pixelStorei_9c4cb0a4b040b41d = function(arg0, arg1, arg2) { + arg0.pixelStorei(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_play_e7eb90a843114e0d = function(arg0) { + arg0.play(); + }; + imports.wbg.__wbg_pointerId_a2cbd2cdd6da90b2 = function(arg0) { + const ret = arg0.pointerId; + return ret; + }; + imports.wbg.__wbg_pointerType_1b74686427cdec29 = function(arg0, arg1) { + const ret = arg1.pointerType; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_polygonOffset_7ec31dee95d41171 = function(arg0, arg1, arg2) { + arg0.polygonOffset(arg1, arg2); + }; + imports.wbg.__wbg_polygonOffset_c6cbc8093770e840 = function(arg0, arg1, arg2) { + arg0.polygonOffset(arg1, arg2); + }; + imports.wbg.__wbg_popErrorScope_af0b22f136a861d6 = function(arg0) { + const ret = arg0.popErrorScope(); + return ret; + }; + imports.wbg.__wbg_port1_6f5b26fd23d19536 = function(arg0) { + const ret = arg0.port1; + return ret; + }; + imports.wbg.__wbg_port2_2eb4c961d6df5816 = function(arg0) { + const ret = arg0.port2; + return ret; + }; + imports.wbg.__wbg_postMessage_33dcf5caa3589c64 = function() { return handleError(function (arg0, arg1, arg2) { + arg0.postMessage(arg1, arg2); + }, arguments) }; + imports.wbg.__wbg_postMessage_3e7f3215320b4a9c = function() { return handleError(function (arg0, arg1) { + arg0.postMessage(arg1); + }, arguments) }; + imports.wbg.__wbg_postTask_9ba4c3cedae00b38 = function(arg0, arg1, arg2) { + const ret = arg0.postTask(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_pressure_8707a47b6fb1c1fd = function(arg0) { + const ret = arg0.pressure; + return ret; + }; + imports.wbg.__wbg_preventDefault_faafffcaad92972d = function(arg0) { + arg0.preventDefault(); + }; + imports.wbg.__wbg_process_5c1d670bc53614b8 = function(arg0) { + const ret = arg0.process; + return ret; + }; + imports.wbg.__wbg_prototype_0f68911d93450df4 = function() { + const ret = ResizeObserverEntry.prototype; + return ret; + }; + imports.wbg.__wbg_pushErrorScope_b52914ff10ba6ce3 = function(arg0, arg1) { + arg0.pushErrorScope(__wbindgen_enum_GpuErrorFilter[arg1]); + }; + imports.wbg.__wbg_push_3e9ce81246ef1d1b = function(arg0, arg1) { + const ret = arg0.push(arg1); + return ret; + }; + imports.wbg.__wbg_queryCounterEXT_6da4ab4ec9c37329 = function(arg0, arg1, arg2) { + arg0.queryCounterEXT(arg1, arg2 >>> 0); + }; + imports.wbg.__wbg_querySelectorAll_775f04e6f26ad643 = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.querySelectorAll(getStringFromWasm0(arg1, arg2)); + return ret; + }, arguments) }; + imports.wbg.__wbg_querySelector_473a7bd6647e7cbb = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.querySelector(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_queueMicrotask_3d422e1ba49c2500 = function(arg0) { + const ret = arg0.queueMicrotask; + return ret; + }; + imports.wbg.__wbg_queueMicrotask_5fc3e400ac3c03f4 = function(arg0) { + queueMicrotask(arg0); + }; + imports.wbg.__wbg_queueMicrotask_f301663ccadbb7d0 = function(arg0) { + queueMicrotask(arg0); + }; + imports.wbg.__wbg_queue_bea4017efaaf9904 = function(arg0) { + const ret = arg0.queue; + return ret; + }; + imports.wbg.__wbg_randomFillSync_ab2cfe79ebbf2740 = function() { return handleError(function (arg0, arg1) { + arg0.randomFillSync(arg1); + }, arguments) }; + imports.wbg.__wbg_readBuffer_8fd1512f6bdfc8f0 = function(arg0, arg1) { + arg0.readBuffer(arg1 >>> 0); + }; + imports.wbg.__wbg_readPixels_48fc96a447cda9aa = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + arg0.readPixels(arg1, arg2, arg3, arg4, arg5 >>> 0, arg6 >>> 0, arg7); + }, arguments) }; + imports.wbg.__wbg_readPixels_7b1022930a9026d1 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + arg0.readPixels(arg1, arg2, arg3, arg4, arg5 >>> 0, arg6 >>> 0, arg7); + }, arguments) }; + imports.wbg.__wbg_readPixels_da6e94b84b4cfd41 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + arg0.readPixels(arg1, arg2, arg3, arg4, arg5 >>> 0, arg6 >>> 0, arg7); + }, arguments) }; + imports.wbg.__wbg_reason_43acd39cce242b50 = function(arg0) { + const ret = arg0.reason; + return (__wbindgen_enum_GpuDeviceLostReason.indexOf(ret) + 1 || 3) - 1; + }; + imports.wbg.__wbg_removeEventListener_d14a328308e427ba = function() { return handleError(function (arg0, arg1, arg2, arg3) { + arg0.removeEventListener(getStringFromWasm0(arg1, arg2), arg3); + }, arguments) }; + imports.wbg.__wbg_removeListener_aee72eb2e5fba09c = function() { return handleError(function (arg0, arg1) { + arg0.removeListener(arg1); + }, arguments) }; + imports.wbg.__wbg_removeProperty_902c73a4430b3e54 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = arg1.removeProperty(getStringFromWasm0(arg2, arg3)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_renderbufferStorageMultisample_abd1099fecb2e2a4 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.renderbufferStorageMultisample(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_renderbufferStorage_56c61eb0bb2718a9 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.renderbufferStorage(arg1 >>> 0, arg2 >>> 0, arg3, arg4); + }; + imports.wbg.__wbg_renderbufferStorage_aa4b58453d5aca0f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.renderbufferStorage(arg1 >>> 0, arg2 >>> 0, arg3, arg4); + }; + imports.wbg.__wbg_repeat_56fa20e30d00be95 = function(arg0) { + const ret = arg0.repeat; + return ret; + }; + imports.wbg.__wbg_requestAdapter_e6dcfac497cafa7a = function(arg0, arg1) { + const ret = arg0.requestAdapter(arg1); + return ret; + }; + imports.wbg.__wbg_requestAnimationFrame_e8ca543d07df528e = function() { return handleError(function (arg0, arg1) { + const ret = arg0.requestAnimationFrame(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_requestDevice_03b802707d5a382c = function(arg0, arg1) { + const ret = arg0.requestDevice(arg1); + return ret; + }; + imports.wbg.__wbg_requestFullscreen_e1ad8752a4e33f7e = function(arg0) { + const ret = arg0.requestFullscreen; + return ret; + }; + imports.wbg.__wbg_requestFullscreen_f727b1f250ebb10a = function(arg0) { + const ret = arg0.requestFullscreen(); + return ret; + }; + imports.wbg.__wbg_requestIdleCallback_773c554fc8c5a310 = function(arg0) { + const ret = arg0.requestIdleCallback; + return ret; + }; + imports.wbg.__wbg_requestIdleCallback_ba1f658c72e2140c = function() { return handleError(function (arg0, arg1) { + const ret = arg0.requestIdleCallback(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_require_79b1e9274cde3c87 = function() { return handleError(function () { + const ret = module.require; + return ret; + }, arguments) }; + imports.wbg.__wbg_resolveQuerySet_811661fb23f3b699 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.resolveQuerySet(arg1, arg2 >>> 0, arg3 >>> 0, arg4, arg5 >>> 0); + }; + imports.wbg.__wbg_resolve_6a311e8bb26423ab = function(arg0) { + const ret = Promise.resolve(arg0); + return ret; + }; + imports.wbg.__wbg_revokeObjectURL_3e4ad6d46a9a93f1 = function() { return handleError(function (arg0, arg1) { + URL.revokeObjectURL(getStringFromWasm0(arg0, arg1)); + }, arguments) }; + imports.wbg.__wbg_samplerParameterf_a9708333dc0df03e = function(arg0, arg1, arg2, arg3) { + arg0.samplerParameterf(arg1, arg2 >>> 0, arg3); + }; + imports.wbg.__wbg_samplerParameteri_6011eca3eaa96ac6 = function(arg0, arg1, arg2, arg3) { + arg0.samplerParameteri(arg1, arg2 >>> 0, arg3); + }; + imports.wbg.__wbg_scheduler_10edeee35a76c7c6 = function(arg0) { + const ret = arg0.scheduler; + return ret; + }; + imports.wbg.__wbg_scheduler_6d71128f17fbca34 = function(arg0) { + const ret = arg0.scheduler; + return ret; + }; + imports.wbg.__wbg_scissor_4c06926fa8af817c = function(arg0, arg1, arg2, arg3, arg4) { + arg0.scissor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_scissor_608c4f610141e6df = function(arg0, arg1, arg2, arg3, arg4) { + arg0.scissor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_search_4c8c4c416a168e55 = function() { return handleError(function (arg0, arg1) { + const ret = arg1.search; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_self_ac4343e4047b83cc = function() { return handleError(function () { + const ret = self.self; + return ret; + }, arguments) }; + imports.wbg.__wbg_setAttribute_e5d83ecaf7f586d5 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { + arg0.setAttribute(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4)); + }, arguments) }; + imports.wbg.__wbg_setBindGroup_62a3045b0921e429 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setBindGroup(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4), arg5, arg6 >>> 0); + }; + imports.wbg.__wbg_setBindGroup_6c0fd18e9a53a945 = function(arg0, arg1, arg2) { + arg0.setBindGroup(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_setBindGroup_7f3b61f1f482133b = function(arg0, arg1, arg2) { + arg0.setBindGroup(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_setBindGroup_bf767a5aa46a33ce = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setBindGroup(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4), arg5, arg6 >>> 0); + }; + imports.wbg.__wbg_setBindGroup_c4aaff14063226b4 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setBindGroup(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4), arg5, arg6 >>> 0); + }; + imports.wbg.__wbg_setBindGroup_f82e771dc1b69093 = function(arg0, arg1, arg2) { + arg0.setBindGroup(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_setBlendConstant_016723821cfb3aa4 = function(arg0, arg1) { + arg0.setBlendConstant(arg1); + }; + imports.wbg.__wbg_setIndexBuffer_286a40afdff411b7 = function(arg0, arg1, arg2, arg3) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3); + }; + imports.wbg.__wbg_setIndexBuffer_7efd0b7a40c65fb9 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3, arg4); + }; + imports.wbg.__wbg_setIndexBuffer_e091a9673bb575e2 = function(arg0, arg1, arg2, arg3) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3); + }; + imports.wbg.__wbg_setIndexBuffer_f0759f00036f615f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3, arg4); + }; + imports.wbg.__wbg_setPipeline_ba92070b8ee81cf9 = function(arg0, arg1) { + arg0.setPipeline(arg1); + }; + imports.wbg.__wbg_setPipeline_c344f76bae58c4d6 = function(arg0, arg1) { + arg0.setPipeline(arg1); + }; + imports.wbg.__wbg_setPipeline_d76451c50a121598 = function(arg0, arg1) { + arg0.setPipeline(arg1); + }; + imports.wbg.__wbg_setPointerCapture_6b89bc3d20c408af = function() { return handleError(function (arg0, arg1) { + arg0.setPointerCapture(arg1); + }, arguments) }; + imports.wbg.__wbg_setProperty_b11b0bad191551d1 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { + arg0.setProperty(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4)); + }, arguments) }; + imports.wbg.__wbg_setScissorRect_0b6ee0852ef0b6b9 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setScissorRect(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_setStencilReference_34fd3d59673a5a9d = function(arg0, arg1) { + arg0.setStencilReference(arg1 >>> 0); + }; + imports.wbg.__wbg_setTimeout_11f3c7cad8433a4f = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.setTimeout(arg1, arg2); + return ret; + }, arguments) }; + imports.wbg.__wbg_setTimeout_15ba883433c836ab = function() { return handleError(function (arg0, arg1) { + const ret = arg0.setTimeout(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_setVertexBuffer_06a90dc78e1ad9c4 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_setVertexBuffer_1540e9118b6c451d = function(arg0, arg1, arg2, arg3) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_setVertexBuffer_5166eedc06450701 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_setVertexBuffer_8621784e5014065b = function(arg0, arg1, arg2, arg3) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_setViewport_731ad30abb13f744 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setViewport(arg1, arg2, arg3, arg4, arg5, arg6); + }; + imports.wbg.__wbg_set_421385e996a16e02 = function() { return handleError(function (arg0, arg1, arg2) { + const ret = Reflect.set(arg0, arg1, arg2); + return ret; + }, arguments) }; + imports.wbg.__wbg_set_7b70226104a82921 = function(arg0, arg1, arg2) { + arg0.set(arg1, arg2 >>> 0); + }; + imports.wbg.__wbg_setbody_a548052400c35526 = function(arg0, arg1) { + arg0.body = arg1; + }; + imports.wbg.__wbg_setbox_f664fc1447c0b2bb = function(arg0, arg1) { + arg0.box = __wbindgen_enum_ResizeObserverBoxOptions[arg1]; + }; + imports.wbg.__wbg_setcredentials_6ae5f65d7ad22ffc = function(arg0, arg1) { + arg0.credentials = __wbindgen_enum_RequestCredentials[arg1]; + }; + imports.wbg.__wbg_setheaders_1f2d4c08004f4227 = function(arg0, arg1) { + arg0.headers = arg1; + }; + imports.wbg.__wbg_setheight_4286b13b9186d39f = function(arg0, arg1) { + arg0.height = arg1 >>> 0; + }; + imports.wbg.__wbg_setheight_7632621fed149fd9 = function(arg0, arg1) { + arg0.height = arg1 >>> 0; + }; + imports.wbg.__wbg_setmethod_c704d56d480d8580 = function(arg0, arg1, arg2) { + arg0.method = getStringFromWasm0(arg1, arg2); + }; + imports.wbg.__wbg_setmode_26f3e7a9f55ddb2d = function(arg0, arg1) { + arg0.mode = __wbindgen_enum_RequestMode[arg1]; + }; + imports.wbg.__wbg_setonmessage_1f177e6cba71d19d = function(arg0, arg1) { + arg0.onmessage = arg1; + }; + imports.wbg.__wbg_setonuncapturederror_19541466822d790b = function(arg0, arg1) { + arg0.onuncapturederror = arg1; + }; + imports.wbg.__wbg_setsignal_de26efe32c2e413d = function(arg0, arg1) { + arg0.signal = arg1; + }; + imports.wbg.__wbg_settabIndex_bc37dd560b089902 = function(arg0, arg1) { + arg0.tabIndex = arg1; + }; + imports.wbg.__wbg_settype_202db174d92fe493 = function(arg0, arg1, arg2) { + arg0.type = getStringFromWasm0(arg1, arg2); + }; + imports.wbg.__wbg_setwidth_5e43e6e177d3e2ec = function(arg0, arg1) { + arg0.width = arg1 >>> 0; + }; + imports.wbg.__wbg_setwidth_db46810857c0f6bd = function(arg0, arg1) { + arg0.width = arg1 >>> 0; + }; + imports.wbg.__wbg_shaderSource_7d9e91c6b9aaf864 = function(arg0, arg1, arg2, arg3) { + arg0.shaderSource(arg1, getStringFromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_shaderSource_b7db90958962e1f7 = function(arg0, arg1, arg2, arg3) { + arg0.shaderSource(arg1, getStringFromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_shiftKey_570898b1142a9898 = function(arg0) { + const ret = arg0.shiftKey; + return ret; + }; + imports.wbg.__wbg_shiftKey_e90da27a3092777e = function(arg0) { + const ret = arg0.shiftKey; + return ret; + }; + imports.wbg.__wbg_signal_fd2d6d0644f16ad8 = function(arg0) { + const ret = arg0.signal; + return ret; + }; + imports.wbg.__wbg_size_661bddb3f9898121 = function(arg0) { + const ret = arg0.size; + return ret; + }; + imports.wbg.__wbg_stack_0ed75d68575b0f3c = function(arg0, arg1) { + const ret = arg1.stack; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_start_a00c28f297559e1d = function(arg0) { + arg0.start(); + }; + imports.wbg.__wbg_status_5f9868b7ed8dd175 = function(arg0) { + const ret = arg0.status; + return ret; + }; + imports.wbg.__wbg_stencilFuncSeparate_903776516b404f1e = function(arg0, arg1, arg2, arg3, arg4) { + arg0.stencilFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3, arg4 >>> 0); + }; + imports.wbg.__wbg_stencilFuncSeparate_9987b0fe1f74adc3 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.stencilFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3, arg4 >>> 0); + }; + imports.wbg.__wbg_stencilMaskSeparate_24a5bad679d4896c = function(arg0, arg1, arg2) { + arg0.stencilMaskSeparate(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_stencilMaskSeparate_5ade706794e0ff10 = function(arg0, arg1, arg2) { + arg0.stencilMaskSeparate(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_stencilMask_8ccbc71e58e71b93 = function(arg0, arg1) { + arg0.stencilMask(arg1 >>> 0); + }; + imports.wbg.__wbg_stencilMask_e03561d8e6b7171a = function(arg0, arg1) { + arg0.stencilMask(arg1 >>> 0); + }; + imports.wbg.__wbg_stencilOpSeparate_13e313403862a2bc = function(arg0, arg1, arg2, arg3, arg4) { + arg0.stencilOpSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_stencilOpSeparate_e03fe45a6a83cf8f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.stencilOpSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_stringify_f5476f15b5654a07 = function() { return handleError(function (arg0) { + const ret = JSON.stringify(arg0); + return ret; + }, arguments) }; + imports.wbg.__wbg_style_e7c4e0938a7565b2 = function(arg0) { + const ret = arg0.style; + return ret; + }; + imports.wbg.__wbg_subarray_b4e9772c34a7f5ba = function(arg0, arg1, arg2) { + const ret = arg0.subarray(arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_submit_f635072bb3d05faa = function(arg0, arg1) { + arg0.submit(arg1); + }; + imports.wbg.__wbg_texImage2D_102612af3b3ea301 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texImage2D_38f7a3dc4dcf0183 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texImage3D_4828de4d80648b9d = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) { + arg0.texImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8 >>> 0, arg9 >>> 0, arg10); + }, arguments) }; + imports.wbg.__wbg_texParameteri_2cc96bb59a67d4c2 = function(arg0, arg1, arg2, arg3) { + arg0.texParameteri(arg1 >>> 0, arg2 >>> 0, arg3); + }; + imports.wbg.__wbg_texParameteri_8e4109b7fbd3b875 = function(arg0, arg1, arg2, arg3) { + arg0.texParameteri(arg1 >>> 0, arg2 >>> 0, arg3); + }; + imports.wbg.__wbg_texStorage2D_728b9632dbd913e2 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.texStorage2D(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_texStorage3D_04d10ef19e465ec2 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.texStorage3D(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5, arg6); + }; + imports.wbg.__wbg_texSubImage2D_0c095c30c73e34c0 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_3c9a9ceac3c27fe7 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_3dbb6fb895fd53a7 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_4e505a214a40fc20 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_7197aef4cdbc7d70 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_746d9e75d2dd12d1 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_ca1d7744b168aa02 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_da8455e8da280cee = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_82336f6100e3ef24 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_831e19830a791320 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_9623fc609df925f5 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_9a8cb5676fdf0b50 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_a18f6424082a9393 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_d127dad275801f75 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_ebd1f2b229a92c5d = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_text_693c6c8a197588c7 = function() { return handleError(function (arg0) { + const ret = arg0.text(); + return ret; + }, arguments) }; + imports.wbg.__wbg_then_5c6469c1e1da9e59 = function(arg0, arg1) { + const ret = arg0.then(arg1); + return ret; + }; + imports.wbg.__wbg_then_faeb8aed8c1629b7 = function(arg0, arg1, arg2) { + const ret = arg0.then(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_type_c0d5d83032e9858a = function(arg0) { + const ret = arg0.type; + return (__wbindgen_enum_GpuCompilationMessageType.indexOf(ret) + 1 || 4) - 1; + }; + imports.wbg.__wbg_uniform1f_163e6ffe0d9805a4 = function(arg0, arg1, arg2) { + arg0.uniform1f(arg1, arg2); + }; + imports.wbg.__wbg_uniform1f_bb85eb8ed9248e52 = function(arg0, arg1, arg2) { + arg0.uniform1f(arg1, arg2); + }; + imports.wbg.__wbg_uniform1i_9fe01b91ff85aa85 = function(arg0, arg1, arg2) { + arg0.uniform1i(arg1, arg2); + }; + imports.wbg.__wbg_uniform1i_da7c764279d55bb5 = function(arg0, arg1, arg2) { + arg0.uniform1i(arg1, arg2); + }; + imports.wbg.__wbg_uniform1ui_1cd8b5fee3b44787 = function(arg0, arg1, arg2) { + arg0.uniform1ui(arg1, arg2 >>> 0); + }; + imports.wbg.__wbg_uniform2fv_40e0cc0b3d7ab815 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform2fv_d7ec4f77d2282f77 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform2iv_6d1ed66fa019f1a6 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform2iv_b36969471f3bb8e2 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform2uiv_e5d292b09c7c2eb4 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2uiv(arg1, getArrayU32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3fv_4f40a7b75bcdeb91 = function(arg0, arg1, arg2, arg3) { + arg0.uniform3fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3fv_c6fea7086ffa568e = function(arg0, arg1, arg2, arg3) { + arg0.uniform3fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3iv_46cafa9a87333139 = function(arg0, arg1, arg2, arg3) { + arg0.uniform3iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3iv_c13167af320af60e = function(arg0, arg1, arg2, arg3) { + arg0.uniform3iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3uiv_7e60873d7a35f50b = function(arg0, arg1, arg2, arg3) { + arg0.uniform3uiv(arg1, getArrayU32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4f_2408c0a3b4a0941d = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.uniform4f(arg1, arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_uniform4f_4eebf85a05c60a16 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.uniform4f(arg1, arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_uniform4fv_7ecf41f27e0e71ec = function(arg0, arg1, arg2, arg3) { + arg0.uniform4fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4fv_c88b1733f9a40a7a = function(arg0, arg1, arg2, arg3) { + arg0.uniform4fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4iv_0ee5d566bd3880e4 = function(arg0, arg1, arg2, arg3) { + arg0.uniform4iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4iv_cd69e9451d767045 = function(arg0, arg1, arg2, arg3) { + arg0.uniform4iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4uiv_c55d0b6c672eaf59 = function(arg0, arg1, arg2, arg3) { + arg0.uniform4uiv(arg1, getArrayU32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniformBlockBinding_e646e98e7f5da8fa = function(arg0, arg1, arg2, arg3) { + arg0.uniformBlockBinding(arg1, arg2 >>> 0, arg3 >>> 0); + }; + imports.wbg.__wbg_uniformMatrix2fv_ae2d3b42477e00fd = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix2fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix2fv_d44126fac416e7e4 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix2fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix2x3fv_18d94e4451a372cc = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix2x3fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix2x4fv_c34a8a330e7c94bd = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix2x4fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix3fv_652493ea4042e14f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix3fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix3fv_a3b27e44f0ad7caa = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix3fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix3x2fv_1bc7685c610e2b46 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix3x2fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix3x4fv_c99cdce05d7ffca9 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix3x4fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix4fv_a5f6838f6e217418 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix4fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix4fv_bbdf3d84ccedee84 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix4fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix4x2fv_05ec6db042145650 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix4x2fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix4x3fv_c393892235ce0f8b = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix4x3fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_unmap_8c2e8131b2aaa844 = function(arg0) { + arg0.unmap(); + }; + imports.wbg.__wbg_unobserve_9198337c0c96042f = function(arg0, arg1) { + arg0.unobserve(arg1); + }; + imports.wbg.__wbg_url_ba6c16bbafb59895 = function(arg0, arg1) { + const ret = arg1.url; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_usage_13caa02888040e9f = function(arg0) { + const ret = arg0.usage; + return ret; + }; + imports.wbg.__wbg_useProgram_795e70e5047fcb65 = function(arg0, arg1) { + arg0.useProgram(arg1); + }; + imports.wbg.__wbg_useProgram_e84b53bf74bbe9b3 = function(arg0, arg1) { + arg0.useProgram(arg1); + }; + imports.wbg.__wbg_userAgentData_5e600df9bb352050 = function(arg0) { + const ret = arg0.userAgentData; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_userAgent_bfd54e5c60738678 = function() { return handleError(function (arg0, arg1) { + const ret = arg1.userAgent; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_valueOf_a2728b52687d72b4 = function(arg0) { + const ret = arg0.valueOf(); + return ret; + }; + imports.wbg.__wbg_value_30db1d77772f3236 = function(arg0) { + const ret = arg0.value; + return ret; + }; + imports.wbg.__wbg_versions_c71aa1626a93e0a1 = function(arg0) { + const ret = arg0.versions; + return ret; + }; + imports.wbg.__wbg_vertexAttribDivisorANGLE_78ad959056e0feb7 = function(arg0, arg1, arg2) { + arg0.vertexAttribDivisorANGLE(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_vertexAttribDivisor_bc3026299e814316 = function(arg0, arg1, arg2) { + arg0.vertexAttribDivisor(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_vertexAttribIPointer_4397ca04b895d127 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.vertexAttribIPointer(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_vertexAttribPointer_1738c34c1c0d57a0 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.vertexAttribPointer(arg1 >>> 0, arg2, arg3 >>> 0, arg4 !== 0, arg5, arg6); + }; + imports.wbg.__wbg_vertexAttribPointer_34a2b143ee35746f = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.vertexAttribPointer(arg1 >>> 0, arg2, arg3 >>> 0, arg4 !== 0, arg5, arg6); + }; + imports.wbg.__wbg_videoHeight_7d8449d4b1aad15d = function(arg0) { + const ret = arg0.videoHeight; + return ret; + }; + imports.wbg.__wbg_videoWidth_134d623b7b20f203 = function(arg0) { + const ret = arg0.videoWidth; + return ret; + }; + imports.wbg.__wbg_viewport_04c48fc077486d94 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.viewport(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_viewport_301bba26f65246ed = function(arg0, arg1, arg2, arg3, arg4) { + arg0.viewport(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_visibilityState_c2b01655a6777e68 = function(arg0) { + const ret = arg0.visibilityState; + return (__wbindgen_enum_VisibilityState.indexOf(ret) + 1 || 3) - 1; + }; + imports.wbg.__wbg_warn_a6963915e4da61f6 = function(arg0) { + console.warn(arg0); + }; + imports.wbg.__wbg_webkitFullscreenElement_0c4654cdfe6894e5 = function(arg0) { + const ret = arg0.webkitFullscreenElement; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_webkitRequestFullscreen_fe95241c4f21ea63 = function(arg0) { + arg0.webkitRequestFullscreen(); + }; + imports.wbg.__wbg_width_514dd9b3b0cff49c = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_551edb4bb900e3dd = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_826b25a505a0b357 = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_dfc6149b0c4d8821 = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_e9eedd46da897708 = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_ee6a46425045c0dd = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_window_1a23defd102c72f4 = function() { return handleError(function () { + const ret = window.window; + return ret; + }, arguments) }; + imports.wbg.__wbg_writeBuffer_5ca4981365eb5ac0 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.writeBuffer(arg1, arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_writeTexture_246118eb2f5a1592 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.writeTexture(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbindgen_boolean_get = function(arg0) { + const v = arg0; + const ret = typeof(v) === 'boolean' ? (v ? 1 : 0) : 2; + return ret; + }; + imports.wbg.__wbindgen_cb_drop = function(arg0) { + const obj = arg0.original; + if (obj.cnt-- == 1) { + obj.a = 0; + return true; + } + const ret = false; + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper3091 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 385, __wbg_adapter_36); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper5254 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 385, __wbg_adapter_36); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper5260 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 385, __wbg_adapter_36); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6667 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 385, __wbg_adapter_43); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6712 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 385, __wbg_adapter_36); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6729 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 385, __wbg_adapter_36); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6730 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 385, __wbg_adapter_36); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6731 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 385, __wbg_adapter_36); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6732 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 385, __wbg_adapter_36); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6733 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 385, __wbg_adapter_36); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6775 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 385, __wbg_adapter_36); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6776 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 385, __wbg_adapter_60); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6777 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 385, __wbg_adapter_36); + return ret; + }; + imports.wbg.__wbindgen_debug_string = function(arg0, arg1) { + const ret = debugString(arg1); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_init_externref_table = function() { + const table = wasm.__wbindgen_export_1; + const offset = table.grow(4); + table.set(0, undefined); + table.set(offset + 0, undefined); + table.set(offset + 1, null); + table.set(offset + 2, true); + table.set(offset + 3, false); + ; + }; + imports.wbg.__wbindgen_is_function = function(arg0) { + const ret = typeof(arg0) === 'function'; + return ret; + }; + imports.wbg.__wbindgen_is_null = function(arg0) { + const ret = arg0 === null; + return ret; + }; + imports.wbg.__wbindgen_is_object = function(arg0) { + const val = arg0; + const ret = typeof(val) === 'object' && val !== null; + return ret; + }; + imports.wbg.__wbindgen_is_string = function(arg0) { + const ret = typeof(arg0) === 'string'; + return ret; + }; + imports.wbg.__wbindgen_is_undefined = function(arg0) { + const ret = arg0 === undefined; + return ret; + }; + imports.wbg.__wbindgen_memory = function() { + const ret = wasm.memory; + return ret; + }; + imports.wbg.__wbindgen_number_get = function(arg0, arg1) { + const obj = arg1; + const ret = typeof(obj) === 'number' ? obj : undefined; + getDataViewMemory0().setFloat64(arg0 + 8 * 1, isLikeNone(ret) ? 0 : ret, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true); + }; + imports.wbg.__wbindgen_number_new = function(arg0) { + const ret = arg0; + return ret; + }; + imports.wbg.__wbindgen_string_get = function(arg0, arg1) { + const obj = arg1; + const ret = typeof(obj) === 'string' ? obj : undefined; + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_string_new = function(arg0, arg1) { + const ret = getStringFromWasm0(arg0, arg1); + return ret; + }; + imports.wbg.__wbindgen_throw = function(arg0, arg1) { + throw new Error(getStringFromWasm0(arg0, arg1)); + }; + imports['env'] = __wbg_star0; + + return imports; +} + +function __wbg_init_memory(imports, memory) { + +} + +function __wbg_finalize_init(instance, module) { + wasm = instance.exports; + __wbg_init.__wbindgen_wasm_module = module; + cachedDataViewMemory0 = null; + cachedFloat32ArrayMemory0 = null; + cachedInt32ArrayMemory0 = null; + cachedUint32ArrayMemory0 = null; + cachedUint8ArrayMemory0 = null; + + + wasm.__wbindgen_start(); + return wasm; +} + +function initSync(module) { + if (wasm !== undefined) return wasm; + + + if (typeof module !== 'undefined') { + if (Object.getPrototypeOf(module) === Object.prototype) { + ({module} = module) + } else { + console.warn('using deprecated parameters for `initSync()`; pass a single object instead') + } + } + + const imports = __wbg_get_imports(); + + __wbg_init_memory(imports); + + if (!(module instanceof WebAssembly.Module)) { + module = new WebAssembly.Module(module); + } + + const instance = new WebAssembly.Instance(module, imports); + + return __wbg_finalize_init(instance, module); +} + +async function __wbg_init(module_or_path) { + if (wasm !== undefined) return wasm; + + + if (typeof module_or_path !== 'undefined') { + if (Object.getPrototypeOf(module_or_path) === Object.prototype) { + ({module_or_path} = module_or_path) + } else { + console.warn('using deprecated parameters for the initialization function; pass a single object instead') + } + } + + if (typeof module_or_path === 'undefined') { + module_or_path = new URL('tutorial11-normals_bg.wasm', import.meta.url); + } + const imports = __wbg_get_imports(); + + if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) { + module_or_path = fetch(module_or_path); + } + + __wbg_init_memory(imports); + + const { instance, module } = await __wbg_load(await module_or_path, imports); + + return __wbg_finalize_init(instance, module); +} + +export { initSync }; +export default __wbg_init; diff --git a/wasm/tutorial11-normals_bg.wasm b/wasm/tutorial11-normals_bg.wasm new file mode 100644 index 00000000..d23a72fb Binary files /dev/null and b/wasm/tutorial11-normals_bg.wasm differ diff --git a/wasm/tutorial12-camera.js b/wasm/tutorial12-camera.js new file mode 100644 index 00000000..32db79ba --- /dev/null +++ b/wasm/tutorial12-camera.js @@ -0,0 +1,2752 @@ +import * as __wbg_star0 from 'env'; + +let wasm; + +function isLikeNone(x) { + return x === undefined || x === null; +} + +function addToExternrefTable0(obj) { + const idx = wasm.__externref_table_alloc(); + wasm.__wbindgen_export_1.set(idx, obj); + return idx; +} + +const cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : { decode: () => { throw Error('TextDecoder not available') } } ); + +if (typeof TextDecoder !== 'undefined') { cachedTextDecoder.decode(); }; + +let cachedUint8ArrayMemory0 = null; + +function getUint8ArrayMemory0() { + if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) { + cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer); + } + return cachedUint8ArrayMemory0; +} + +function getStringFromWasm0(ptr, len) { + ptr = ptr >>> 0; + return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len)); +} + +function handleError(f, args) { + try { + return f.apply(this, args); + } catch (e) { + const idx = addToExternrefTable0(e); + wasm.__wbindgen_exn_store(idx); + } +} + +let WASM_VECTOR_LEN = 0; + +const cachedTextEncoder = (typeof TextEncoder !== 'undefined' ? new TextEncoder('utf-8') : { encode: () => { throw Error('TextEncoder not available') } } ); + +const encodeString = (typeof cachedTextEncoder.encodeInto === 'function' + ? function (arg, view) { + return cachedTextEncoder.encodeInto(arg, view); +} + : function (arg, view) { + const buf = cachedTextEncoder.encode(arg); + view.set(buf); + return { + read: arg.length, + written: buf.length + }; +}); + +function passStringToWasm0(arg, malloc, realloc) { + + if (realloc === undefined) { + const buf = cachedTextEncoder.encode(arg); + const ptr = malloc(buf.length, 1) >>> 0; + getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf); + WASM_VECTOR_LEN = buf.length; + return ptr; + } + + let len = arg.length; + let ptr = malloc(len, 1) >>> 0; + + const mem = getUint8ArrayMemory0(); + + let offset = 0; + + for (; offset < len; offset++) { + const code = arg.charCodeAt(offset); + if (code > 0x7F) break; + mem[ptr + offset] = code; + } + + if (offset !== len) { + if (offset !== 0) { + arg = arg.slice(offset); + } + ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0; + const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len); + const ret = encodeString(arg, view); + + offset += ret.written; + ptr = realloc(ptr, len, offset, 1) >>> 0; + } + + WASM_VECTOR_LEN = offset; + return ptr; +} + +let cachedDataViewMemory0 = null; + +function getDataViewMemory0() { + if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) { + cachedDataViewMemory0 = new DataView(wasm.memory.buffer); + } + return cachedDataViewMemory0; +} + +let cachedFloat32ArrayMemory0 = null; + +function getFloat32ArrayMemory0() { + if (cachedFloat32ArrayMemory0 === null || cachedFloat32ArrayMemory0.byteLength === 0) { + cachedFloat32ArrayMemory0 = new Float32Array(wasm.memory.buffer); + } + return cachedFloat32ArrayMemory0; +} + +function getArrayF32FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getFloat32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len); +} + +let cachedInt32ArrayMemory0 = null; + +function getInt32ArrayMemory0() { + if (cachedInt32ArrayMemory0 === null || cachedInt32ArrayMemory0.byteLength === 0) { + cachedInt32ArrayMemory0 = new Int32Array(wasm.memory.buffer); + } + return cachedInt32ArrayMemory0; +} + +function getArrayI32FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getInt32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len); +} + +let cachedUint32ArrayMemory0 = null; + +function getUint32ArrayMemory0() { + if (cachedUint32ArrayMemory0 === null || cachedUint32ArrayMemory0.byteLength === 0) { + cachedUint32ArrayMemory0 = new Uint32Array(wasm.memory.buffer); + } + return cachedUint32ArrayMemory0; +} + +function getArrayU32FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getUint32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len); +} + +const CLOSURE_DTORS = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(state => { + wasm.__wbindgen_export_6.get(state.dtor)(state.a, state.b) +}); + +function makeMutClosure(arg0, arg1, dtor, f) { + const state = { a: arg0, b: arg1, cnt: 1, dtor }; + const real = (...args) => { + // First up with a closure we increment the internal reference + // count. This ensures that the Rust closure environment won't + // be deallocated while we're invoking it. + state.cnt++; + const a = state.a; + state.a = 0; + try { + return f(a, state.b, ...args); + } finally { + if (--state.cnt === 0) { + wasm.__wbindgen_export_6.get(state.dtor)(a, state.b); + CLOSURE_DTORS.unregister(state); + } else { + state.a = a; + } + } + }; + real.original = state; + CLOSURE_DTORS.register(real, state, state); + return real; +} + +function debugString(val) { + // primitive types + const type = typeof val; + if (type == 'number' || type == 'boolean' || val == null) { + return `${val}`; + } + if (type == 'string') { + return `"${val}"`; + } + if (type == 'symbol') { + const description = val.description; + if (description == null) { + return 'Symbol'; + } else { + return `Symbol(${description})`; + } + } + if (type == 'function') { + const name = val.name; + if (typeof name == 'string' && name.length > 0) { + return `Function(${name})`; + } else { + return 'Function'; + } + } + // objects + if (Array.isArray(val)) { + const length = val.length; + let debug = '['; + if (length > 0) { + debug += debugString(val[0]); + } + for(let i = 1; i < length; i++) { + debug += ', ' + debugString(val[i]); + } + debug += ']'; + return debug; + } + // Test for built-in + const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val)); + let className; + if (builtInMatches && builtInMatches.length > 1) { + className = builtInMatches[1]; + } else { + // Failed to match the standard '[object ClassName]' + return toString.call(val); + } + if (className == 'Object') { + // we're a user defined class or Object + // JSON.stringify avoids problems with cycles, and is generally much + // easier than looping through ownProperties of `val`. + try { + return 'Object(' + JSON.stringify(val) + ')'; + } catch (_) { + return 'Object'; + } + } + // errors + if (val instanceof Error) { + return `${val.name}: ${val.message}\n${val.stack}`; + } + // TODO we could test for more things here, like `Set`s and `Map`s. + return className; +} +function __wbg_adapter_36(arg0, arg1, arg2) { + wasm.closure389_externref_shim(arg0, arg1, arg2); +} + +function __wbg_adapter_43(arg0, arg1) { + wasm._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hc2a92dab5895dab9(arg0, arg1); +} + +function __wbg_adapter_60(arg0, arg1, arg2, arg3) { + wasm.closure888_externref_shim(arg0, arg1, arg2, arg3); +} + +const __wbindgen_enum_GpuCompilationMessageType = ["error", "warning", "info"]; + +const __wbindgen_enum_GpuDeviceLostReason = ["unknown", "destroyed"]; + +const __wbindgen_enum_GpuErrorFilter = ["validation", "out-of-memory", "internal"]; + +const __wbindgen_enum_GpuIndexFormat = ["uint16", "uint32"]; + +const __wbindgen_enum_GpuTextureFormat = ["r8unorm", "r8snorm", "r8uint", "r8sint", "r16uint", "r16sint", "r16float", "rg8unorm", "rg8snorm", "rg8uint", "rg8sint", "r32uint", "r32sint", "r32float", "rg16uint", "rg16sint", "rg16float", "rgba8unorm", "rgba8unorm-srgb", "rgba8snorm", "rgba8uint", "rgba8sint", "bgra8unorm", "bgra8unorm-srgb", "rgb9e5ufloat", "rgb10a2uint", "rgb10a2unorm", "rg11b10ufloat", "rg32uint", "rg32sint", "rg32float", "rgba16uint", "rgba16sint", "rgba16float", "rgba32uint", "rgba32sint", "rgba32float", "stencil8", "depth16unorm", "depth24plus", "depth24plus-stencil8", "depth32float", "depth32float-stencil8", "bc1-rgba-unorm", "bc1-rgba-unorm-srgb", "bc2-rgba-unorm", "bc2-rgba-unorm-srgb", "bc3-rgba-unorm", "bc3-rgba-unorm-srgb", "bc4-r-unorm", "bc4-r-snorm", "bc5-rg-unorm", "bc5-rg-snorm", "bc6h-rgb-ufloat", "bc6h-rgb-float", "bc7-rgba-unorm", "bc7-rgba-unorm-srgb", "etc2-rgb8unorm", "etc2-rgb8unorm-srgb", "etc2-rgb8a1unorm", "etc2-rgb8a1unorm-srgb", "etc2-rgba8unorm", "etc2-rgba8unorm-srgb", "eac-r11unorm", "eac-r11snorm", "eac-rg11unorm", "eac-rg11snorm", "astc-4x4-unorm", "astc-4x4-unorm-srgb", "astc-5x4-unorm", "astc-5x4-unorm-srgb", "astc-5x5-unorm", "astc-5x5-unorm-srgb", "astc-6x5-unorm", "astc-6x5-unorm-srgb", "astc-6x6-unorm", "astc-6x6-unorm-srgb", "astc-8x5-unorm", "astc-8x5-unorm-srgb", "astc-8x6-unorm", "astc-8x6-unorm-srgb", "astc-8x8-unorm", "astc-8x8-unorm-srgb", "astc-10x5-unorm", "astc-10x5-unorm-srgb", "astc-10x6-unorm", "astc-10x6-unorm-srgb", "astc-10x8-unorm", "astc-10x8-unorm-srgb", "astc-10x10-unorm", "astc-10x10-unorm-srgb", "astc-12x10-unorm", "astc-12x10-unorm-srgb", "astc-12x12-unorm", "astc-12x12-unorm-srgb"]; + +const __wbindgen_enum_RequestCredentials = ["omit", "same-origin", "include"]; + +const __wbindgen_enum_RequestMode = ["same-origin", "no-cors", "cors", "navigate"]; + +const __wbindgen_enum_ResizeObserverBoxOptions = ["border-box", "content-box", "device-pixel-content-box"]; + +const __wbindgen_enum_VisibilityState = ["hidden", "visible"]; + +async function __wbg_load(module, imports) { + if (typeof Response === 'function' && module instanceof Response) { + if (typeof WebAssembly.instantiateStreaming === 'function') { + try { + return await WebAssembly.instantiateStreaming(module, imports); + + } catch (e) { + if (module.headers.get('Content-Type') != 'application/wasm') { + console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e); + + } else { + throw e; + } + } + } + + const bytes = await module.arrayBuffer(); + return await WebAssembly.instantiate(bytes, imports); + + } else { + const instance = await WebAssembly.instantiate(module, imports); + + if (instance instanceof WebAssembly.Instance) { + return { instance, module }; + + } else { + return instance; + } + } +} + +function __wbg_get_imports() { + const imports = {}; + imports.wbg = {}; + imports.wbg.__wbg_Window_96e58b3552ce6bb1 = function(arg0) { + const ret = arg0.Window; + return ret; + }; + imports.wbg.__wbg_Window_cf5b693340a7c469 = function(arg0) { + const ret = arg0.Window; + return ret; + }; + imports.wbg.__wbg_WorkerGlobalScope_354364d1b0bd06e5 = function(arg0) { + const ret = arg0.WorkerGlobalScope; + return ret; + }; + imports.wbg.__wbg_abort_19de2f828ee0874a = function(arg0) { + arg0.abort(); + }; + imports.wbg.__wbg_activeElement_d1a1f2b334adf636 = function(arg0) { + const ret = arg0.activeElement; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_activeTexture_24b42b03041f3428 = function(arg0, arg1) { + arg0.activeTexture(arg1 >>> 0); + }; + imports.wbg.__wbg_activeTexture_47928613532be667 = function(arg0, arg1) { + arg0.activeTexture(arg1 >>> 0); + }; + imports.wbg.__wbg_addEventListener_e27053e488770e58 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + arg0.addEventListener(getStringFromWasm0(arg1, arg2), arg3); + }, arguments) }; + imports.wbg.__wbg_addListener_dca1ccc036e24997 = function() { return handleError(function (arg0, arg1) { + arg0.addListener(arg1); + }, arguments) }; + imports.wbg.__wbg_altKey_56dd0987e7ccbbf2 = function(arg0) { + const ret = arg0.altKey; + return ret; + }; + imports.wbg.__wbg_altKey_583c79ba3f4fce1e = function(arg0) { + const ret = arg0.altKey; + return ret; + }; + imports.wbg.__wbg_animate_310f1b8e5b1fdb56 = function(arg0, arg1, arg2) { + const ret = arg0.animate(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_appendChild_805222aed73feea9 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.appendChild(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_append_daea8d1dbe91d314 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { + arg0.append(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4)); + }, arguments) }; + imports.wbg.__wbg_arrayBuffer_d004045654bdb712 = function() { return handleError(function (arg0) { + const ret = arg0.arrayBuffer(); + return ret; + }, arguments) }; + imports.wbg.__wbg_attachShader_81000b0c4da5b206 = function(arg0, arg1, arg2) { + arg0.attachShader(arg1, arg2); + }; + imports.wbg.__wbg_attachShader_ccc35921e866b2bf = function(arg0, arg1, arg2) { + arg0.attachShader(arg1, arg2); + }; + imports.wbg.__wbg_beginComputePass_90d5303e604970cb = function(arg0, arg1) { + const ret = arg0.beginComputePass(arg1); + return ret; + }; + imports.wbg.__wbg_beginQuery_4e54bbe77706fb3c = function(arg0, arg1, arg2) { + arg0.beginQuery(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_beginRenderPass_9739520c601001c3 = function(arg0, arg1) { + const ret = arg0.beginRenderPass(arg1); + return ret; + }; + imports.wbg.__wbg_bindAttribLocation_a08ae4fdf9b16e7d = function(arg0, arg1, arg2, arg3, arg4) { + arg0.bindAttribLocation(arg1, arg2 >>> 0, getStringFromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_bindAttribLocation_b53db53e1b134420 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.bindAttribLocation(arg1, arg2 >>> 0, getStringFromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_bindBufferRange_ce5a2827ed937112 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.bindBufferRange(arg1 >>> 0, arg2 >>> 0, arg3, arg4, arg5); + }; + imports.wbg.__wbg_bindBuffer_0fedb16582ffeee6 = function(arg0, arg1, arg2) { + arg0.bindBuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindBuffer_c6e5f29d60e90c01 = function(arg0, arg1, arg2) { + arg0.bindBuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindFramebuffer_87e15614ca3e9537 = function(arg0, arg1, arg2) { + arg0.bindFramebuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindFramebuffer_a0d602bd474dcbfb = function(arg0, arg1, arg2) { + arg0.bindFramebuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindRenderbuffer_3100396894cc2d72 = function(arg0, arg1, arg2) { + arg0.bindRenderbuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindRenderbuffer_fd3e47dad76906ea = function(arg0, arg1, arg2) { + arg0.bindRenderbuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindSampler_7614054a94f8e3d1 = function(arg0, arg1, arg2) { + arg0.bindSampler(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindTexture_6478edbb238b9c73 = function(arg0, arg1, arg2) { + arg0.bindTexture(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindTexture_9b177c97248ed4d9 = function(arg0, arg1, arg2) { + arg0.bindTexture(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindVertexArrayOES_e81fca007d08d0db = function(arg0, arg1) { + arg0.bindVertexArrayOES(arg1); + }; + imports.wbg.__wbg_bindVertexArray_d9082254ff3bcc13 = function(arg0, arg1) { + arg0.bindVertexArray(arg1); + }; + imports.wbg.__wbg_blendColor_075aa544f1fe84c5 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.blendColor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_blendColor_ed292080d5966f2c = function(arg0, arg1, arg2, arg3, arg4) { + arg0.blendColor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_blendEquationSeparate_3dbbe20b0a9fa818 = function(arg0, arg1, arg2) { + arg0.blendEquationSeparate(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_blendEquationSeparate_d360393d3b1557cd = function(arg0, arg1, arg2) { + arg0.blendEquationSeparate(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_blendEquation_41f4ed79f5ddd25c = function(arg0, arg1) { + arg0.blendEquation(arg1 >>> 0); + }; + imports.wbg.__wbg_blendEquation_8804e10c9ced3fc4 = function(arg0, arg1) { + arg0.blendEquation(arg1 >>> 0); + }; + imports.wbg.__wbg_blendFuncSeparate_2cc7ac2397290a15 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.blendFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_blendFuncSeparate_c6c035b0094bd58f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.blendFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_blendFunc_63aca14ff3252b59 = function(arg0, arg1, arg2) { + arg0.blendFunc(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_blendFunc_8e1cfba50a4eea89 = function(arg0, arg1, arg2) { + arg0.blendFunc(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_blitFramebuffer_171b9355e4e730c9 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) { + arg0.blitFramebuffer(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0); + }; + imports.wbg.__wbg_blockSize_e0006fb003814895 = function(arg0) { + const ret = arg0.blockSize; + return ret; + }; + imports.wbg.__wbg_body_83d4bc4961a422aa = function(arg0) { + const ret = arg0.body; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_brand_67e4f3d950154d0a = function(arg0, arg1) { + const ret = arg1.brand; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_brands_1ec54d613da9db02 = function(arg0) { + const ret = arg0.brands; + return ret; + }; + imports.wbg.__wbg_bufferData_2a747a2c2c3b23b5 = function(arg0, arg1, arg2, arg3) { + arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0); + }; + imports.wbg.__wbg_bufferData_5b85d77150f6520a = function(arg0, arg1, arg2, arg3) { + arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0); + }; + imports.wbg.__wbg_bufferData_b03654fb80052afe = function(arg0, arg1, arg2, arg3) { + arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0); + }; + imports.wbg.__wbg_bufferData_c2eb7dbb2ea2ab3f = function(arg0, arg1, arg2, arg3) { + arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0); + }; + imports.wbg.__wbg_bufferSubData_8a7d35c05111a120 = function(arg0, arg1, arg2, arg3) { + arg0.bufferSubData(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_bufferSubData_c4b11388b9eb4175 = function(arg0, arg1, arg2, arg3) { + arg0.bufferSubData(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_buffer_6e1d53ff183194fc = function(arg0) { + const ret = arg0.buffer; + return ret; + }; + imports.wbg.__wbg_buffer_ffdeb2ee67420f9e = function(arg0) { + const ret = arg0.buffer; + return ret; + }; + imports.wbg.__wbg_button_db48f93638c59f95 = function(arg0) { + const ret = arg0.button; + return ret; + }; + imports.wbg.__wbg_buttons_b962d6dc116cd1a5 = function(arg0) { + const ret = arg0.buttons; + return ret; + }; + imports.wbg.__wbg_call_0411c0c3c424db9a = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.call(arg1, arg2); + return ret; + }, arguments) }; + imports.wbg.__wbg_call_3114932863209ca6 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.call(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_cancelAnimationFrame_f1ad512e269ea165 = function() { return handleError(function (arg0, arg1) { + arg0.cancelAnimationFrame(arg1); + }, arguments) }; + imports.wbg.__wbg_cancelIdleCallback_bcc2dc9be9de0744 = function(arg0, arg1) { + arg0.cancelIdleCallback(arg1 >>> 0); + }; + imports.wbg.__wbg_cancel_3b69067dcdf7ffb7 = function(arg0) { + arg0.cancel(); + }; + imports.wbg.__wbg_catch_9da7d002aa356f1d = function(arg0, arg1) { + const ret = arg0.catch(arg1); + return ret; + }; + imports.wbg.__wbg_clearBuffer_6164fc25d22b25cc = function(arg0, arg1, arg2, arg3) { + arg0.clearBuffer(arg1, arg2, arg3); + }; + imports.wbg.__wbg_clearBuffer_cfcaaf1fb2baa885 = function(arg0, arg1, arg2) { + arg0.clearBuffer(arg1, arg2); + }; + imports.wbg.__wbg_clearBufferfv_2cf04e18ef87ed90 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.clearBufferfv(arg1 >>> 0, arg2, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_clearBufferiv_b45be02e57957dad = function(arg0, arg1, arg2, arg3, arg4) { + arg0.clearBufferiv(arg1 >>> 0, arg2, getArrayI32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_clearBufferuiv_deca83038abb23d2 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.clearBufferuiv(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_clearDepth_14d34daa30215440 = function(arg0, arg1) { + arg0.clearDepth(arg1); + }; + imports.wbg.__wbg_clearDepth_1cdcb08d8a5afa49 = function(arg0, arg1) { + arg0.clearDepth(arg1); + }; + imports.wbg.__wbg_clearStencil_e2c8b1892d5e033d = function(arg0, arg1) { + arg0.clearStencil(arg1); + }; + imports.wbg.__wbg_clearStencil_f3138d2e338d1436 = function(arg0, arg1) { + arg0.clearStencil(arg1); + }; + imports.wbg.__wbg_clearTimeout_da4408c46e51bc7a = function(arg0, arg1) { + arg0.clearTimeout(arg1); + }; + imports.wbg.__wbg_clear_4e68091e616c29ad = function(arg0, arg1) { + arg0.clear(arg1 >>> 0); + }; + imports.wbg.__wbg_clear_af7641961d766f51 = function(arg0, arg1) { + arg0.clear(arg1 >>> 0); + }; + imports.wbg.__wbg_clientWaitSync_2c4c0bd3a8d3536b = function(arg0, arg1, arg2, arg3) { + const ret = arg0.clientWaitSync(arg1, arg2 >>> 0, arg3 >>> 0); + return ret; + }; + imports.wbg.__wbg_close_35d643897b189a00 = function(arg0) { + arg0.close(); + }; + imports.wbg.__wbg_code_d8226b2133366406 = function(arg0, arg1) { + const ret = arg1.code; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_colorMask_22d850d91e89df9f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.colorMask(arg1 !== 0, arg2 !== 0, arg3 !== 0, arg4 !== 0); + }; + imports.wbg.__wbg_colorMask_a6068fae89c17ceb = function(arg0, arg1, arg2, arg3, arg4) { + arg0.colorMask(arg1 !== 0, arg2 !== 0, arg3 !== 0, arg4 !== 0); + }; + imports.wbg.__wbg_compileShader_5e41ecd397194c21 = function(arg0, arg1) { + arg0.compileShader(arg1); + }; + imports.wbg.__wbg_compileShader_6868fa6a842f0911 = function(arg0, arg1) { + arg0.compileShader(arg1); + }; + imports.wbg.__wbg_compressedTexSubImage2D_216f6eec167da8d7 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + arg0.compressedTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8); + }; + imports.wbg.__wbg_compressedTexSubImage2D_4b50d2a94bf4ea60 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.compressedTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8, arg9); + }; + imports.wbg.__wbg_compressedTexSubImage2D_9b0c2c785026006a = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + arg0.compressedTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8); + }; + imports.wbg.__wbg_compressedTexSubImage3D_8102ea4403fef5ce = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) { + arg0.compressedTexSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10); + }; + imports.wbg.__wbg_compressedTexSubImage3D_bf2bdb940e26bc8c = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.compressedTexSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10, arg11); + }; + imports.wbg.__wbg_configure_2414aed971d368cd = function(arg0, arg1) { + arg0.configure(arg1); + }; + imports.wbg.__wbg_contains_6947e163e2a3c092 = function(arg0, arg1) { + const ret = arg0.contains(arg1); + return ret; + }; + imports.wbg.__wbg_contentRect_7aaa87e16fd2882d = function(arg0) { + const ret = arg0.contentRect; + return ret; + }; + imports.wbg.__wbg_copyBufferSubData_ff213d67aa3b1f82 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.copyBufferSubData(arg1 >>> 0, arg2 >>> 0, arg3, arg4, arg5); + }; + imports.wbg.__wbg_copyBufferToBuffer_1ba67191114656a1 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.copyBufferToBuffer(arg1, arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_copyBufferToTexture_878d31d479e48f28 = function(arg0, arg1, arg2, arg3) { + arg0.copyBufferToTexture(arg1, arg2, arg3); + }; + imports.wbg.__wbg_copyExternalImageToTexture_7878d196c0b60d39 = function(arg0, arg1, arg2, arg3) { + arg0.copyExternalImageToTexture(arg1, arg2, arg3); + }; + imports.wbg.__wbg_copyTexSubImage2D_4b37e79c31b798b1 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + arg0.copyTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + }; + imports.wbg.__wbg_copyTexSubImage2D_a29106dfb31dd17c = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + arg0.copyTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + }; + imports.wbg.__wbg_copyTexSubImage3D_f8350e268c143688 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.copyTexSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); + }; + imports.wbg.__wbg_copyTextureToBuffer_6a8fe0e90f0a663d = function(arg0, arg1, arg2, arg3) { + arg0.copyTextureToBuffer(arg1, arg2, arg3); + }; + imports.wbg.__wbg_copyTextureToTexture_0a06a393d6726b4a = function(arg0, arg1, arg2, arg3) { + arg0.copyTextureToTexture(arg1, arg2, arg3); + }; + imports.wbg.__wbg_createBindGroupLayout_1d93b6d41c87ba9d = function(arg0, arg1) { + const ret = arg0.createBindGroupLayout(arg1); + return ret; + }; + imports.wbg.__wbg_createBindGroup_61cd07ec9d423432 = function(arg0, arg1) { + const ret = arg0.createBindGroup(arg1); + return ret; + }; + imports.wbg.__wbg_createBuffer_1e646d14cebbb438 = function(arg0) { + const ret = arg0.createBuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createBuffer_2a696fb8c0d07970 = function(arg0) { + const ret = arg0.createBuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createBuffer_963aa00d5fe859e4 = function(arg0, arg1) { + const ret = arg0.createBuffer(arg1); + return ret; + }; + imports.wbg.__wbg_createCommandEncoder_f0e1613e9a2dc1eb = function(arg0, arg1) { + const ret = arg0.createCommandEncoder(arg1); + return ret; + }; + imports.wbg.__wbg_createComputePipeline_b9616b9fe2f4eb2f = function(arg0, arg1) { + const ret = arg0.createComputePipeline(arg1); + return ret; + }; + imports.wbg.__wbg_createElement_22b48bfb31a0c20e = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.createElement(getStringFromWasm0(arg1, arg2)); + return ret; + }, arguments) }; + imports.wbg.__wbg_createFramebuffer_163e192e1e53ec9b = function(arg0) { + const ret = arg0.createFramebuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createFramebuffer_1aa54479f7524ef5 = function(arg0) { + const ret = arg0.createFramebuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createObjectURL_06505af3e8787cc8 = function() { return handleError(function (arg0, arg1) { + const ret = URL.createObjectURL(arg1); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_createPipelineLayout_56c6cf983f892d2b = function(arg0, arg1) { + const ret = arg0.createPipelineLayout(arg1); + return ret; + }; + imports.wbg.__wbg_createProgram_5a5a92d23fdc2f1a = function(arg0) { + const ret = arg0.createProgram(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createProgram_b75025f0f1a4ef55 = function(arg0) { + const ret = arg0.createProgram(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createQuerySet_c14be802adf7c207 = function(arg0, arg1) { + const ret = arg0.createQuerySet(arg1); + return ret; + }; + imports.wbg.__wbg_createQuery_2816e95a473b5501 = function(arg0) { + const ret = arg0.createQuery(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createRenderBundleEncoder_8e4bdffea72f8c1f = function(arg0, arg1) { + const ret = arg0.createRenderBundleEncoder(arg1); + return ret; + }; + imports.wbg.__wbg_createRenderPipeline_079a88a0601fcce1 = function(arg0, arg1) { + const ret = arg0.createRenderPipeline(arg1); + return ret; + }; + imports.wbg.__wbg_createRenderbuffer_29e130c03bc689d3 = function(arg0) { + const ret = arg0.createRenderbuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createRenderbuffer_b10004ae18d38014 = function(arg0) { + const ret = arg0.createRenderbuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createSampler_50ae7c4dd1f9b066 = function(arg0) { + const ret = arg0.createSampler(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createSampler_ef5578990df3baf7 = function(arg0, arg1) { + const ret = arg0.createSampler(arg1); + return ret; + }; + imports.wbg.__wbg_createShaderModule_17f451ea25cae47c = function(arg0, arg1) { + const ret = arg0.createShaderModule(arg1); + return ret; + }; + imports.wbg.__wbg_createShader_29c8e06db7e7211f = function(arg0, arg1) { + const ret = arg0.createShader(arg1 >>> 0); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createShader_8c3053457f874cdd = function(arg0, arg1) { + const ret = arg0.createShader(arg1 >>> 0); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createTexture_01cc1cd2fea732d9 = function(arg0, arg1) { + const ret = arg0.createTexture(arg1); + return ret; + }; + imports.wbg.__wbg_createTexture_20f63b261993f581 = function(arg0) { + const ret = arg0.createTexture(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createTexture_facd2df68d8d0276 = function(arg0) { + const ret = arg0.createTexture(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createVertexArrayOES_89f45f4a4fde395f = function(arg0) { + const ret = arg0.createVertexArrayOES(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createVertexArray_70d7c4c62e00613d = function(arg0) { + const ret = arg0.createVertexArray(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createView_04701884291e1ccc = function(arg0, arg1) { + const ret = arg0.createView(arg1); + return ret; + }; + imports.wbg.__wbg_crypto_ed58b8e10a292839 = function(arg0) { + const ret = arg0.crypto; + return ret; + }; + imports.wbg.__wbg_ctrlKey_60b29e015a543678 = function(arg0) { + const ret = arg0.ctrlKey; + return ret; + }; + imports.wbg.__wbg_ctrlKey_ab341328ab202d37 = function(arg0) { + const ret = arg0.ctrlKey; + return ret; + }; + imports.wbg.__wbg_cullFace_96a9dca4a5b1ca33 = function(arg0, arg1) { + arg0.cullFace(arg1 >>> 0); + }; + imports.wbg.__wbg_cullFace_99bb4e31c974596d = function(arg0, arg1) { + arg0.cullFace(arg1 >>> 0); + }; + imports.wbg.__wbg_debug_347b3d1f33e1c28e = function(arg0) { + console.debug(arg0); + }; + imports.wbg.__wbg_deleteBuffer_9d705222a7e77a7b = function(arg0, arg1) { + arg0.deleteBuffer(arg1); + }; + imports.wbg.__wbg_deleteBuffer_db0d7ecbaa97fa56 = function(arg0, arg1) { + arg0.deleteBuffer(arg1); + }; + imports.wbg.__wbg_deleteFramebuffer_69db238ea6b8a9a1 = function(arg0, arg1) { + arg0.deleteFramebuffer(arg1); + }; + imports.wbg.__wbg_deleteFramebuffer_ecf398bec452aaf9 = function(arg0, arg1) { + arg0.deleteFramebuffer(arg1); + }; + imports.wbg.__wbg_deleteProgram_cb18e0020d488bad = function(arg0, arg1) { + arg0.deleteProgram(arg1); + }; + imports.wbg.__wbg_deleteProgram_e1a6c4b922e202e3 = function(arg0, arg1) { + arg0.deleteProgram(arg1); + }; + imports.wbg.__wbg_deleteQuery_e083394da1710d6c = function(arg0, arg1) { + arg0.deleteQuery(arg1); + }; + imports.wbg.__wbg_deleteRenderbuffer_05fa7f35ea76cafd = function(arg0, arg1) { + arg0.deleteRenderbuffer(arg1); + }; + imports.wbg.__wbg_deleteRenderbuffer_2f1216e54aa2f248 = function(arg0, arg1) { + arg0.deleteRenderbuffer(arg1); + }; + imports.wbg.__wbg_deleteSampler_e5c61c85993f9a69 = function(arg0, arg1) { + arg0.deleteSampler(arg1); + }; + imports.wbg.__wbg_deleteShader_257caf93b24ac555 = function(arg0, arg1) { + arg0.deleteShader(arg1); + }; + imports.wbg.__wbg_deleteShader_fb86028e46cb069b = function(arg0, arg1) { + arg0.deleteShader(arg1); + }; + imports.wbg.__wbg_deleteSync_b5caedf06185d972 = function(arg0, arg1) { + arg0.deleteSync(arg1); + }; + imports.wbg.__wbg_deleteTexture_6913f682a09c8171 = function(arg0, arg1) { + arg0.deleteTexture(arg1); + }; + imports.wbg.__wbg_deleteTexture_a29655740b1cbe33 = function(arg0, arg1) { + arg0.deleteTexture(arg1); + }; + imports.wbg.__wbg_deleteVertexArrayOES_2def7ce37f8e89f2 = function(arg0, arg1) { + arg0.deleteVertexArrayOES(arg1); + }; + imports.wbg.__wbg_deleteVertexArray_a3bca8e15204ffed = function(arg0, arg1) { + arg0.deleteVertexArray(arg1); + }; + imports.wbg.__wbg_deltaMode_a4cc321212f87817 = function(arg0) { + const ret = arg0.deltaMode; + return ret; + }; + imports.wbg.__wbg_deltaX_27e2939a1af8c940 = function(arg0) { + const ret = arg0.deltaX; + return ret; + }; + imports.wbg.__wbg_deltaY_4bb52a4f0a7ad28b = function(arg0) { + const ret = arg0.deltaY; + return ret; + }; + imports.wbg.__wbg_depthFunc_657dd592930e7f2f = function(arg0, arg1) { + arg0.depthFunc(arg1 >>> 0); + }; + imports.wbg.__wbg_depthFunc_f9fd44a07ea8398e = function(arg0, arg1) { + arg0.depthFunc(arg1 >>> 0); + }; + imports.wbg.__wbg_depthMask_87195357e4f7df17 = function(arg0, arg1) { + arg0.depthMask(arg1 !== 0); + }; + imports.wbg.__wbg_depthMask_bac7f6b455b6ddeb = function(arg0, arg1) { + arg0.depthMask(arg1 !== 0); + }; + imports.wbg.__wbg_depthRange_d947e824a28dc9a1 = function(arg0, arg1, arg2) { + arg0.depthRange(arg1, arg2); + }; + imports.wbg.__wbg_depthRange_f71c79182f666e45 = function(arg0, arg1, arg2) { + arg0.depthRange(arg1, arg2); + }; + imports.wbg.__wbg_destroy_35f94012e5bb9c17 = function(arg0) { + arg0.destroy(); + }; + imports.wbg.__wbg_destroy_767d9dde1008e293 = function(arg0) { + arg0.destroy(); + }; + imports.wbg.__wbg_destroy_c6af4226dda95dbd = function(arg0) { + arg0.destroy(); + }; + imports.wbg.__wbg_devicePixelContentBoxSize_1ea2c6145730b8c0 = function(arg0) { + const ret = arg0.devicePixelContentBoxSize; + return ret; + }; + imports.wbg.__wbg_devicePixelRatio_f4eb7cbe3a812de0 = function(arg0) { + const ret = arg0.devicePixelRatio; + return ret; + }; + imports.wbg.__wbg_disableVertexAttribArray_c513f1fff3cb73f2 = function(arg0, arg1) { + arg0.disableVertexAttribArray(arg1 >>> 0); + }; + imports.wbg.__wbg_disableVertexAttribArray_e7ff41dc0c3eaf1f = function(arg0, arg1) { + arg0.disableVertexAttribArray(arg1 >>> 0); + }; + imports.wbg.__wbg_disable_4c1cedffa6646166 = function(arg0, arg1) { + arg0.disable(arg1 >>> 0); + }; + imports.wbg.__wbg_disable_5320561e5cb15f08 = function(arg0, arg1) { + arg0.disable(arg1 >>> 0); + }; + imports.wbg.__wbg_disconnect_8b7c928b6057719b = function(arg0) { + arg0.disconnect(); + }; + imports.wbg.__wbg_disconnect_c45e8044053eddf3 = function(arg0) { + arg0.disconnect(); + }; + imports.wbg.__wbg_dispatchWorkgroupsIndirect_8b25efab93a7a433 = function(arg0, arg1, arg2) { + arg0.dispatchWorkgroupsIndirect(arg1, arg2); + }; + imports.wbg.__wbg_dispatchWorkgroups_c102fa81b955935d = function(arg0, arg1, arg2, arg3) { + arg0.dispatchWorkgroups(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0); + }; + imports.wbg.__wbg_document_c488ca7509cc6938 = function(arg0) { + const ret = arg0.document; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_done_adfd3f40364def50 = function(arg0) { + const ret = arg0.done; + return ret; + }; + imports.wbg.__wbg_drawArraysInstancedANGLE_55c83db2758c6ab4 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.drawArraysInstancedANGLE(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_drawArraysInstanced_11f863da4daf24d0 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.drawArraysInstanced(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_drawArrays_87e9bb0e2fb3e0fa = function(arg0, arg1, arg2, arg3) { + arg0.drawArrays(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_drawArrays_f5b0f0a0dc392c3f = function(arg0, arg1, arg2, arg3) { + arg0.drawArrays(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_drawBuffersWEBGL_22730193cdce9696 = function(arg0, arg1) { + arg0.drawBuffersWEBGL(arg1); + }; + imports.wbg.__wbg_drawBuffers_f256d529aecd01f2 = function(arg0, arg1) { + arg0.drawBuffers(arg1); + }; + imports.wbg.__wbg_drawElementsInstancedANGLE_db0bafff77affb0d = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.drawElementsInstancedANGLE(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_drawElementsInstanced_e87f1c69165df984 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.drawElementsInstanced(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_drawIndexedIndirect_34484fc6227c7bc8 = function(arg0, arg1, arg2) { + arg0.drawIndexedIndirect(arg1, arg2); + }; + imports.wbg.__wbg_drawIndexedIndirect_5a7c30bb5f1d5b67 = function(arg0, arg1, arg2) { + arg0.drawIndexedIndirect(arg1, arg2); + }; + imports.wbg.__wbg_drawIndexed_115af1449b52a948 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.drawIndexed(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5 >>> 0); + }; + imports.wbg.__wbg_drawIndexed_a587cce4c317791f = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.drawIndexed(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5 >>> 0); + }; + imports.wbg.__wbg_drawIndirect_036d71498a21f1a3 = function(arg0, arg1, arg2) { + arg0.drawIndirect(arg1, arg2); + }; + imports.wbg.__wbg_drawIndirect_a1d7c5e893aa5756 = function(arg0, arg1, arg2) { + arg0.drawIndirect(arg1, arg2); + }; + imports.wbg.__wbg_draw_5351b12033166aca = function(arg0, arg1, arg2, arg3, arg4) { + arg0.draw(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_draw_e2a7c5d66fb2d244 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.draw(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_enableVertexAttribArray_0ce3052ae5f3f84a = function(arg0, arg1) { + arg0.enableVertexAttribArray(arg1 >>> 0); + }; + imports.wbg.__wbg_enableVertexAttribArray_2bb681a583bf0dbe = function(arg0, arg1) { + arg0.enableVertexAttribArray(arg1 >>> 0); + }; + imports.wbg.__wbg_enable_8d6ea7489b31dabd = function(arg0, arg1) { + arg0.enable(arg1 >>> 0); + }; + imports.wbg.__wbg_enable_bb868e19d5c88d56 = function(arg0, arg1) { + arg0.enable(arg1 >>> 0); + }; + imports.wbg.__wbg_endQuery_b4f2566f7afc4117 = function(arg0, arg1) { + arg0.endQuery(arg1 >>> 0); + }; + imports.wbg.__wbg_end_0ac71677a5c1717a = function(arg0) { + arg0.end(); + }; + imports.wbg.__wbg_end_6f776519f1faa582 = function(arg0) { + arg0.end(); + }; + imports.wbg.__wbg_error_2a6b93fdada7ff11 = function(arg0) { + console.error(arg0); + }; + imports.wbg.__wbg_error_7534b8e9a36f1ab4 = function(arg0, arg1) { + let deferred0_0; + let deferred0_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + console.error(getStringFromWasm0(arg0, arg1)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + } + }; + imports.wbg.__wbg_error_e98e6aadd08e0b94 = function(arg0) { + const ret = arg0.error; + return ret; + }; + imports.wbg.__wbg_error_f0dde81ae1e4cfea = function(arg0, arg1) { + console.error(arg0, arg1); + }; + imports.wbg.__wbg_executeBundles_8e6c0614da2805d4 = function(arg0, arg1) { + arg0.executeBundles(arg1); + }; + imports.wbg.__wbg_features_1b464383ea8a7691 = function(arg0) { + const ret = arg0.features; + return ret; + }; + imports.wbg.__wbg_features_e5fbbc2760867852 = function(arg0) { + const ret = arg0.features; + return ret; + }; + imports.wbg.__wbg_fenceSync_68dcf439f52decac = function(arg0, arg1, arg2) { + const ret = arg0.fenceSync(arg1 >>> 0, arg2 >>> 0); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_fetch_2367a4a7762e7c4a = function(arg0, arg1) { + const ret = arg0.fetch(arg1); + return ret; + }; + imports.wbg.__wbg_fetch_f1856afdb49415d1 = function(arg0) { + const ret = fetch(arg0); + return ret; + }; + imports.wbg.__wbg_finish_20711371c58df61c = function(arg0) { + const ret = arg0.finish(); + return ret; + }; + imports.wbg.__wbg_finish_34b2c54329c8719f = function(arg0, arg1) { + const ret = arg0.finish(arg1); + return ret; + }; + imports.wbg.__wbg_finish_a9ab917e756ea00c = function(arg0, arg1) { + const ret = arg0.finish(arg1); + return ret; + }; + imports.wbg.__wbg_finish_e0a6c97c0622f843 = function(arg0) { + const ret = arg0.finish(); + return ret; + }; + imports.wbg.__wbg_focus_c71947fc3fe22147 = function() { return handleError(function (arg0) { + arg0.focus(); + }, arguments) }; + imports.wbg.__wbg_framebufferRenderbuffer_308ddbcaaed66ff2 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.framebufferRenderbuffer(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4); + }; + imports.wbg.__wbg_framebufferRenderbuffer_a23d035c46e3e192 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.framebufferRenderbuffer(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4); + }; + imports.wbg.__wbg_framebufferTexture2D_170b0f8c792e246f = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.framebufferTexture2D(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_framebufferTexture2D_5366ecb050293d09 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.framebufferTexture2D(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_framebufferTextureLayer_daccfb6fb9396578 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.framebufferTextureLayer(arg1 >>> 0, arg2 >>> 0, arg3, arg4, arg5); + }; + imports.wbg.__wbg_framebufferTextureMultiviewOVR_e2282e87fdf2564f = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.framebufferTextureMultiviewOVR(arg1 >>> 0, arg2 >>> 0, arg3, arg4, arg5, arg6); + }; + imports.wbg.__wbg_frontFace_7b469405c0e889ee = function(arg0, arg1) { + arg0.frontFace(arg1 >>> 0); + }; + imports.wbg.__wbg_frontFace_993e921eaef39c45 = function(arg0, arg1) { + arg0.frontFace(arg1 >>> 0); + }; + imports.wbg.__wbg_fullscreenElement_a613ad02fa918fb4 = function(arg0) { + const ret = arg0.fullscreenElement; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getBindGroupLayout_4a94df6108ac6667 = function(arg0, arg1) { + const ret = arg0.getBindGroupLayout(arg1 >>> 0); + return ret; + }; + imports.wbg.__wbg_getBindGroupLayout_80e803d942962f6a = function(arg0, arg1) { + const ret = arg0.getBindGroupLayout(arg1 >>> 0); + return ret; + }; + imports.wbg.__wbg_getBufferSubData_5102d8a217d0774c = function(arg0, arg1, arg2, arg3) { + arg0.getBufferSubData(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_getCoalescedEvents_1372a1922f78401a = function(arg0) { + const ret = arg0.getCoalescedEvents; + return ret; + }; + imports.wbg.__wbg_getCoalescedEvents_3736b5e5d63bed7b = function(arg0) { + const ret = arg0.getCoalescedEvents(); + return ret; + }; + imports.wbg.__wbg_getCompilationInfo_2af3ecdfeda551a3 = function(arg0) { + const ret = arg0.getCompilationInfo(); + return ret; + }; + imports.wbg.__wbg_getComputedStyle_c3a9de7674a38310 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.getComputedStyle(arg1); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getContext_02d86c7d9cfa709e = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.getContext(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getContext_24d4414b979c1bbd = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.getContext(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getContext_74e4f1560c2a2fae = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = arg0.getContext(getStringFromWasm0(arg1, arg2), arg3); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getContext_b22f05fca7ddb494 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = arg0.getContext(getStringFromWasm0(arg1, arg2), arg3); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getCurrentTexture_5a79cda2ff36e1ee = function(arg0) { + const ret = arg0.getCurrentTexture(); + return ret; + }; + imports.wbg.__wbg_getElementById_7b2db24a9b54f077 = function(arg0, arg1, arg2) { + const ret = arg0.getElementById(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getExtension_28666bdc87d23aca = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.getExtension(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getIndexedParameter_f9e7220a3bb8862c = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.getIndexedParameter(arg1 >>> 0, arg2 >>> 0); + return ret; + }, arguments) }; + imports.wbg.__wbg_getMappedRange_932dd043ae22ee0a = function(arg0, arg1, arg2) { + const ret = arg0.getMappedRange(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_getOwnPropertyDescriptor_c701b185423f5b7e = function(arg0, arg1) { + const ret = Object.getOwnPropertyDescriptor(arg0, arg1); + return ret; + }; + imports.wbg.__wbg_getParameter_304cffb9a759dc04 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.getParameter(arg1 >>> 0); + return ret; + }, arguments) }; + imports.wbg.__wbg_getParameter_fd65bc6ff1b0ffd9 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.getParameter(arg1 >>> 0); + return ret; + }, arguments) }; + imports.wbg.__wbg_getPreferredCanvasFormat_de73c02773a5209e = function(arg0) { + const ret = arg0.getPreferredCanvasFormat(); + return (__wbindgen_enum_GpuTextureFormat.indexOf(ret) + 1 || 96) - 1; + }; + imports.wbg.__wbg_getProgramInfoLog_032aac3e6f3a253c = function(arg0, arg1, arg2) { + const ret = arg1.getProgramInfoLog(arg2); + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_getProgramInfoLog_039168c2aed8d3fe = function(arg0, arg1, arg2) { + const ret = arg1.getProgramInfoLog(arg2); + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_getProgramParameter_70b22019524689fa = function(arg0, arg1, arg2) { + const ret = arg0.getProgramParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getProgramParameter_9b3bdf8d90159edb = function(arg0, arg1, arg2) { + const ret = arg0.getProgramParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getPropertyValue_e87121b8549f72d5 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = arg1.getPropertyValue(getStringFromWasm0(arg2, arg3)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_getQueryParameter_e7b02fe5fd64baa5 = function(arg0, arg1, arg2) { + const ret = arg0.getQueryParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getRandomValues_bcb4912f16000dc4 = function() { return handleError(function (arg0, arg1) { + arg0.getRandomValues(arg1); + }, arguments) }; + imports.wbg.__wbg_getShaderInfoLog_5c7d45bafe3be3dd = function(arg0, arg1, arg2) { + const ret = arg1.getShaderInfoLog(arg2); + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_getShaderInfoLog_d2cc881ce343a733 = function(arg0, arg1, arg2) { + const ret = arg1.getShaderInfoLog(arg2); + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_getShaderParameter_6d0578dd9f58b684 = function(arg0, arg1, arg2) { + const ret = arg0.getShaderParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getShaderParameter_c50fbeadf9ef6879 = function(arg0, arg1, arg2) { + const ret = arg0.getShaderParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getSupportedExtensions_fca342bac23691db = function(arg0) { + const ret = arg0.getSupportedExtensions(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getSupportedProfiles_b2cc3aec569a65fa = function(arg0) { + const ret = arg0.getSupportedProfiles(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getSyncParameter_5688138f66b57b16 = function(arg0, arg1, arg2) { + const ret = arg0.getSyncParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getUniformBlockIndex_b53609b8ecff8b48 = function(arg0, arg1, arg2, arg3) { + const ret = arg0.getUniformBlockIndex(arg1, getStringFromWasm0(arg2, arg3)); + return ret; + }; + imports.wbg.__wbg_getUniformLocation_852fbe42afe106ff = function(arg0, arg1, arg2, arg3) { + const ret = arg0.getUniformLocation(arg1, getStringFromWasm0(arg2, arg3)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getUniformLocation_9d46a65011600cce = function(arg0, arg1, arg2, arg3) { + const ret = arg0.getUniformLocation(arg1, getStringFromWasm0(arg2, arg3)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_get_68aa371864aa301a = function(arg0, arg1) { + const ret = arg0[arg1 >>> 0]; + return ret; + }; + imports.wbg.__wbg_get_6b316bfdb1b95076 = function(arg0, arg1) { + const ret = arg0[arg1 >>> 0]; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_get_92a4780a3beb5fe9 = function() { return handleError(function (arg0, arg1) { + const ret = Reflect.get(arg0, arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_globalThis_1e2ac1d6eee845b3 = function() { return handleError(function () { + const ret = globalThis.globalThis; + return ret; + }, arguments) }; + imports.wbg.__wbg_global_f25a574ae080367c = function() { return handleError(function () { + const ret = global.global; + return ret; + }, arguments) }; + imports.wbg.__wbg_gpu_87871e8f7ace8fee = function(arg0) { + const ret = arg0.gpu; + return ret; + }; + imports.wbg.__wbg_has_38b228962f492b9b = function() { return handleError(function (arg0, arg1) { + const ret = Reflect.has(arg0, arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_has_624cbf0451d880e8 = function(arg0, arg1, arg2) { + const ret = arg0.has(getStringFromWasm0(arg1, arg2)); + return ret; + }; + imports.wbg.__wbg_headers_a5edfea2425875b2 = function(arg0) { + const ret = arg0.headers; + return ret; + }; + imports.wbg.__wbg_height_4065e49e5ec4c4c1 = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_51a97623165c9beb = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_74bc8ec7548ff6b6 = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_a196a7b9b1d7e01c = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_cabc0c8a4c838304 = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_e509816ec3fdf5b1 = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_includes_959087f4155febdf = function(arg0, arg1, arg2) { + const ret = arg0.includes(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_info_b6bd3cb6471c2b4c = function(arg0) { + console.info(arg0); + }; + imports.wbg.__wbg_inlineSize_6f8d0983462c2919 = function(arg0) { + const ret = arg0.inlineSize; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuAdapter_0731153d2b08720b = function(arg0) { + let result; + try { + result = arg0 instanceof GPUAdapter; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuCanvasContext_d14121c7bd72fcef = function(arg0) { + let result; + try { + result = arg0 instanceof GPUCanvasContext; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuDeviceLostInfo_a3677ebb8241d800 = function(arg0) { + let result; + try { + result = arg0 instanceof GPUDeviceLostInfo; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuOutOfMemoryError_391d9a08edbfa04b = function(arg0) { + let result; + try { + result = arg0 instanceof GPUOutOfMemoryError; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuValidationError_f4d803c383da3c92 = function(arg0) { + let result; + try { + result = arg0 instanceof GPUValidationError; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_HtmlCanvasElement_9db0dfd54b2c5330 = function(arg0) { + let result; + try { + result = arg0 instanceof HTMLCanvasElement; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_Object_f0f57d6eeca1b81d = function(arg0) { + let result; + try { + result = arg0 instanceof Object; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_Response_0ec26bd2f8a75ca2 = function(arg0) { + let result; + try { + result = arg0 instanceof Response; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_WebGl2RenderingContext_888701598b82d45d = function(arg0) { + let result; + try { + result = arg0 instanceof WebGL2RenderingContext; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_Window_a959820eb267fe22 = function(arg0) { + let result; + try { + result = arg0 instanceof Window; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_invalidateFramebuffer_f4a994f4a8535cca = function() { return handleError(function (arg0, arg1, arg2) { + arg0.invalidateFramebuffer(arg1 >>> 0, arg2); + }, arguments) }; + imports.wbg.__wbg_isIntersecting_9059d5bcaf29f415 = function(arg0) { + const ret = arg0.isIntersecting; + return ret; + }; + imports.wbg.__wbg_is_20768e55ad2a7c3f = function(arg0, arg1) { + const ret = Object.is(arg0, arg1); + return ret; + }; + imports.wbg.__wbg_iterator_7a20c20ce22add0f = function() { + const ret = Symbol.iterator; + return ret; + }; + imports.wbg.__wbg_key_02315cd3f595756b = function(arg0, arg1) { + const ret = arg1.key; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_label_2082ab37d2ad170d = function(arg0, arg1) { + const ret = arg1.label; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_length_2e63ba34c4121df5 = function(arg0) { + const ret = arg0.length; + return ret; + }; + imports.wbg.__wbg_length_9df32f7add647235 = function(arg0) { + const ret = arg0.length; + return ret; + }; + imports.wbg.__wbg_length_e74df4881604f1d9 = function(arg0) { + const ret = arg0.length; + return ret; + }; + imports.wbg.__wbg_limits_2dd632c891786ddf = function(arg0) { + const ret = arg0.limits; + return ret; + }; + imports.wbg.__wbg_limits_f6411f884b0b2d62 = function(arg0) { + const ret = arg0.limits; + return ret; + }; + imports.wbg.__wbg_lineNum_0246de1e072ffe19 = function(arg0) { + const ret = arg0.lineNum; + return ret; + }; + imports.wbg.__wbg_linkProgram_575f761eda0a14bc = function(arg0, arg1) { + arg0.linkProgram(arg1); + }; + imports.wbg.__wbg_linkProgram_5eee13e603e9af41 = function(arg0, arg1) { + arg0.linkProgram(arg1); + }; + imports.wbg.__wbg_location_54d35e8c85dcfb9c = function(arg0) { + const ret = arg0.location; + return ret; + }; + imports.wbg.__wbg_location_e9eba129bf0612a5 = function(arg0) { + const ret = arg0.location; + return ret; + }; + imports.wbg.__wbg_log_d818ca3cab23fc77 = function(arg0) { + console.log(arg0); + }; + imports.wbg.__wbg_lost_6e4d29847ce2a34a = function(arg0) { + const ret = arg0.lost; + return ret; + }; + imports.wbg.__wbg_mapAsync_37f5e03edf2e1352 = function(arg0, arg1, arg2, arg3) { + const ret = arg0.mapAsync(arg1 >>> 0, arg2, arg3); + return ret; + }; + imports.wbg.__wbg_matchMedia_0be65181eeae951c = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.matchMedia(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_matches_254463383aee4688 = function(arg0) { + const ret = arg0.matches; + return ret; + }; + imports.wbg.__wbg_maxBindGroups_768ca5e8623bf450 = function(arg0) { + const ret = arg0.maxBindGroups; + return ret; + }; + imports.wbg.__wbg_maxBindingsPerBindGroup_057972d600d69719 = function(arg0) { + const ret = arg0.maxBindingsPerBindGroup; + return ret; + }; + imports.wbg.__wbg_maxBufferSize_e237b44f19a5a62b = function(arg0) { + const ret = arg0.maxBufferSize; + return ret; + }; + imports.wbg.__wbg_maxColorAttachmentBytesPerSample_d6c7b4051d22c6d6 = function(arg0) { + const ret = arg0.maxColorAttachmentBytesPerSample; + return ret; + }; + imports.wbg.__wbg_maxColorAttachments_7a18ba24c05edcfd = function(arg0) { + const ret = arg0.maxColorAttachments; + return ret; + }; + imports.wbg.__wbg_maxComputeInvocationsPerWorkgroup_b99c2f3611633992 = function(arg0) { + const ret = arg0.maxComputeInvocationsPerWorkgroup; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupSizeX_adb26da9ed7f77f7 = function(arg0) { + const ret = arg0.maxComputeWorkgroupSizeX; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupSizeY_cc217559c98be33b = function(arg0) { + const ret = arg0.maxComputeWorkgroupSizeY; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupSizeZ_66606a80e2cf2309 = function(arg0) { + const ret = arg0.maxComputeWorkgroupSizeZ; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupStorageSize_cb6235497b8c4997 = function(arg0) { + const ret = arg0.maxComputeWorkgroupStorageSize; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupsPerDimension_6bf550b5f21d57cf = function(arg0) { + const ret = arg0.maxComputeWorkgroupsPerDimension; + return ret; + }; + imports.wbg.__wbg_maxDynamicStorageBuffersPerPipelineLayout_c6ac20334e328b47 = function(arg0) { + const ret = arg0.maxDynamicStorageBuffersPerPipelineLayout; + return ret; + }; + imports.wbg.__wbg_maxDynamicUniformBuffersPerPipelineLayout_aa8f14a74b440f01 = function(arg0) { + const ret = arg0.maxDynamicUniformBuffersPerPipelineLayout; + return ret; + }; + imports.wbg.__wbg_maxSampledTexturesPerShaderStage_db7c4922cc60144a = function(arg0) { + const ret = arg0.maxSampledTexturesPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxSamplersPerShaderStage_538705fe2263e710 = function(arg0) { + const ret = arg0.maxSamplersPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxStorageBufferBindingSize_32178c0f5f7f85cb = function(arg0) { + const ret = arg0.maxStorageBufferBindingSize; + return ret; + }; + imports.wbg.__wbg_maxStorageBuffersPerShaderStage_9f67e9eae0089f77 = function(arg0) { + const ret = arg0.maxStorageBuffersPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxStorageTexturesPerShaderStage_57239664936031cf = function(arg0) { + const ret = arg0.maxStorageTexturesPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxTextureArrayLayers_db5d4e486c78ae04 = function(arg0) { + const ret = arg0.maxTextureArrayLayers; + return ret; + }; + imports.wbg.__wbg_maxTextureDimension1D_3475085ffacabbdc = function(arg0) { + const ret = arg0.maxTextureDimension1D; + return ret; + }; + imports.wbg.__wbg_maxTextureDimension2D_7c8d5ecf09eb8519 = function(arg0) { + const ret = arg0.maxTextureDimension2D; + return ret; + }; + imports.wbg.__wbg_maxTextureDimension3D_8bd976677a0f91d4 = function(arg0) { + const ret = arg0.maxTextureDimension3D; + return ret; + }; + imports.wbg.__wbg_maxUniformBufferBindingSize_95b1a54e7e4a0f0f = function(arg0) { + const ret = arg0.maxUniformBufferBindingSize; + return ret; + }; + imports.wbg.__wbg_maxUniformBuffersPerShaderStage_5f475d9a453af14d = function(arg0) { + const ret = arg0.maxUniformBuffersPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxVertexAttributes_4c48ca2f5d32f860 = function(arg0) { + const ret = arg0.maxVertexAttributes; + return ret; + }; + imports.wbg.__wbg_maxVertexBufferArrayStride_2233f6933ecc5a16 = function(arg0) { + const ret = arg0.maxVertexBufferArrayStride; + return ret; + }; + imports.wbg.__wbg_maxVertexBuffers_c47e508cd7348554 = function(arg0) { + const ret = arg0.maxVertexBuffers; + return ret; + }; + imports.wbg.__wbg_message_0762358e59db7ed6 = function(arg0, arg1) { + const ret = arg1.message; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_message_7957ab09f64c6822 = function(arg0, arg1) { + const ret = arg1.message; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_message_b163994503433c9e = function(arg0, arg1) { + const ret = arg1.message; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_messages_da071582f72bc978 = function(arg0) { + const ret = arg0.messages; + return ret; + }; + imports.wbg.__wbg_metaKey_34d5658170ffb3ee = function(arg0) { + const ret = arg0.metaKey; + return ret; + }; + imports.wbg.__wbg_metaKey_6c8e9228e8dda152 = function(arg0) { + const ret = arg0.metaKey; + return ret; + }; + imports.wbg.__wbg_minStorageBufferOffsetAlignment_51b4801fac3a58de = function(arg0) { + const ret = arg0.minStorageBufferOffsetAlignment; + return ret; + }; + imports.wbg.__wbg_minUniformBufferOffsetAlignment_5d62a77924b2335f = function(arg0) { + const ret = arg0.minUniformBufferOffsetAlignment; + return ret; + }; + imports.wbg.__wbg_movementX_e32c342d96d1c701 = function(arg0) { + const ret = arg0.movementX; + return ret; + }; + imports.wbg.__wbg_movementY_136c6febb976ca3b = function(arg0) { + const ret = arg0.movementY; + return ret; + }; + imports.wbg.__wbg_msCrypto_0a36e2ec3a343d26 = function(arg0) { + const ret = arg0.msCrypto; + return ret; + }; + imports.wbg.__wbg_navigator_2936a93ec3c6f4c5 = function(arg0) { + const ret = arg0.navigator; + return ret; + }; + imports.wbg.__wbg_navigator_da495c9e52e160b1 = function(arg0) { + const ret = arg0.navigator; + return ret; + }; + imports.wbg.__wbg_new_076cac58bb698dd4 = function() { + const ret = new Object(); + return ret; + }; + imports.wbg.__wbg_new_0c28e72025e00594 = function() { + const ret = new Array(); + return ret; + }; + imports.wbg.__wbg_new_23362fa370a0a372 = function(arg0) { + const ret = new Uint8Array(arg0); + return ret; + }; + imports.wbg.__wbg_new_238671e08bf4fcbb = function() { return handleError(function () { + const ret = new MessageChannel(); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_4b15073a88792687 = function() { return handleError(function (arg0) { + const ret = new ResizeObserver(arg0); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_8a6f238a6ece86ea = function() { + const ret = new Error(); + return ret; + }; + imports.wbg.__wbg_new_93cf40e4f48fe902 = function() { return handleError(function () { + const ret = new AbortController(); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_b4a18f0a618c89f2 = function() { return handleError(function (arg0, arg1) { + const ret = new Worker(getStringFromWasm0(arg0, arg1)); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_c94d990936d8ea5d = function() { return handleError(function (arg0) { + const ret = new IntersectionObserver(arg0); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_e2ec18a02bb844cb = function() { return handleError(function () { + const ret = new Headers(); + return ret; + }, arguments) }; + imports.wbg.__wbg_newnoargs_19a249f4eceaaac3 = function(arg0, arg1) { + const ret = new Function(getStringFromWasm0(arg0, arg1)); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_24ff09a6b37a856f = function(arg0, arg1, arg2) { + const ret = new Int16Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_25d3cac011b6e2d5 = function(arg0, arg1, arg2) { + const ret = new Uint32Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_457c61bfe0fb7b8c = function(arg0, arg1, arg2) { + const ret = new Int32Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_9f48300371c8802a = function(arg0, arg1, arg2) { + const ret = new Uint16Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_a6087a94c7bfea61 = function(arg0, arg1, arg2) { + const ret = new Int8Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_c280c15b00e018cd = function(arg0, arg1, arg2) { + const ret = new Float32Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_ee8def7000b7b2be = function(arg0, arg1, arg2) { + const ret = new Uint8Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithlength_91de49dea5643c87 = function(arg0) { + const ret = new Uint8Array(arg0 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithstrandinit_ee1418802d8d481c = function() { return handleError(function (arg0, arg1, arg2) { + const ret = new Request(getStringFromWasm0(arg0, arg1), arg2); + return ret; + }, arguments) }; + imports.wbg.__wbg_newwithstrsequenceandoptions_af096ce40d9d9ac8 = function() { return handleError(function (arg0, arg1) { + const ret = new Blob(arg0, arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_next_c591766a7286b02a = function() { return handleError(function (arg0) { + const ret = arg0.next(); + return ret; + }, arguments) }; + imports.wbg.__wbg_next_f387ecc56a94ba00 = function(arg0) { + const ret = arg0.next; + return ret; + }; + imports.wbg.__wbg_node_02999533c4ea02e3 = function(arg0) { + const ret = arg0.node; + return ret; + }; + imports.wbg.__wbg_now_2c95c9de01293173 = function(arg0) { + const ret = arg0.now(); + return ret; + }; + imports.wbg.__wbg_observe_e2208b07fe315de7 = function(arg0, arg1) { + arg0.observe(arg1); + }; + imports.wbg.__wbg_observe_ec91d62599b7772b = function(arg0, arg1) { + arg0.observe(arg1); + }; + imports.wbg.__wbg_observe_fd48955513eca909 = function(arg0, arg1, arg2) { + arg0.observe(arg1, arg2); + }; + imports.wbg.__wbg_of_2f6232d86af7992c = function(arg0, arg1) { + const ret = Array.of(arg0, arg1); + return ret; + }; + imports.wbg.__wbg_of_5ae3a2d893e18853 = function(arg0) { + const ret = Array.of(arg0); + return ret; + }; + imports.wbg.__wbg_offsetX_d6957d052a0d4b11 = function(arg0) { + const ret = arg0.offsetX; + return ret; + }; + imports.wbg.__wbg_offsetY_076edde514bf80f4 = function(arg0) { + const ret = arg0.offsetY; + return ret; + }; + imports.wbg.__wbg_offset_336f14c993863b76 = function(arg0) { + const ret = arg0.offset; + return ret; + }; + imports.wbg.__wbg_origin_e6426cdc04ec89f8 = function() { return handleError(function (arg0, arg1) { + const ret = arg1.origin; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_performance_7a3ffd0b17f663ad = function(arg0) { + const ret = arg0.performance; + return ret; + }; + imports.wbg.__wbg_persisted_7e044507e52804d9 = function(arg0) { + const ret = arg0.persisted; + return ret; + }; + imports.wbg.__wbg_pixelStorei_198b92c3e346678a = function(arg0, arg1, arg2) { + arg0.pixelStorei(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_pixelStorei_9c4cb0a4b040b41d = function(arg0, arg1, arg2) { + arg0.pixelStorei(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_play_e7eb90a843114e0d = function(arg0) { + arg0.play(); + }; + imports.wbg.__wbg_pointerId_a2cbd2cdd6da90b2 = function(arg0) { + const ret = arg0.pointerId; + return ret; + }; + imports.wbg.__wbg_pointerType_1b74686427cdec29 = function(arg0, arg1) { + const ret = arg1.pointerType; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_polygonOffset_7ec31dee95d41171 = function(arg0, arg1, arg2) { + arg0.polygonOffset(arg1, arg2); + }; + imports.wbg.__wbg_polygonOffset_c6cbc8093770e840 = function(arg0, arg1, arg2) { + arg0.polygonOffset(arg1, arg2); + }; + imports.wbg.__wbg_popErrorScope_af0b22f136a861d6 = function(arg0) { + const ret = arg0.popErrorScope(); + return ret; + }; + imports.wbg.__wbg_port1_6f5b26fd23d19536 = function(arg0) { + const ret = arg0.port1; + return ret; + }; + imports.wbg.__wbg_port2_2eb4c961d6df5816 = function(arg0) { + const ret = arg0.port2; + return ret; + }; + imports.wbg.__wbg_postMessage_33dcf5caa3589c64 = function() { return handleError(function (arg0, arg1, arg2) { + arg0.postMessage(arg1, arg2); + }, arguments) }; + imports.wbg.__wbg_postMessage_3e7f3215320b4a9c = function() { return handleError(function (arg0, arg1) { + arg0.postMessage(arg1); + }, arguments) }; + imports.wbg.__wbg_postTask_9ba4c3cedae00b38 = function(arg0, arg1, arg2) { + const ret = arg0.postTask(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_pressure_8707a47b6fb1c1fd = function(arg0) { + const ret = arg0.pressure; + return ret; + }; + imports.wbg.__wbg_preventDefault_faafffcaad92972d = function(arg0) { + arg0.preventDefault(); + }; + imports.wbg.__wbg_process_5c1d670bc53614b8 = function(arg0) { + const ret = arg0.process; + return ret; + }; + imports.wbg.__wbg_prototype_0f68911d93450df4 = function() { + const ret = ResizeObserverEntry.prototype; + return ret; + }; + imports.wbg.__wbg_pushErrorScope_b52914ff10ba6ce3 = function(arg0, arg1) { + arg0.pushErrorScope(__wbindgen_enum_GpuErrorFilter[arg1]); + }; + imports.wbg.__wbg_push_3e9ce81246ef1d1b = function(arg0, arg1) { + const ret = arg0.push(arg1); + return ret; + }; + imports.wbg.__wbg_queryCounterEXT_6da4ab4ec9c37329 = function(arg0, arg1, arg2) { + arg0.queryCounterEXT(arg1, arg2 >>> 0); + }; + imports.wbg.__wbg_querySelectorAll_775f04e6f26ad643 = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.querySelectorAll(getStringFromWasm0(arg1, arg2)); + return ret; + }, arguments) }; + imports.wbg.__wbg_querySelector_473a7bd6647e7cbb = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.querySelector(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_queueMicrotask_3d422e1ba49c2500 = function(arg0) { + const ret = arg0.queueMicrotask; + return ret; + }; + imports.wbg.__wbg_queueMicrotask_5fc3e400ac3c03f4 = function(arg0) { + queueMicrotask(arg0); + }; + imports.wbg.__wbg_queueMicrotask_f301663ccadbb7d0 = function(arg0) { + queueMicrotask(arg0); + }; + imports.wbg.__wbg_queue_bea4017efaaf9904 = function(arg0) { + const ret = arg0.queue; + return ret; + }; + imports.wbg.__wbg_randomFillSync_ab2cfe79ebbf2740 = function() { return handleError(function (arg0, arg1) { + arg0.randomFillSync(arg1); + }, arguments) }; + imports.wbg.__wbg_readBuffer_8fd1512f6bdfc8f0 = function(arg0, arg1) { + arg0.readBuffer(arg1 >>> 0); + }; + imports.wbg.__wbg_readPixels_48fc96a447cda9aa = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + arg0.readPixels(arg1, arg2, arg3, arg4, arg5 >>> 0, arg6 >>> 0, arg7); + }, arguments) }; + imports.wbg.__wbg_readPixels_7b1022930a9026d1 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + arg0.readPixels(arg1, arg2, arg3, arg4, arg5 >>> 0, arg6 >>> 0, arg7); + }, arguments) }; + imports.wbg.__wbg_readPixels_da6e94b84b4cfd41 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + arg0.readPixels(arg1, arg2, arg3, arg4, arg5 >>> 0, arg6 >>> 0, arg7); + }, arguments) }; + imports.wbg.__wbg_reason_43acd39cce242b50 = function(arg0) { + const ret = arg0.reason; + return (__wbindgen_enum_GpuDeviceLostReason.indexOf(ret) + 1 || 3) - 1; + }; + imports.wbg.__wbg_removeEventListener_d14a328308e427ba = function() { return handleError(function (arg0, arg1, arg2, arg3) { + arg0.removeEventListener(getStringFromWasm0(arg1, arg2), arg3); + }, arguments) }; + imports.wbg.__wbg_removeListener_aee72eb2e5fba09c = function() { return handleError(function (arg0, arg1) { + arg0.removeListener(arg1); + }, arguments) }; + imports.wbg.__wbg_removeProperty_902c73a4430b3e54 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = arg1.removeProperty(getStringFromWasm0(arg2, arg3)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_renderbufferStorageMultisample_abd1099fecb2e2a4 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.renderbufferStorageMultisample(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_renderbufferStorage_56c61eb0bb2718a9 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.renderbufferStorage(arg1 >>> 0, arg2 >>> 0, arg3, arg4); + }; + imports.wbg.__wbg_renderbufferStorage_aa4b58453d5aca0f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.renderbufferStorage(arg1 >>> 0, arg2 >>> 0, arg3, arg4); + }; + imports.wbg.__wbg_repeat_56fa20e30d00be95 = function(arg0) { + const ret = arg0.repeat; + return ret; + }; + imports.wbg.__wbg_requestAdapter_e6dcfac497cafa7a = function(arg0, arg1) { + const ret = arg0.requestAdapter(arg1); + return ret; + }; + imports.wbg.__wbg_requestAnimationFrame_e8ca543d07df528e = function() { return handleError(function (arg0, arg1) { + const ret = arg0.requestAnimationFrame(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_requestDevice_03b802707d5a382c = function(arg0, arg1) { + const ret = arg0.requestDevice(arg1); + return ret; + }; + imports.wbg.__wbg_requestFullscreen_e1ad8752a4e33f7e = function(arg0) { + const ret = arg0.requestFullscreen; + return ret; + }; + imports.wbg.__wbg_requestFullscreen_f727b1f250ebb10a = function(arg0) { + const ret = arg0.requestFullscreen(); + return ret; + }; + imports.wbg.__wbg_requestIdleCallback_773c554fc8c5a310 = function(arg0) { + const ret = arg0.requestIdleCallback; + return ret; + }; + imports.wbg.__wbg_requestIdleCallback_ba1f658c72e2140c = function() { return handleError(function (arg0, arg1) { + const ret = arg0.requestIdleCallback(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_require_79b1e9274cde3c87 = function() { return handleError(function () { + const ret = module.require; + return ret; + }, arguments) }; + imports.wbg.__wbg_resolveQuerySet_811661fb23f3b699 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.resolveQuerySet(arg1, arg2 >>> 0, arg3 >>> 0, arg4, arg5 >>> 0); + }; + imports.wbg.__wbg_resolve_6a311e8bb26423ab = function(arg0) { + const ret = Promise.resolve(arg0); + return ret; + }; + imports.wbg.__wbg_revokeObjectURL_3e4ad6d46a9a93f1 = function() { return handleError(function (arg0, arg1) { + URL.revokeObjectURL(getStringFromWasm0(arg0, arg1)); + }, arguments) }; + imports.wbg.__wbg_samplerParameterf_a9708333dc0df03e = function(arg0, arg1, arg2, arg3) { + arg0.samplerParameterf(arg1, arg2 >>> 0, arg3); + }; + imports.wbg.__wbg_samplerParameteri_6011eca3eaa96ac6 = function(arg0, arg1, arg2, arg3) { + arg0.samplerParameteri(arg1, arg2 >>> 0, arg3); + }; + imports.wbg.__wbg_scheduler_10edeee35a76c7c6 = function(arg0) { + const ret = arg0.scheduler; + return ret; + }; + imports.wbg.__wbg_scheduler_6d71128f17fbca34 = function(arg0) { + const ret = arg0.scheduler; + return ret; + }; + imports.wbg.__wbg_scissor_4c06926fa8af817c = function(arg0, arg1, arg2, arg3, arg4) { + arg0.scissor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_scissor_608c4f610141e6df = function(arg0, arg1, arg2, arg3, arg4) { + arg0.scissor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_search_4c8c4c416a168e55 = function() { return handleError(function (arg0, arg1) { + const ret = arg1.search; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_self_ac4343e4047b83cc = function() { return handleError(function () { + const ret = self.self; + return ret; + }, arguments) }; + imports.wbg.__wbg_setAttribute_e5d83ecaf7f586d5 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { + arg0.setAttribute(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4)); + }, arguments) }; + imports.wbg.__wbg_setBindGroup_62a3045b0921e429 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setBindGroup(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4), arg5, arg6 >>> 0); + }; + imports.wbg.__wbg_setBindGroup_6c0fd18e9a53a945 = function(arg0, arg1, arg2) { + arg0.setBindGroup(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_setBindGroup_7f3b61f1f482133b = function(arg0, arg1, arg2) { + arg0.setBindGroup(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_setBindGroup_bf767a5aa46a33ce = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setBindGroup(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4), arg5, arg6 >>> 0); + }; + imports.wbg.__wbg_setBindGroup_c4aaff14063226b4 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setBindGroup(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4), arg5, arg6 >>> 0); + }; + imports.wbg.__wbg_setBindGroup_f82e771dc1b69093 = function(arg0, arg1, arg2) { + arg0.setBindGroup(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_setBlendConstant_016723821cfb3aa4 = function(arg0, arg1) { + arg0.setBlendConstant(arg1); + }; + imports.wbg.__wbg_setIndexBuffer_286a40afdff411b7 = function(arg0, arg1, arg2, arg3) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3); + }; + imports.wbg.__wbg_setIndexBuffer_7efd0b7a40c65fb9 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3, arg4); + }; + imports.wbg.__wbg_setIndexBuffer_e091a9673bb575e2 = function(arg0, arg1, arg2, arg3) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3); + }; + imports.wbg.__wbg_setIndexBuffer_f0759f00036f615f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3, arg4); + }; + imports.wbg.__wbg_setPipeline_ba92070b8ee81cf9 = function(arg0, arg1) { + arg0.setPipeline(arg1); + }; + imports.wbg.__wbg_setPipeline_c344f76bae58c4d6 = function(arg0, arg1) { + arg0.setPipeline(arg1); + }; + imports.wbg.__wbg_setPipeline_d76451c50a121598 = function(arg0, arg1) { + arg0.setPipeline(arg1); + }; + imports.wbg.__wbg_setPointerCapture_6b89bc3d20c408af = function() { return handleError(function (arg0, arg1) { + arg0.setPointerCapture(arg1); + }, arguments) }; + imports.wbg.__wbg_setProperty_b11b0bad191551d1 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { + arg0.setProperty(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4)); + }, arguments) }; + imports.wbg.__wbg_setScissorRect_0b6ee0852ef0b6b9 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setScissorRect(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_setStencilReference_34fd3d59673a5a9d = function(arg0, arg1) { + arg0.setStencilReference(arg1 >>> 0); + }; + imports.wbg.__wbg_setTimeout_11f3c7cad8433a4f = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.setTimeout(arg1, arg2); + return ret; + }, arguments) }; + imports.wbg.__wbg_setTimeout_15ba883433c836ab = function() { return handleError(function (arg0, arg1) { + const ret = arg0.setTimeout(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_setVertexBuffer_06a90dc78e1ad9c4 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_setVertexBuffer_1540e9118b6c451d = function(arg0, arg1, arg2, arg3) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_setVertexBuffer_5166eedc06450701 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_setVertexBuffer_8621784e5014065b = function(arg0, arg1, arg2, arg3) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_setViewport_731ad30abb13f744 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setViewport(arg1, arg2, arg3, arg4, arg5, arg6); + }; + imports.wbg.__wbg_set_421385e996a16e02 = function() { return handleError(function (arg0, arg1, arg2) { + const ret = Reflect.set(arg0, arg1, arg2); + return ret; + }, arguments) }; + imports.wbg.__wbg_set_7b70226104a82921 = function(arg0, arg1, arg2) { + arg0.set(arg1, arg2 >>> 0); + }; + imports.wbg.__wbg_setbody_a548052400c35526 = function(arg0, arg1) { + arg0.body = arg1; + }; + imports.wbg.__wbg_setbox_f664fc1447c0b2bb = function(arg0, arg1) { + arg0.box = __wbindgen_enum_ResizeObserverBoxOptions[arg1]; + }; + imports.wbg.__wbg_setcredentials_6ae5f65d7ad22ffc = function(arg0, arg1) { + arg0.credentials = __wbindgen_enum_RequestCredentials[arg1]; + }; + imports.wbg.__wbg_setheaders_1f2d4c08004f4227 = function(arg0, arg1) { + arg0.headers = arg1; + }; + imports.wbg.__wbg_setheight_4286b13b9186d39f = function(arg0, arg1) { + arg0.height = arg1 >>> 0; + }; + imports.wbg.__wbg_setheight_7632621fed149fd9 = function(arg0, arg1) { + arg0.height = arg1 >>> 0; + }; + imports.wbg.__wbg_setmethod_c704d56d480d8580 = function(arg0, arg1, arg2) { + arg0.method = getStringFromWasm0(arg1, arg2); + }; + imports.wbg.__wbg_setmode_26f3e7a9f55ddb2d = function(arg0, arg1) { + arg0.mode = __wbindgen_enum_RequestMode[arg1]; + }; + imports.wbg.__wbg_setonmessage_1f177e6cba71d19d = function(arg0, arg1) { + arg0.onmessage = arg1; + }; + imports.wbg.__wbg_setonuncapturederror_19541466822d790b = function(arg0, arg1) { + arg0.onuncapturederror = arg1; + }; + imports.wbg.__wbg_setsignal_de26efe32c2e413d = function(arg0, arg1) { + arg0.signal = arg1; + }; + imports.wbg.__wbg_settabIndex_bc37dd560b089902 = function(arg0, arg1) { + arg0.tabIndex = arg1; + }; + imports.wbg.__wbg_settype_202db174d92fe493 = function(arg0, arg1, arg2) { + arg0.type = getStringFromWasm0(arg1, arg2); + }; + imports.wbg.__wbg_setwidth_5e43e6e177d3e2ec = function(arg0, arg1) { + arg0.width = arg1 >>> 0; + }; + imports.wbg.__wbg_setwidth_db46810857c0f6bd = function(arg0, arg1) { + arg0.width = arg1 >>> 0; + }; + imports.wbg.__wbg_shaderSource_7d9e91c6b9aaf864 = function(arg0, arg1, arg2, arg3) { + arg0.shaderSource(arg1, getStringFromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_shaderSource_b7db90958962e1f7 = function(arg0, arg1, arg2, arg3) { + arg0.shaderSource(arg1, getStringFromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_shiftKey_570898b1142a9898 = function(arg0) { + const ret = arg0.shiftKey; + return ret; + }; + imports.wbg.__wbg_shiftKey_e90da27a3092777e = function(arg0) { + const ret = arg0.shiftKey; + return ret; + }; + imports.wbg.__wbg_signal_fd2d6d0644f16ad8 = function(arg0) { + const ret = arg0.signal; + return ret; + }; + imports.wbg.__wbg_size_661bddb3f9898121 = function(arg0) { + const ret = arg0.size; + return ret; + }; + imports.wbg.__wbg_stack_0ed75d68575b0f3c = function(arg0, arg1) { + const ret = arg1.stack; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_start_a00c28f297559e1d = function(arg0) { + arg0.start(); + }; + imports.wbg.__wbg_status_5f9868b7ed8dd175 = function(arg0) { + const ret = arg0.status; + return ret; + }; + imports.wbg.__wbg_stencilFuncSeparate_903776516b404f1e = function(arg0, arg1, arg2, arg3, arg4) { + arg0.stencilFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3, arg4 >>> 0); + }; + imports.wbg.__wbg_stencilFuncSeparate_9987b0fe1f74adc3 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.stencilFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3, arg4 >>> 0); + }; + imports.wbg.__wbg_stencilMaskSeparate_24a5bad679d4896c = function(arg0, arg1, arg2) { + arg0.stencilMaskSeparate(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_stencilMaskSeparate_5ade706794e0ff10 = function(arg0, arg1, arg2) { + arg0.stencilMaskSeparate(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_stencilMask_8ccbc71e58e71b93 = function(arg0, arg1) { + arg0.stencilMask(arg1 >>> 0); + }; + imports.wbg.__wbg_stencilMask_e03561d8e6b7171a = function(arg0, arg1) { + arg0.stencilMask(arg1 >>> 0); + }; + imports.wbg.__wbg_stencilOpSeparate_13e313403862a2bc = function(arg0, arg1, arg2, arg3, arg4) { + arg0.stencilOpSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_stencilOpSeparate_e03fe45a6a83cf8f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.stencilOpSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_stringify_f5476f15b5654a07 = function() { return handleError(function (arg0) { + const ret = JSON.stringify(arg0); + return ret; + }, arguments) }; + imports.wbg.__wbg_style_e7c4e0938a7565b2 = function(arg0) { + const ret = arg0.style; + return ret; + }; + imports.wbg.__wbg_subarray_b4e9772c34a7f5ba = function(arg0, arg1, arg2) { + const ret = arg0.subarray(arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_submit_f635072bb3d05faa = function(arg0, arg1) { + arg0.submit(arg1); + }; + imports.wbg.__wbg_texImage2D_102612af3b3ea301 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texImage2D_38f7a3dc4dcf0183 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texImage3D_4828de4d80648b9d = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) { + arg0.texImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8 >>> 0, arg9 >>> 0, arg10); + }, arguments) }; + imports.wbg.__wbg_texParameteri_2cc96bb59a67d4c2 = function(arg0, arg1, arg2, arg3) { + arg0.texParameteri(arg1 >>> 0, arg2 >>> 0, arg3); + }; + imports.wbg.__wbg_texParameteri_8e4109b7fbd3b875 = function(arg0, arg1, arg2, arg3) { + arg0.texParameteri(arg1 >>> 0, arg2 >>> 0, arg3); + }; + imports.wbg.__wbg_texStorage2D_728b9632dbd913e2 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.texStorage2D(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_texStorage3D_04d10ef19e465ec2 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.texStorage3D(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5, arg6); + }; + imports.wbg.__wbg_texSubImage2D_0c095c30c73e34c0 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_3c9a9ceac3c27fe7 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_3dbb6fb895fd53a7 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_4e505a214a40fc20 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_7197aef4cdbc7d70 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_746d9e75d2dd12d1 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_ca1d7744b168aa02 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_da8455e8da280cee = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_82336f6100e3ef24 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_831e19830a791320 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_9623fc609df925f5 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_9a8cb5676fdf0b50 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_a18f6424082a9393 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_d127dad275801f75 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_ebd1f2b229a92c5d = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_text_693c6c8a197588c7 = function() { return handleError(function (arg0) { + const ret = arg0.text(); + return ret; + }, arguments) }; + imports.wbg.__wbg_then_5c6469c1e1da9e59 = function(arg0, arg1) { + const ret = arg0.then(arg1); + return ret; + }; + imports.wbg.__wbg_then_faeb8aed8c1629b7 = function(arg0, arg1, arg2) { + const ret = arg0.then(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_type_c0d5d83032e9858a = function(arg0) { + const ret = arg0.type; + return (__wbindgen_enum_GpuCompilationMessageType.indexOf(ret) + 1 || 4) - 1; + }; + imports.wbg.__wbg_uniform1f_163e6ffe0d9805a4 = function(arg0, arg1, arg2) { + arg0.uniform1f(arg1, arg2); + }; + imports.wbg.__wbg_uniform1f_bb85eb8ed9248e52 = function(arg0, arg1, arg2) { + arg0.uniform1f(arg1, arg2); + }; + imports.wbg.__wbg_uniform1i_9fe01b91ff85aa85 = function(arg0, arg1, arg2) { + arg0.uniform1i(arg1, arg2); + }; + imports.wbg.__wbg_uniform1i_da7c764279d55bb5 = function(arg0, arg1, arg2) { + arg0.uniform1i(arg1, arg2); + }; + imports.wbg.__wbg_uniform1ui_1cd8b5fee3b44787 = function(arg0, arg1, arg2) { + arg0.uniform1ui(arg1, arg2 >>> 0); + }; + imports.wbg.__wbg_uniform2fv_40e0cc0b3d7ab815 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform2fv_d7ec4f77d2282f77 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform2iv_6d1ed66fa019f1a6 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform2iv_b36969471f3bb8e2 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform2uiv_e5d292b09c7c2eb4 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2uiv(arg1, getArrayU32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3fv_4f40a7b75bcdeb91 = function(arg0, arg1, arg2, arg3) { + arg0.uniform3fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3fv_c6fea7086ffa568e = function(arg0, arg1, arg2, arg3) { + arg0.uniform3fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3iv_46cafa9a87333139 = function(arg0, arg1, arg2, arg3) { + arg0.uniform3iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3iv_c13167af320af60e = function(arg0, arg1, arg2, arg3) { + arg0.uniform3iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3uiv_7e60873d7a35f50b = function(arg0, arg1, arg2, arg3) { + arg0.uniform3uiv(arg1, getArrayU32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4f_2408c0a3b4a0941d = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.uniform4f(arg1, arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_uniform4f_4eebf85a05c60a16 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.uniform4f(arg1, arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_uniform4fv_7ecf41f27e0e71ec = function(arg0, arg1, arg2, arg3) { + arg0.uniform4fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4fv_c88b1733f9a40a7a = function(arg0, arg1, arg2, arg3) { + arg0.uniform4fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4iv_0ee5d566bd3880e4 = function(arg0, arg1, arg2, arg3) { + arg0.uniform4iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4iv_cd69e9451d767045 = function(arg0, arg1, arg2, arg3) { + arg0.uniform4iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4uiv_c55d0b6c672eaf59 = function(arg0, arg1, arg2, arg3) { + arg0.uniform4uiv(arg1, getArrayU32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniformBlockBinding_e646e98e7f5da8fa = function(arg0, arg1, arg2, arg3) { + arg0.uniformBlockBinding(arg1, arg2 >>> 0, arg3 >>> 0); + }; + imports.wbg.__wbg_uniformMatrix2fv_ae2d3b42477e00fd = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix2fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix2fv_d44126fac416e7e4 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix2fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix2x3fv_18d94e4451a372cc = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix2x3fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix2x4fv_c34a8a330e7c94bd = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix2x4fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix3fv_652493ea4042e14f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix3fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix3fv_a3b27e44f0ad7caa = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix3fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix3x2fv_1bc7685c610e2b46 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix3x2fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix3x4fv_c99cdce05d7ffca9 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix3x4fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix4fv_a5f6838f6e217418 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix4fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix4fv_bbdf3d84ccedee84 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix4fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix4x2fv_05ec6db042145650 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix4x2fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix4x3fv_c393892235ce0f8b = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix4x3fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_unmap_8c2e8131b2aaa844 = function(arg0) { + arg0.unmap(); + }; + imports.wbg.__wbg_unobserve_9198337c0c96042f = function(arg0, arg1) { + arg0.unobserve(arg1); + }; + imports.wbg.__wbg_url_ba6c16bbafb59895 = function(arg0, arg1) { + const ret = arg1.url; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_usage_13caa02888040e9f = function(arg0) { + const ret = arg0.usage; + return ret; + }; + imports.wbg.__wbg_useProgram_795e70e5047fcb65 = function(arg0, arg1) { + arg0.useProgram(arg1); + }; + imports.wbg.__wbg_useProgram_e84b53bf74bbe9b3 = function(arg0, arg1) { + arg0.useProgram(arg1); + }; + imports.wbg.__wbg_userAgentData_5e600df9bb352050 = function(arg0) { + const ret = arg0.userAgentData; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_userAgent_bfd54e5c60738678 = function() { return handleError(function (arg0, arg1) { + const ret = arg1.userAgent; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_valueOf_a2728b52687d72b4 = function(arg0) { + const ret = arg0.valueOf(); + return ret; + }; + imports.wbg.__wbg_value_30db1d77772f3236 = function(arg0) { + const ret = arg0.value; + return ret; + }; + imports.wbg.__wbg_versions_c71aa1626a93e0a1 = function(arg0) { + const ret = arg0.versions; + return ret; + }; + imports.wbg.__wbg_vertexAttribDivisorANGLE_78ad959056e0feb7 = function(arg0, arg1, arg2) { + arg0.vertexAttribDivisorANGLE(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_vertexAttribDivisor_bc3026299e814316 = function(arg0, arg1, arg2) { + arg0.vertexAttribDivisor(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_vertexAttribIPointer_4397ca04b895d127 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.vertexAttribIPointer(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_vertexAttribPointer_1738c34c1c0d57a0 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.vertexAttribPointer(arg1 >>> 0, arg2, arg3 >>> 0, arg4 !== 0, arg5, arg6); + }; + imports.wbg.__wbg_vertexAttribPointer_34a2b143ee35746f = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.vertexAttribPointer(arg1 >>> 0, arg2, arg3 >>> 0, arg4 !== 0, arg5, arg6); + }; + imports.wbg.__wbg_videoHeight_7d8449d4b1aad15d = function(arg0) { + const ret = arg0.videoHeight; + return ret; + }; + imports.wbg.__wbg_videoWidth_134d623b7b20f203 = function(arg0) { + const ret = arg0.videoWidth; + return ret; + }; + imports.wbg.__wbg_viewport_04c48fc077486d94 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.viewport(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_viewport_301bba26f65246ed = function(arg0, arg1, arg2, arg3, arg4) { + arg0.viewport(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_visibilityState_c2b01655a6777e68 = function(arg0) { + const ret = arg0.visibilityState; + return (__wbindgen_enum_VisibilityState.indexOf(ret) + 1 || 3) - 1; + }; + imports.wbg.__wbg_warn_a6963915e4da61f6 = function(arg0) { + console.warn(arg0); + }; + imports.wbg.__wbg_webkitFullscreenElement_0c4654cdfe6894e5 = function(arg0) { + const ret = arg0.webkitFullscreenElement; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_webkitRequestFullscreen_fe95241c4f21ea63 = function(arg0) { + arg0.webkitRequestFullscreen(); + }; + imports.wbg.__wbg_width_514dd9b3b0cff49c = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_551edb4bb900e3dd = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_826b25a505a0b357 = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_dfc6149b0c4d8821 = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_e9eedd46da897708 = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_ee6a46425045c0dd = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_window_1a23defd102c72f4 = function() { return handleError(function () { + const ret = window.window; + return ret; + }, arguments) }; + imports.wbg.__wbg_writeBuffer_5ca4981365eb5ac0 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.writeBuffer(arg1, arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_writeTexture_246118eb2f5a1592 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.writeTexture(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbindgen_boolean_get = function(arg0) { + const v = arg0; + const ret = typeof(v) === 'boolean' ? (v ? 1 : 0) : 2; + return ret; + }; + imports.wbg.__wbindgen_cb_drop = function(arg0) { + const obj = arg0.original; + if (obj.cnt-- == 1) { + obj.a = 0; + return true; + } + const ret = false; + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper3094 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 390, __wbg_adapter_36); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper5256 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 390, __wbg_adapter_36); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper5262 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 390, __wbg_adapter_36); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6670 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 390, __wbg_adapter_43); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6715 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 390, __wbg_adapter_36); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6732 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 390, __wbg_adapter_36); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6733 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 390, __wbg_adapter_36); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6734 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 390, __wbg_adapter_36); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6735 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 390, __wbg_adapter_36); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6736 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 390, __wbg_adapter_36); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6778 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 390, __wbg_adapter_36); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6779 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 390, __wbg_adapter_60); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6780 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 390, __wbg_adapter_36); + return ret; + }; + imports.wbg.__wbindgen_debug_string = function(arg0, arg1) { + const ret = debugString(arg1); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_init_externref_table = function() { + const table = wasm.__wbindgen_export_1; + const offset = table.grow(4); + table.set(0, undefined); + table.set(offset + 0, undefined); + table.set(offset + 1, null); + table.set(offset + 2, true); + table.set(offset + 3, false); + ; + }; + imports.wbg.__wbindgen_is_function = function(arg0) { + const ret = typeof(arg0) === 'function'; + return ret; + }; + imports.wbg.__wbindgen_is_null = function(arg0) { + const ret = arg0 === null; + return ret; + }; + imports.wbg.__wbindgen_is_object = function(arg0) { + const val = arg0; + const ret = typeof(val) === 'object' && val !== null; + return ret; + }; + imports.wbg.__wbindgen_is_string = function(arg0) { + const ret = typeof(arg0) === 'string'; + return ret; + }; + imports.wbg.__wbindgen_is_undefined = function(arg0) { + const ret = arg0 === undefined; + return ret; + }; + imports.wbg.__wbindgen_memory = function() { + const ret = wasm.memory; + return ret; + }; + imports.wbg.__wbindgen_number_get = function(arg0, arg1) { + const obj = arg1; + const ret = typeof(obj) === 'number' ? obj : undefined; + getDataViewMemory0().setFloat64(arg0 + 8 * 1, isLikeNone(ret) ? 0 : ret, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true); + }; + imports.wbg.__wbindgen_number_new = function(arg0) { + const ret = arg0; + return ret; + }; + imports.wbg.__wbindgen_string_get = function(arg0, arg1) { + const obj = arg1; + const ret = typeof(obj) === 'string' ? obj : undefined; + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_string_new = function(arg0, arg1) { + const ret = getStringFromWasm0(arg0, arg1); + return ret; + }; + imports.wbg.__wbindgen_throw = function(arg0, arg1) { + throw new Error(getStringFromWasm0(arg0, arg1)); + }; + imports['env'] = __wbg_star0; + + return imports; +} + +function __wbg_init_memory(imports, memory) { + +} + +function __wbg_finalize_init(instance, module) { + wasm = instance.exports; + __wbg_init.__wbindgen_wasm_module = module; + cachedDataViewMemory0 = null; + cachedFloat32ArrayMemory0 = null; + cachedInt32ArrayMemory0 = null; + cachedUint32ArrayMemory0 = null; + cachedUint8ArrayMemory0 = null; + + + wasm.__wbindgen_start(); + return wasm; +} + +function initSync(module) { + if (wasm !== undefined) return wasm; + + + if (typeof module !== 'undefined') { + if (Object.getPrototypeOf(module) === Object.prototype) { + ({module} = module) + } else { + console.warn('using deprecated parameters for `initSync()`; pass a single object instead') + } + } + + const imports = __wbg_get_imports(); + + __wbg_init_memory(imports); + + if (!(module instanceof WebAssembly.Module)) { + module = new WebAssembly.Module(module); + } + + const instance = new WebAssembly.Instance(module, imports); + + return __wbg_finalize_init(instance, module); +} + +async function __wbg_init(module_or_path) { + if (wasm !== undefined) return wasm; + + + if (typeof module_or_path !== 'undefined') { + if (Object.getPrototypeOf(module_or_path) === Object.prototype) { + ({module_or_path} = module_or_path) + } else { + console.warn('using deprecated parameters for the initialization function; pass a single object instead') + } + } + + if (typeof module_or_path === 'undefined') { + module_or_path = new URL('tutorial12-camera_bg.wasm', import.meta.url); + } + const imports = __wbg_get_imports(); + + if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) { + module_or_path = fetch(module_or_path); + } + + __wbg_init_memory(imports); + + const { instance, module } = await __wbg_load(await module_or_path, imports); + + return __wbg_finalize_init(instance, module); +} + +export { initSync }; +export default __wbg_init; diff --git a/wasm/tutorial12-camera_bg.wasm b/wasm/tutorial12-camera_bg.wasm new file mode 100644 index 00000000..d2c216d0 Binary files /dev/null and b/wasm/tutorial12-camera_bg.wasm differ diff --git a/wasm/tutorial2-surface.js b/wasm/tutorial2-surface.js new file mode 100644 index 00000000..6cebabe7 --- /dev/null +++ b/wasm/tutorial2-surface.js @@ -0,0 +1,2590 @@ +let wasm; + +function isLikeNone(x) { + return x === undefined || x === null; +} + +function addToExternrefTable0(obj) { + const idx = wasm.__externref_table_alloc(); + wasm.__wbindgen_export_1.set(idx, obj); + return idx; +} + +const cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : { decode: () => { throw Error('TextDecoder not available') } } ); + +if (typeof TextDecoder !== 'undefined') { cachedTextDecoder.decode(); }; + +let cachedUint8ArrayMemory0 = null; + +function getUint8ArrayMemory0() { + if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) { + cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer); + } + return cachedUint8ArrayMemory0; +} + +function getStringFromWasm0(ptr, len) { + ptr = ptr >>> 0; + return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len)); +} + +function handleError(f, args) { + try { + return f.apply(this, args); + } catch (e) { + const idx = addToExternrefTable0(e); + wasm.__wbindgen_exn_store(idx); + } +} + +let WASM_VECTOR_LEN = 0; + +const cachedTextEncoder = (typeof TextEncoder !== 'undefined' ? new TextEncoder('utf-8') : { encode: () => { throw Error('TextEncoder not available') } } ); + +const encodeString = (typeof cachedTextEncoder.encodeInto === 'function' + ? function (arg, view) { + return cachedTextEncoder.encodeInto(arg, view); +} + : function (arg, view) { + const buf = cachedTextEncoder.encode(arg); + view.set(buf); + return { + read: arg.length, + written: buf.length + }; +}); + +function passStringToWasm0(arg, malloc, realloc) { + + if (realloc === undefined) { + const buf = cachedTextEncoder.encode(arg); + const ptr = malloc(buf.length, 1) >>> 0; + getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf); + WASM_VECTOR_LEN = buf.length; + return ptr; + } + + let len = arg.length; + let ptr = malloc(len, 1) >>> 0; + + const mem = getUint8ArrayMemory0(); + + let offset = 0; + + for (; offset < len; offset++) { + const code = arg.charCodeAt(offset); + if (code > 0x7F) break; + mem[ptr + offset] = code; + } + + if (offset !== len) { + if (offset !== 0) { + arg = arg.slice(offset); + } + ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0; + const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len); + const ret = encodeString(arg, view); + + offset += ret.written; + ptr = realloc(ptr, len, offset, 1) >>> 0; + } + + WASM_VECTOR_LEN = offset; + return ptr; +} + +let cachedDataViewMemory0 = null; + +function getDataViewMemory0() { + if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) { + cachedDataViewMemory0 = new DataView(wasm.memory.buffer); + } + return cachedDataViewMemory0; +} + +let cachedFloat32ArrayMemory0 = null; + +function getFloat32ArrayMemory0() { + if (cachedFloat32ArrayMemory0 === null || cachedFloat32ArrayMemory0.byteLength === 0) { + cachedFloat32ArrayMemory0 = new Float32Array(wasm.memory.buffer); + } + return cachedFloat32ArrayMemory0; +} + +function getArrayF32FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getFloat32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len); +} + +let cachedInt32ArrayMemory0 = null; + +function getInt32ArrayMemory0() { + if (cachedInt32ArrayMemory0 === null || cachedInt32ArrayMemory0.byteLength === 0) { + cachedInt32ArrayMemory0 = new Int32Array(wasm.memory.buffer); + } + return cachedInt32ArrayMemory0; +} + +function getArrayI32FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getInt32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len); +} + +let cachedUint32ArrayMemory0 = null; + +function getUint32ArrayMemory0() { + if (cachedUint32ArrayMemory0 === null || cachedUint32ArrayMemory0.byteLength === 0) { + cachedUint32ArrayMemory0 = new Uint32Array(wasm.memory.buffer); + } + return cachedUint32ArrayMemory0; +} + +function getArrayU32FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getUint32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len); +} + +const CLOSURE_DTORS = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(state => { + wasm.__wbindgen_export_6.get(state.dtor)(state.a, state.b) +}); + +function makeMutClosure(arg0, arg1, dtor, f) { + const state = { a: arg0, b: arg1, cnt: 1, dtor }; + const real = (...args) => { + // First up with a closure we increment the internal reference + // count. This ensures that the Rust closure environment won't + // be deallocated while we're invoking it. + state.cnt++; + const a = state.a; + state.a = 0; + try { + return f(a, state.b, ...args); + } finally { + if (--state.cnt === 0) { + wasm.__wbindgen_export_6.get(state.dtor)(a, state.b); + CLOSURE_DTORS.unregister(state); + } else { + state.a = a; + } + } + }; + real.original = state; + CLOSURE_DTORS.register(real, state, state); + return real; +} + +function debugString(val) { + // primitive types + const type = typeof val; + if (type == 'number' || type == 'boolean' || val == null) { + return `${val}`; + } + if (type == 'string') { + return `"${val}"`; + } + if (type == 'symbol') { + const description = val.description; + if (description == null) { + return 'Symbol'; + } else { + return `Symbol(${description})`; + } + } + if (type == 'function') { + const name = val.name; + if (typeof name == 'string' && name.length > 0) { + return `Function(${name})`; + } else { + return 'Function'; + } + } + // objects + if (Array.isArray(val)) { + const length = val.length; + let debug = '['; + if (length > 0) { + debug += debugString(val[0]); + } + for(let i = 1; i < length; i++) { + debug += ', ' + debugString(val[i]); + } + debug += ']'; + return debug; + } + // Test for built-in + const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val)); + let className; + if (builtInMatches && builtInMatches.length > 1) { + className = builtInMatches[1]; + } else { + // Failed to match the standard '[object ClassName]' + return toString.call(val); + } + if (className == 'Object') { + // we're a user defined class or Object + // JSON.stringify avoids problems with cycles, and is generally much + // easier than looping through ownProperties of `val`. + try { + return 'Object(' + JSON.stringify(val) + ')'; + } catch (_) { + return 'Object'; + } + } + // errors + if (val instanceof Error) { + return `${val.name}: ${val.message}\n${val.stack}`; + } + // TODO we could test for more things here, like `Set`s and `Map`s. + return className; +} +function __wbg_adapter_34(arg0, arg1, arg2) { + wasm.closure267_externref_shim(arg0, arg1, arg2); +} + +function __wbg_adapter_41(arg0, arg1) { + wasm._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hc2a92dab5895dab9(arg0, arg1); +} + +function __wbg_adapter_58(arg0, arg1, arg2, arg3) { + wasm.closure777_externref_shim(arg0, arg1, arg2, arg3); +} + +const __wbindgen_enum_GpuCompilationMessageType = ["error", "warning", "info"]; + +const __wbindgen_enum_GpuDeviceLostReason = ["unknown", "destroyed"]; + +const __wbindgen_enum_GpuErrorFilter = ["validation", "out-of-memory", "internal"]; + +const __wbindgen_enum_GpuIndexFormat = ["uint16", "uint32"]; + +const __wbindgen_enum_GpuTextureFormat = ["r8unorm", "r8snorm", "r8uint", "r8sint", "r16uint", "r16sint", "r16float", "rg8unorm", "rg8snorm", "rg8uint", "rg8sint", "r32uint", "r32sint", "r32float", "rg16uint", "rg16sint", "rg16float", "rgba8unorm", "rgba8unorm-srgb", "rgba8snorm", "rgba8uint", "rgba8sint", "bgra8unorm", "bgra8unorm-srgb", "rgb9e5ufloat", "rgb10a2uint", "rgb10a2unorm", "rg11b10ufloat", "rg32uint", "rg32sint", "rg32float", "rgba16uint", "rgba16sint", "rgba16float", "rgba32uint", "rgba32sint", "rgba32float", "stencil8", "depth16unorm", "depth24plus", "depth24plus-stencil8", "depth32float", "depth32float-stencil8", "bc1-rgba-unorm", "bc1-rgba-unorm-srgb", "bc2-rgba-unorm", "bc2-rgba-unorm-srgb", "bc3-rgba-unorm", "bc3-rgba-unorm-srgb", "bc4-r-unorm", "bc4-r-snorm", "bc5-rg-unorm", "bc5-rg-snorm", "bc6h-rgb-ufloat", "bc6h-rgb-float", "bc7-rgba-unorm", "bc7-rgba-unorm-srgb", "etc2-rgb8unorm", "etc2-rgb8unorm-srgb", "etc2-rgb8a1unorm", "etc2-rgb8a1unorm-srgb", "etc2-rgba8unorm", "etc2-rgba8unorm-srgb", "eac-r11unorm", "eac-r11snorm", "eac-rg11unorm", "eac-rg11snorm", "astc-4x4-unorm", "astc-4x4-unorm-srgb", "astc-5x4-unorm", "astc-5x4-unorm-srgb", "astc-5x5-unorm", "astc-5x5-unorm-srgb", "astc-6x5-unorm", "astc-6x5-unorm-srgb", "astc-6x6-unorm", "astc-6x6-unorm-srgb", "astc-8x5-unorm", "astc-8x5-unorm-srgb", "astc-8x6-unorm", "astc-8x6-unorm-srgb", "astc-8x8-unorm", "astc-8x8-unorm-srgb", "astc-10x5-unorm", "astc-10x5-unorm-srgb", "astc-10x6-unorm", "astc-10x6-unorm-srgb", "astc-10x8-unorm", "astc-10x8-unorm-srgb", "astc-10x10-unorm", "astc-10x10-unorm-srgb", "astc-12x10-unorm", "astc-12x10-unorm-srgb", "astc-12x12-unorm", "astc-12x12-unorm-srgb"]; + +const __wbindgen_enum_ResizeObserverBoxOptions = ["border-box", "content-box", "device-pixel-content-box"]; + +const __wbindgen_enum_VisibilityState = ["hidden", "visible"]; + +async function __wbg_load(module, imports) { + if (typeof Response === 'function' && module instanceof Response) { + if (typeof WebAssembly.instantiateStreaming === 'function') { + try { + return await WebAssembly.instantiateStreaming(module, imports); + + } catch (e) { + if (module.headers.get('Content-Type') != 'application/wasm') { + console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e); + + } else { + throw e; + } + } + } + + const bytes = await module.arrayBuffer(); + return await WebAssembly.instantiate(bytes, imports); + + } else { + const instance = await WebAssembly.instantiate(module, imports); + + if (instance instanceof WebAssembly.Instance) { + return { instance, module }; + + } else { + return instance; + } + } +} + +function __wbg_get_imports() { + const imports = {}; + imports.wbg = {}; + imports.wbg.__wbg_Window_96e58b3552ce6bb1 = function(arg0) { + const ret = arg0.Window; + return ret; + }; + imports.wbg.__wbg_Window_cf5b693340a7c469 = function(arg0) { + const ret = arg0.Window; + return ret; + }; + imports.wbg.__wbg_WorkerGlobalScope_354364d1b0bd06e5 = function(arg0) { + const ret = arg0.WorkerGlobalScope; + return ret; + }; + imports.wbg.__wbg_abort_19de2f828ee0874a = function(arg0) { + arg0.abort(); + }; + imports.wbg.__wbg_activeElement_d1a1f2b334adf636 = function(arg0) { + const ret = arg0.activeElement; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_activeTexture_24b42b03041f3428 = function(arg0, arg1) { + arg0.activeTexture(arg1 >>> 0); + }; + imports.wbg.__wbg_activeTexture_47928613532be667 = function(arg0, arg1) { + arg0.activeTexture(arg1 >>> 0); + }; + imports.wbg.__wbg_addEventListener_e27053e488770e58 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + arg0.addEventListener(getStringFromWasm0(arg1, arg2), arg3); + }, arguments) }; + imports.wbg.__wbg_addListener_dca1ccc036e24997 = function() { return handleError(function (arg0, arg1) { + arg0.addListener(arg1); + }, arguments) }; + imports.wbg.__wbg_altKey_56dd0987e7ccbbf2 = function(arg0) { + const ret = arg0.altKey; + return ret; + }; + imports.wbg.__wbg_altKey_583c79ba3f4fce1e = function(arg0) { + const ret = arg0.altKey; + return ret; + }; + imports.wbg.__wbg_animate_310f1b8e5b1fdb56 = function(arg0, arg1, arg2) { + const ret = arg0.animate(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_appendChild_805222aed73feea9 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.appendChild(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_attachShader_81000b0c4da5b206 = function(arg0, arg1, arg2) { + arg0.attachShader(arg1, arg2); + }; + imports.wbg.__wbg_attachShader_ccc35921e866b2bf = function(arg0, arg1, arg2) { + arg0.attachShader(arg1, arg2); + }; + imports.wbg.__wbg_beginComputePass_90d5303e604970cb = function(arg0, arg1) { + const ret = arg0.beginComputePass(arg1); + return ret; + }; + imports.wbg.__wbg_beginQuery_4e54bbe77706fb3c = function(arg0, arg1, arg2) { + arg0.beginQuery(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_beginRenderPass_9739520c601001c3 = function(arg0, arg1) { + const ret = arg0.beginRenderPass(arg1); + return ret; + }; + imports.wbg.__wbg_bindAttribLocation_a08ae4fdf9b16e7d = function(arg0, arg1, arg2, arg3, arg4) { + arg0.bindAttribLocation(arg1, arg2 >>> 0, getStringFromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_bindAttribLocation_b53db53e1b134420 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.bindAttribLocation(arg1, arg2 >>> 0, getStringFromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_bindBufferRange_ce5a2827ed937112 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.bindBufferRange(arg1 >>> 0, arg2 >>> 0, arg3, arg4, arg5); + }; + imports.wbg.__wbg_bindBuffer_0fedb16582ffeee6 = function(arg0, arg1, arg2) { + arg0.bindBuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindBuffer_c6e5f29d60e90c01 = function(arg0, arg1, arg2) { + arg0.bindBuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindFramebuffer_87e15614ca3e9537 = function(arg0, arg1, arg2) { + arg0.bindFramebuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindFramebuffer_a0d602bd474dcbfb = function(arg0, arg1, arg2) { + arg0.bindFramebuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindRenderbuffer_3100396894cc2d72 = function(arg0, arg1, arg2) { + arg0.bindRenderbuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindRenderbuffer_fd3e47dad76906ea = function(arg0, arg1, arg2) { + arg0.bindRenderbuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindSampler_7614054a94f8e3d1 = function(arg0, arg1, arg2) { + arg0.bindSampler(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindTexture_6478edbb238b9c73 = function(arg0, arg1, arg2) { + arg0.bindTexture(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindTexture_9b177c97248ed4d9 = function(arg0, arg1, arg2) { + arg0.bindTexture(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindVertexArrayOES_e81fca007d08d0db = function(arg0, arg1) { + arg0.bindVertexArrayOES(arg1); + }; + imports.wbg.__wbg_bindVertexArray_d9082254ff3bcc13 = function(arg0, arg1) { + arg0.bindVertexArray(arg1); + }; + imports.wbg.__wbg_blendColor_075aa544f1fe84c5 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.blendColor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_blendColor_ed292080d5966f2c = function(arg0, arg1, arg2, arg3, arg4) { + arg0.blendColor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_blendEquationSeparate_3dbbe20b0a9fa818 = function(arg0, arg1, arg2) { + arg0.blendEquationSeparate(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_blendEquationSeparate_d360393d3b1557cd = function(arg0, arg1, arg2) { + arg0.blendEquationSeparate(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_blendEquation_41f4ed79f5ddd25c = function(arg0, arg1) { + arg0.blendEquation(arg1 >>> 0); + }; + imports.wbg.__wbg_blendEquation_8804e10c9ced3fc4 = function(arg0, arg1) { + arg0.blendEquation(arg1 >>> 0); + }; + imports.wbg.__wbg_blendFuncSeparate_2cc7ac2397290a15 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.blendFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_blendFuncSeparate_c6c035b0094bd58f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.blendFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_blendFunc_63aca14ff3252b59 = function(arg0, arg1, arg2) { + arg0.blendFunc(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_blendFunc_8e1cfba50a4eea89 = function(arg0, arg1, arg2) { + arg0.blendFunc(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_blitFramebuffer_171b9355e4e730c9 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) { + arg0.blitFramebuffer(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0); + }; + imports.wbg.__wbg_blockSize_e0006fb003814895 = function(arg0) { + const ret = arg0.blockSize; + return ret; + }; + imports.wbg.__wbg_body_83d4bc4961a422aa = function(arg0) { + const ret = arg0.body; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_brand_67e4f3d950154d0a = function(arg0, arg1) { + const ret = arg1.brand; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_brands_1ec54d613da9db02 = function(arg0) { + const ret = arg0.brands; + return ret; + }; + imports.wbg.__wbg_bufferData_2a747a2c2c3b23b5 = function(arg0, arg1, arg2, arg3) { + arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0); + }; + imports.wbg.__wbg_bufferData_5b85d77150f6520a = function(arg0, arg1, arg2, arg3) { + arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0); + }; + imports.wbg.__wbg_bufferData_b03654fb80052afe = function(arg0, arg1, arg2, arg3) { + arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0); + }; + imports.wbg.__wbg_bufferData_c2eb7dbb2ea2ab3f = function(arg0, arg1, arg2, arg3) { + arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0); + }; + imports.wbg.__wbg_bufferSubData_8a7d35c05111a120 = function(arg0, arg1, arg2, arg3) { + arg0.bufferSubData(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_bufferSubData_c4b11388b9eb4175 = function(arg0, arg1, arg2, arg3) { + arg0.bufferSubData(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_buffer_6e1d53ff183194fc = function(arg0) { + const ret = arg0.buffer; + return ret; + }; + imports.wbg.__wbg_buffer_ffdeb2ee67420f9e = function(arg0) { + const ret = arg0.buffer; + return ret; + }; + imports.wbg.__wbg_button_db48f93638c59f95 = function(arg0) { + const ret = arg0.button; + return ret; + }; + imports.wbg.__wbg_buttons_b962d6dc116cd1a5 = function(arg0) { + const ret = arg0.buttons; + return ret; + }; + imports.wbg.__wbg_call_3114932863209ca6 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.call(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_cancelAnimationFrame_f1ad512e269ea165 = function() { return handleError(function (arg0, arg1) { + arg0.cancelAnimationFrame(arg1); + }, arguments) }; + imports.wbg.__wbg_cancelIdleCallback_bcc2dc9be9de0744 = function(arg0, arg1) { + arg0.cancelIdleCallback(arg1 >>> 0); + }; + imports.wbg.__wbg_cancel_3b69067dcdf7ffb7 = function(arg0) { + arg0.cancel(); + }; + imports.wbg.__wbg_catch_9da7d002aa356f1d = function(arg0, arg1) { + const ret = arg0.catch(arg1); + return ret; + }; + imports.wbg.__wbg_clearBuffer_6164fc25d22b25cc = function(arg0, arg1, arg2, arg3) { + arg0.clearBuffer(arg1, arg2, arg3); + }; + imports.wbg.__wbg_clearBuffer_cfcaaf1fb2baa885 = function(arg0, arg1, arg2) { + arg0.clearBuffer(arg1, arg2); + }; + imports.wbg.__wbg_clearBufferfv_2cf04e18ef87ed90 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.clearBufferfv(arg1 >>> 0, arg2, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_clearBufferiv_b45be02e57957dad = function(arg0, arg1, arg2, arg3, arg4) { + arg0.clearBufferiv(arg1 >>> 0, arg2, getArrayI32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_clearBufferuiv_deca83038abb23d2 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.clearBufferuiv(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_clearDepth_14d34daa30215440 = function(arg0, arg1) { + arg0.clearDepth(arg1); + }; + imports.wbg.__wbg_clearDepth_1cdcb08d8a5afa49 = function(arg0, arg1) { + arg0.clearDepth(arg1); + }; + imports.wbg.__wbg_clearStencil_e2c8b1892d5e033d = function(arg0, arg1) { + arg0.clearStencil(arg1); + }; + imports.wbg.__wbg_clearStencil_f3138d2e338d1436 = function(arg0, arg1) { + arg0.clearStencil(arg1); + }; + imports.wbg.__wbg_clearTimeout_da4408c46e51bc7a = function(arg0, arg1) { + arg0.clearTimeout(arg1); + }; + imports.wbg.__wbg_clear_4e68091e616c29ad = function(arg0, arg1) { + arg0.clear(arg1 >>> 0); + }; + imports.wbg.__wbg_clear_af7641961d766f51 = function(arg0, arg1) { + arg0.clear(arg1 >>> 0); + }; + imports.wbg.__wbg_clientWaitSync_2c4c0bd3a8d3536b = function(arg0, arg1, arg2, arg3) { + const ret = arg0.clientWaitSync(arg1, arg2 >>> 0, arg3 >>> 0); + return ret; + }; + imports.wbg.__wbg_close_35d643897b189a00 = function(arg0) { + arg0.close(); + }; + imports.wbg.__wbg_code_d8226b2133366406 = function(arg0, arg1) { + const ret = arg1.code; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_colorMask_22d850d91e89df9f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.colorMask(arg1 !== 0, arg2 !== 0, arg3 !== 0, arg4 !== 0); + }; + imports.wbg.__wbg_colorMask_a6068fae89c17ceb = function(arg0, arg1, arg2, arg3, arg4) { + arg0.colorMask(arg1 !== 0, arg2 !== 0, arg3 !== 0, arg4 !== 0); + }; + imports.wbg.__wbg_compileShader_5e41ecd397194c21 = function(arg0, arg1) { + arg0.compileShader(arg1); + }; + imports.wbg.__wbg_compileShader_6868fa6a842f0911 = function(arg0, arg1) { + arg0.compileShader(arg1); + }; + imports.wbg.__wbg_compressedTexSubImage2D_216f6eec167da8d7 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + arg0.compressedTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8); + }; + imports.wbg.__wbg_compressedTexSubImage2D_4b50d2a94bf4ea60 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.compressedTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8, arg9); + }; + imports.wbg.__wbg_compressedTexSubImage2D_9b0c2c785026006a = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + arg0.compressedTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8); + }; + imports.wbg.__wbg_compressedTexSubImage3D_8102ea4403fef5ce = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) { + arg0.compressedTexSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10); + }; + imports.wbg.__wbg_compressedTexSubImage3D_bf2bdb940e26bc8c = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.compressedTexSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10, arg11); + }; + imports.wbg.__wbg_configure_2414aed971d368cd = function(arg0, arg1) { + arg0.configure(arg1); + }; + imports.wbg.__wbg_contains_6947e163e2a3c092 = function(arg0, arg1) { + const ret = arg0.contains(arg1); + return ret; + }; + imports.wbg.__wbg_contentRect_7aaa87e16fd2882d = function(arg0) { + const ret = arg0.contentRect; + return ret; + }; + imports.wbg.__wbg_copyBufferSubData_ff213d67aa3b1f82 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.copyBufferSubData(arg1 >>> 0, arg2 >>> 0, arg3, arg4, arg5); + }; + imports.wbg.__wbg_copyBufferToBuffer_1ba67191114656a1 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.copyBufferToBuffer(arg1, arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_copyBufferToTexture_878d31d479e48f28 = function(arg0, arg1, arg2, arg3) { + arg0.copyBufferToTexture(arg1, arg2, arg3); + }; + imports.wbg.__wbg_copyExternalImageToTexture_7878d196c0b60d39 = function(arg0, arg1, arg2, arg3) { + arg0.copyExternalImageToTexture(arg1, arg2, arg3); + }; + imports.wbg.__wbg_copyTexSubImage2D_4b37e79c31b798b1 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + arg0.copyTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + }; + imports.wbg.__wbg_copyTexSubImage2D_a29106dfb31dd17c = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + arg0.copyTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + }; + imports.wbg.__wbg_copyTexSubImage3D_f8350e268c143688 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.copyTexSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); + }; + imports.wbg.__wbg_copyTextureToBuffer_6a8fe0e90f0a663d = function(arg0, arg1, arg2, arg3) { + arg0.copyTextureToBuffer(arg1, arg2, arg3); + }; + imports.wbg.__wbg_copyTextureToTexture_0a06a393d6726b4a = function(arg0, arg1, arg2, arg3) { + arg0.copyTextureToTexture(arg1, arg2, arg3); + }; + imports.wbg.__wbg_createBindGroupLayout_1d93b6d41c87ba9d = function(arg0, arg1) { + const ret = arg0.createBindGroupLayout(arg1); + return ret; + }; + imports.wbg.__wbg_createBindGroup_61cd07ec9d423432 = function(arg0, arg1) { + const ret = arg0.createBindGroup(arg1); + return ret; + }; + imports.wbg.__wbg_createBuffer_1e646d14cebbb438 = function(arg0) { + const ret = arg0.createBuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createBuffer_2a696fb8c0d07970 = function(arg0) { + const ret = arg0.createBuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createBuffer_963aa00d5fe859e4 = function(arg0, arg1) { + const ret = arg0.createBuffer(arg1); + return ret; + }; + imports.wbg.__wbg_createCommandEncoder_f0e1613e9a2dc1eb = function(arg0, arg1) { + const ret = arg0.createCommandEncoder(arg1); + return ret; + }; + imports.wbg.__wbg_createComputePipeline_b9616b9fe2f4eb2f = function(arg0, arg1) { + const ret = arg0.createComputePipeline(arg1); + return ret; + }; + imports.wbg.__wbg_createElement_22b48bfb31a0c20e = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.createElement(getStringFromWasm0(arg1, arg2)); + return ret; + }, arguments) }; + imports.wbg.__wbg_createFramebuffer_163e192e1e53ec9b = function(arg0) { + const ret = arg0.createFramebuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createFramebuffer_1aa54479f7524ef5 = function(arg0) { + const ret = arg0.createFramebuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createObjectURL_06505af3e8787cc8 = function() { return handleError(function (arg0, arg1) { + const ret = URL.createObjectURL(arg1); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_createPipelineLayout_56c6cf983f892d2b = function(arg0, arg1) { + const ret = arg0.createPipelineLayout(arg1); + return ret; + }; + imports.wbg.__wbg_createProgram_5a5a92d23fdc2f1a = function(arg0) { + const ret = arg0.createProgram(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createProgram_b75025f0f1a4ef55 = function(arg0) { + const ret = arg0.createProgram(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createQuerySet_c14be802adf7c207 = function(arg0, arg1) { + const ret = arg0.createQuerySet(arg1); + return ret; + }; + imports.wbg.__wbg_createQuery_2816e95a473b5501 = function(arg0) { + const ret = arg0.createQuery(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createRenderBundleEncoder_8e4bdffea72f8c1f = function(arg0, arg1) { + const ret = arg0.createRenderBundleEncoder(arg1); + return ret; + }; + imports.wbg.__wbg_createRenderPipeline_079a88a0601fcce1 = function(arg0, arg1) { + const ret = arg0.createRenderPipeline(arg1); + return ret; + }; + imports.wbg.__wbg_createRenderbuffer_29e130c03bc689d3 = function(arg0) { + const ret = arg0.createRenderbuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createRenderbuffer_b10004ae18d38014 = function(arg0) { + const ret = arg0.createRenderbuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createSampler_50ae7c4dd1f9b066 = function(arg0) { + const ret = arg0.createSampler(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createSampler_ef5578990df3baf7 = function(arg0, arg1) { + const ret = arg0.createSampler(arg1); + return ret; + }; + imports.wbg.__wbg_createShaderModule_17f451ea25cae47c = function(arg0, arg1) { + const ret = arg0.createShaderModule(arg1); + return ret; + }; + imports.wbg.__wbg_createShader_29c8e06db7e7211f = function(arg0, arg1) { + const ret = arg0.createShader(arg1 >>> 0); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createShader_8c3053457f874cdd = function(arg0, arg1) { + const ret = arg0.createShader(arg1 >>> 0); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createTexture_01cc1cd2fea732d9 = function(arg0, arg1) { + const ret = arg0.createTexture(arg1); + return ret; + }; + imports.wbg.__wbg_createTexture_20f63b261993f581 = function(arg0) { + const ret = arg0.createTexture(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createTexture_facd2df68d8d0276 = function(arg0) { + const ret = arg0.createTexture(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createVertexArrayOES_89f45f4a4fde395f = function(arg0) { + const ret = arg0.createVertexArrayOES(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createVertexArray_70d7c4c62e00613d = function(arg0) { + const ret = arg0.createVertexArray(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createView_04701884291e1ccc = function(arg0, arg1) { + const ret = arg0.createView(arg1); + return ret; + }; + imports.wbg.__wbg_ctrlKey_60b29e015a543678 = function(arg0) { + const ret = arg0.ctrlKey; + return ret; + }; + imports.wbg.__wbg_ctrlKey_ab341328ab202d37 = function(arg0) { + const ret = arg0.ctrlKey; + return ret; + }; + imports.wbg.__wbg_cullFace_96a9dca4a5b1ca33 = function(arg0, arg1) { + arg0.cullFace(arg1 >>> 0); + }; + imports.wbg.__wbg_cullFace_99bb4e31c974596d = function(arg0, arg1) { + arg0.cullFace(arg1 >>> 0); + }; + imports.wbg.__wbg_debug_347b3d1f33e1c28e = function(arg0) { + console.debug(arg0); + }; + imports.wbg.__wbg_deleteBuffer_9d705222a7e77a7b = function(arg0, arg1) { + arg0.deleteBuffer(arg1); + }; + imports.wbg.__wbg_deleteBuffer_db0d7ecbaa97fa56 = function(arg0, arg1) { + arg0.deleteBuffer(arg1); + }; + imports.wbg.__wbg_deleteFramebuffer_69db238ea6b8a9a1 = function(arg0, arg1) { + arg0.deleteFramebuffer(arg1); + }; + imports.wbg.__wbg_deleteFramebuffer_ecf398bec452aaf9 = function(arg0, arg1) { + arg0.deleteFramebuffer(arg1); + }; + imports.wbg.__wbg_deleteProgram_cb18e0020d488bad = function(arg0, arg1) { + arg0.deleteProgram(arg1); + }; + imports.wbg.__wbg_deleteProgram_e1a6c4b922e202e3 = function(arg0, arg1) { + arg0.deleteProgram(arg1); + }; + imports.wbg.__wbg_deleteQuery_e083394da1710d6c = function(arg0, arg1) { + arg0.deleteQuery(arg1); + }; + imports.wbg.__wbg_deleteRenderbuffer_05fa7f35ea76cafd = function(arg0, arg1) { + arg0.deleteRenderbuffer(arg1); + }; + imports.wbg.__wbg_deleteRenderbuffer_2f1216e54aa2f248 = function(arg0, arg1) { + arg0.deleteRenderbuffer(arg1); + }; + imports.wbg.__wbg_deleteSampler_e5c61c85993f9a69 = function(arg0, arg1) { + arg0.deleteSampler(arg1); + }; + imports.wbg.__wbg_deleteShader_257caf93b24ac555 = function(arg0, arg1) { + arg0.deleteShader(arg1); + }; + imports.wbg.__wbg_deleteShader_fb86028e46cb069b = function(arg0, arg1) { + arg0.deleteShader(arg1); + }; + imports.wbg.__wbg_deleteSync_b5caedf06185d972 = function(arg0, arg1) { + arg0.deleteSync(arg1); + }; + imports.wbg.__wbg_deleteTexture_6913f682a09c8171 = function(arg0, arg1) { + arg0.deleteTexture(arg1); + }; + imports.wbg.__wbg_deleteTexture_a29655740b1cbe33 = function(arg0, arg1) { + arg0.deleteTexture(arg1); + }; + imports.wbg.__wbg_deleteVertexArrayOES_2def7ce37f8e89f2 = function(arg0, arg1) { + arg0.deleteVertexArrayOES(arg1); + }; + imports.wbg.__wbg_deleteVertexArray_a3bca8e15204ffed = function(arg0, arg1) { + arg0.deleteVertexArray(arg1); + }; + imports.wbg.__wbg_deltaMode_a4cc321212f87817 = function(arg0) { + const ret = arg0.deltaMode; + return ret; + }; + imports.wbg.__wbg_deltaX_27e2939a1af8c940 = function(arg0) { + const ret = arg0.deltaX; + return ret; + }; + imports.wbg.__wbg_deltaY_4bb52a4f0a7ad28b = function(arg0) { + const ret = arg0.deltaY; + return ret; + }; + imports.wbg.__wbg_depthFunc_657dd592930e7f2f = function(arg0, arg1) { + arg0.depthFunc(arg1 >>> 0); + }; + imports.wbg.__wbg_depthFunc_f9fd44a07ea8398e = function(arg0, arg1) { + arg0.depthFunc(arg1 >>> 0); + }; + imports.wbg.__wbg_depthMask_87195357e4f7df17 = function(arg0, arg1) { + arg0.depthMask(arg1 !== 0); + }; + imports.wbg.__wbg_depthMask_bac7f6b455b6ddeb = function(arg0, arg1) { + arg0.depthMask(arg1 !== 0); + }; + imports.wbg.__wbg_depthRange_d947e824a28dc9a1 = function(arg0, arg1, arg2) { + arg0.depthRange(arg1, arg2); + }; + imports.wbg.__wbg_depthRange_f71c79182f666e45 = function(arg0, arg1, arg2) { + arg0.depthRange(arg1, arg2); + }; + imports.wbg.__wbg_destroy_35f94012e5bb9c17 = function(arg0) { + arg0.destroy(); + }; + imports.wbg.__wbg_destroy_767d9dde1008e293 = function(arg0) { + arg0.destroy(); + }; + imports.wbg.__wbg_destroy_c6af4226dda95dbd = function(arg0) { + arg0.destroy(); + }; + imports.wbg.__wbg_devicePixelContentBoxSize_1ea2c6145730b8c0 = function(arg0) { + const ret = arg0.devicePixelContentBoxSize; + return ret; + }; + imports.wbg.__wbg_devicePixelRatio_f4eb7cbe3a812de0 = function(arg0) { + const ret = arg0.devicePixelRatio; + return ret; + }; + imports.wbg.__wbg_disableVertexAttribArray_c513f1fff3cb73f2 = function(arg0, arg1) { + arg0.disableVertexAttribArray(arg1 >>> 0); + }; + imports.wbg.__wbg_disableVertexAttribArray_e7ff41dc0c3eaf1f = function(arg0, arg1) { + arg0.disableVertexAttribArray(arg1 >>> 0); + }; + imports.wbg.__wbg_disable_4c1cedffa6646166 = function(arg0, arg1) { + arg0.disable(arg1 >>> 0); + }; + imports.wbg.__wbg_disable_5320561e5cb15f08 = function(arg0, arg1) { + arg0.disable(arg1 >>> 0); + }; + imports.wbg.__wbg_disconnect_8b7c928b6057719b = function(arg0) { + arg0.disconnect(); + }; + imports.wbg.__wbg_disconnect_c45e8044053eddf3 = function(arg0) { + arg0.disconnect(); + }; + imports.wbg.__wbg_dispatchWorkgroupsIndirect_8b25efab93a7a433 = function(arg0, arg1, arg2) { + arg0.dispatchWorkgroupsIndirect(arg1, arg2); + }; + imports.wbg.__wbg_dispatchWorkgroups_c102fa81b955935d = function(arg0, arg1, arg2, arg3) { + arg0.dispatchWorkgroups(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0); + }; + imports.wbg.__wbg_document_c488ca7509cc6938 = function(arg0) { + const ret = arg0.document; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_drawArraysInstancedANGLE_55c83db2758c6ab4 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.drawArraysInstancedANGLE(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_drawArraysInstanced_11f863da4daf24d0 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.drawArraysInstanced(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_drawArrays_87e9bb0e2fb3e0fa = function(arg0, arg1, arg2, arg3) { + arg0.drawArrays(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_drawArrays_f5b0f0a0dc392c3f = function(arg0, arg1, arg2, arg3) { + arg0.drawArrays(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_drawBuffersWEBGL_22730193cdce9696 = function(arg0, arg1) { + arg0.drawBuffersWEBGL(arg1); + }; + imports.wbg.__wbg_drawBuffers_f256d529aecd01f2 = function(arg0, arg1) { + arg0.drawBuffers(arg1); + }; + imports.wbg.__wbg_drawElementsInstancedANGLE_db0bafff77affb0d = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.drawElementsInstancedANGLE(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_drawElementsInstanced_e87f1c69165df984 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.drawElementsInstanced(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_drawIndexedIndirect_34484fc6227c7bc8 = function(arg0, arg1, arg2) { + arg0.drawIndexedIndirect(arg1, arg2); + }; + imports.wbg.__wbg_drawIndexedIndirect_5a7c30bb5f1d5b67 = function(arg0, arg1, arg2) { + arg0.drawIndexedIndirect(arg1, arg2); + }; + imports.wbg.__wbg_drawIndexed_115af1449b52a948 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.drawIndexed(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5 >>> 0); + }; + imports.wbg.__wbg_drawIndexed_a587cce4c317791f = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.drawIndexed(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5 >>> 0); + }; + imports.wbg.__wbg_drawIndirect_036d71498a21f1a3 = function(arg0, arg1, arg2) { + arg0.drawIndirect(arg1, arg2); + }; + imports.wbg.__wbg_drawIndirect_a1d7c5e893aa5756 = function(arg0, arg1, arg2) { + arg0.drawIndirect(arg1, arg2); + }; + imports.wbg.__wbg_draw_5351b12033166aca = function(arg0, arg1, arg2, arg3, arg4) { + arg0.draw(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_draw_e2a7c5d66fb2d244 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.draw(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_enableVertexAttribArray_0ce3052ae5f3f84a = function(arg0, arg1) { + arg0.enableVertexAttribArray(arg1 >>> 0); + }; + imports.wbg.__wbg_enableVertexAttribArray_2bb681a583bf0dbe = function(arg0, arg1) { + arg0.enableVertexAttribArray(arg1 >>> 0); + }; + imports.wbg.__wbg_enable_8d6ea7489b31dabd = function(arg0, arg1) { + arg0.enable(arg1 >>> 0); + }; + imports.wbg.__wbg_enable_bb868e19d5c88d56 = function(arg0, arg1) { + arg0.enable(arg1 >>> 0); + }; + imports.wbg.__wbg_endQuery_b4f2566f7afc4117 = function(arg0, arg1) { + arg0.endQuery(arg1 >>> 0); + }; + imports.wbg.__wbg_end_0ac71677a5c1717a = function(arg0) { + arg0.end(); + }; + imports.wbg.__wbg_end_6f776519f1faa582 = function(arg0) { + arg0.end(); + }; + imports.wbg.__wbg_error_2a6b93fdada7ff11 = function(arg0) { + console.error(arg0); + }; + imports.wbg.__wbg_error_7534b8e9a36f1ab4 = function(arg0, arg1) { + let deferred0_0; + let deferred0_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + console.error(getStringFromWasm0(arg0, arg1)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + } + }; + imports.wbg.__wbg_error_e98e6aadd08e0b94 = function(arg0) { + const ret = arg0.error; + return ret; + }; + imports.wbg.__wbg_error_f0dde81ae1e4cfea = function(arg0, arg1) { + console.error(arg0, arg1); + }; + imports.wbg.__wbg_executeBundles_8e6c0614da2805d4 = function(arg0, arg1) { + arg0.executeBundles(arg1); + }; + imports.wbg.__wbg_features_1b464383ea8a7691 = function(arg0) { + const ret = arg0.features; + return ret; + }; + imports.wbg.__wbg_features_e5fbbc2760867852 = function(arg0) { + const ret = arg0.features; + return ret; + }; + imports.wbg.__wbg_fenceSync_68dcf439f52decac = function(arg0, arg1, arg2) { + const ret = arg0.fenceSync(arg1 >>> 0, arg2 >>> 0); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_finish_20711371c58df61c = function(arg0) { + const ret = arg0.finish(); + return ret; + }; + imports.wbg.__wbg_finish_34b2c54329c8719f = function(arg0, arg1) { + const ret = arg0.finish(arg1); + return ret; + }; + imports.wbg.__wbg_finish_a9ab917e756ea00c = function(arg0, arg1) { + const ret = arg0.finish(arg1); + return ret; + }; + imports.wbg.__wbg_finish_e0a6c97c0622f843 = function(arg0) { + const ret = arg0.finish(); + return ret; + }; + imports.wbg.__wbg_focus_c71947fc3fe22147 = function() { return handleError(function (arg0) { + arg0.focus(); + }, arguments) }; + imports.wbg.__wbg_framebufferRenderbuffer_308ddbcaaed66ff2 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.framebufferRenderbuffer(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4); + }; + imports.wbg.__wbg_framebufferRenderbuffer_a23d035c46e3e192 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.framebufferRenderbuffer(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4); + }; + imports.wbg.__wbg_framebufferTexture2D_170b0f8c792e246f = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.framebufferTexture2D(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_framebufferTexture2D_5366ecb050293d09 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.framebufferTexture2D(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_framebufferTextureLayer_daccfb6fb9396578 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.framebufferTextureLayer(arg1 >>> 0, arg2 >>> 0, arg3, arg4, arg5); + }; + imports.wbg.__wbg_framebufferTextureMultiviewOVR_e2282e87fdf2564f = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.framebufferTextureMultiviewOVR(arg1 >>> 0, arg2 >>> 0, arg3, arg4, arg5, arg6); + }; + imports.wbg.__wbg_frontFace_7b469405c0e889ee = function(arg0, arg1) { + arg0.frontFace(arg1 >>> 0); + }; + imports.wbg.__wbg_frontFace_993e921eaef39c45 = function(arg0, arg1) { + arg0.frontFace(arg1 >>> 0); + }; + imports.wbg.__wbg_fullscreenElement_a613ad02fa918fb4 = function(arg0) { + const ret = arg0.fullscreenElement; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getBindGroupLayout_4a94df6108ac6667 = function(arg0, arg1) { + const ret = arg0.getBindGroupLayout(arg1 >>> 0); + return ret; + }; + imports.wbg.__wbg_getBindGroupLayout_80e803d942962f6a = function(arg0, arg1) { + const ret = arg0.getBindGroupLayout(arg1 >>> 0); + return ret; + }; + imports.wbg.__wbg_getBufferSubData_5102d8a217d0774c = function(arg0, arg1, arg2, arg3) { + arg0.getBufferSubData(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_getCoalescedEvents_1372a1922f78401a = function(arg0) { + const ret = arg0.getCoalescedEvents; + return ret; + }; + imports.wbg.__wbg_getCoalescedEvents_3736b5e5d63bed7b = function(arg0) { + const ret = arg0.getCoalescedEvents(); + return ret; + }; + imports.wbg.__wbg_getCompilationInfo_2af3ecdfeda551a3 = function(arg0) { + const ret = arg0.getCompilationInfo(); + return ret; + }; + imports.wbg.__wbg_getComputedStyle_c3a9de7674a38310 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.getComputedStyle(arg1); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getContext_02d86c7d9cfa709e = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.getContext(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getContext_24d4414b979c1bbd = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.getContext(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getContext_74e4f1560c2a2fae = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = arg0.getContext(getStringFromWasm0(arg1, arg2), arg3); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getContext_b22f05fca7ddb494 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = arg0.getContext(getStringFromWasm0(arg1, arg2), arg3); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getCurrentTexture_5a79cda2ff36e1ee = function(arg0) { + const ret = arg0.getCurrentTexture(); + return ret; + }; + imports.wbg.__wbg_getElementById_7b2db24a9b54f077 = function(arg0, arg1, arg2) { + const ret = arg0.getElementById(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getExtension_28666bdc87d23aca = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.getExtension(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getIndexedParameter_f9e7220a3bb8862c = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.getIndexedParameter(arg1 >>> 0, arg2 >>> 0); + return ret; + }, arguments) }; + imports.wbg.__wbg_getMappedRange_932dd043ae22ee0a = function(arg0, arg1, arg2) { + const ret = arg0.getMappedRange(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_getOwnPropertyDescriptor_c701b185423f5b7e = function(arg0, arg1) { + const ret = Object.getOwnPropertyDescriptor(arg0, arg1); + return ret; + }; + imports.wbg.__wbg_getParameter_304cffb9a759dc04 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.getParameter(arg1 >>> 0); + return ret; + }, arguments) }; + imports.wbg.__wbg_getParameter_fd65bc6ff1b0ffd9 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.getParameter(arg1 >>> 0); + return ret; + }, arguments) }; + imports.wbg.__wbg_getPreferredCanvasFormat_de73c02773a5209e = function(arg0) { + const ret = arg0.getPreferredCanvasFormat(); + return (__wbindgen_enum_GpuTextureFormat.indexOf(ret) + 1 || 96) - 1; + }; + imports.wbg.__wbg_getProgramInfoLog_032aac3e6f3a253c = function(arg0, arg1, arg2) { + const ret = arg1.getProgramInfoLog(arg2); + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_getProgramInfoLog_039168c2aed8d3fe = function(arg0, arg1, arg2) { + const ret = arg1.getProgramInfoLog(arg2); + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_getProgramParameter_70b22019524689fa = function(arg0, arg1, arg2) { + const ret = arg0.getProgramParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getProgramParameter_9b3bdf8d90159edb = function(arg0, arg1, arg2) { + const ret = arg0.getProgramParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getPropertyValue_e87121b8549f72d5 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = arg1.getPropertyValue(getStringFromWasm0(arg2, arg3)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_getQueryParameter_e7b02fe5fd64baa5 = function(arg0, arg1, arg2) { + const ret = arg0.getQueryParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getShaderInfoLog_5c7d45bafe3be3dd = function(arg0, arg1, arg2) { + const ret = arg1.getShaderInfoLog(arg2); + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_getShaderInfoLog_d2cc881ce343a733 = function(arg0, arg1, arg2) { + const ret = arg1.getShaderInfoLog(arg2); + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_getShaderParameter_6d0578dd9f58b684 = function(arg0, arg1, arg2) { + const ret = arg0.getShaderParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getShaderParameter_c50fbeadf9ef6879 = function(arg0, arg1, arg2) { + const ret = arg0.getShaderParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getSupportedExtensions_fca342bac23691db = function(arg0) { + const ret = arg0.getSupportedExtensions(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getSupportedProfiles_b2cc3aec569a65fa = function(arg0) { + const ret = arg0.getSupportedProfiles(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getSyncParameter_5688138f66b57b16 = function(arg0, arg1, arg2) { + const ret = arg0.getSyncParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getUniformBlockIndex_b53609b8ecff8b48 = function(arg0, arg1, arg2, arg3) { + const ret = arg0.getUniformBlockIndex(arg1, getStringFromWasm0(arg2, arg3)); + return ret; + }; + imports.wbg.__wbg_getUniformLocation_852fbe42afe106ff = function(arg0, arg1, arg2, arg3) { + const ret = arg0.getUniformLocation(arg1, getStringFromWasm0(arg2, arg3)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getUniformLocation_9d46a65011600cce = function(arg0, arg1, arg2, arg3) { + const ret = arg0.getUniformLocation(arg1, getStringFromWasm0(arg2, arg3)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_get_68aa371864aa301a = function(arg0, arg1) { + const ret = arg0[arg1 >>> 0]; + return ret; + }; + imports.wbg.__wbg_get_6b316bfdb1b95076 = function(arg0, arg1) { + const ret = arg0[arg1 >>> 0]; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_globalThis_1e2ac1d6eee845b3 = function() { return handleError(function () { + const ret = globalThis.globalThis; + return ret; + }, arguments) }; + imports.wbg.__wbg_global_f25a574ae080367c = function() { return handleError(function () { + const ret = global.global; + return ret; + }, arguments) }; + imports.wbg.__wbg_gpu_87871e8f7ace8fee = function(arg0) { + const ret = arg0.gpu; + return ret; + }; + imports.wbg.__wbg_has_624cbf0451d880e8 = function(arg0, arg1, arg2) { + const ret = arg0.has(getStringFromWasm0(arg1, arg2)); + return ret; + }; + imports.wbg.__wbg_height_4065e49e5ec4c4c1 = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_51a97623165c9beb = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_74bc8ec7548ff6b6 = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_a196a7b9b1d7e01c = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_cabc0c8a4c838304 = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_e509816ec3fdf5b1 = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_includes_959087f4155febdf = function(arg0, arg1, arg2) { + const ret = arg0.includes(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_info_b6bd3cb6471c2b4c = function(arg0) { + console.info(arg0); + }; + imports.wbg.__wbg_inlineSize_6f8d0983462c2919 = function(arg0) { + const ret = arg0.inlineSize; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuAdapter_0731153d2b08720b = function(arg0) { + let result; + try { + result = arg0 instanceof GPUAdapter; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuCanvasContext_d14121c7bd72fcef = function(arg0) { + let result; + try { + result = arg0 instanceof GPUCanvasContext; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuDeviceLostInfo_a3677ebb8241d800 = function(arg0) { + let result; + try { + result = arg0 instanceof GPUDeviceLostInfo; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuOutOfMemoryError_391d9a08edbfa04b = function(arg0) { + let result; + try { + result = arg0 instanceof GPUOutOfMemoryError; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuValidationError_f4d803c383da3c92 = function(arg0) { + let result; + try { + result = arg0 instanceof GPUValidationError; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_HtmlCanvasElement_9db0dfd54b2c5330 = function(arg0) { + let result; + try { + result = arg0 instanceof HTMLCanvasElement; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_Object_f0f57d6eeca1b81d = function(arg0) { + let result; + try { + result = arg0 instanceof Object; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_WebGl2RenderingContext_888701598b82d45d = function(arg0) { + let result; + try { + result = arg0 instanceof WebGL2RenderingContext; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_Window_a959820eb267fe22 = function(arg0) { + let result; + try { + result = arg0 instanceof Window; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_invalidateFramebuffer_f4a994f4a8535cca = function() { return handleError(function (arg0, arg1, arg2) { + arg0.invalidateFramebuffer(arg1 >>> 0, arg2); + }, arguments) }; + imports.wbg.__wbg_isIntersecting_9059d5bcaf29f415 = function(arg0) { + const ret = arg0.isIntersecting; + return ret; + }; + imports.wbg.__wbg_is_20768e55ad2a7c3f = function(arg0, arg1) { + const ret = Object.is(arg0, arg1); + return ret; + }; + imports.wbg.__wbg_key_02315cd3f595756b = function(arg0, arg1) { + const ret = arg1.key; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_label_2082ab37d2ad170d = function(arg0, arg1) { + const ret = arg1.label; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_length_2e63ba34c4121df5 = function(arg0) { + const ret = arg0.length; + return ret; + }; + imports.wbg.__wbg_length_9df32f7add647235 = function(arg0) { + const ret = arg0.length; + return ret; + }; + imports.wbg.__wbg_length_e74df4881604f1d9 = function(arg0) { + const ret = arg0.length; + return ret; + }; + imports.wbg.__wbg_limits_2dd632c891786ddf = function(arg0) { + const ret = arg0.limits; + return ret; + }; + imports.wbg.__wbg_limits_f6411f884b0b2d62 = function(arg0) { + const ret = arg0.limits; + return ret; + }; + imports.wbg.__wbg_lineNum_0246de1e072ffe19 = function(arg0) { + const ret = arg0.lineNum; + return ret; + }; + imports.wbg.__wbg_linkProgram_575f761eda0a14bc = function(arg0, arg1) { + arg0.linkProgram(arg1); + }; + imports.wbg.__wbg_linkProgram_5eee13e603e9af41 = function(arg0, arg1) { + arg0.linkProgram(arg1); + }; + imports.wbg.__wbg_location_54d35e8c85dcfb9c = function(arg0) { + const ret = arg0.location; + return ret; + }; + imports.wbg.__wbg_location_e9eba129bf0612a5 = function(arg0) { + const ret = arg0.location; + return ret; + }; + imports.wbg.__wbg_log_d818ca3cab23fc77 = function(arg0) { + console.log(arg0); + }; + imports.wbg.__wbg_lost_6e4d29847ce2a34a = function(arg0) { + const ret = arg0.lost; + return ret; + }; + imports.wbg.__wbg_mapAsync_37f5e03edf2e1352 = function(arg0, arg1, arg2, arg3) { + const ret = arg0.mapAsync(arg1 >>> 0, arg2, arg3); + return ret; + }; + imports.wbg.__wbg_matchMedia_0be65181eeae951c = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.matchMedia(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_matches_254463383aee4688 = function(arg0) { + const ret = arg0.matches; + return ret; + }; + imports.wbg.__wbg_maxBindGroups_768ca5e8623bf450 = function(arg0) { + const ret = arg0.maxBindGroups; + return ret; + }; + imports.wbg.__wbg_maxBindingsPerBindGroup_057972d600d69719 = function(arg0) { + const ret = arg0.maxBindingsPerBindGroup; + return ret; + }; + imports.wbg.__wbg_maxBufferSize_e237b44f19a5a62b = function(arg0) { + const ret = arg0.maxBufferSize; + return ret; + }; + imports.wbg.__wbg_maxColorAttachmentBytesPerSample_d6c7b4051d22c6d6 = function(arg0) { + const ret = arg0.maxColorAttachmentBytesPerSample; + return ret; + }; + imports.wbg.__wbg_maxColorAttachments_7a18ba24c05edcfd = function(arg0) { + const ret = arg0.maxColorAttachments; + return ret; + }; + imports.wbg.__wbg_maxComputeInvocationsPerWorkgroup_b99c2f3611633992 = function(arg0) { + const ret = arg0.maxComputeInvocationsPerWorkgroup; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupSizeX_adb26da9ed7f77f7 = function(arg0) { + const ret = arg0.maxComputeWorkgroupSizeX; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupSizeY_cc217559c98be33b = function(arg0) { + const ret = arg0.maxComputeWorkgroupSizeY; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupSizeZ_66606a80e2cf2309 = function(arg0) { + const ret = arg0.maxComputeWorkgroupSizeZ; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupStorageSize_cb6235497b8c4997 = function(arg0) { + const ret = arg0.maxComputeWorkgroupStorageSize; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupsPerDimension_6bf550b5f21d57cf = function(arg0) { + const ret = arg0.maxComputeWorkgroupsPerDimension; + return ret; + }; + imports.wbg.__wbg_maxDynamicStorageBuffersPerPipelineLayout_c6ac20334e328b47 = function(arg0) { + const ret = arg0.maxDynamicStorageBuffersPerPipelineLayout; + return ret; + }; + imports.wbg.__wbg_maxDynamicUniformBuffersPerPipelineLayout_aa8f14a74b440f01 = function(arg0) { + const ret = arg0.maxDynamicUniformBuffersPerPipelineLayout; + return ret; + }; + imports.wbg.__wbg_maxSampledTexturesPerShaderStage_db7c4922cc60144a = function(arg0) { + const ret = arg0.maxSampledTexturesPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxSamplersPerShaderStage_538705fe2263e710 = function(arg0) { + const ret = arg0.maxSamplersPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxStorageBufferBindingSize_32178c0f5f7f85cb = function(arg0) { + const ret = arg0.maxStorageBufferBindingSize; + return ret; + }; + imports.wbg.__wbg_maxStorageBuffersPerShaderStage_9f67e9eae0089f77 = function(arg0) { + const ret = arg0.maxStorageBuffersPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxStorageTexturesPerShaderStage_57239664936031cf = function(arg0) { + const ret = arg0.maxStorageTexturesPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxTextureArrayLayers_db5d4e486c78ae04 = function(arg0) { + const ret = arg0.maxTextureArrayLayers; + return ret; + }; + imports.wbg.__wbg_maxTextureDimension1D_3475085ffacabbdc = function(arg0) { + const ret = arg0.maxTextureDimension1D; + return ret; + }; + imports.wbg.__wbg_maxTextureDimension2D_7c8d5ecf09eb8519 = function(arg0) { + const ret = arg0.maxTextureDimension2D; + return ret; + }; + imports.wbg.__wbg_maxTextureDimension3D_8bd976677a0f91d4 = function(arg0) { + const ret = arg0.maxTextureDimension3D; + return ret; + }; + imports.wbg.__wbg_maxUniformBufferBindingSize_95b1a54e7e4a0f0f = function(arg0) { + const ret = arg0.maxUniformBufferBindingSize; + return ret; + }; + imports.wbg.__wbg_maxUniformBuffersPerShaderStage_5f475d9a453af14d = function(arg0) { + const ret = arg0.maxUniformBuffersPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxVertexAttributes_4c48ca2f5d32f860 = function(arg0) { + const ret = arg0.maxVertexAttributes; + return ret; + }; + imports.wbg.__wbg_maxVertexBufferArrayStride_2233f6933ecc5a16 = function(arg0) { + const ret = arg0.maxVertexBufferArrayStride; + return ret; + }; + imports.wbg.__wbg_maxVertexBuffers_c47e508cd7348554 = function(arg0) { + const ret = arg0.maxVertexBuffers; + return ret; + }; + imports.wbg.__wbg_message_0762358e59db7ed6 = function(arg0, arg1) { + const ret = arg1.message; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_message_7957ab09f64c6822 = function(arg0, arg1) { + const ret = arg1.message; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_message_b163994503433c9e = function(arg0, arg1) { + const ret = arg1.message; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_messages_da071582f72bc978 = function(arg0) { + const ret = arg0.messages; + return ret; + }; + imports.wbg.__wbg_metaKey_34d5658170ffb3ee = function(arg0) { + const ret = arg0.metaKey; + return ret; + }; + imports.wbg.__wbg_metaKey_6c8e9228e8dda152 = function(arg0) { + const ret = arg0.metaKey; + return ret; + }; + imports.wbg.__wbg_minStorageBufferOffsetAlignment_51b4801fac3a58de = function(arg0) { + const ret = arg0.minStorageBufferOffsetAlignment; + return ret; + }; + imports.wbg.__wbg_minUniformBufferOffsetAlignment_5d62a77924b2335f = function(arg0) { + const ret = arg0.minUniformBufferOffsetAlignment; + return ret; + }; + imports.wbg.__wbg_movementX_e32c342d96d1c701 = function(arg0) { + const ret = arg0.movementX; + return ret; + }; + imports.wbg.__wbg_movementY_136c6febb976ca3b = function(arg0) { + const ret = arg0.movementY; + return ret; + }; + imports.wbg.__wbg_navigator_2936a93ec3c6f4c5 = function(arg0) { + const ret = arg0.navigator; + return ret; + }; + imports.wbg.__wbg_navigator_da495c9e52e160b1 = function(arg0) { + const ret = arg0.navigator; + return ret; + }; + imports.wbg.__wbg_new_076cac58bb698dd4 = function() { + const ret = new Object(); + return ret; + }; + imports.wbg.__wbg_new_0c28e72025e00594 = function() { + const ret = new Array(); + return ret; + }; + imports.wbg.__wbg_new_23362fa370a0a372 = function(arg0) { + const ret = new Uint8Array(arg0); + return ret; + }; + imports.wbg.__wbg_new_238671e08bf4fcbb = function() { return handleError(function () { + const ret = new MessageChannel(); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_4b15073a88792687 = function() { return handleError(function (arg0) { + const ret = new ResizeObserver(arg0); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_8a6f238a6ece86ea = function() { + const ret = new Error(); + return ret; + }; + imports.wbg.__wbg_new_93cf40e4f48fe902 = function() { return handleError(function () { + const ret = new AbortController(); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_b4a18f0a618c89f2 = function() { return handleError(function (arg0, arg1) { + const ret = new Worker(getStringFromWasm0(arg0, arg1)); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_c94d990936d8ea5d = function() { return handleError(function (arg0) { + const ret = new IntersectionObserver(arg0); + return ret; + }, arguments) }; + imports.wbg.__wbg_newnoargs_19a249f4eceaaac3 = function(arg0, arg1) { + const ret = new Function(getStringFromWasm0(arg0, arg1)); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_24ff09a6b37a856f = function(arg0, arg1, arg2) { + const ret = new Int16Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_25d3cac011b6e2d5 = function(arg0, arg1, arg2) { + const ret = new Uint32Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_457c61bfe0fb7b8c = function(arg0, arg1, arg2) { + const ret = new Int32Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_9f48300371c8802a = function(arg0, arg1, arg2) { + const ret = new Uint16Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_a6087a94c7bfea61 = function(arg0, arg1, arg2) { + const ret = new Int8Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_c280c15b00e018cd = function(arg0, arg1, arg2) { + const ret = new Float32Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_ee8def7000b7b2be = function(arg0, arg1, arg2) { + const ret = new Uint8Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithstrsequenceandoptions_af096ce40d9d9ac8 = function() { return handleError(function (arg0, arg1) { + const ret = new Blob(arg0, arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_now_2c95c9de01293173 = function(arg0) { + const ret = arg0.now(); + return ret; + }; + imports.wbg.__wbg_observe_e2208b07fe315de7 = function(arg0, arg1) { + arg0.observe(arg1); + }; + imports.wbg.__wbg_observe_ec91d62599b7772b = function(arg0, arg1) { + arg0.observe(arg1); + }; + imports.wbg.__wbg_observe_fd48955513eca909 = function(arg0, arg1, arg2) { + arg0.observe(arg1, arg2); + }; + imports.wbg.__wbg_of_2f6232d86af7992c = function(arg0, arg1) { + const ret = Array.of(arg0, arg1); + return ret; + }; + imports.wbg.__wbg_of_5ae3a2d893e18853 = function(arg0) { + const ret = Array.of(arg0); + return ret; + }; + imports.wbg.__wbg_offsetX_d6957d052a0d4b11 = function(arg0) { + const ret = arg0.offsetX; + return ret; + }; + imports.wbg.__wbg_offsetY_076edde514bf80f4 = function(arg0) { + const ret = arg0.offsetY; + return ret; + }; + imports.wbg.__wbg_offset_336f14c993863b76 = function(arg0) { + const ret = arg0.offset; + return ret; + }; + imports.wbg.__wbg_performance_7a3ffd0b17f663ad = function(arg0) { + const ret = arg0.performance; + return ret; + }; + imports.wbg.__wbg_persisted_7e044507e52804d9 = function(arg0) { + const ret = arg0.persisted; + return ret; + }; + imports.wbg.__wbg_pixelStorei_198b92c3e346678a = function(arg0, arg1, arg2) { + arg0.pixelStorei(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_pixelStorei_9c4cb0a4b040b41d = function(arg0, arg1, arg2) { + arg0.pixelStorei(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_play_e7eb90a843114e0d = function(arg0) { + arg0.play(); + }; + imports.wbg.__wbg_pointerId_a2cbd2cdd6da90b2 = function(arg0) { + const ret = arg0.pointerId; + return ret; + }; + imports.wbg.__wbg_pointerType_1b74686427cdec29 = function(arg0, arg1) { + const ret = arg1.pointerType; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_polygonOffset_7ec31dee95d41171 = function(arg0, arg1, arg2) { + arg0.polygonOffset(arg1, arg2); + }; + imports.wbg.__wbg_polygonOffset_c6cbc8093770e840 = function(arg0, arg1, arg2) { + arg0.polygonOffset(arg1, arg2); + }; + imports.wbg.__wbg_popErrorScope_af0b22f136a861d6 = function(arg0) { + const ret = arg0.popErrorScope(); + return ret; + }; + imports.wbg.__wbg_port1_6f5b26fd23d19536 = function(arg0) { + const ret = arg0.port1; + return ret; + }; + imports.wbg.__wbg_port2_2eb4c961d6df5816 = function(arg0) { + const ret = arg0.port2; + return ret; + }; + imports.wbg.__wbg_postMessage_33dcf5caa3589c64 = function() { return handleError(function (arg0, arg1, arg2) { + arg0.postMessage(arg1, arg2); + }, arguments) }; + imports.wbg.__wbg_postMessage_3e7f3215320b4a9c = function() { return handleError(function (arg0, arg1) { + arg0.postMessage(arg1); + }, arguments) }; + imports.wbg.__wbg_postTask_9ba4c3cedae00b38 = function(arg0, arg1, arg2) { + const ret = arg0.postTask(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_pressure_8707a47b6fb1c1fd = function(arg0) { + const ret = arg0.pressure; + return ret; + }; + imports.wbg.__wbg_preventDefault_faafffcaad92972d = function(arg0) { + arg0.preventDefault(); + }; + imports.wbg.__wbg_prototype_0f68911d93450df4 = function() { + const ret = ResizeObserverEntry.prototype; + return ret; + }; + imports.wbg.__wbg_pushErrorScope_b52914ff10ba6ce3 = function(arg0, arg1) { + arg0.pushErrorScope(__wbindgen_enum_GpuErrorFilter[arg1]); + }; + imports.wbg.__wbg_push_3e9ce81246ef1d1b = function(arg0, arg1) { + const ret = arg0.push(arg1); + return ret; + }; + imports.wbg.__wbg_queryCounterEXT_6da4ab4ec9c37329 = function(arg0, arg1, arg2) { + arg0.queryCounterEXT(arg1, arg2 >>> 0); + }; + imports.wbg.__wbg_querySelectorAll_775f04e6f26ad643 = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.querySelectorAll(getStringFromWasm0(arg1, arg2)); + return ret; + }, arguments) }; + imports.wbg.__wbg_querySelector_473a7bd6647e7cbb = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.querySelector(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_queueMicrotask_3d422e1ba49c2500 = function(arg0) { + const ret = arg0.queueMicrotask; + return ret; + }; + imports.wbg.__wbg_queueMicrotask_5fc3e400ac3c03f4 = function(arg0) { + queueMicrotask(arg0); + }; + imports.wbg.__wbg_queueMicrotask_f301663ccadbb7d0 = function(arg0) { + queueMicrotask(arg0); + }; + imports.wbg.__wbg_queue_bea4017efaaf9904 = function(arg0) { + const ret = arg0.queue; + return ret; + }; + imports.wbg.__wbg_readBuffer_8fd1512f6bdfc8f0 = function(arg0, arg1) { + arg0.readBuffer(arg1 >>> 0); + }; + imports.wbg.__wbg_readPixels_48fc96a447cda9aa = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + arg0.readPixels(arg1, arg2, arg3, arg4, arg5 >>> 0, arg6 >>> 0, arg7); + }, arguments) }; + imports.wbg.__wbg_readPixels_7b1022930a9026d1 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + arg0.readPixels(arg1, arg2, arg3, arg4, arg5 >>> 0, arg6 >>> 0, arg7); + }, arguments) }; + imports.wbg.__wbg_readPixels_da6e94b84b4cfd41 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + arg0.readPixels(arg1, arg2, arg3, arg4, arg5 >>> 0, arg6 >>> 0, arg7); + }, arguments) }; + imports.wbg.__wbg_reason_43acd39cce242b50 = function(arg0) { + const ret = arg0.reason; + return (__wbindgen_enum_GpuDeviceLostReason.indexOf(ret) + 1 || 3) - 1; + }; + imports.wbg.__wbg_removeEventListener_d14a328308e427ba = function() { return handleError(function (arg0, arg1, arg2, arg3) { + arg0.removeEventListener(getStringFromWasm0(arg1, arg2), arg3); + }, arguments) }; + imports.wbg.__wbg_removeListener_aee72eb2e5fba09c = function() { return handleError(function (arg0, arg1) { + arg0.removeListener(arg1); + }, arguments) }; + imports.wbg.__wbg_removeProperty_902c73a4430b3e54 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = arg1.removeProperty(getStringFromWasm0(arg2, arg3)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_renderbufferStorageMultisample_abd1099fecb2e2a4 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.renderbufferStorageMultisample(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_renderbufferStorage_56c61eb0bb2718a9 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.renderbufferStorage(arg1 >>> 0, arg2 >>> 0, arg3, arg4); + }; + imports.wbg.__wbg_renderbufferStorage_aa4b58453d5aca0f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.renderbufferStorage(arg1 >>> 0, arg2 >>> 0, arg3, arg4); + }; + imports.wbg.__wbg_repeat_56fa20e30d00be95 = function(arg0) { + const ret = arg0.repeat; + return ret; + }; + imports.wbg.__wbg_requestAdapter_e6dcfac497cafa7a = function(arg0, arg1) { + const ret = arg0.requestAdapter(arg1); + return ret; + }; + imports.wbg.__wbg_requestAnimationFrame_e8ca543d07df528e = function() { return handleError(function (arg0, arg1) { + const ret = arg0.requestAnimationFrame(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_requestDevice_03b802707d5a382c = function(arg0, arg1) { + const ret = arg0.requestDevice(arg1); + return ret; + }; + imports.wbg.__wbg_requestFullscreen_e1ad8752a4e33f7e = function(arg0) { + const ret = arg0.requestFullscreen; + return ret; + }; + imports.wbg.__wbg_requestFullscreen_f727b1f250ebb10a = function(arg0) { + const ret = arg0.requestFullscreen(); + return ret; + }; + imports.wbg.__wbg_requestIdleCallback_773c554fc8c5a310 = function(arg0) { + const ret = arg0.requestIdleCallback; + return ret; + }; + imports.wbg.__wbg_requestIdleCallback_ba1f658c72e2140c = function() { return handleError(function (arg0, arg1) { + const ret = arg0.requestIdleCallback(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_resolveQuerySet_811661fb23f3b699 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.resolveQuerySet(arg1, arg2 >>> 0, arg3 >>> 0, arg4, arg5 >>> 0); + }; + imports.wbg.__wbg_resolve_6a311e8bb26423ab = function(arg0) { + const ret = Promise.resolve(arg0); + return ret; + }; + imports.wbg.__wbg_revokeObjectURL_3e4ad6d46a9a93f1 = function() { return handleError(function (arg0, arg1) { + URL.revokeObjectURL(getStringFromWasm0(arg0, arg1)); + }, arguments) }; + imports.wbg.__wbg_samplerParameterf_a9708333dc0df03e = function(arg0, arg1, arg2, arg3) { + arg0.samplerParameterf(arg1, arg2 >>> 0, arg3); + }; + imports.wbg.__wbg_samplerParameteri_6011eca3eaa96ac6 = function(arg0, arg1, arg2, arg3) { + arg0.samplerParameteri(arg1, arg2 >>> 0, arg3); + }; + imports.wbg.__wbg_scheduler_10edeee35a76c7c6 = function(arg0) { + const ret = arg0.scheduler; + return ret; + }; + imports.wbg.__wbg_scheduler_6d71128f17fbca34 = function(arg0) { + const ret = arg0.scheduler; + return ret; + }; + imports.wbg.__wbg_scissor_4c06926fa8af817c = function(arg0, arg1, arg2, arg3, arg4) { + arg0.scissor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_scissor_608c4f610141e6df = function(arg0, arg1, arg2, arg3, arg4) { + arg0.scissor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_search_4c8c4c416a168e55 = function() { return handleError(function (arg0, arg1) { + const ret = arg1.search; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_self_ac4343e4047b83cc = function() { return handleError(function () { + const ret = self.self; + return ret; + }, arguments) }; + imports.wbg.__wbg_setAttribute_e5d83ecaf7f586d5 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { + arg0.setAttribute(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4)); + }, arguments) }; + imports.wbg.__wbg_setBindGroup_62a3045b0921e429 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setBindGroup(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4), arg5, arg6 >>> 0); + }; + imports.wbg.__wbg_setBindGroup_6c0fd18e9a53a945 = function(arg0, arg1, arg2) { + arg0.setBindGroup(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_setBindGroup_7f3b61f1f482133b = function(arg0, arg1, arg2) { + arg0.setBindGroup(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_setBindGroup_bf767a5aa46a33ce = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setBindGroup(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4), arg5, arg6 >>> 0); + }; + imports.wbg.__wbg_setBindGroup_c4aaff14063226b4 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setBindGroup(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4), arg5, arg6 >>> 0); + }; + imports.wbg.__wbg_setBindGroup_f82e771dc1b69093 = function(arg0, arg1, arg2) { + arg0.setBindGroup(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_setBlendConstant_016723821cfb3aa4 = function(arg0, arg1) { + arg0.setBlendConstant(arg1); + }; + imports.wbg.__wbg_setIndexBuffer_286a40afdff411b7 = function(arg0, arg1, arg2, arg3) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3); + }; + imports.wbg.__wbg_setIndexBuffer_7efd0b7a40c65fb9 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3, arg4); + }; + imports.wbg.__wbg_setIndexBuffer_e091a9673bb575e2 = function(arg0, arg1, arg2, arg3) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3); + }; + imports.wbg.__wbg_setIndexBuffer_f0759f00036f615f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3, arg4); + }; + imports.wbg.__wbg_setPipeline_ba92070b8ee81cf9 = function(arg0, arg1) { + arg0.setPipeline(arg1); + }; + imports.wbg.__wbg_setPipeline_c344f76bae58c4d6 = function(arg0, arg1) { + arg0.setPipeline(arg1); + }; + imports.wbg.__wbg_setPipeline_d76451c50a121598 = function(arg0, arg1) { + arg0.setPipeline(arg1); + }; + imports.wbg.__wbg_setPointerCapture_6b89bc3d20c408af = function() { return handleError(function (arg0, arg1) { + arg0.setPointerCapture(arg1); + }, arguments) }; + imports.wbg.__wbg_setProperty_b11b0bad191551d1 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { + arg0.setProperty(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4)); + }, arguments) }; + imports.wbg.__wbg_setScissorRect_0b6ee0852ef0b6b9 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setScissorRect(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_setStencilReference_34fd3d59673a5a9d = function(arg0, arg1) { + arg0.setStencilReference(arg1 >>> 0); + }; + imports.wbg.__wbg_setTimeout_11f3c7cad8433a4f = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.setTimeout(arg1, arg2); + return ret; + }, arguments) }; + imports.wbg.__wbg_setTimeout_15ba883433c836ab = function() { return handleError(function (arg0, arg1) { + const ret = arg0.setTimeout(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_setVertexBuffer_06a90dc78e1ad9c4 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_setVertexBuffer_1540e9118b6c451d = function(arg0, arg1, arg2, arg3) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_setVertexBuffer_5166eedc06450701 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_setVertexBuffer_8621784e5014065b = function(arg0, arg1, arg2, arg3) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_setViewport_731ad30abb13f744 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setViewport(arg1, arg2, arg3, arg4, arg5, arg6); + }; + imports.wbg.__wbg_set_421385e996a16e02 = function() { return handleError(function (arg0, arg1, arg2) { + const ret = Reflect.set(arg0, arg1, arg2); + return ret; + }, arguments) }; + imports.wbg.__wbg_set_7b70226104a82921 = function(arg0, arg1, arg2) { + arg0.set(arg1, arg2 >>> 0); + }; + imports.wbg.__wbg_setbox_f664fc1447c0b2bb = function(arg0, arg1) { + arg0.box = __wbindgen_enum_ResizeObserverBoxOptions[arg1]; + }; + imports.wbg.__wbg_setheight_4286b13b9186d39f = function(arg0, arg1) { + arg0.height = arg1 >>> 0; + }; + imports.wbg.__wbg_setheight_7632621fed149fd9 = function(arg0, arg1) { + arg0.height = arg1 >>> 0; + }; + imports.wbg.__wbg_setonmessage_1f177e6cba71d19d = function(arg0, arg1) { + arg0.onmessage = arg1; + }; + imports.wbg.__wbg_setonuncapturederror_19541466822d790b = function(arg0, arg1) { + arg0.onuncapturederror = arg1; + }; + imports.wbg.__wbg_settabIndex_bc37dd560b089902 = function(arg0, arg1) { + arg0.tabIndex = arg1; + }; + imports.wbg.__wbg_settype_202db174d92fe493 = function(arg0, arg1, arg2) { + arg0.type = getStringFromWasm0(arg1, arg2); + }; + imports.wbg.__wbg_setwidth_5e43e6e177d3e2ec = function(arg0, arg1) { + arg0.width = arg1 >>> 0; + }; + imports.wbg.__wbg_setwidth_db46810857c0f6bd = function(arg0, arg1) { + arg0.width = arg1 >>> 0; + }; + imports.wbg.__wbg_shaderSource_7d9e91c6b9aaf864 = function(arg0, arg1, arg2, arg3) { + arg0.shaderSource(arg1, getStringFromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_shaderSource_b7db90958962e1f7 = function(arg0, arg1, arg2, arg3) { + arg0.shaderSource(arg1, getStringFromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_shiftKey_570898b1142a9898 = function(arg0) { + const ret = arg0.shiftKey; + return ret; + }; + imports.wbg.__wbg_shiftKey_e90da27a3092777e = function(arg0) { + const ret = arg0.shiftKey; + return ret; + }; + imports.wbg.__wbg_signal_fd2d6d0644f16ad8 = function(arg0) { + const ret = arg0.signal; + return ret; + }; + imports.wbg.__wbg_size_661bddb3f9898121 = function(arg0) { + const ret = arg0.size; + return ret; + }; + imports.wbg.__wbg_stack_0ed75d68575b0f3c = function(arg0, arg1) { + const ret = arg1.stack; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_start_a00c28f297559e1d = function(arg0) { + arg0.start(); + }; + imports.wbg.__wbg_stencilFuncSeparate_903776516b404f1e = function(arg0, arg1, arg2, arg3, arg4) { + arg0.stencilFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3, arg4 >>> 0); + }; + imports.wbg.__wbg_stencilFuncSeparate_9987b0fe1f74adc3 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.stencilFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3, arg4 >>> 0); + }; + imports.wbg.__wbg_stencilMaskSeparate_24a5bad679d4896c = function(arg0, arg1, arg2) { + arg0.stencilMaskSeparate(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_stencilMaskSeparate_5ade706794e0ff10 = function(arg0, arg1, arg2) { + arg0.stencilMaskSeparate(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_stencilMask_8ccbc71e58e71b93 = function(arg0, arg1) { + arg0.stencilMask(arg1 >>> 0); + }; + imports.wbg.__wbg_stencilMask_e03561d8e6b7171a = function(arg0, arg1) { + arg0.stencilMask(arg1 >>> 0); + }; + imports.wbg.__wbg_stencilOpSeparate_13e313403862a2bc = function(arg0, arg1, arg2, arg3, arg4) { + arg0.stencilOpSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_stencilOpSeparate_e03fe45a6a83cf8f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.stencilOpSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_style_e7c4e0938a7565b2 = function(arg0) { + const ret = arg0.style; + return ret; + }; + imports.wbg.__wbg_submit_f635072bb3d05faa = function(arg0, arg1) { + arg0.submit(arg1); + }; + imports.wbg.__wbg_texImage2D_102612af3b3ea301 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texImage2D_38f7a3dc4dcf0183 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texImage3D_4828de4d80648b9d = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) { + arg0.texImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8 >>> 0, arg9 >>> 0, arg10); + }, arguments) }; + imports.wbg.__wbg_texParameteri_2cc96bb59a67d4c2 = function(arg0, arg1, arg2, arg3) { + arg0.texParameteri(arg1 >>> 0, arg2 >>> 0, arg3); + }; + imports.wbg.__wbg_texParameteri_8e4109b7fbd3b875 = function(arg0, arg1, arg2, arg3) { + arg0.texParameteri(arg1 >>> 0, arg2 >>> 0, arg3); + }; + imports.wbg.__wbg_texStorage2D_728b9632dbd913e2 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.texStorage2D(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_texStorage3D_04d10ef19e465ec2 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.texStorage3D(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5, arg6); + }; + imports.wbg.__wbg_texSubImage2D_0c095c30c73e34c0 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_3c9a9ceac3c27fe7 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_3dbb6fb895fd53a7 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_4e505a214a40fc20 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_7197aef4cdbc7d70 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_746d9e75d2dd12d1 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_ca1d7744b168aa02 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_da8455e8da280cee = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_82336f6100e3ef24 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_831e19830a791320 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_9623fc609df925f5 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_9a8cb5676fdf0b50 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_a18f6424082a9393 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_d127dad275801f75 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_ebd1f2b229a92c5d = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_then_5c6469c1e1da9e59 = function(arg0, arg1) { + const ret = arg0.then(arg1); + return ret; + }; + imports.wbg.__wbg_then_faeb8aed8c1629b7 = function(arg0, arg1, arg2) { + const ret = arg0.then(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_type_c0d5d83032e9858a = function(arg0) { + const ret = arg0.type; + return (__wbindgen_enum_GpuCompilationMessageType.indexOf(ret) + 1 || 4) - 1; + }; + imports.wbg.__wbg_uniform1f_163e6ffe0d9805a4 = function(arg0, arg1, arg2) { + arg0.uniform1f(arg1, arg2); + }; + imports.wbg.__wbg_uniform1f_bb85eb8ed9248e52 = function(arg0, arg1, arg2) { + arg0.uniform1f(arg1, arg2); + }; + imports.wbg.__wbg_uniform1i_9fe01b91ff85aa85 = function(arg0, arg1, arg2) { + arg0.uniform1i(arg1, arg2); + }; + imports.wbg.__wbg_uniform1i_da7c764279d55bb5 = function(arg0, arg1, arg2) { + arg0.uniform1i(arg1, arg2); + }; + imports.wbg.__wbg_uniform1ui_1cd8b5fee3b44787 = function(arg0, arg1, arg2) { + arg0.uniform1ui(arg1, arg2 >>> 0); + }; + imports.wbg.__wbg_uniform2fv_40e0cc0b3d7ab815 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform2fv_d7ec4f77d2282f77 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform2iv_6d1ed66fa019f1a6 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform2iv_b36969471f3bb8e2 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform2uiv_e5d292b09c7c2eb4 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2uiv(arg1, getArrayU32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3fv_4f40a7b75bcdeb91 = function(arg0, arg1, arg2, arg3) { + arg0.uniform3fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3fv_c6fea7086ffa568e = function(arg0, arg1, arg2, arg3) { + arg0.uniform3fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3iv_46cafa9a87333139 = function(arg0, arg1, arg2, arg3) { + arg0.uniform3iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3iv_c13167af320af60e = function(arg0, arg1, arg2, arg3) { + arg0.uniform3iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3uiv_7e60873d7a35f50b = function(arg0, arg1, arg2, arg3) { + arg0.uniform3uiv(arg1, getArrayU32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4f_2408c0a3b4a0941d = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.uniform4f(arg1, arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_uniform4f_4eebf85a05c60a16 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.uniform4f(arg1, arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_uniform4fv_7ecf41f27e0e71ec = function(arg0, arg1, arg2, arg3) { + arg0.uniform4fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4fv_c88b1733f9a40a7a = function(arg0, arg1, arg2, arg3) { + arg0.uniform4fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4iv_0ee5d566bd3880e4 = function(arg0, arg1, arg2, arg3) { + arg0.uniform4iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4iv_cd69e9451d767045 = function(arg0, arg1, arg2, arg3) { + arg0.uniform4iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4uiv_c55d0b6c672eaf59 = function(arg0, arg1, arg2, arg3) { + arg0.uniform4uiv(arg1, getArrayU32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniformBlockBinding_e646e98e7f5da8fa = function(arg0, arg1, arg2, arg3) { + arg0.uniformBlockBinding(arg1, arg2 >>> 0, arg3 >>> 0); + }; + imports.wbg.__wbg_uniformMatrix2fv_ae2d3b42477e00fd = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix2fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix2fv_d44126fac416e7e4 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix2fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix2x3fv_18d94e4451a372cc = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix2x3fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix2x4fv_c34a8a330e7c94bd = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix2x4fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix3fv_652493ea4042e14f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix3fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix3fv_a3b27e44f0ad7caa = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix3fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix3x2fv_1bc7685c610e2b46 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix3x2fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix3x4fv_c99cdce05d7ffca9 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix3x4fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix4fv_a5f6838f6e217418 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix4fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix4fv_bbdf3d84ccedee84 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix4fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix4x2fv_05ec6db042145650 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix4x2fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix4x3fv_c393892235ce0f8b = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix4x3fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_unmap_8c2e8131b2aaa844 = function(arg0) { + arg0.unmap(); + }; + imports.wbg.__wbg_unobserve_9198337c0c96042f = function(arg0, arg1) { + arg0.unobserve(arg1); + }; + imports.wbg.__wbg_usage_13caa02888040e9f = function(arg0) { + const ret = arg0.usage; + return ret; + }; + imports.wbg.__wbg_useProgram_795e70e5047fcb65 = function(arg0, arg1) { + arg0.useProgram(arg1); + }; + imports.wbg.__wbg_useProgram_e84b53bf74bbe9b3 = function(arg0, arg1) { + arg0.useProgram(arg1); + }; + imports.wbg.__wbg_userAgentData_5e600df9bb352050 = function(arg0) { + const ret = arg0.userAgentData; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_userAgent_bfd54e5c60738678 = function() { return handleError(function (arg0, arg1) { + const ret = arg1.userAgent; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_valueOf_a2728b52687d72b4 = function(arg0) { + const ret = arg0.valueOf(); + return ret; + }; + imports.wbg.__wbg_vertexAttribDivisorANGLE_78ad959056e0feb7 = function(arg0, arg1, arg2) { + arg0.vertexAttribDivisorANGLE(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_vertexAttribDivisor_bc3026299e814316 = function(arg0, arg1, arg2) { + arg0.vertexAttribDivisor(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_vertexAttribIPointer_4397ca04b895d127 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.vertexAttribIPointer(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_vertexAttribPointer_1738c34c1c0d57a0 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.vertexAttribPointer(arg1 >>> 0, arg2, arg3 >>> 0, arg4 !== 0, arg5, arg6); + }; + imports.wbg.__wbg_vertexAttribPointer_34a2b143ee35746f = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.vertexAttribPointer(arg1 >>> 0, arg2, arg3 >>> 0, arg4 !== 0, arg5, arg6); + }; + imports.wbg.__wbg_videoHeight_7d8449d4b1aad15d = function(arg0) { + const ret = arg0.videoHeight; + return ret; + }; + imports.wbg.__wbg_videoWidth_134d623b7b20f203 = function(arg0) { + const ret = arg0.videoWidth; + return ret; + }; + imports.wbg.__wbg_viewport_04c48fc077486d94 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.viewport(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_viewport_301bba26f65246ed = function(arg0, arg1, arg2, arg3, arg4) { + arg0.viewport(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_visibilityState_c2b01655a6777e68 = function(arg0) { + const ret = arg0.visibilityState; + return (__wbindgen_enum_VisibilityState.indexOf(ret) + 1 || 3) - 1; + }; + imports.wbg.__wbg_warn_a6963915e4da61f6 = function(arg0) { + console.warn(arg0); + }; + imports.wbg.__wbg_webkitFullscreenElement_0c4654cdfe6894e5 = function(arg0) { + const ret = arg0.webkitFullscreenElement; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_webkitRequestFullscreen_fe95241c4f21ea63 = function(arg0) { + arg0.webkitRequestFullscreen(); + }; + imports.wbg.__wbg_width_514dd9b3b0cff49c = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_551edb4bb900e3dd = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_826b25a505a0b357 = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_dfc6149b0c4d8821 = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_e9eedd46da897708 = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_ee6a46425045c0dd = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_window_1a23defd102c72f4 = function() { return handleError(function () { + const ret = window.window; + return ret; + }, arguments) }; + imports.wbg.__wbg_writeBuffer_5ca4981365eb5ac0 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.writeBuffer(arg1, arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_writeTexture_246118eb2f5a1592 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.writeTexture(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbindgen_boolean_get = function(arg0) { + const v = arg0; + const ret = typeof(v) === 'boolean' ? (v ? 1 : 0) : 2; + return ret; + }; + imports.wbg.__wbindgen_cb_drop = function(arg0) { + const obj = arg0.original; + if (obj.cnt-- == 1) { + obj.a = 0; + return true; + } + const ret = false; + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2398 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 268, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper4563 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 268, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper4569 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 268, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper5984 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 268, __wbg_adapter_41); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6029 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 268, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6047 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 268, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6048 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 268, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6049 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 268, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6050 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 268, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6051 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 268, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6093 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 268, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6094 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 268, __wbg_adapter_58); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6095 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 268, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_debug_string = function(arg0, arg1) { + const ret = debugString(arg1); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_init_externref_table = function() { + const table = wasm.__wbindgen_export_1; + const offset = table.grow(4); + table.set(0, undefined); + table.set(offset + 0, undefined); + table.set(offset + 1, null); + table.set(offset + 2, true); + table.set(offset + 3, false); + ; + }; + imports.wbg.__wbindgen_is_function = function(arg0) { + const ret = typeof(arg0) === 'function'; + return ret; + }; + imports.wbg.__wbindgen_is_null = function(arg0) { + const ret = arg0 === null; + return ret; + }; + imports.wbg.__wbindgen_is_object = function(arg0) { + const val = arg0; + const ret = typeof(val) === 'object' && val !== null; + return ret; + }; + imports.wbg.__wbindgen_is_undefined = function(arg0) { + const ret = arg0 === undefined; + return ret; + }; + imports.wbg.__wbindgen_memory = function() { + const ret = wasm.memory; + return ret; + }; + imports.wbg.__wbindgen_number_get = function(arg0, arg1) { + const obj = arg1; + const ret = typeof(obj) === 'number' ? obj : undefined; + getDataViewMemory0().setFloat64(arg0 + 8 * 1, isLikeNone(ret) ? 0 : ret, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true); + }; + imports.wbg.__wbindgen_number_new = function(arg0) { + const ret = arg0; + return ret; + }; + imports.wbg.__wbindgen_string_get = function(arg0, arg1) { + const obj = arg1; + const ret = typeof(obj) === 'string' ? obj : undefined; + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_string_new = function(arg0, arg1) { + const ret = getStringFromWasm0(arg0, arg1); + return ret; + }; + imports.wbg.__wbindgen_throw = function(arg0, arg1) { + throw new Error(getStringFromWasm0(arg0, arg1)); + }; + + return imports; +} + +function __wbg_init_memory(imports, memory) { + +} + +function __wbg_finalize_init(instance, module) { + wasm = instance.exports; + __wbg_init.__wbindgen_wasm_module = module; + cachedDataViewMemory0 = null; + cachedFloat32ArrayMemory0 = null; + cachedInt32ArrayMemory0 = null; + cachedUint32ArrayMemory0 = null; + cachedUint8ArrayMemory0 = null; + + + wasm.__wbindgen_start(); + return wasm; +} + +function initSync(module) { + if (wasm !== undefined) return wasm; + + + if (typeof module !== 'undefined') { + if (Object.getPrototypeOf(module) === Object.prototype) { + ({module} = module) + } else { + console.warn('using deprecated parameters for `initSync()`; pass a single object instead') + } + } + + const imports = __wbg_get_imports(); + + __wbg_init_memory(imports); + + if (!(module instanceof WebAssembly.Module)) { + module = new WebAssembly.Module(module); + } + + const instance = new WebAssembly.Instance(module, imports); + + return __wbg_finalize_init(instance, module); +} + +async function __wbg_init(module_or_path) { + if (wasm !== undefined) return wasm; + + + if (typeof module_or_path !== 'undefined') { + if (Object.getPrototypeOf(module_or_path) === Object.prototype) { + ({module_or_path} = module_or_path) + } else { + console.warn('using deprecated parameters for the initialization function; pass a single object instead') + } + } + + if (typeof module_or_path === 'undefined') { + module_or_path = new URL('tutorial2-surface_bg.wasm', import.meta.url); + } + const imports = __wbg_get_imports(); + + if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) { + module_or_path = fetch(module_or_path); + } + + __wbg_init_memory(imports); + + const { instance, module } = await __wbg_load(await module_or_path, imports); + + return __wbg_finalize_init(instance, module); +} + +export { initSync }; +export default __wbg_init; diff --git a/wasm/tutorial2-surface_bg.wasm b/wasm/tutorial2-surface_bg.wasm new file mode 100644 index 00000000..7760eabb Binary files /dev/null and b/wasm/tutorial2-surface_bg.wasm differ diff --git a/wasm/tutorial3-pipeline.js b/wasm/tutorial3-pipeline.js new file mode 100644 index 00000000..e55ed3c9 --- /dev/null +++ b/wasm/tutorial3-pipeline.js @@ -0,0 +1,2593 @@ +import * as __wbg_star0 from 'env'; + +let wasm; + +function isLikeNone(x) { + return x === undefined || x === null; +} + +function addToExternrefTable0(obj) { + const idx = wasm.__externref_table_alloc(); + wasm.__wbindgen_export_1.set(idx, obj); + return idx; +} + +const cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : { decode: () => { throw Error('TextDecoder not available') } } ); + +if (typeof TextDecoder !== 'undefined') { cachedTextDecoder.decode(); }; + +let cachedUint8ArrayMemory0 = null; + +function getUint8ArrayMemory0() { + if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) { + cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer); + } + return cachedUint8ArrayMemory0; +} + +function getStringFromWasm0(ptr, len) { + ptr = ptr >>> 0; + return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len)); +} + +function handleError(f, args) { + try { + return f.apply(this, args); + } catch (e) { + const idx = addToExternrefTable0(e); + wasm.__wbindgen_exn_store(idx); + } +} + +let WASM_VECTOR_LEN = 0; + +const cachedTextEncoder = (typeof TextEncoder !== 'undefined' ? new TextEncoder('utf-8') : { encode: () => { throw Error('TextEncoder not available') } } ); + +const encodeString = (typeof cachedTextEncoder.encodeInto === 'function' + ? function (arg, view) { + return cachedTextEncoder.encodeInto(arg, view); +} + : function (arg, view) { + const buf = cachedTextEncoder.encode(arg); + view.set(buf); + return { + read: arg.length, + written: buf.length + }; +}); + +function passStringToWasm0(arg, malloc, realloc) { + + if (realloc === undefined) { + const buf = cachedTextEncoder.encode(arg); + const ptr = malloc(buf.length, 1) >>> 0; + getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf); + WASM_VECTOR_LEN = buf.length; + return ptr; + } + + let len = arg.length; + let ptr = malloc(len, 1) >>> 0; + + const mem = getUint8ArrayMemory0(); + + let offset = 0; + + for (; offset < len; offset++) { + const code = arg.charCodeAt(offset); + if (code > 0x7F) break; + mem[ptr + offset] = code; + } + + if (offset !== len) { + if (offset !== 0) { + arg = arg.slice(offset); + } + ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0; + const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len); + const ret = encodeString(arg, view); + + offset += ret.written; + ptr = realloc(ptr, len, offset, 1) >>> 0; + } + + WASM_VECTOR_LEN = offset; + return ptr; +} + +let cachedDataViewMemory0 = null; + +function getDataViewMemory0() { + if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) { + cachedDataViewMemory0 = new DataView(wasm.memory.buffer); + } + return cachedDataViewMemory0; +} + +let cachedFloat32ArrayMemory0 = null; + +function getFloat32ArrayMemory0() { + if (cachedFloat32ArrayMemory0 === null || cachedFloat32ArrayMemory0.byteLength === 0) { + cachedFloat32ArrayMemory0 = new Float32Array(wasm.memory.buffer); + } + return cachedFloat32ArrayMemory0; +} + +function getArrayF32FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getFloat32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len); +} + +let cachedInt32ArrayMemory0 = null; + +function getInt32ArrayMemory0() { + if (cachedInt32ArrayMemory0 === null || cachedInt32ArrayMemory0.byteLength === 0) { + cachedInt32ArrayMemory0 = new Int32Array(wasm.memory.buffer); + } + return cachedInt32ArrayMemory0; +} + +function getArrayI32FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getInt32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len); +} + +let cachedUint32ArrayMemory0 = null; + +function getUint32ArrayMemory0() { + if (cachedUint32ArrayMemory0 === null || cachedUint32ArrayMemory0.byteLength === 0) { + cachedUint32ArrayMemory0 = new Uint32Array(wasm.memory.buffer); + } + return cachedUint32ArrayMemory0; +} + +function getArrayU32FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getUint32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len); +} + +const CLOSURE_DTORS = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(state => { + wasm.__wbindgen_export_6.get(state.dtor)(state.a, state.b) +}); + +function makeMutClosure(arg0, arg1, dtor, f) { + const state = { a: arg0, b: arg1, cnt: 1, dtor }; + const real = (...args) => { + // First up with a closure we increment the internal reference + // count. This ensures that the Rust closure environment won't + // be deallocated while we're invoking it. + state.cnt++; + const a = state.a; + state.a = 0; + try { + return f(a, state.b, ...args); + } finally { + if (--state.cnt === 0) { + wasm.__wbindgen_export_6.get(state.dtor)(a, state.b); + CLOSURE_DTORS.unregister(state); + } else { + state.a = a; + } + } + }; + real.original = state; + CLOSURE_DTORS.register(real, state, state); + return real; +} + +function debugString(val) { + // primitive types + const type = typeof val; + if (type == 'number' || type == 'boolean' || val == null) { + return `${val}`; + } + if (type == 'string') { + return `"${val}"`; + } + if (type == 'symbol') { + const description = val.description; + if (description == null) { + return 'Symbol'; + } else { + return `Symbol(${description})`; + } + } + if (type == 'function') { + const name = val.name; + if (typeof name == 'string' && name.length > 0) { + return `Function(${name})`; + } else { + return 'Function'; + } + } + // objects + if (Array.isArray(val)) { + const length = val.length; + let debug = '['; + if (length > 0) { + debug += debugString(val[0]); + } + for(let i = 1; i < length; i++) { + debug += ', ' + debugString(val[i]); + } + debug += ']'; + return debug; + } + // Test for built-in + const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val)); + let className; + if (builtInMatches && builtInMatches.length > 1) { + className = builtInMatches[1]; + } else { + // Failed to match the standard '[object ClassName]' + return toString.call(val); + } + if (className == 'Object') { + // we're a user defined class or Object + // JSON.stringify avoids problems with cycles, and is generally much + // easier than looping through ownProperties of `val`. + try { + return 'Object(' + JSON.stringify(val) + ')'; + } catch (_) { + return 'Object'; + } + } + // errors + if (val instanceof Error) { + return `${val.name}: ${val.message}\n${val.stack}`; + } + // TODO we could test for more things here, like `Set`s and `Map`s. + return className; +} +function __wbg_adapter_34(arg0, arg1, arg2) { + wasm.closure271_externref_shim(arg0, arg1, arg2); +} + +function __wbg_adapter_41(arg0, arg1) { + wasm._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hc2a92dab5895dab9(arg0, arg1); +} + +function __wbg_adapter_58(arg0, arg1, arg2, arg3) { + wasm.closure781_externref_shim(arg0, arg1, arg2, arg3); +} + +const __wbindgen_enum_GpuCompilationMessageType = ["error", "warning", "info"]; + +const __wbindgen_enum_GpuDeviceLostReason = ["unknown", "destroyed"]; + +const __wbindgen_enum_GpuErrorFilter = ["validation", "out-of-memory", "internal"]; + +const __wbindgen_enum_GpuIndexFormat = ["uint16", "uint32"]; + +const __wbindgen_enum_GpuTextureFormat = ["r8unorm", "r8snorm", "r8uint", "r8sint", "r16uint", "r16sint", "r16float", "rg8unorm", "rg8snorm", "rg8uint", "rg8sint", "r32uint", "r32sint", "r32float", "rg16uint", "rg16sint", "rg16float", "rgba8unorm", "rgba8unorm-srgb", "rgba8snorm", "rgba8uint", "rgba8sint", "bgra8unorm", "bgra8unorm-srgb", "rgb9e5ufloat", "rgb10a2uint", "rgb10a2unorm", "rg11b10ufloat", "rg32uint", "rg32sint", "rg32float", "rgba16uint", "rgba16sint", "rgba16float", "rgba32uint", "rgba32sint", "rgba32float", "stencil8", "depth16unorm", "depth24plus", "depth24plus-stencil8", "depth32float", "depth32float-stencil8", "bc1-rgba-unorm", "bc1-rgba-unorm-srgb", "bc2-rgba-unorm", "bc2-rgba-unorm-srgb", "bc3-rgba-unorm", "bc3-rgba-unorm-srgb", "bc4-r-unorm", "bc4-r-snorm", "bc5-rg-unorm", "bc5-rg-snorm", "bc6h-rgb-ufloat", "bc6h-rgb-float", "bc7-rgba-unorm", "bc7-rgba-unorm-srgb", "etc2-rgb8unorm", "etc2-rgb8unorm-srgb", "etc2-rgb8a1unorm", "etc2-rgb8a1unorm-srgb", "etc2-rgba8unorm", "etc2-rgba8unorm-srgb", "eac-r11unorm", "eac-r11snorm", "eac-rg11unorm", "eac-rg11snorm", "astc-4x4-unorm", "astc-4x4-unorm-srgb", "astc-5x4-unorm", "astc-5x4-unorm-srgb", "astc-5x5-unorm", "astc-5x5-unorm-srgb", "astc-6x5-unorm", "astc-6x5-unorm-srgb", "astc-6x6-unorm", "astc-6x6-unorm-srgb", "astc-8x5-unorm", "astc-8x5-unorm-srgb", "astc-8x6-unorm", "astc-8x6-unorm-srgb", "astc-8x8-unorm", "astc-8x8-unorm-srgb", "astc-10x5-unorm", "astc-10x5-unorm-srgb", "astc-10x6-unorm", "astc-10x6-unorm-srgb", "astc-10x8-unorm", "astc-10x8-unorm-srgb", "astc-10x10-unorm", "astc-10x10-unorm-srgb", "astc-12x10-unorm", "astc-12x10-unorm-srgb", "astc-12x12-unorm", "astc-12x12-unorm-srgb"]; + +const __wbindgen_enum_ResizeObserverBoxOptions = ["border-box", "content-box", "device-pixel-content-box"]; + +const __wbindgen_enum_VisibilityState = ["hidden", "visible"]; + +async function __wbg_load(module, imports) { + if (typeof Response === 'function' && module instanceof Response) { + if (typeof WebAssembly.instantiateStreaming === 'function') { + try { + return await WebAssembly.instantiateStreaming(module, imports); + + } catch (e) { + if (module.headers.get('Content-Type') != 'application/wasm') { + console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e); + + } else { + throw e; + } + } + } + + const bytes = await module.arrayBuffer(); + return await WebAssembly.instantiate(bytes, imports); + + } else { + const instance = await WebAssembly.instantiate(module, imports); + + if (instance instanceof WebAssembly.Instance) { + return { instance, module }; + + } else { + return instance; + } + } +} + +function __wbg_get_imports() { + const imports = {}; + imports.wbg = {}; + imports.wbg.__wbg_Window_96e58b3552ce6bb1 = function(arg0) { + const ret = arg0.Window; + return ret; + }; + imports.wbg.__wbg_Window_cf5b693340a7c469 = function(arg0) { + const ret = arg0.Window; + return ret; + }; + imports.wbg.__wbg_WorkerGlobalScope_354364d1b0bd06e5 = function(arg0) { + const ret = arg0.WorkerGlobalScope; + return ret; + }; + imports.wbg.__wbg_abort_19de2f828ee0874a = function(arg0) { + arg0.abort(); + }; + imports.wbg.__wbg_activeElement_d1a1f2b334adf636 = function(arg0) { + const ret = arg0.activeElement; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_activeTexture_24b42b03041f3428 = function(arg0, arg1) { + arg0.activeTexture(arg1 >>> 0); + }; + imports.wbg.__wbg_activeTexture_47928613532be667 = function(arg0, arg1) { + arg0.activeTexture(arg1 >>> 0); + }; + imports.wbg.__wbg_addEventListener_e27053e488770e58 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + arg0.addEventListener(getStringFromWasm0(arg1, arg2), arg3); + }, arguments) }; + imports.wbg.__wbg_addListener_dca1ccc036e24997 = function() { return handleError(function (arg0, arg1) { + arg0.addListener(arg1); + }, arguments) }; + imports.wbg.__wbg_altKey_56dd0987e7ccbbf2 = function(arg0) { + const ret = arg0.altKey; + return ret; + }; + imports.wbg.__wbg_altKey_583c79ba3f4fce1e = function(arg0) { + const ret = arg0.altKey; + return ret; + }; + imports.wbg.__wbg_animate_310f1b8e5b1fdb56 = function(arg0, arg1, arg2) { + const ret = arg0.animate(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_appendChild_805222aed73feea9 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.appendChild(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_attachShader_81000b0c4da5b206 = function(arg0, arg1, arg2) { + arg0.attachShader(arg1, arg2); + }; + imports.wbg.__wbg_attachShader_ccc35921e866b2bf = function(arg0, arg1, arg2) { + arg0.attachShader(arg1, arg2); + }; + imports.wbg.__wbg_beginComputePass_90d5303e604970cb = function(arg0, arg1) { + const ret = arg0.beginComputePass(arg1); + return ret; + }; + imports.wbg.__wbg_beginQuery_4e54bbe77706fb3c = function(arg0, arg1, arg2) { + arg0.beginQuery(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_beginRenderPass_9739520c601001c3 = function(arg0, arg1) { + const ret = arg0.beginRenderPass(arg1); + return ret; + }; + imports.wbg.__wbg_bindAttribLocation_a08ae4fdf9b16e7d = function(arg0, arg1, arg2, arg3, arg4) { + arg0.bindAttribLocation(arg1, arg2 >>> 0, getStringFromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_bindAttribLocation_b53db53e1b134420 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.bindAttribLocation(arg1, arg2 >>> 0, getStringFromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_bindBufferRange_ce5a2827ed937112 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.bindBufferRange(arg1 >>> 0, arg2 >>> 0, arg3, arg4, arg5); + }; + imports.wbg.__wbg_bindBuffer_0fedb16582ffeee6 = function(arg0, arg1, arg2) { + arg0.bindBuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindBuffer_c6e5f29d60e90c01 = function(arg0, arg1, arg2) { + arg0.bindBuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindFramebuffer_87e15614ca3e9537 = function(arg0, arg1, arg2) { + arg0.bindFramebuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindFramebuffer_a0d602bd474dcbfb = function(arg0, arg1, arg2) { + arg0.bindFramebuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindRenderbuffer_3100396894cc2d72 = function(arg0, arg1, arg2) { + arg0.bindRenderbuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindRenderbuffer_fd3e47dad76906ea = function(arg0, arg1, arg2) { + arg0.bindRenderbuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindSampler_7614054a94f8e3d1 = function(arg0, arg1, arg2) { + arg0.bindSampler(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindTexture_6478edbb238b9c73 = function(arg0, arg1, arg2) { + arg0.bindTexture(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindTexture_9b177c97248ed4d9 = function(arg0, arg1, arg2) { + arg0.bindTexture(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindVertexArrayOES_e81fca007d08d0db = function(arg0, arg1) { + arg0.bindVertexArrayOES(arg1); + }; + imports.wbg.__wbg_bindVertexArray_d9082254ff3bcc13 = function(arg0, arg1) { + arg0.bindVertexArray(arg1); + }; + imports.wbg.__wbg_blendColor_075aa544f1fe84c5 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.blendColor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_blendColor_ed292080d5966f2c = function(arg0, arg1, arg2, arg3, arg4) { + arg0.blendColor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_blendEquationSeparate_3dbbe20b0a9fa818 = function(arg0, arg1, arg2) { + arg0.blendEquationSeparate(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_blendEquationSeparate_d360393d3b1557cd = function(arg0, arg1, arg2) { + arg0.blendEquationSeparate(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_blendEquation_41f4ed79f5ddd25c = function(arg0, arg1) { + arg0.blendEquation(arg1 >>> 0); + }; + imports.wbg.__wbg_blendEquation_8804e10c9ced3fc4 = function(arg0, arg1) { + arg0.blendEquation(arg1 >>> 0); + }; + imports.wbg.__wbg_blendFuncSeparate_2cc7ac2397290a15 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.blendFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_blendFuncSeparate_c6c035b0094bd58f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.blendFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_blendFunc_63aca14ff3252b59 = function(arg0, arg1, arg2) { + arg0.blendFunc(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_blendFunc_8e1cfba50a4eea89 = function(arg0, arg1, arg2) { + arg0.blendFunc(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_blitFramebuffer_171b9355e4e730c9 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) { + arg0.blitFramebuffer(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0); + }; + imports.wbg.__wbg_blockSize_e0006fb003814895 = function(arg0) { + const ret = arg0.blockSize; + return ret; + }; + imports.wbg.__wbg_body_83d4bc4961a422aa = function(arg0) { + const ret = arg0.body; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_brand_67e4f3d950154d0a = function(arg0, arg1) { + const ret = arg1.brand; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_brands_1ec54d613da9db02 = function(arg0) { + const ret = arg0.brands; + return ret; + }; + imports.wbg.__wbg_bufferData_2a747a2c2c3b23b5 = function(arg0, arg1, arg2, arg3) { + arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0); + }; + imports.wbg.__wbg_bufferData_5b85d77150f6520a = function(arg0, arg1, arg2, arg3) { + arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0); + }; + imports.wbg.__wbg_bufferData_b03654fb80052afe = function(arg0, arg1, arg2, arg3) { + arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0); + }; + imports.wbg.__wbg_bufferData_c2eb7dbb2ea2ab3f = function(arg0, arg1, arg2, arg3) { + arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0); + }; + imports.wbg.__wbg_bufferSubData_8a7d35c05111a120 = function(arg0, arg1, arg2, arg3) { + arg0.bufferSubData(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_bufferSubData_c4b11388b9eb4175 = function(arg0, arg1, arg2, arg3) { + arg0.bufferSubData(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_buffer_6e1d53ff183194fc = function(arg0) { + const ret = arg0.buffer; + return ret; + }; + imports.wbg.__wbg_buffer_ffdeb2ee67420f9e = function(arg0) { + const ret = arg0.buffer; + return ret; + }; + imports.wbg.__wbg_button_db48f93638c59f95 = function(arg0) { + const ret = arg0.button; + return ret; + }; + imports.wbg.__wbg_buttons_b962d6dc116cd1a5 = function(arg0) { + const ret = arg0.buttons; + return ret; + }; + imports.wbg.__wbg_call_3114932863209ca6 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.call(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_cancelAnimationFrame_f1ad512e269ea165 = function() { return handleError(function (arg0, arg1) { + arg0.cancelAnimationFrame(arg1); + }, arguments) }; + imports.wbg.__wbg_cancelIdleCallback_bcc2dc9be9de0744 = function(arg0, arg1) { + arg0.cancelIdleCallback(arg1 >>> 0); + }; + imports.wbg.__wbg_cancel_3b69067dcdf7ffb7 = function(arg0) { + arg0.cancel(); + }; + imports.wbg.__wbg_catch_9da7d002aa356f1d = function(arg0, arg1) { + const ret = arg0.catch(arg1); + return ret; + }; + imports.wbg.__wbg_clearBuffer_6164fc25d22b25cc = function(arg0, arg1, arg2, arg3) { + arg0.clearBuffer(arg1, arg2, arg3); + }; + imports.wbg.__wbg_clearBuffer_cfcaaf1fb2baa885 = function(arg0, arg1, arg2) { + arg0.clearBuffer(arg1, arg2); + }; + imports.wbg.__wbg_clearBufferfv_2cf04e18ef87ed90 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.clearBufferfv(arg1 >>> 0, arg2, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_clearBufferiv_b45be02e57957dad = function(arg0, arg1, arg2, arg3, arg4) { + arg0.clearBufferiv(arg1 >>> 0, arg2, getArrayI32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_clearBufferuiv_deca83038abb23d2 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.clearBufferuiv(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_clearDepth_14d34daa30215440 = function(arg0, arg1) { + arg0.clearDepth(arg1); + }; + imports.wbg.__wbg_clearDepth_1cdcb08d8a5afa49 = function(arg0, arg1) { + arg0.clearDepth(arg1); + }; + imports.wbg.__wbg_clearStencil_e2c8b1892d5e033d = function(arg0, arg1) { + arg0.clearStencil(arg1); + }; + imports.wbg.__wbg_clearStencil_f3138d2e338d1436 = function(arg0, arg1) { + arg0.clearStencil(arg1); + }; + imports.wbg.__wbg_clearTimeout_da4408c46e51bc7a = function(arg0, arg1) { + arg0.clearTimeout(arg1); + }; + imports.wbg.__wbg_clear_4e68091e616c29ad = function(arg0, arg1) { + arg0.clear(arg1 >>> 0); + }; + imports.wbg.__wbg_clear_af7641961d766f51 = function(arg0, arg1) { + arg0.clear(arg1 >>> 0); + }; + imports.wbg.__wbg_clientWaitSync_2c4c0bd3a8d3536b = function(arg0, arg1, arg2, arg3) { + const ret = arg0.clientWaitSync(arg1, arg2 >>> 0, arg3 >>> 0); + return ret; + }; + imports.wbg.__wbg_close_35d643897b189a00 = function(arg0) { + arg0.close(); + }; + imports.wbg.__wbg_code_d8226b2133366406 = function(arg0, arg1) { + const ret = arg1.code; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_colorMask_22d850d91e89df9f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.colorMask(arg1 !== 0, arg2 !== 0, arg3 !== 0, arg4 !== 0); + }; + imports.wbg.__wbg_colorMask_a6068fae89c17ceb = function(arg0, arg1, arg2, arg3, arg4) { + arg0.colorMask(arg1 !== 0, arg2 !== 0, arg3 !== 0, arg4 !== 0); + }; + imports.wbg.__wbg_compileShader_5e41ecd397194c21 = function(arg0, arg1) { + arg0.compileShader(arg1); + }; + imports.wbg.__wbg_compileShader_6868fa6a842f0911 = function(arg0, arg1) { + arg0.compileShader(arg1); + }; + imports.wbg.__wbg_compressedTexSubImage2D_216f6eec167da8d7 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + arg0.compressedTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8); + }; + imports.wbg.__wbg_compressedTexSubImage2D_4b50d2a94bf4ea60 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.compressedTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8, arg9); + }; + imports.wbg.__wbg_compressedTexSubImage2D_9b0c2c785026006a = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + arg0.compressedTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8); + }; + imports.wbg.__wbg_compressedTexSubImage3D_8102ea4403fef5ce = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) { + arg0.compressedTexSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10); + }; + imports.wbg.__wbg_compressedTexSubImage3D_bf2bdb940e26bc8c = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.compressedTexSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10, arg11); + }; + imports.wbg.__wbg_configure_2414aed971d368cd = function(arg0, arg1) { + arg0.configure(arg1); + }; + imports.wbg.__wbg_contains_6947e163e2a3c092 = function(arg0, arg1) { + const ret = arg0.contains(arg1); + return ret; + }; + imports.wbg.__wbg_contentRect_7aaa87e16fd2882d = function(arg0) { + const ret = arg0.contentRect; + return ret; + }; + imports.wbg.__wbg_copyBufferSubData_ff213d67aa3b1f82 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.copyBufferSubData(arg1 >>> 0, arg2 >>> 0, arg3, arg4, arg5); + }; + imports.wbg.__wbg_copyBufferToBuffer_1ba67191114656a1 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.copyBufferToBuffer(arg1, arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_copyBufferToTexture_878d31d479e48f28 = function(arg0, arg1, arg2, arg3) { + arg0.copyBufferToTexture(arg1, arg2, arg3); + }; + imports.wbg.__wbg_copyExternalImageToTexture_7878d196c0b60d39 = function(arg0, arg1, arg2, arg3) { + arg0.copyExternalImageToTexture(arg1, arg2, arg3); + }; + imports.wbg.__wbg_copyTexSubImage2D_4b37e79c31b798b1 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + arg0.copyTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + }; + imports.wbg.__wbg_copyTexSubImage2D_a29106dfb31dd17c = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + arg0.copyTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + }; + imports.wbg.__wbg_copyTexSubImage3D_f8350e268c143688 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.copyTexSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); + }; + imports.wbg.__wbg_copyTextureToBuffer_6a8fe0e90f0a663d = function(arg0, arg1, arg2, arg3) { + arg0.copyTextureToBuffer(arg1, arg2, arg3); + }; + imports.wbg.__wbg_copyTextureToTexture_0a06a393d6726b4a = function(arg0, arg1, arg2, arg3) { + arg0.copyTextureToTexture(arg1, arg2, arg3); + }; + imports.wbg.__wbg_createBindGroupLayout_1d93b6d41c87ba9d = function(arg0, arg1) { + const ret = arg0.createBindGroupLayout(arg1); + return ret; + }; + imports.wbg.__wbg_createBindGroup_61cd07ec9d423432 = function(arg0, arg1) { + const ret = arg0.createBindGroup(arg1); + return ret; + }; + imports.wbg.__wbg_createBuffer_1e646d14cebbb438 = function(arg0) { + const ret = arg0.createBuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createBuffer_2a696fb8c0d07970 = function(arg0) { + const ret = arg0.createBuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createBuffer_963aa00d5fe859e4 = function(arg0, arg1) { + const ret = arg0.createBuffer(arg1); + return ret; + }; + imports.wbg.__wbg_createCommandEncoder_f0e1613e9a2dc1eb = function(arg0, arg1) { + const ret = arg0.createCommandEncoder(arg1); + return ret; + }; + imports.wbg.__wbg_createComputePipeline_b9616b9fe2f4eb2f = function(arg0, arg1) { + const ret = arg0.createComputePipeline(arg1); + return ret; + }; + imports.wbg.__wbg_createElement_22b48bfb31a0c20e = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.createElement(getStringFromWasm0(arg1, arg2)); + return ret; + }, arguments) }; + imports.wbg.__wbg_createFramebuffer_163e192e1e53ec9b = function(arg0) { + const ret = arg0.createFramebuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createFramebuffer_1aa54479f7524ef5 = function(arg0) { + const ret = arg0.createFramebuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createObjectURL_06505af3e8787cc8 = function() { return handleError(function (arg0, arg1) { + const ret = URL.createObjectURL(arg1); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_createPipelineLayout_56c6cf983f892d2b = function(arg0, arg1) { + const ret = arg0.createPipelineLayout(arg1); + return ret; + }; + imports.wbg.__wbg_createProgram_5a5a92d23fdc2f1a = function(arg0) { + const ret = arg0.createProgram(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createProgram_b75025f0f1a4ef55 = function(arg0) { + const ret = arg0.createProgram(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createQuerySet_c14be802adf7c207 = function(arg0, arg1) { + const ret = arg0.createQuerySet(arg1); + return ret; + }; + imports.wbg.__wbg_createQuery_2816e95a473b5501 = function(arg0) { + const ret = arg0.createQuery(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createRenderBundleEncoder_8e4bdffea72f8c1f = function(arg0, arg1) { + const ret = arg0.createRenderBundleEncoder(arg1); + return ret; + }; + imports.wbg.__wbg_createRenderPipeline_079a88a0601fcce1 = function(arg0, arg1) { + const ret = arg0.createRenderPipeline(arg1); + return ret; + }; + imports.wbg.__wbg_createRenderbuffer_29e130c03bc689d3 = function(arg0) { + const ret = arg0.createRenderbuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createRenderbuffer_b10004ae18d38014 = function(arg0) { + const ret = arg0.createRenderbuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createSampler_50ae7c4dd1f9b066 = function(arg0) { + const ret = arg0.createSampler(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createSampler_ef5578990df3baf7 = function(arg0, arg1) { + const ret = arg0.createSampler(arg1); + return ret; + }; + imports.wbg.__wbg_createShaderModule_17f451ea25cae47c = function(arg0, arg1) { + const ret = arg0.createShaderModule(arg1); + return ret; + }; + imports.wbg.__wbg_createShader_29c8e06db7e7211f = function(arg0, arg1) { + const ret = arg0.createShader(arg1 >>> 0); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createShader_8c3053457f874cdd = function(arg0, arg1) { + const ret = arg0.createShader(arg1 >>> 0); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createTexture_01cc1cd2fea732d9 = function(arg0, arg1) { + const ret = arg0.createTexture(arg1); + return ret; + }; + imports.wbg.__wbg_createTexture_20f63b261993f581 = function(arg0) { + const ret = arg0.createTexture(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createTexture_facd2df68d8d0276 = function(arg0) { + const ret = arg0.createTexture(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createVertexArrayOES_89f45f4a4fde395f = function(arg0) { + const ret = arg0.createVertexArrayOES(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createVertexArray_70d7c4c62e00613d = function(arg0) { + const ret = arg0.createVertexArray(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createView_04701884291e1ccc = function(arg0, arg1) { + const ret = arg0.createView(arg1); + return ret; + }; + imports.wbg.__wbg_ctrlKey_60b29e015a543678 = function(arg0) { + const ret = arg0.ctrlKey; + return ret; + }; + imports.wbg.__wbg_ctrlKey_ab341328ab202d37 = function(arg0) { + const ret = arg0.ctrlKey; + return ret; + }; + imports.wbg.__wbg_cullFace_96a9dca4a5b1ca33 = function(arg0, arg1) { + arg0.cullFace(arg1 >>> 0); + }; + imports.wbg.__wbg_cullFace_99bb4e31c974596d = function(arg0, arg1) { + arg0.cullFace(arg1 >>> 0); + }; + imports.wbg.__wbg_debug_347b3d1f33e1c28e = function(arg0) { + console.debug(arg0); + }; + imports.wbg.__wbg_deleteBuffer_9d705222a7e77a7b = function(arg0, arg1) { + arg0.deleteBuffer(arg1); + }; + imports.wbg.__wbg_deleteBuffer_db0d7ecbaa97fa56 = function(arg0, arg1) { + arg0.deleteBuffer(arg1); + }; + imports.wbg.__wbg_deleteFramebuffer_69db238ea6b8a9a1 = function(arg0, arg1) { + arg0.deleteFramebuffer(arg1); + }; + imports.wbg.__wbg_deleteFramebuffer_ecf398bec452aaf9 = function(arg0, arg1) { + arg0.deleteFramebuffer(arg1); + }; + imports.wbg.__wbg_deleteProgram_cb18e0020d488bad = function(arg0, arg1) { + arg0.deleteProgram(arg1); + }; + imports.wbg.__wbg_deleteProgram_e1a6c4b922e202e3 = function(arg0, arg1) { + arg0.deleteProgram(arg1); + }; + imports.wbg.__wbg_deleteQuery_e083394da1710d6c = function(arg0, arg1) { + arg0.deleteQuery(arg1); + }; + imports.wbg.__wbg_deleteRenderbuffer_05fa7f35ea76cafd = function(arg0, arg1) { + arg0.deleteRenderbuffer(arg1); + }; + imports.wbg.__wbg_deleteRenderbuffer_2f1216e54aa2f248 = function(arg0, arg1) { + arg0.deleteRenderbuffer(arg1); + }; + imports.wbg.__wbg_deleteSampler_e5c61c85993f9a69 = function(arg0, arg1) { + arg0.deleteSampler(arg1); + }; + imports.wbg.__wbg_deleteShader_257caf93b24ac555 = function(arg0, arg1) { + arg0.deleteShader(arg1); + }; + imports.wbg.__wbg_deleteShader_fb86028e46cb069b = function(arg0, arg1) { + arg0.deleteShader(arg1); + }; + imports.wbg.__wbg_deleteSync_b5caedf06185d972 = function(arg0, arg1) { + arg0.deleteSync(arg1); + }; + imports.wbg.__wbg_deleteTexture_6913f682a09c8171 = function(arg0, arg1) { + arg0.deleteTexture(arg1); + }; + imports.wbg.__wbg_deleteTexture_a29655740b1cbe33 = function(arg0, arg1) { + arg0.deleteTexture(arg1); + }; + imports.wbg.__wbg_deleteVertexArrayOES_2def7ce37f8e89f2 = function(arg0, arg1) { + arg0.deleteVertexArrayOES(arg1); + }; + imports.wbg.__wbg_deleteVertexArray_a3bca8e15204ffed = function(arg0, arg1) { + arg0.deleteVertexArray(arg1); + }; + imports.wbg.__wbg_deltaMode_a4cc321212f87817 = function(arg0) { + const ret = arg0.deltaMode; + return ret; + }; + imports.wbg.__wbg_deltaX_27e2939a1af8c940 = function(arg0) { + const ret = arg0.deltaX; + return ret; + }; + imports.wbg.__wbg_deltaY_4bb52a4f0a7ad28b = function(arg0) { + const ret = arg0.deltaY; + return ret; + }; + imports.wbg.__wbg_depthFunc_657dd592930e7f2f = function(arg0, arg1) { + arg0.depthFunc(arg1 >>> 0); + }; + imports.wbg.__wbg_depthFunc_f9fd44a07ea8398e = function(arg0, arg1) { + arg0.depthFunc(arg1 >>> 0); + }; + imports.wbg.__wbg_depthMask_87195357e4f7df17 = function(arg0, arg1) { + arg0.depthMask(arg1 !== 0); + }; + imports.wbg.__wbg_depthMask_bac7f6b455b6ddeb = function(arg0, arg1) { + arg0.depthMask(arg1 !== 0); + }; + imports.wbg.__wbg_depthRange_d947e824a28dc9a1 = function(arg0, arg1, arg2) { + arg0.depthRange(arg1, arg2); + }; + imports.wbg.__wbg_depthRange_f71c79182f666e45 = function(arg0, arg1, arg2) { + arg0.depthRange(arg1, arg2); + }; + imports.wbg.__wbg_destroy_35f94012e5bb9c17 = function(arg0) { + arg0.destroy(); + }; + imports.wbg.__wbg_destroy_767d9dde1008e293 = function(arg0) { + arg0.destroy(); + }; + imports.wbg.__wbg_destroy_c6af4226dda95dbd = function(arg0) { + arg0.destroy(); + }; + imports.wbg.__wbg_devicePixelContentBoxSize_1ea2c6145730b8c0 = function(arg0) { + const ret = arg0.devicePixelContentBoxSize; + return ret; + }; + imports.wbg.__wbg_devicePixelRatio_f4eb7cbe3a812de0 = function(arg0) { + const ret = arg0.devicePixelRatio; + return ret; + }; + imports.wbg.__wbg_disableVertexAttribArray_c513f1fff3cb73f2 = function(arg0, arg1) { + arg0.disableVertexAttribArray(arg1 >>> 0); + }; + imports.wbg.__wbg_disableVertexAttribArray_e7ff41dc0c3eaf1f = function(arg0, arg1) { + arg0.disableVertexAttribArray(arg1 >>> 0); + }; + imports.wbg.__wbg_disable_4c1cedffa6646166 = function(arg0, arg1) { + arg0.disable(arg1 >>> 0); + }; + imports.wbg.__wbg_disable_5320561e5cb15f08 = function(arg0, arg1) { + arg0.disable(arg1 >>> 0); + }; + imports.wbg.__wbg_disconnect_8b7c928b6057719b = function(arg0) { + arg0.disconnect(); + }; + imports.wbg.__wbg_disconnect_c45e8044053eddf3 = function(arg0) { + arg0.disconnect(); + }; + imports.wbg.__wbg_dispatchWorkgroupsIndirect_8b25efab93a7a433 = function(arg0, arg1, arg2) { + arg0.dispatchWorkgroupsIndirect(arg1, arg2); + }; + imports.wbg.__wbg_dispatchWorkgroups_c102fa81b955935d = function(arg0, arg1, arg2, arg3) { + arg0.dispatchWorkgroups(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0); + }; + imports.wbg.__wbg_document_c488ca7509cc6938 = function(arg0) { + const ret = arg0.document; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_drawArraysInstancedANGLE_55c83db2758c6ab4 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.drawArraysInstancedANGLE(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_drawArraysInstanced_11f863da4daf24d0 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.drawArraysInstanced(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_drawArrays_87e9bb0e2fb3e0fa = function(arg0, arg1, arg2, arg3) { + arg0.drawArrays(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_drawArrays_f5b0f0a0dc392c3f = function(arg0, arg1, arg2, arg3) { + arg0.drawArrays(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_drawBuffersWEBGL_22730193cdce9696 = function(arg0, arg1) { + arg0.drawBuffersWEBGL(arg1); + }; + imports.wbg.__wbg_drawBuffers_f256d529aecd01f2 = function(arg0, arg1) { + arg0.drawBuffers(arg1); + }; + imports.wbg.__wbg_drawElementsInstancedANGLE_db0bafff77affb0d = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.drawElementsInstancedANGLE(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_drawElementsInstanced_e87f1c69165df984 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.drawElementsInstanced(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_drawIndexedIndirect_34484fc6227c7bc8 = function(arg0, arg1, arg2) { + arg0.drawIndexedIndirect(arg1, arg2); + }; + imports.wbg.__wbg_drawIndexedIndirect_5a7c30bb5f1d5b67 = function(arg0, arg1, arg2) { + arg0.drawIndexedIndirect(arg1, arg2); + }; + imports.wbg.__wbg_drawIndexed_115af1449b52a948 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.drawIndexed(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5 >>> 0); + }; + imports.wbg.__wbg_drawIndexed_a587cce4c317791f = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.drawIndexed(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5 >>> 0); + }; + imports.wbg.__wbg_drawIndirect_036d71498a21f1a3 = function(arg0, arg1, arg2) { + arg0.drawIndirect(arg1, arg2); + }; + imports.wbg.__wbg_drawIndirect_a1d7c5e893aa5756 = function(arg0, arg1, arg2) { + arg0.drawIndirect(arg1, arg2); + }; + imports.wbg.__wbg_draw_5351b12033166aca = function(arg0, arg1, arg2, arg3, arg4) { + arg0.draw(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_draw_e2a7c5d66fb2d244 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.draw(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_enableVertexAttribArray_0ce3052ae5f3f84a = function(arg0, arg1) { + arg0.enableVertexAttribArray(arg1 >>> 0); + }; + imports.wbg.__wbg_enableVertexAttribArray_2bb681a583bf0dbe = function(arg0, arg1) { + arg0.enableVertexAttribArray(arg1 >>> 0); + }; + imports.wbg.__wbg_enable_8d6ea7489b31dabd = function(arg0, arg1) { + arg0.enable(arg1 >>> 0); + }; + imports.wbg.__wbg_enable_bb868e19d5c88d56 = function(arg0, arg1) { + arg0.enable(arg1 >>> 0); + }; + imports.wbg.__wbg_endQuery_b4f2566f7afc4117 = function(arg0, arg1) { + arg0.endQuery(arg1 >>> 0); + }; + imports.wbg.__wbg_end_0ac71677a5c1717a = function(arg0) { + arg0.end(); + }; + imports.wbg.__wbg_end_6f776519f1faa582 = function(arg0) { + arg0.end(); + }; + imports.wbg.__wbg_error_2a6b93fdada7ff11 = function(arg0) { + console.error(arg0); + }; + imports.wbg.__wbg_error_7534b8e9a36f1ab4 = function(arg0, arg1) { + let deferred0_0; + let deferred0_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + console.error(getStringFromWasm0(arg0, arg1)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + } + }; + imports.wbg.__wbg_error_e98e6aadd08e0b94 = function(arg0) { + const ret = arg0.error; + return ret; + }; + imports.wbg.__wbg_error_f0dde81ae1e4cfea = function(arg0, arg1) { + console.error(arg0, arg1); + }; + imports.wbg.__wbg_executeBundles_8e6c0614da2805d4 = function(arg0, arg1) { + arg0.executeBundles(arg1); + }; + imports.wbg.__wbg_features_1b464383ea8a7691 = function(arg0) { + const ret = arg0.features; + return ret; + }; + imports.wbg.__wbg_features_e5fbbc2760867852 = function(arg0) { + const ret = arg0.features; + return ret; + }; + imports.wbg.__wbg_fenceSync_68dcf439f52decac = function(arg0, arg1, arg2) { + const ret = arg0.fenceSync(arg1 >>> 0, arg2 >>> 0); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_finish_20711371c58df61c = function(arg0) { + const ret = arg0.finish(); + return ret; + }; + imports.wbg.__wbg_finish_34b2c54329c8719f = function(arg0, arg1) { + const ret = arg0.finish(arg1); + return ret; + }; + imports.wbg.__wbg_finish_a9ab917e756ea00c = function(arg0, arg1) { + const ret = arg0.finish(arg1); + return ret; + }; + imports.wbg.__wbg_finish_e0a6c97c0622f843 = function(arg0) { + const ret = arg0.finish(); + return ret; + }; + imports.wbg.__wbg_focus_c71947fc3fe22147 = function() { return handleError(function (arg0) { + arg0.focus(); + }, arguments) }; + imports.wbg.__wbg_framebufferRenderbuffer_308ddbcaaed66ff2 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.framebufferRenderbuffer(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4); + }; + imports.wbg.__wbg_framebufferRenderbuffer_a23d035c46e3e192 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.framebufferRenderbuffer(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4); + }; + imports.wbg.__wbg_framebufferTexture2D_170b0f8c792e246f = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.framebufferTexture2D(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_framebufferTexture2D_5366ecb050293d09 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.framebufferTexture2D(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_framebufferTextureLayer_daccfb6fb9396578 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.framebufferTextureLayer(arg1 >>> 0, arg2 >>> 0, arg3, arg4, arg5); + }; + imports.wbg.__wbg_framebufferTextureMultiviewOVR_e2282e87fdf2564f = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.framebufferTextureMultiviewOVR(arg1 >>> 0, arg2 >>> 0, arg3, arg4, arg5, arg6); + }; + imports.wbg.__wbg_frontFace_7b469405c0e889ee = function(arg0, arg1) { + arg0.frontFace(arg1 >>> 0); + }; + imports.wbg.__wbg_frontFace_993e921eaef39c45 = function(arg0, arg1) { + arg0.frontFace(arg1 >>> 0); + }; + imports.wbg.__wbg_fullscreenElement_a613ad02fa918fb4 = function(arg0) { + const ret = arg0.fullscreenElement; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getBindGroupLayout_4a94df6108ac6667 = function(arg0, arg1) { + const ret = arg0.getBindGroupLayout(arg1 >>> 0); + return ret; + }; + imports.wbg.__wbg_getBindGroupLayout_80e803d942962f6a = function(arg0, arg1) { + const ret = arg0.getBindGroupLayout(arg1 >>> 0); + return ret; + }; + imports.wbg.__wbg_getBufferSubData_5102d8a217d0774c = function(arg0, arg1, arg2, arg3) { + arg0.getBufferSubData(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_getCoalescedEvents_1372a1922f78401a = function(arg0) { + const ret = arg0.getCoalescedEvents; + return ret; + }; + imports.wbg.__wbg_getCoalescedEvents_3736b5e5d63bed7b = function(arg0) { + const ret = arg0.getCoalescedEvents(); + return ret; + }; + imports.wbg.__wbg_getCompilationInfo_2af3ecdfeda551a3 = function(arg0) { + const ret = arg0.getCompilationInfo(); + return ret; + }; + imports.wbg.__wbg_getComputedStyle_c3a9de7674a38310 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.getComputedStyle(arg1); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getContext_02d86c7d9cfa709e = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.getContext(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getContext_24d4414b979c1bbd = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.getContext(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getContext_74e4f1560c2a2fae = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = arg0.getContext(getStringFromWasm0(arg1, arg2), arg3); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getContext_b22f05fca7ddb494 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = arg0.getContext(getStringFromWasm0(arg1, arg2), arg3); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getCurrentTexture_5a79cda2ff36e1ee = function(arg0) { + const ret = arg0.getCurrentTexture(); + return ret; + }; + imports.wbg.__wbg_getElementById_7b2db24a9b54f077 = function(arg0, arg1, arg2) { + const ret = arg0.getElementById(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getExtension_28666bdc87d23aca = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.getExtension(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getIndexedParameter_f9e7220a3bb8862c = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.getIndexedParameter(arg1 >>> 0, arg2 >>> 0); + return ret; + }, arguments) }; + imports.wbg.__wbg_getMappedRange_932dd043ae22ee0a = function(arg0, arg1, arg2) { + const ret = arg0.getMappedRange(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_getOwnPropertyDescriptor_c701b185423f5b7e = function(arg0, arg1) { + const ret = Object.getOwnPropertyDescriptor(arg0, arg1); + return ret; + }; + imports.wbg.__wbg_getParameter_304cffb9a759dc04 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.getParameter(arg1 >>> 0); + return ret; + }, arguments) }; + imports.wbg.__wbg_getParameter_fd65bc6ff1b0ffd9 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.getParameter(arg1 >>> 0); + return ret; + }, arguments) }; + imports.wbg.__wbg_getPreferredCanvasFormat_de73c02773a5209e = function(arg0) { + const ret = arg0.getPreferredCanvasFormat(); + return (__wbindgen_enum_GpuTextureFormat.indexOf(ret) + 1 || 96) - 1; + }; + imports.wbg.__wbg_getProgramInfoLog_032aac3e6f3a253c = function(arg0, arg1, arg2) { + const ret = arg1.getProgramInfoLog(arg2); + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_getProgramInfoLog_039168c2aed8d3fe = function(arg0, arg1, arg2) { + const ret = arg1.getProgramInfoLog(arg2); + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_getProgramParameter_70b22019524689fa = function(arg0, arg1, arg2) { + const ret = arg0.getProgramParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getProgramParameter_9b3bdf8d90159edb = function(arg0, arg1, arg2) { + const ret = arg0.getProgramParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getPropertyValue_e87121b8549f72d5 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = arg1.getPropertyValue(getStringFromWasm0(arg2, arg3)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_getQueryParameter_e7b02fe5fd64baa5 = function(arg0, arg1, arg2) { + const ret = arg0.getQueryParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getShaderInfoLog_5c7d45bafe3be3dd = function(arg0, arg1, arg2) { + const ret = arg1.getShaderInfoLog(arg2); + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_getShaderInfoLog_d2cc881ce343a733 = function(arg0, arg1, arg2) { + const ret = arg1.getShaderInfoLog(arg2); + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_getShaderParameter_6d0578dd9f58b684 = function(arg0, arg1, arg2) { + const ret = arg0.getShaderParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getShaderParameter_c50fbeadf9ef6879 = function(arg0, arg1, arg2) { + const ret = arg0.getShaderParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getSupportedExtensions_fca342bac23691db = function(arg0) { + const ret = arg0.getSupportedExtensions(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getSupportedProfiles_b2cc3aec569a65fa = function(arg0) { + const ret = arg0.getSupportedProfiles(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getSyncParameter_5688138f66b57b16 = function(arg0, arg1, arg2) { + const ret = arg0.getSyncParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getUniformBlockIndex_b53609b8ecff8b48 = function(arg0, arg1, arg2, arg3) { + const ret = arg0.getUniformBlockIndex(arg1, getStringFromWasm0(arg2, arg3)); + return ret; + }; + imports.wbg.__wbg_getUniformLocation_852fbe42afe106ff = function(arg0, arg1, arg2, arg3) { + const ret = arg0.getUniformLocation(arg1, getStringFromWasm0(arg2, arg3)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getUniformLocation_9d46a65011600cce = function(arg0, arg1, arg2, arg3) { + const ret = arg0.getUniformLocation(arg1, getStringFromWasm0(arg2, arg3)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_get_68aa371864aa301a = function(arg0, arg1) { + const ret = arg0[arg1 >>> 0]; + return ret; + }; + imports.wbg.__wbg_get_6b316bfdb1b95076 = function(arg0, arg1) { + const ret = arg0[arg1 >>> 0]; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_globalThis_1e2ac1d6eee845b3 = function() { return handleError(function () { + const ret = globalThis.globalThis; + return ret; + }, arguments) }; + imports.wbg.__wbg_global_f25a574ae080367c = function() { return handleError(function () { + const ret = global.global; + return ret; + }, arguments) }; + imports.wbg.__wbg_gpu_87871e8f7ace8fee = function(arg0) { + const ret = arg0.gpu; + return ret; + }; + imports.wbg.__wbg_has_624cbf0451d880e8 = function(arg0, arg1, arg2) { + const ret = arg0.has(getStringFromWasm0(arg1, arg2)); + return ret; + }; + imports.wbg.__wbg_height_4065e49e5ec4c4c1 = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_51a97623165c9beb = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_74bc8ec7548ff6b6 = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_a196a7b9b1d7e01c = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_cabc0c8a4c838304 = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_e509816ec3fdf5b1 = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_includes_959087f4155febdf = function(arg0, arg1, arg2) { + const ret = arg0.includes(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_info_b6bd3cb6471c2b4c = function(arg0) { + console.info(arg0); + }; + imports.wbg.__wbg_inlineSize_6f8d0983462c2919 = function(arg0) { + const ret = arg0.inlineSize; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuAdapter_0731153d2b08720b = function(arg0) { + let result; + try { + result = arg0 instanceof GPUAdapter; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuCanvasContext_d14121c7bd72fcef = function(arg0) { + let result; + try { + result = arg0 instanceof GPUCanvasContext; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuDeviceLostInfo_a3677ebb8241d800 = function(arg0) { + let result; + try { + result = arg0 instanceof GPUDeviceLostInfo; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuOutOfMemoryError_391d9a08edbfa04b = function(arg0) { + let result; + try { + result = arg0 instanceof GPUOutOfMemoryError; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuValidationError_f4d803c383da3c92 = function(arg0) { + let result; + try { + result = arg0 instanceof GPUValidationError; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_HtmlCanvasElement_9db0dfd54b2c5330 = function(arg0) { + let result; + try { + result = arg0 instanceof HTMLCanvasElement; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_Object_f0f57d6eeca1b81d = function(arg0) { + let result; + try { + result = arg0 instanceof Object; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_WebGl2RenderingContext_888701598b82d45d = function(arg0) { + let result; + try { + result = arg0 instanceof WebGL2RenderingContext; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_Window_a959820eb267fe22 = function(arg0) { + let result; + try { + result = arg0 instanceof Window; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_invalidateFramebuffer_f4a994f4a8535cca = function() { return handleError(function (arg0, arg1, arg2) { + arg0.invalidateFramebuffer(arg1 >>> 0, arg2); + }, arguments) }; + imports.wbg.__wbg_isIntersecting_9059d5bcaf29f415 = function(arg0) { + const ret = arg0.isIntersecting; + return ret; + }; + imports.wbg.__wbg_is_20768e55ad2a7c3f = function(arg0, arg1) { + const ret = Object.is(arg0, arg1); + return ret; + }; + imports.wbg.__wbg_key_02315cd3f595756b = function(arg0, arg1) { + const ret = arg1.key; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_label_2082ab37d2ad170d = function(arg0, arg1) { + const ret = arg1.label; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_length_2e63ba34c4121df5 = function(arg0) { + const ret = arg0.length; + return ret; + }; + imports.wbg.__wbg_length_9df32f7add647235 = function(arg0) { + const ret = arg0.length; + return ret; + }; + imports.wbg.__wbg_length_e74df4881604f1d9 = function(arg0) { + const ret = arg0.length; + return ret; + }; + imports.wbg.__wbg_limits_2dd632c891786ddf = function(arg0) { + const ret = arg0.limits; + return ret; + }; + imports.wbg.__wbg_limits_f6411f884b0b2d62 = function(arg0) { + const ret = arg0.limits; + return ret; + }; + imports.wbg.__wbg_lineNum_0246de1e072ffe19 = function(arg0) { + const ret = arg0.lineNum; + return ret; + }; + imports.wbg.__wbg_linkProgram_575f761eda0a14bc = function(arg0, arg1) { + arg0.linkProgram(arg1); + }; + imports.wbg.__wbg_linkProgram_5eee13e603e9af41 = function(arg0, arg1) { + arg0.linkProgram(arg1); + }; + imports.wbg.__wbg_location_54d35e8c85dcfb9c = function(arg0) { + const ret = arg0.location; + return ret; + }; + imports.wbg.__wbg_location_e9eba129bf0612a5 = function(arg0) { + const ret = arg0.location; + return ret; + }; + imports.wbg.__wbg_log_d818ca3cab23fc77 = function(arg0) { + console.log(arg0); + }; + imports.wbg.__wbg_lost_6e4d29847ce2a34a = function(arg0) { + const ret = arg0.lost; + return ret; + }; + imports.wbg.__wbg_mapAsync_37f5e03edf2e1352 = function(arg0, arg1, arg2, arg3) { + const ret = arg0.mapAsync(arg1 >>> 0, arg2, arg3); + return ret; + }; + imports.wbg.__wbg_matchMedia_0be65181eeae951c = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.matchMedia(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_matches_254463383aee4688 = function(arg0) { + const ret = arg0.matches; + return ret; + }; + imports.wbg.__wbg_maxBindGroups_768ca5e8623bf450 = function(arg0) { + const ret = arg0.maxBindGroups; + return ret; + }; + imports.wbg.__wbg_maxBindingsPerBindGroup_057972d600d69719 = function(arg0) { + const ret = arg0.maxBindingsPerBindGroup; + return ret; + }; + imports.wbg.__wbg_maxBufferSize_e237b44f19a5a62b = function(arg0) { + const ret = arg0.maxBufferSize; + return ret; + }; + imports.wbg.__wbg_maxColorAttachmentBytesPerSample_d6c7b4051d22c6d6 = function(arg0) { + const ret = arg0.maxColorAttachmentBytesPerSample; + return ret; + }; + imports.wbg.__wbg_maxColorAttachments_7a18ba24c05edcfd = function(arg0) { + const ret = arg0.maxColorAttachments; + return ret; + }; + imports.wbg.__wbg_maxComputeInvocationsPerWorkgroup_b99c2f3611633992 = function(arg0) { + const ret = arg0.maxComputeInvocationsPerWorkgroup; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupSizeX_adb26da9ed7f77f7 = function(arg0) { + const ret = arg0.maxComputeWorkgroupSizeX; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupSizeY_cc217559c98be33b = function(arg0) { + const ret = arg0.maxComputeWorkgroupSizeY; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupSizeZ_66606a80e2cf2309 = function(arg0) { + const ret = arg0.maxComputeWorkgroupSizeZ; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupStorageSize_cb6235497b8c4997 = function(arg0) { + const ret = arg0.maxComputeWorkgroupStorageSize; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupsPerDimension_6bf550b5f21d57cf = function(arg0) { + const ret = arg0.maxComputeWorkgroupsPerDimension; + return ret; + }; + imports.wbg.__wbg_maxDynamicStorageBuffersPerPipelineLayout_c6ac20334e328b47 = function(arg0) { + const ret = arg0.maxDynamicStorageBuffersPerPipelineLayout; + return ret; + }; + imports.wbg.__wbg_maxDynamicUniformBuffersPerPipelineLayout_aa8f14a74b440f01 = function(arg0) { + const ret = arg0.maxDynamicUniformBuffersPerPipelineLayout; + return ret; + }; + imports.wbg.__wbg_maxSampledTexturesPerShaderStage_db7c4922cc60144a = function(arg0) { + const ret = arg0.maxSampledTexturesPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxSamplersPerShaderStage_538705fe2263e710 = function(arg0) { + const ret = arg0.maxSamplersPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxStorageBufferBindingSize_32178c0f5f7f85cb = function(arg0) { + const ret = arg0.maxStorageBufferBindingSize; + return ret; + }; + imports.wbg.__wbg_maxStorageBuffersPerShaderStage_9f67e9eae0089f77 = function(arg0) { + const ret = arg0.maxStorageBuffersPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxStorageTexturesPerShaderStage_57239664936031cf = function(arg0) { + const ret = arg0.maxStorageTexturesPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxTextureArrayLayers_db5d4e486c78ae04 = function(arg0) { + const ret = arg0.maxTextureArrayLayers; + return ret; + }; + imports.wbg.__wbg_maxTextureDimension1D_3475085ffacabbdc = function(arg0) { + const ret = arg0.maxTextureDimension1D; + return ret; + }; + imports.wbg.__wbg_maxTextureDimension2D_7c8d5ecf09eb8519 = function(arg0) { + const ret = arg0.maxTextureDimension2D; + return ret; + }; + imports.wbg.__wbg_maxTextureDimension3D_8bd976677a0f91d4 = function(arg0) { + const ret = arg0.maxTextureDimension3D; + return ret; + }; + imports.wbg.__wbg_maxUniformBufferBindingSize_95b1a54e7e4a0f0f = function(arg0) { + const ret = arg0.maxUniformBufferBindingSize; + return ret; + }; + imports.wbg.__wbg_maxUniformBuffersPerShaderStage_5f475d9a453af14d = function(arg0) { + const ret = arg0.maxUniformBuffersPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxVertexAttributes_4c48ca2f5d32f860 = function(arg0) { + const ret = arg0.maxVertexAttributes; + return ret; + }; + imports.wbg.__wbg_maxVertexBufferArrayStride_2233f6933ecc5a16 = function(arg0) { + const ret = arg0.maxVertexBufferArrayStride; + return ret; + }; + imports.wbg.__wbg_maxVertexBuffers_c47e508cd7348554 = function(arg0) { + const ret = arg0.maxVertexBuffers; + return ret; + }; + imports.wbg.__wbg_message_0762358e59db7ed6 = function(arg0, arg1) { + const ret = arg1.message; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_message_7957ab09f64c6822 = function(arg0, arg1) { + const ret = arg1.message; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_message_b163994503433c9e = function(arg0, arg1) { + const ret = arg1.message; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_messages_da071582f72bc978 = function(arg0) { + const ret = arg0.messages; + return ret; + }; + imports.wbg.__wbg_metaKey_34d5658170ffb3ee = function(arg0) { + const ret = arg0.metaKey; + return ret; + }; + imports.wbg.__wbg_metaKey_6c8e9228e8dda152 = function(arg0) { + const ret = arg0.metaKey; + return ret; + }; + imports.wbg.__wbg_minStorageBufferOffsetAlignment_51b4801fac3a58de = function(arg0) { + const ret = arg0.minStorageBufferOffsetAlignment; + return ret; + }; + imports.wbg.__wbg_minUniformBufferOffsetAlignment_5d62a77924b2335f = function(arg0) { + const ret = arg0.minUniformBufferOffsetAlignment; + return ret; + }; + imports.wbg.__wbg_movementX_e32c342d96d1c701 = function(arg0) { + const ret = arg0.movementX; + return ret; + }; + imports.wbg.__wbg_movementY_136c6febb976ca3b = function(arg0) { + const ret = arg0.movementY; + return ret; + }; + imports.wbg.__wbg_navigator_2936a93ec3c6f4c5 = function(arg0) { + const ret = arg0.navigator; + return ret; + }; + imports.wbg.__wbg_navigator_da495c9e52e160b1 = function(arg0) { + const ret = arg0.navigator; + return ret; + }; + imports.wbg.__wbg_new_076cac58bb698dd4 = function() { + const ret = new Object(); + return ret; + }; + imports.wbg.__wbg_new_0c28e72025e00594 = function() { + const ret = new Array(); + return ret; + }; + imports.wbg.__wbg_new_23362fa370a0a372 = function(arg0) { + const ret = new Uint8Array(arg0); + return ret; + }; + imports.wbg.__wbg_new_238671e08bf4fcbb = function() { return handleError(function () { + const ret = new MessageChannel(); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_4b15073a88792687 = function() { return handleError(function (arg0) { + const ret = new ResizeObserver(arg0); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_8a6f238a6ece86ea = function() { + const ret = new Error(); + return ret; + }; + imports.wbg.__wbg_new_93cf40e4f48fe902 = function() { return handleError(function () { + const ret = new AbortController(); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_b4a18f0a618c89f2 = function() { return handleError(function (arg0, arg1) { + const ret = new Worker(getStringFromWasm0(arg0, arg1)); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_c94d990936d8ea5d = function() { return handleError(function (arg0) { + const ret = new IntersectionObserver(arg0); + return ret; + }, arguments) }; + imports.wbg.__wbg_newnoargs_19a249f4eceaaac3 = function(arg0, arg1) { + const ret = new Function(getStringFromWasm0(arg0, arg1)); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_24ff09a6b37a856f = function(arg0, arg1, arg2) { + const ret = new Int16Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_25d3cac011b6e2d5 = function(arg0, arg1, arg2) { + const ret = new Uint32Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_457c61bfe0fb7b8c = function(arg0, arg1, arg2) { + const ret = new Int32Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_9f48300371c8802a = function(arg0, arg1, arg2) { + const ret = new Uint16Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_a6087a94c7bfea61 = function(arg0, arg1, arg2) { + const ret = new Int8Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_c280c15b00e018cd = function(arg0, arg1, arg2) { + const ret = new Float32Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_ee8def7000b7b2be = function(arg0, arg1, arg2) { + const ret = new Uint8Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithstrsequenceandoptions_af096ce40d9d9ac8 = function() { return handleError(function (arg0, arg1) { + const ret = new Blob(arg0, arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_now_2c95c9de01293173 = function(arg0) { + const ret = arg0.now(); + return ret; + }; + imports.wbg.__wbg_observe_e2208b07fe315de7 = function(arg0, arg1) { + arg0.observe(arg1); + }; + imports.wbg.__wbg_observe_ec91d62599b7772b = function(arg0, arg1) { + arg0.observe(arg1); + }; + imports.wbg.__wbg_observe_fd48955513eca909 = function(arg0, arg1, arg2) { + arg0.observe(arg1, arg2); + }; + imports.wbg.__wbg_of_2f6232d86af7992c = function(arg0, arg1) { + const ret = Array.of(arg0, arg1); + return ret; + }; + imports.wbg.__wbg_of_5ae3a2d893e18853 = function(arg0) { + const ret = Array.of(arg0); + return ret; + }; + imports.wbg.__wbg_offsetX_d6957d052a0d4b11 = function(arg0) { + const ret = arg0.offsetX; + return ret; + }; + imports.wbg.__wbg_offsetY_076edde514bf80f4 = function(arg0) { + const ret = arg0.offsetY; + return ret; + }; + imports.wbg.__wbg_offset_336f14c993863b76 = function(arg0) { + const ret = arg0.offset; + return ret; + }; + imports.wbg.__wbg_performance_7a3ffd0b17f663ad = function(arg0) { + const ret = arg0.performance; + return ret; + }; + imports.wbg.__wbg_persisted_7e044507e52804d9 = function(arg0) { + const ret = arg0.persisted; + return ret; + }; + imports.wbg.__wbg_pixelStorei_198b92c3e346678a = function(arg0, arg1, arg2) { + arg0.pixelStorei(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_pixelStorei_9c4cb0a4b040b41d = function(arg0, arg1, arg2) { + arg0.pixelStorei(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_play_e7eb90a843114e0d = function(arg0) { + arg0.play(); + }; + imports.wbg.__wbg_pointerId_a2cbd2cdd6da90b2 = function(arg0) { + const ret = arg0.pointerId; + return ret; + }; + imports.wbg.__wbg_pointerType_1b74686427cdec29 = function(arg0, arg1) { + const ret = arg1.pointerType; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_polygonOffset_7ec31dee95d41171 = function(arg0, arg1, arg2) { + arg0.polygonOffset(arg1, arg2); + }; + imports.wbg.__wbg_polygonOffset_c6cbc8093770e840 = function(arg0, arg1, arg2) { + arg0.polygonOffset(arg1, arg2); + }; + imports.wbg.__wbg_popErrorScope_af0b22f136a861d6 = function(arg0) { + const ret = arg0.popErrorScope(); + return ret; + }; + imports.wbg.__wbg_port1_6f5b26fd23d19536 = function(arg0) { + const ret = arg0.port1; + return ret; + }; + imports.wbg.__wbg_port2_2eb4c961d6df5816 = function(arg0) { + const ret = arg0.port2; + return ret; + }; + imports.wbg.__wbg_postMessage_33dcf5caa3589c64 = function() { return handleError(function (arg0, arg1, arg2) { + arg0.postMessage(arg1, arg2); + }, arguments) }; + imports.wbg.__wbg_postMessage_3e7f3215320b4a9c = function() { return handleError(function (arg0, arg1) { + arg0.postMessage(arg1); + }, arguments) }; + imports.wbg.__wbg_postTask_9ba4c3cedae00b38 = function(arg0, arg1, arg2) { + const ret = arg0.postTask(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_pressure_8707a47b6fb1c1fd = function(arg0) { + const ret = arg0.pressure; + return ret; + }; + imports.wbg.__wbg_preventDefault_faafffcaad92972d = function(arg0) { + arg0.preventDefault(); + }; + imports.wbg.__wbg_prototype_0f68911d93450df4 = function() { + const ret = ResizeObserverEntry.prototype; + return ret; + }; + imports.wbg.__wbg_pushErrorScope_b52914ff10ba6ce3 = function(arg0, arg1) { + arg0.pushErrorScope(__wbindgen_enum_GpuErrorFilter[arg1]); + }; + imports.wbg.__wbg_push_3e9ce81246ef1d1b = function(arg0, arg1) { + const ret = arg0.push(arg1); + return ret; + }; + imports.wbg.__wbg_queryCounterEXT_6da4ab4ec9c37329 = function(arg0, arg1, arg2) { + arg0.queryCounterEXT(arg1, arg2 >>> 0); + }; + imports.wbg.__wbg_querySelectorAll_775f04e6f26ad643 = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.querySelectorAll(getStringFromWasm0(arg1, arg2)); + return ret; + }, arguments) }; + imports.wbg.__wbg_querySelector_473a7bd6647e7cbb = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.querySelector(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_queueMicrotask_3d422e1ba49c2500 = function(arg0) { + const ret = arg0.queueMicrotask; + return ret; + }; + imports.wbg.__wbg_queueMicrotask_5fc3e400ac3c03f4 = function(arg0) { + queueMicrotask(arg0); + }; + imports.wbg.__wbg_queueMicrotask_f301663ccadbb7d0 = function(arg0) { + queueMicrotask(arg0); + }; + imports.wbg.__wbg_queue_bea4017efaaf9904 = function(arg0) { + const ret = arg0.queue; + return ret; + }; + imports.wbg.__wbg_readBuffer_8fd1512f6bdfc8f0 = function(arg0, arg1) { + arg0.readBuffer(arg1 >>> 0); + }; + imports.wbg.__wbg_readPixels_48fc96a447cda9aa = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + arg0.readPixels(arg1, arg2, arg3, arg4, arg5 >>> 0, arg6 >>> 0, arg7); + }, arguments) }; + imports.wbg.__wbg_readPixels_7b1022930a9026d1 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + arg0.readPixels(arg1, arg2, arg3, arg4, arg5 >>> 0, arg6 >>> 0, arg7); + }, arguments) }; + imports.wbg.__wbg_readPixels_da6e94b84b4cfd41 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + arg0.readPixels(arg1, arg2, arg3, arg4, arg5 >>> 0, arg6 >>> 0, arg7); + }, arguments) }; + imports.wbg.__wbg_reason_43acd39cce242b50 = function(arg0) { + const ret = arg0.reason; + return (__wbindgen_enum_GpuDeviceLostReason.indexOf(ret) + 1 || 3) - 1; + }; + imports.wbg.__wbg_removeEventListener_d14a328308e427ba = function() { return handleError(function (arg0, arg1, arg2, arg3) { + arg0.removeEventListener(getStringFromWasm0(arg1, arg2), arg3); + }, arguments) }; + imports.wbg.__wbg_removeListener_aee72eb2e5fba09c = function() { return handleError(function (arg0, arg1) { + arg0.removeListener(arg1); + }, arguments) }; + imports.wbg.__wbg_removeProperty_902c73a4430b3e54 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = arg1.removeProperty(getStringFromWasm0(arg2, arg3)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_renderbufferStorageMultisample_abd1099fecb2e2a4 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.renderbufferStorageMultisample(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_renderbufferStorage_56c61eb0bb2718a9 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.renderbufferStorage(arg1 >>> 0, arg2 >>> 0, arg3, arg4); + }; + imports.wbg.__wbg_renderbufferStorage_aa4b58453d5aca0f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.renderbufferStorage(arg1 >>> 0, arg2 >>> 0, arg3, arg4); + }; + imports.wbg.__wbg_repeat_56fa20e30d00be95 = function(arg0) { + const ret = arg0.repeat; + return ret; + }; + imports.wbg.__wbg_requestAdapter_e6dcfac497cafa7a = function(arg0, arg1) { + const ret = arg0.requestAdapter(arg1); + return ret; + }; + imports.wbg.__wbg_requestAnimationFrame_e8ca543d07df528e = function() { return handleError(function (arg0, arg1) { + const ret = arg0.requestAnimationFrame(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_requestDevice_03b802707d5a382c = function(arg0, arg1) { + const ret = arg0.requestDevice(arg1); + return ret; + }; + imports.wbg.__wbg_requestFullscreen_e1ad8752a4e33f7e = function(arg0) { + const ret = arg0.requestFullscreen; + return ret; + }; + imports.wbg.__wbg_requestFullscreen_f727b1f250ebb10a = function(arg0) { + const ret = arg0.requestFullscreen(); + return ret; + }; + imports.wbg.__wbg_requestIdleCallback_773c554fc8c5a310 = function(arg0) { + const ret = arg0.requestIdleCallback; + return ret; + }; + imports.wbg.__wbg_requestIdleCallback_ba1f658c72e2140c = function() { return handleError(function (arg0, arg1) { + const ret = arg0.requestIdleCallback(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_resolveQuerySet_811661fb23f3b699 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.resolveQuerySet(arg1, arg2 >>> 0, arg3 >>> 0, arg4, arg5 >>> 0); + }; + imports.wbg.__wbg_resolve_6a311e8bb26423ab = function(arg0) { + const ret = Promise.resolve(arg0); + return ret; + }; + imports.wbg.__wbg_revokeObjectURL_3e4ad6d46a9a93f1 = function() { return handleError(function (arg0, arg1) { + URL.revokeObjectURL(getStringFromWasm0(arg0, arg1)); + }, arguments) }; + imports.wbg.__wbg_samplerParameterf_a9708333dc0df03e = function(arg0, arg1, arg2, arg3) { + arg0.samplerParameterf(arg1, arg2 >>> 0, arg3); + }; + imports.wbg.__wbg_samplerParameteri_6011eca3eaa96ac6 = function(arg0, arg1, arg2, arg3) { + arg0.samplerParameteri(arg1, arg2 >>> 0, arg3); + }; + imports.wbg.__wbg_scheduler_10edeee35a76c7c6 = function(arg0) { + const ret = arg0.scheduler; + return ret; + }; + imports.wbg.__wbg_scheduler_6d71128f17fbca34 = function(arg0) { + const ret = arg0.scheduler; + return ret; + }; + imports.wbg.__wbg_scissor_4c06926fa8af817c = function(arg0, arg1, arg2, arg3, arg4) { + arg0.scissor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_scissor_608c4f610141e6df = function(arg0, arg1, arg2, arg3, arg4) { + arg0.scissor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_search_4c8c4c416a168e55 = function() { return handleError(function (arg0, arg1) { + const ret = arg1.search; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_self_ac4343e4047b83cc = function() { return handleError(function () { + const ret = self.self; + return ret; + }, arguments) }; + imports.wbg.__wbg_setAttribute_e5d83ecaf7f586d5 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { + arg0.setAttribute(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4)); + }, arguments) }; + imports.wbg.__wbg_setBindGroup_62a3045b0921e429 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setBindGroup(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4), arg5, arg6 >>> 0); + }; + imports.wbg.__wbg_setBindGroup_6c0fd18e9a53a945 = function(arg0, arg1, arg2) { + arg0.setBindGroup(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_setBindGroup_7f3b61f1f482133b = function(arg0, arg1, arg2) { + arg0.setBindGroup(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_setBindGroup_bf767a5aa46a33ce = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setBindGroup(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4), arg5, arg6 >>> 0); + }; + imports.wbg.__wbg_setBindGroup_c4aaff14063226b4 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setBindGroup(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4), arg5, arg6 >>> 0); + }; + imports.wbg.__wbg_setBindGroup_f82e771dc1b69093 = function(arg0, arg1, arg2) { + arg0.setBindGroup(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_setBlendConstant_016723821cfb3aa4 = function(arg0, arg1) { + arg0.setBlendConstant(arg1); + }; + imports.wbg.__wbg_setIndexBuffer_286a40afdff411b7 = function(arg0, arg1, arg2, arg3) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3); + }; + imports.wbg.__wbg_setIndexBuffer_7efd0b7a40c65fb9 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3, arg4); + }; + imports.wbg.__wbg_setIndexBuffer_e091a9673bb575e2 = function(arg0, arg1, arg2, arg3) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3); + }; + imports.wbg.__wbg_setIndexBuffer_f0759f00036f615f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3, arg4); + }; + imports.wbg.__wbg_setPipeline_ba92070b8ee81cf9 = function(arg0, arg1) { + arg0.setPipeline(arg1); + }; + imports.wbg.__wbg_setPipeline_c344f76bae58c4d6 = function(arg0, arg1) { + arg0.setPipeline(arg1); + }; + imports.wbg.__wbg_setPipeline_d76451c50a121598 = function(arg0, arg1) { + arg0.setPipeline(arg1); + }; + imports.wbg.__wbg_setPointerCapture_6b89bc3d20c408af = function() { return handleError(function (arg0, arg1) { + arg0.setPointerCapture(arg1); + }, arguments) }; + imports.wbg.__wbg_setProperty_b11b0bad191551d1 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { + arg0.setProperty(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4)); + }, arguments) }; + imports.wbg.__wbg_setScissorRect_0b6ee0852ef0b6b9 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setScissorRect(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_setStencilReference_34fd3d59673a5a9d = function(arg0, arg1) { + arg0.setStencilReference(arg1 >>> 0); + }; + imports.wbg.__wbg_setTimeout_11f3c7cad8433a4f = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.setTimeout(arg1, arg2); + return ret; + }, arguments) }; + imports.wbg.__wbg_setTimeout_15ba883433c836ab = function() { return handleError(function (arg0, arg1) { + const ret = arg0.setTimeout(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_setVertexBuffer_06a90dc78e1ad9c4 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_setVertexBuffer_1540e9118b6c451d = function(arg0, arg1, arg2, arg3) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_setVertexBuffer_5166eedc06450701 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_setVertexBuffer_8621784e5014065b = function(arg0, arg1, arg2, arg3) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_setViewport_731ad30abb13f744 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setViewport(arg1, arg2, arg3, arg4, arg5, arg6); + }; + imports.wbg.__wbg_set_421385e996a16e02 = function() { return handleError(function (arg0, arg1, arg2) { + const ret = Reflect.set(arg0, arg1, arg2); + return ret; + }, arguments) }; + imports.wbg.__wbg_set_7b70226104a82921 = function(arg0, arg1, arg2) { + arg0.set(arg1, arg2 >>> 0); + }; + imports.wbg.__wbg_setbox_f664fc1447c0b2bb = function(arg0, arg1) { + arg0.box = __wbindgen_enum_ResizeObserverBoxOptions[arg1]; + }; + imports.wbg.__wbg_setheight_4286b13b9186d39f = function(arg0, arg1) { + arg0.height = arg1 >>> 0; + }; + imports.wbg.__wbg_setheight_7632621fed149fd9 = function(arg0, arg1) { + arg0.height = arg1 >>> 0; + }; + imports.wbg.__wbg_setonmessage_1f177e6cba71d19d = function(arg0, arg1) { + arg0.onmessage = arg1; + }; + imports.wbg.__wbg_setonuncapturederror_19541466822d790b = function(arg0, arg1) { + arg0.onuncapturederror = arg1; + }; + imports.wbg.__wbg_settabIndex_bc37dd560b089902 = function(arg0, arg1) { + arg0.tabIndex = arg1; + }; + imports.wbg.__wbg_settype_202db174d92fe493 = function(arg0, arg1, arg2) { + arg0.type = getStringFromWasm0(arg1, arg2); + }; + imports.wbg.__wbg_setwidth_5e43e6e177d3e2ec = function(arg0, arg1) { + arg0.width = arg1 >>> 0; + }; + imports.wbg.__wbg_setwidth_db46810857c0f6bd = function(arg0, arg1) { + arg0.width = arg1 >>> 0; + }; + imports.wbg.__wbg_shaderSource_7d9e91c6b9aaf864 = function(arg0, arg1, arg2, arg3) { + arg0.shaderSource(arg1, getStringFromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_shaderSource_b7db90958962e1f7 = function(arg0, arg1, arg2, arg3) { + arg0.shaderSource(arg1, getStringFromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_shiftKey_570898b1142a9898 = function(arg0) { + const ret = arg0.shiftKey; + return ret; + }; + imports.wbg.__wbg_shiftKey_e90da27a3092777e = function(arg0) { + const ret = arg0.shiftKey; + return ret; + }; + imports.wbg.__wbg_signal_fd2d6d0644f16ad8 = function(arg0) { + const ret = arg0.signal; + return ret; + }; + imports.wbg.__wbg_size_661bddb3f9898121 = function(arg0) { + const ret = arg0.size; + return ret; + }; + imports.wbg.__wbg_stack_0ed75d68575b0f3c = function(arg0, arg1) { + const ret = arg1.stack; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_start_a00c28f297559e1d = function(arg0) { + arg0.start(); + }; + imports.wbg.__wbg_stencilFuncSeparate_903776516b404f1e = function(arg0, arg1, arg2, arg3, arg4) { + arg0.stencilFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3, arg4 >>> 0); + }; + imports.wbg.__wbg_stencilFuncSeparate_9987b0fe1f74adc3 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.stencilFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3, arg4 >>> 0); + }; + imports.wbg.__wbg_stencilMaskSeparate_24a5bad679d4896c = function(arg0, arg1, arg2) { + arg0.stencilMaskSeparate(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_stencilMaskSeparate_5ade706794e0ff10 = function(arg0, arg1, arg2) { + arg0.stencilMaskSeparate(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_stencilMask_8ccbc71e58e71b93 = function(arg0, arg1) { + arg0.stencilMask(arg1 >>> 0); + }; + imports.wbg.__wbg_stencilMask_e03561d8e6b7171a = function(arg0, arg1) { + arg0.stencilMask(arg1 >>> 0); + }; + imports.wbg.__wbg_stencilOpSeparate_13e313403862a2bc = function(arg0, arg1, arg2, arg3, arg4) { + arg0.stencilOpSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_stencilOpSeparate_e03fe45a6a83cf8f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.stencilOpSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_style_e7c4e0938a7565b2 = function(arg0) { + const ret = arg0.style; + return ret; + }; + imports.wbg.__wbg_submit_f635072bb3d05faa = function(arg0, arg1) { + arg0.submit(arg1); + }; + imports.wbg.__wbg_texImage2D_102612af3b3ea301 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texImage2D_38f7a3dc4dcf0183 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texImage3D_4828de4d80648b9d = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) { + arg0.texImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8 >>> 0, arg9 >>> 0, arg10); + }, arguments) }; + imports.wbg.__wbg_texParameteri_2cc96bb59a67d4c2 = function(arg0, arg1, arg2, arg3) { + arg0.texParameteri(arg1 >>> 0, arg2 >>> 0, arg3); + }; + imports.wbg.__wbg_texParameteri_8e4109b7fbd3b875 = function(arg0, arg1, arg2, arg3) { + arg0.texParameteri(arg1 >>> 0, arg2 >>> 0, arg3); + }; + imports.wbg.__wbg_texStorage2D_728b9632dbd913e2 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.texStorage2D(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_texStorage3D_04d10ef19e465ec2 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.texStorage3D(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5, arg6); + }; + imports.wbg.__wbg_texSubImage2D_0c095c30c73e34c0 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_3c9a9ceac3c27fe7 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_3dbb6fb895fd53a7 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_4e505a214a40fc20 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_7197aef4cdbc7d70 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_746d9e75d2dd12d1 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_ca1d7744b168aa02 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_da8455e8da280cee = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_82336f6100e3ef24 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_831e19830a791320 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_9623fc609df925f5 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_9a8cb5676fdf0b50 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_a18f6424082a9393 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_d127dad275801f75 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_ebd1f2b229a92c5d = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_then_5c6469c1e1da9e59 = function(arg0, arg1) { + const ret = arg0.then(arg1); + return ret; + }; + imports.wbg.__wbg_then_faeb8aed8c1629b7 = function(arg0, arg1, arg2) { + const ret = arg0.then(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_type_c0d5d83032e9858a = function(arg0) { + const ret = arg0.type; + return (__wbindgen_enum_GpuCompilationMessageType.indexOf(ret) + 1 || 4) - 1; + }; + imports.wbg.__wbg_uniform1f_163e6ffe0d9805a4 = function(arg0, arg1, arg2) { + arg0.uniform1f(arg1, arg2); + }; + imports.wbg.__wbg_uniform1f_bb85eb8ed9248e52 = function(arg0, arg1, arg2) { + arg0.uniform1f(arg1, arg2); + }; + imports.wbg.__wbg_uniform1i_9fe01b91ff85aa85 = function(arg0, arg1, arg2) { + arg0.uniform1i(arg1, arg2); + }; + imports.wbg.__wbg_uniform1i_da7c764279d55bb5 = function(arg0, arg1, arg2) { + arg0.uniform1i(arg1, arg2); + }; + imports.wbg.__wbg_uniform1ui_1cd8b5fee3b44787 = function(arg0, arg1, arg2) { + arg0.uniform1ui(arg1, arg2 >>> 0); + }; + imports.wbg.__wbg_uniform2fv_40e0cc0b3d7ab815 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform2fv_d7ec4f77d2282f77 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform2iv_6d1ed66fa019f1a6 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform2iv_b36969471f3bb8e2 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform2uiv_e5d292b09c7c2eb4 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2uiv(arg1, getArrayU32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3fv_4f40a7b75bcdeb91 = function(arg0, arg1, arg2, arg3) { + arg0.uniform3fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3fv_c6fea7086ffa568e = function(arg0, arg1, arg2, arg3) { + arg0.uniform3fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3iv_46cafa9a87333139 = function(arg0, arg1, arg2, arg3) { + arg0.uniform3iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3iv_c13167af320af60e = function(arg0, arg1, arg2, arg3) { + arg0.uniform3iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3uiv_7e60873d7a35f50b = function(arg0, arg1, arg2, arg3) { + arg0.uniform3uiv(arg1, getArrayU32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4f_2408c0a3b4a0941d = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.uniform4f(arg1, arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_uniform4f_4eebf85a05c60a16 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.uniform4f(arg1, arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_uniform4fv_7ecf41f27e0e71ec = function(arg0, arg1, arg2, arg3) { + arg0.uniform4fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4fv_c88b1733f9a40a7a = function(arg0, arg1, arg2, arg3) { + arg0.uniform4fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4iv_0ee5d566bd3880e4 = function(arg0, arg1, arg2, arg3) { + arg0.uniform4iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4iv_cd69e9451d767045 = function(arg0, arg1, arg2, arg3) { + arg0.uniform4iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4uiv_c55d0b6c672eaf59 = function(arg0, arg1, arg2, arg3) { + arg0.uniform4uiv(arg1, getArrayU32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniformBlockBinding_e646e98e7f5da8fa = function(arg0, arg1, arg2, arg3) { + arg0.uniformBlockBinding(arg1, arg2 >>> 0, arg3 >>> 0); + }; + imports.wbg.__wbg_uniformMatrix2fv_ae2d3b42477e00fd = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix2fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix2fv_d44126fac416e7e4 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix2fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix2x3fv_18d94e4451a372cc = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix2x3fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix2x4fv_c34a8a330e7c94bd = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix2x4fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix3fv_652493ea4042e14f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix3fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix3fv_a3b27e44f0ad7caa = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix3fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix3x2fv_1bc7685c610e2b46 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix3x2fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix3x4fv_c99cdce05d7ffca9 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix3x4fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix4fv_a5f6838f6e217418 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix4fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix4fv_bbdf3d84ccedee84 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix4fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix4x2fv_05ec6db042145650 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix4x2fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix4x3fv_c393892235ce0f8b = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix4x3fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_unmap_8c2e8131b2aaa844 = function(arg0) { + arg0.unmap(); + }; + imports.wbg.__wbg_unobserve_9198337c0c96042f = function(arg0, arg1) { + arg0.unobserve(arg1); + }; + imports.wbg.__wbg_usage_13caa02888040e9f = function(arg0) { + const ret = arg0.usage; + return ret; + }; + imports.wbg.__wbg_useProgram_795e70e5047fcb65 = function(arg0, arg1) { + arg0.useProgram(arg1); + }; + imports.wbg.__wbg_useProgram_e84b53bf74bbe9b3 = function(arg0, arg1) { + arg0.useProgram(arg1); + }; + imports.wbg.__wbg_userAgentData_5e600df9bb352050 = function(arg0) { + const ret = arg0.userAgentData; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_userAgent_bfd54e5c60738678 = function() { return handleError(function (arg0, arg1) { + const ret = arg1.userAgent; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_valueOf_a2728b52687d72b4 = function(arg0) { + const ret = arg0.valueOf(); + return ret; + }; + imports.wbg.__wbg_vertexAttribDivisorANGLE_78ad959056e0feb7 = function(arg0, arg1, arg2) { + arg0.vertexAttribDivisorANGLE(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_vertexAttribDivisor_bc3026299e814316 = function(arg0, arg1, arg2) { + arg0.vertexAttribDivisor(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_vertexAttribIPointer_4397ca04b895d127 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.vertexAttribIPointer(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_vertexAttribPointer_1738c34c1c0d57a0 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.vertexAttribPointer(arg1 >>> 0, arg2, arg3 >>> 0, arg4 !== 0, arg5, arg6); + }; + imports.wbg.__wbg_vertexAttribPointer_34a2b143ee35746f = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.vertexAttribPointer(arg1 >>> 0, arg2, arg3 >>> 0, arg4 !== 0, arg5, arg6); + }; + imports.wbg.__wbg_videoHeight_7d8449d4b1aad15d = function(arg0) { + const ret = arg0.videoHeight; + return ret; + }; + imports.wbg.__wbg_videoWidth_134d623b7b20f203 = function(arg0) { + const ret = arg0.videoWidth; + return ret; + }; + imports.wbg.__wbg_viewport_04c48fc077486d94 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.viewport(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_viewport_301bba26f65246ed = function(arg0, arg1, arg2, arg3, arg4) { + arg0.viewport(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_visibilityState_c2b01655a6777e68 = function(arg0) { + const ret = arg0.visibilityState; + return (__wbindgen_enum_VisibilityState.indexOf(ret) + 1 || 3) - 1; + }; + imports.wbg.__wbg_warn_a6963915e4da61f6 = function(arg0) { + console.warn(arg0); + }; + imports.wbg.__wbg_webkitFullscreenElement_0c4654cdfe6894e5 = function(arg0) { + const ret = arg0.webkitFullscreenElement; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_webkitRequestFullscreen_fe95241c4f21ea63 = function(arg0) { + arg0.webkitRequestFullscreen(); + }; + imports.wbg.__wbg_width_514dd9b3b0cff49c = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_551edb4bb900e3dd = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_826b25a505a0b357 = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_dfc6149b0c4d8821 = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_e9eedd46da897708 = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_ee6a46425045c0dd = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_window_1a23defd102c72f4 = function() { return handleError(function () { + const ret = window.window; + return ret; + }, arguments) }; + imports.wbg.__wbg_writeBuffer_5ca4981365eb5ac0 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.writeBuffer(arg1, arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_writeTexture_246118eb2f5a1592 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.writeTexture(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbindgen_boolean_get = function(arg0) { + const v = arg0; + const ret = typeof(v) === 'boolean' ? (v ? 1 : 0) : 2; + return ret; + }; + imports.wbg.__wbindgen_cb_drop = function(arg0) { + const obj = arg0.original; + if (obj.cnt-- == 1) { + obj.a = 0; + return true; + } + const ret = false; + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2421 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 272, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper4587 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 272, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper4593 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 272, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6008 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 272, __wbg_adapter_41); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6053 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 272, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6071 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 272, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6072 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 272, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6073 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 272, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6074 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 272, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6075 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 272, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6117 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 272, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6118 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 272, __wbg_adapter_58); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6119 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 272, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_debug_string = function(arg0, arg1) { + const ret = debugString(arg1); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_init_externref_table = function() { + const table = wasm.__wbindgen_export_1; + const offset = table.grow(4); + table.set(0, undefined); + table.set(offset + 0, undefined); + table.set(offset + 1, null); + table.set(offset + 2, true); + table.set(offset + 3, false); + ; + }; + imports.wbg.__wbindgen_is_function = function(arg0) { + const ret = typeof(arg0) === 'function'; + return ret; + }; + imports.wbg.__wbindgen_is_null = function(arg0) { + const ret = arg0 === null; + return ret; + }; + imports.wbg.__wbindgen_is_object = function(arg0) { + const val = arg0; + const ret = typeof(val) === 'object' && val !== null; + return ret; + }; + imports.wbg.__wbindgen_is_undefined = function(arg0) { + const ret = arg0 === undefined; + return ret; + }; + imports.wbg.__wbindgen_memory = function() { + const ret = wasm.memory; + return ret; + }; + imports.wbg.__wbindgen_number_get = function(arg0, arg1) { + const obj = arg1; + const ret = typeof(obj) === 'number' ? obj : undefined; + getDataViewMemory0().setFloat64(arg0 + 8 * 1, isLikeNone(ret) ? 0 : ret, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true); + }; + imports.wbg.__wbindgen_number_new = function(arg0) { + const ret = arg0; + return ret; + }; + imports.wbg.__wbindgen_string_get = function(arg0, arg1) { + const obj = arg1; + const ret = typeof(obj) === 'string' ? obj : undefined; + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_string_new = function(arg0, arg1) { + const ret = getStringFromWasm0(arg0, arg1); + return ret; + }; + imports.wbg.__wbindgen_throw = function(arg0, arg1) { + throw new Error(getStringFromWasm0(arg0, arg1)); + }; + imports['env'] = __wbg_star0; + + return imports; +} + +function __wbg_init_memory(imports, memory) { + +} + +function __wbg_finalize_init(instance, module) { + wasm = instance.exports; + __wbg_init.__wbindgen_wasm_module = module; + cachedDataViewMemory0 = null; + cachedFloat32ArrayMemory0 = null; + cachedInt32ArrayMemory0 = null; + cachedUint32ArrayMemory0 = null; + cachedUint8ArrayMemory0 = null; + + + wasm.__wbindgen_start(); + return wasm; +} + +function initSync(module) { + if (wasm !== undefined) return wasm; + + + if (typeof module !== 'undefined') { + if (Object.getPrototypeOf(module) === Object.prototype) { + ({module} = module) + } else { + console.warn('using deprecated parameters for `initSync()`; pass a single object instead') + } + } + + const imports = __wbg_get_imports(); + + __wbg_init_memory(imports); + + if (!(module instanceof WebAssembly.Module)) { + module = new WebAssembly.Module(module); + } + + const instance = new WebAssembly.Instance(module, imports); + + return __wbg_finalize_init(instance, module); +} + +async function __wbg_init(module_or_path) { + if (wasm !== undefined) return wasm; + + + if (typeof module_or_path !== 'undefined') { + if (Object.getPrototypeOf(module_or_path) === Object.prototype) { + ({module_or_path} = module_or_path) + } else { + console.warn('using deprecated parameters for the initialization function; pass a single object instead') + } + } + + if (typeof module_or_path === 'undefined') { + module_or_path = new URL('tutorial3-pipeline_bg.wasm', import.meta.url); + } + const imports = __wbg_get_imports(); + + if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) { + module_or_path = fetch(module_or_path); + } + + __wbg_init_memory(imports); + + const { instance, module } = await __wbg_load(await module_or_path, imports); + + return __wbg_finalize_init(instance, module); +} + +export { initSync }; +export default __wbg_init; diff --git a/wasm/tutorial3-pipeline_bg.wasm b/wasm/tutorial3-pipeline_bg.wasm new file mode 100644 index 00000000..4b44a1e5 Binary files /dev/null and b/wasm/tutorial3-pipeline_bg.wasm differ diff --git a/wasm/tutorial4-buffer.js b/wasm/tutorial4-buffer.js new file mode 100644 index 00000000..ec0bec67 --- /dev/null +++ b/wasm/tutorial4-buffer.js @@ -0,0 +1,2593 @@ +import * as __wbg_star0 from 'env'; + +let wasm; + +function isLikeNone(x) { + return x === undefined || x === null; +} + +function addToExternrefTable0(obj) { + const idx = wasm.__externref_table_alloc(); + wasm.__wbindgen_export_1.set(idx, obj); + return idx; +} + +const cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : { decode: () => { throw Error('TextDecoder not available') } } ); + +if (typeof TextDecoder !== 'undefined') { cachedTextDecoder.decode(); }; + +let cachedUint8ArrayMemory0 = null; + +function getUint8ArrayMemory0() { + if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) { + cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer); + } + return cachedUint8ArrayMemory0; +} + +function getStringFromWasm0(ptr, len) { + ptr = ptr >>> 0; + return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len)); +} + +function handleError(f, args) { + try { + return f.apply(this, args); + } catch (e) { + const idx = addToExternrefTable0(e); + wasm.__wbindgen_exn_store(idx); + } +} + +let WASM_VECTOR_LEN = 0; + +const cachedTextEncoder = (typeof TextEncoder !== 'undefined' ? new TextEncoder('utf-8') : { encode: () => { throw Error('TextEncoder not available') } } ); + +const encodeString = (typeof cachedTextEncoder.encodeInto === 'function' + ? function (arg, view) { + return cachedTextEncoder.encodeInto(arg, view); +} + : function (arg, view) { + const buf = cachedTextEncoder.encode(arg); + view.set(buf); + return { + read: arg.length, + written: buf.length + }; +}); + +function passStringToWasm0(arg, malloc, realloc) { + + if (realloc === undefined) { + const buf = cachedTextEncoder.encode(arg); + const ptr = malloc(buf.length, 1) >>> 0; + getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf); + WASM_VECTOR_LEN = buf.length; + return ptr; + } + + let len = arg.length; + let ptr = malloc(len, 1) >>> 0; + + const mem = getUint8ArrayMemory0(); + + let offset = 0; + + for (; offset < len; offset++) { + const code = arg.charCodeAt(offset); + if (code > 0x7F) break; + mem[ptr + offset] = code; + } + + if (offset !== len) { + if (offset !== 0) { + arg = arg.slice(offset); + } + ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0; + const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len); + const ret = encodeString(arg, view); + + offset += ret.written; + ptr = realloc(ptr, len, offset, 1) >>> 0; + } + + WASM_VECTOR_LEN = offset; + return ptr; +} + +let cachedDataViewMemory0 = null; + +function getDataViewMemory0() { + if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) { + cachedDataViewMemory0 = new DataView(wasm.memory.buffer); + } + return cachedDataViewMemory0; +} + +let cachedFloat32ArrayMemory0 = null; + +function getFloat32ArrayMemory0() { + if (cachedFloat32ArrayMemory0 === null || cachedFloat32ArrayMemory0.byteLength === 0) { + cachedFloat32ArrayMemory0 = new Float32Array(wasm.memory.buffer); + } + return cachedFloat32ArrayMemory0; +} + +function getArrayF32FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getFloat32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len); +} + +let cachedInt32ArrayMemory0 = null; + +function getInt32ArrayMemory0() { + if (cachedInt32ArrayMemory0 === null || cachedInt32ArrayMemory0.byteLength === 0) { + cachedInt32ArrayMemory0 = new Int32Array(wasm.memory.buffer); + } + return cachedInt32ArrayMemory0; +} + +function getArrayI32FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getInt32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len); +} + +let cachedUint32ArrayMemory0 = null; + +function getUint32ArrayMemory0() { + if (cachedUint32ArrayMemory0 === null || cachedUint32ArrayMemory0.byteLength === 0) { + cachedUint32ArrayMemory0 = new Uint32Array(wasm.memory.buffer); + } + return cachedUint32ArrayMemory0; +} + +function getArrayU32FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getUint32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len); +} + +const CLOSURE_DTORS = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(state => { + wasm.__wbindgen_export_6.get(state.dtor)(state.a, state.b) +}); + +function makeMutClosure(arg0, arg1, dtor, f) { + const state = { a: arg0, b: arg1, cnt: 1, dtor }; + const real = (...args) => { + // First up with a closure we increment the internal reference + // count. This ensures that the Rust closure environment won't + // be deallocated while we're invoking it. + state.cnt++; + const a = state.a; + state.a = 0; + try { + return f(a, state.b, ...args); + } finally { + if (--state.cnt === 0) { + wasm.__wbindgen_export_6.get(state.dtor)(a, state.b); + CLOSURE_DTORS.unregister(state); + } else { + state.a = a; + } + } + }; + real.original = state; + CLOSURE_DTORS.register(real, state, state); + return real; +} + +function debugString(val) { + // primitive types + const type = typeof val; + if (type == 'number' || type == 'boolean' || val == null) { + return `${val}`; + } + if (type == 'string') { + return `"${val}"`; + } + if (type == 'symbol') { + const description = val.description; + if (description == null) { + return 'Symbol'; + } else { + return `Symbol(${description})`; + } + } + if (type == 'function') { + const name = val.name; + if (typeof name == 'string' && name.length > 0) { + return `Function(${name})`; + } else { + return 'Function'; + } + } + // objects + if (Array.isArray(val)) { + const length = val.length; + let debug = '['; + if (length > 0) { + debug += debugString(val[0]); + } + for(let i = 1; i < length; i++) { + debug += ', ' + debugString(val[i]); + } + debug += ']'; + return debug; + } + // Test for built-in + const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val)); + let className; + if (builtInMatches && builtInMatches.length > 1) { + className = builtInMatches[1]; + } else { + // Failed to match the standard '[object ClassName]' + return toString.call(val); + } + if (className == 'Object') { + // we're a user defined class or Object + // JSON.stringify avoids problems with cycles, and is generally much + // easier than looping through ownProperties of `val`. + try { + return 'Object(' + JSON.stringify(val) + ')'; + } catch (_) { + return 'Object'; + } + } + // errors + if (val instanceof Error) { + return `${val.name}: ${val.message}\n${val.stack}`; + } + // TODO we could test for more things here, like `Set`s and `Map`s. + return className; +} +function __wbg_adapter_34(arg0, arg1, arg2) { + wasm.closure273_externref_shim(arg0, arg1, arg2); +} + +function __wbg_adapter_41(arg0, arg1) { + wasm._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hc2a92dab5895dab9(arg0, arg1); +} + +function __wbg_adapter_58(arg0, arg1, arg2, arg3) { + wasm.closure782_externref_shim(arg0, arg1, arg2, arg3); +} + +const __wbindgen_enum_GpuCompilationMessageType = ["error", "warning", "info"]; + +const __wbindgen_enum_GpuDeviceLostReason = ["unknown", "destroyed"]; + +const __wbindgen_enum_GpuErrorFilter = ["validation", "out-of-memory", "internal"]; + +const __wbindgen_enum_GpuIndexFormat = ["uint16", "uint32"]; + +const __wbindgen_enum_GpuTextureFormat = ["r8unorm", "r8snorm", "r8uint", "r8sint", "r16uint", "r16sint", "r16float", "rg8unorm", "rg8snorm", "rg8uint", "rg8sint", "r32uint", "r32sint", "r32float", "rg16uint", "rg16sint", "rg16float", "rgba8unorm", "rgba8unorm-srgb", "rgba8snorm", "rgba8uint", "rgba8sint", "bgra8unorm", "bgra8unorm-srgb", "rgb9e5ufloat", "rgb10a2uint", "rgb10a2unorm", "rg11b10ufloat", "rg32uint", "rg32sint", "rg32float", "rgba16uint", "rgba16sint", "rgba16float", "rgba32uint", "rgba32sint", "rgba32float", "stencil8", "depth16unorm", "depth24plus", "depth24plus-stencil8", "depth32float", "depth32float-stencil8", "bc1-rgba-unorm", "bc1-rgba-unorm-srgb", "bc2-rgba-unorm", "bc2-rgba-unorm-srgb", "bc3-rgba-unorm", "bc3-rgba-unorm-srgb", "bc4-r-unorm", "bc4-r-snorm", "bc5-rg-unorm", "bc5-rg-snorm", "bc6h-rgb-ufloat", "bc6h-rgb-float", "bc7-rgba-unorm", "bc7-rgba-unorm-srgb", "etc2-rgb8unorm", "etc2-rgb8unorm-srgb", "etc2-rgb8a1unorm", "etc2-rgb8a1unorm-srgb", "etc2-rgba8unorm", "etc2-rgba8unorm-srgb", "eac-r11unorm", "eac-r11snorm", "eac-rg11unorm", "eac-rg11snorm", "astc-4x4-unorm", "astc-4x4-unorm-srgb", "astc-5x4-unorm", "astc-5x4-unorm-srgb", "astc-5x5-unorm", "astc-5x5-unorm-srgb", "astc-6x5-unorm", "astc-6x5-unorm-srgb", "astc-6x6-unorm", "astc-6x6-unorm-srgb", "astc-8x5-unorm", "astc-8x5-unorm-srgb", "astc-8x6-unorm", "astc-8x6-unorm-srgb", "astc-8x8-unorm", "astc-8x8-unorm-srgb", "astc-10x5-unorm", "astc-10x5-unorm-srgb", "astc-10x6-unorm", "astc-10x6-unorm-srgb", "astc-10x8-unorm", "astc-10x8-unorm-srgb", "astc-10x10-unorm", "astc-10x10-unorm-srgb", "astc-12x10-unorm", "astc-12x10-unorm-srgb", "astc-12x12-unorm", "astc-12x12-unorm-srgb"]; + +const __wbindgen_enum_ResizeObserverBoxOptions = ["border-box", "content-box", "device-pixel-content-box"]; + +const __wbindgen_enum_VisibilityState = ["hidden", "visible"]; + +async function __wbg_load(module, imports) { + if (typeof Response === 'function' && module instanceof Response) { + if (typeof WebAssembly.instantiateStreaming === 'function') { + try { + return await WebAssembly.instantiateStreaming(module, imports); + + } catch (e) { + if (module.headers.get('Content-Type') != 'application/wasm') { + console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e); + + } else { + throw e; + } + } + } + + const bytes = await module.arrayBuffer(); + return await WebAssembly.instantiate(bytes, imports); + + } else { + const instance = await WebAssembly.instantiate(module, imports); + + if (instance instanceof WebAssembly.Instance) { + return { instance, module }; + + } else { + return instance; + } + } +} + +function __wbg_get_imports() { + const imports = {}; + imports.wbg = {}; + imports.wbg.__wbg_Window_96e58b3552ce6bb1 = function(arg0) { + const ret = arg0.Window; + return ret; + }; + imports.wbg.__wbg_Window_cf5b693340a7c469 = function(arg0) { + const ret = arg0.Window; + return ret; + }; + imports.wbg.__wbg_WorkerGlobalScope_354364d1b0bd06e5 = function(arg0) { + const ret = arg0.WorkerGlobalScope; + return ret; + }; + imports.wbg.__wbg_abort_19de2f828ee0874a = function(arg0) { + arg0.abort(); + }; + imports.wbg.__wbg_activeElement_d1a1f2b334adf636 = function(arg0) { + const ret = arg0.activeElement; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_activeTexture_24b42b03041f3428 = function(arg0, arg1) { + arg0.activeTexture(arg1 >>> 0); + }; + imports.wbg.__wbg_activeTexture_47928613532be667 = function(arg0, arg1) { + arg0.activeTexture(arg1 >>> 0); + }; + imports.wbg.__wbg_addEventListener_e27053e488770e58 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + arg0.addEventListener(getStringFromWasm0(arg1, arg2), arg3); + }, arguments) }; + imports.wbg.__wbg_addListener_dca1ccc036e24997 = function() { return handleError(function (arg0, arg1) { + arg0.addListener(arg1); + }, arguments) }; + imports.wbg.__wbg_altKey_56dd0987e7ccbbf2 = function(arg0) { + const ret = arg0.altKey; + return ret; + }; + imports.wbg.__wbg_altKey_583c79ba3f4fce1e = function(arg0) { + const ret = arg0.altKey; + return ret; + }; + imports.wbg.__wbg_animate_310f1b8e5b1fdb56 = function(arg0, arg1, arg2) { + const ret = arg0.animate(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_appendChild_805222aed73feea9 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.appendChild(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_attachShader_81000b0c4da5b206 = function(arg0, arg1, arg2) { + arg0.attachShader(arg1, arg2); + }; + imports.wbg.__wbg_attachShader_ccc35921e866b2bf = function(arg0, arg1, arg2) { + arg0.attachShader(arg1, arg2); + }; + imports.wbg.__wbg_beginComputePass_90d5303e604970cb = function(arg0, arg1) { + const ret = arg0.beginComputePass(arg1); + return ret; + }; + imports.wbg.__wbg_beginQuery_4e54bbe77706fb3c = function(arg0, arg1, arg2) { + arg0.beginQuery(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_beginRenderPass_9739520c601001c3 = function(arg0, arg1) { + const ret = arg0.beginRenderPass(arg1); + return ret; + }; + imports.wbg.__wbg_bindAttribLocation_a08ae4fdf9b16e7d = function(arg0, arg1, arg2, arg3, arg4) { + arg0.bindAttribLocation(arg1, arg2 >>> 0, getStringFromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_bindAttribLocation_b53db53e1b134420 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.bindAttribLocation(arg1, arg2 >>> 0, getStringFromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_bindBufferRange_ce5a2827ed937112 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.bindBufferRange(arg1 >>> 0, arg2 >>> 0, arg3, arg4, arg5); + }; + imports.wbg.__wbg_bindBuffer_0fedb16582ffeee6 = function(arg0, arg1, arg2) { + arg0.bindBuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindBuffer_c6e5f29d60e90c01 = function(arg0, arg1, arg2) { + arg0.bindBuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindFramebuffer_87e15614ca3e9537 = function(arg0, arg1, arg2) { + arg0.bindFramebuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindFramebuffer_a0d602bd474dcbfb = function(arg0, arg1, arg2) { + arg0.bindFramebuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindRenderbuffer_3100396894cc2d72 = function(arg0, arg1, arg2) { + arg0.bindRenderbuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindRenderbuffer_fd3e47dad76906ea = function(arg0, arg1, arg2) { + arg0.bindRenderbuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindSampler_7614054a94f8e3d1 = function(arg0, arg1, arg2) { + arg0.bindSampler(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindTexture_6478edbb238b9c73 = function(arg0, arg1, arg2) { + arg0.bindTexture(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindTexture_9b177c97248ed4d9 = function(arg0, arg1, arg2) { + arg0.bindTexture(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindVertexArrayOES_e81fca007d08d0db = function(arg0, arg1) { + arg0.bindVertexArrayOES(arg1); + }; + imports.wbg.__wbg_bindVertexArray_d9082254ff3bcc13 = function(arg0, arg1) { + arg0.bindVertexArray(arg1); + }; + imports.wbg.__wbg_blendColor_075aa544f1fe84c5 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.blendColor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_blendColor_ed292080d5966f2c = function(arg0, arg1, arg2, arg3, arg4) { + arg0.blendColor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_blendEquationSeparate_3dbbe20b0a9fa818 = function(arg0, arg1, arg2) { + arg0.blendEquationSeparate(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_blendEquationSeparate_d360393d3b1557cd = function(arg0, arg1, arg2) { + arg0.blendEquationSeparate(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_blendEquation_41f4ed79f5ddd25c = function(arg0, arg1) { + arg0.blendEquation(arg1 >>> 0); + }; + imports.wbg.__wbg_blendEquation_8804e10c9ced3fc4 = function(arg0, arg1) { + arg0.blendEquation(arg1 >>> 0); + }; + imports.wbg.__wbg_blendFuncSeparate_2cc7ac2397290a15 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.blendFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_blendFuncSeparate_c6c035b0094bd58f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.blendFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_blendFunc_63aca14ff3252b59 = function(arg0, arg1, arg2) { + arg0.blendFunc(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_blendFunc_8e1cfba50a4eea89 = function(arg0, arg1, arg2) { + arg0.blendFunc(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_blitFramebuffer_171b9355e4e730c9 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) { + arg0.blitFramebuffer(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0); + }; + imports.wbg.__wbg_blockSize_e0006fb003814895 = function(arg0) { + const ret = arg0.blockSize; + return ret; + }; + imports.wbg.__wbg_body_83d4bc4961a422aa = function(arg0) { + const ret = arg0.body; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_brand_67e4f3d950154d0a = function(arg0, arg1) { + const ret = arg1.brand; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_brands_1ec54d613da9db02 = function(arg0) { + const ret = arg0.brands; + return ret; + }; + imports.wbg.__wbg_bufferData_2a747a2c2c3b23b5 = function(arg0, arg1, arg2, arg3) { + arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0); + }; + imports.wbg.__wbg_bufferData_5b85d77150f6520a = function(arg0, arg1, arg2, arg3) { + arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0); + }; + imports.wbg.__wbg_bufferData_b03654fb80052afe = function(arg0, arg1, arg2, arg3) { + arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0); + }; + imports.wbg.__wbg_bufferData_c2eb7dbb2ea2ab3f = function(arg0, arg1, arg2, arg3) { + arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0); + }; + imports.wbg.__wbg_bufferSubData_8a7d35c05111a120 = function(arg0, arg1, arg2, arg3) { + arg0.bufferSubData(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_bufferSubData_c4b11388b9eb4175 = function(arg0, arg1, arg2, arg3) { + arg0.bufferSubData(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_buffer_6e1d53ff183194fc = function(arg0) { + const ret = arg0.buffer; + return ret; + }; + imports.wbg.__wbg_buffer_ffdeb2ee67420f9e = function(arg0) { + const ret = arg0.buffer; + return ret; + }; + imports.wbg.__wbg_button_db48f93638c59f95 = function(arg0) { + const ret = arg0.button; + return ret; + }; + imports.wbg.__wbg_buttons_b962d6dc116cd1a5 = function(arg0) { + const ret = arg0.buttons; + return ret; + }; + imports.wbg.__wbg_call_3114932863209ca6 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.call(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_cancelAnimationFrame_f1ad512e269ea165 = function() { return handleError(function (arg0, arg1) { + arg0.cancelAnimationFrame(arg1); + }, arguments) }; + imports.wbg.__wbg_cancelIdleCallback_bcc2dc9be9de0744 = function(arg0, arg1) { + arg0.cancelIdleCallback(arg1 >>> 0); + }; + imports.wbg.__wbg_cancel_3b69067dcdf7ffb7 = function(arg0) { + arg0.cancel(); + }; + imports.wbg.__wbg_catch_9da7d002aa356f1d = function(arg0, arg1) { + const ret = arg0.catch(arg1); + return ret; + }; + imports.wbg.__wbg_clearBuffer_6164fc25d22b25cc = function(arg0, arg1, arg2, arg3) { + arg0.clearBuffer(arg1, arg2, arg3); + }; + imports.wbg.__wbg_clearBuffer_cfcaaf1fb2baa885 = function(arg0, arg1, arg2) { + arg0.clearBuffer(arg1, arg2); + }; + imports.wbg.__wbg_clearBufferfv_2cf04e18ef87ed90 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.clearBufferfv(arg1 >>> 0, arg2, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_clearBufferiv_b45be02e57957dad = function(arg0, arg1, arg2, arg3, arg4) { + arg0.clearBufferiv(arg1 >>> 0, arg2, getArrayI32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_clearBufferuiv_deca83038abb23d2 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.clearBufferuiv(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_clearDepth_14d34daa30215440 = function(arg0, arg1) { + arg0.clearDepth(arg1); + }; + imports.wbg.__wbg_clearDepth_1cdcb08d8a5afa49 = function(arg0, arg1) { + arg0.clearDepth(arg1); + }; + imports.wbg.__wbg_clearStencil_e2c8b1892d5e033d = function(arg0, arg1) { + arg0.clearStencil(arg1); + }; + imports.wbg.__wbg_clearStencil_f3138d2e338d1436 = function(arg0, arg1) { + arg0.clearStencil(arg1); + }; + imports.wbg.__wbg_clearTimeout_da4408c46e51bc7a = function(arg0, arg1) { + arg0.clearTimeout(arg1); + }; + imports.wbg.__wbg_clear_4e68091e616c29ad = function(arg0, arg1) { + arg0.clear(arg1 >>> 0); + }; + imports.wbg.__wbg_clear_af7641961d766f51 = function(arg0, arg1) { + arg0.clear(arg1 >>> 0); + }; + imports.wbg.__wbg_clientWaitSync_2c4c0bd3a8d3536b = function(arg0, arg1, arg2, arg3) { + const ret = arg0.clientWaitSync(arg1, arg2 >>> 0, arg3 >>> 0); + return ret; + }; + imports.wbg.__wbg_close_35d643897b189a00 = function(arg0) { + arg0.close(); + }; + imports.wbg.__wbg_code_d8226b2133366406 = function(arg0, arg1) { + const ret = arg1.code; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_colorMask_22d850d91e89df9f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.colorMask(arg1 !== 0, arg2 !== 0, arg3 !== 0, arg4 !== 0); + }; + imports.wbg.__wbg_colorMask_a6068fae89c17ceb = function(arg0, arg1, arg2, arg3, arg4) { + arg0.colorMask(arg1 !== 0, arg2 !== 0, arg3 !== 0, arg4 !== 0); + }; + imports.wbg.__wbg_compileShader_5e41ecd397194c21 = function(arg0, arg1) { + arg0.compileShader(arg1); + }; + imports.wbg.__wbg_compileShader_6868fa6a842f0911 = function(arg0, arg1) { + arg0.compileShader(arg1); + }; + imports.wbg.__wbg_compressedTexSubImage2D_216f6eec167da8d7 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + arg0.compressedTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8); + }; + imports.wbg.__wbg_compressedTexSubImage2D_4b50d2a94bf4ea60 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.compressedTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8, arg9); + }; + imports.wbg.__wbg_compressedTexSubImage2D_9b0c2c785026006a = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + arg0.compressedTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8); + }; + imports.wbg.__wbg_compressedTexSubImage3D_8102ea4403fef5ce = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) { + arg0.compressedTexSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10); + }; + imports.wbg.__wbg_compressedTexSubImage3D_bf2bdb940e26bc8c = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.compressedTexSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10, arg11); + }; + imports.wbg.__wbg_configure_2414aed971d368cd = function(arg0, arg1) { + arg0.configure(arg1); + }; + imports.wbg.__wbg_contains_6947e163e2a3c092 = function(arg0, arg1) { + const ret = arg0.contains(arg1); + return ret; + }; + imports.wbg.__wbg_contentRect_7aaa87e16fd2882d = function(arg0) { + const ret = arg0.contentRect; + return ret; + }; + imports.wbg.__wbg_copyBufferSubData_ff213d67aa3b1f82 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.copyBufferSubData(arg1 >>> 0, arg2 >>> 0, arg3, arg4, arg5); + }; + imports.wbg.__wbg_copyBufferToBuffer_1ba67191114656a1 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.copyBufferToBuffer(arg1, arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_copyBufferToTexture_878d31d479e48f28 = function(arg0, arg1, arg2, arg3) { + arg0.copyBufferToTexture(arg1, arg2, arg3); + }; + imports.wbg.__wbg_copyExternalImageToTexture_7878d196c0b60d39 = function(arg0, arg1, arg2, arg3) { + arg0.copyExternalImageToTexture(arg1, arg2, arg3); + }; + imports.wbg.__wbg_copyTexSubImage2D_4b37e79c31b798b1 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + arg0.copyTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + }; + imports.wbg.__wbg_copyTexSubImage2D_a29106dfb31dd17c = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + arg0.copyTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + }; + imports.wbg.__wbg_copyTexSubImage3D_f8350e268c143688 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.copyTexSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); + }; + imports.wbg.__wbg_copyTextureToBuffer_6a8fe0e90f0a663d = function(arg0, arg1, arg2, arg3) { + arg0.copyTextureToBuffer(arg1, arg2, arg3); + }; + imports.wbg.__wbg_copyTextureToTexture_0a06a393d6726b4a = function(arg0, arg1, arg2, arg3) { + arg0.copyTextureToTexture(arg1, arg2, arg3); + }; + imports.wbg.__wbg_createBindGroupLayout_1d93b6d41c87ba9d = function(arg0, arg1) { + const ret = arg0.createBindGroupLayout(arg1); + return ret; + }; + imports.wbg.__wbg_createBindGroup_61cd07ec9d423432 = function(arg0, arg1) { + const ret = arg0.createBindGroup(arg1); + return ret; + }; + imports.wbg.__wbg_createBuffer_1e646d14cebbb438 = function(arg0) { + const ret = arg0.createBuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createBuffer_2a696fb8c0d07970 = function(arg0) { + const ret = arg0.createBuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createBuffer_963aa00d5fe859e4 = function(arg0, arg1) { + const ret = arg0.createBuffer(arg1); + return ret; + }; + imports.wbg.__wbg_createCommandEncoder_f0e1613e9a2dc1eb = function(arg0, arg1) { + const ret = arg0.createCommandEncoder(arg1); + return ret; + }; + imports.wbg.__wbg_createComputePipeline_b9616b9fe2f4eb2f = function(arg0, arg1) { + const ret = arg0.createComputePipeline(arg1); + return ret; + }; + imports.wbg.__wbg_createElement_22b48bfb31a0c20e = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.createElement(getStringFromWasm0(arg1, arg2)); + return ret; + }, arguments) }; + imports.wbg.__wbg_createFramebuffer_163e192e1e53ec9b = function(arg0) { + const ret = arg0.createFramebuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createFramebuffer_1aa54479f7524ef5 = function(arg0) { + const ret = arg0.createFramebuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createObjectURL_06505af3e8787cc8 = function() { return handleError(function (arg0, arg1) { + const ret = URL.createObjectURL(arg1); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_createPipelineLayout_56c6cf983f892d2b = function(arg0, arg1) { + const ret = arg0.createPipelineLayout(arg1); + return ret; + }; + imports.wbg.__wbg_createProgram_5a5a92d23fdc2f1a = function(arg0) { + const ret = arg0.createProgram(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createProgram_b75025f0f1a4ef55 = function(arg0) { + const ret = arg0.createProgram(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createQuerySet_c14be802adf7c207 = function(arg0, arg1) { + const ret = arg0.createQuerySet(arg1); + return ret; + }; + imports.wbg.__wbg_createQuery_2816e95a473b5501 = function(arg0) { + const ret = arg0.createQuery(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createRenderBundleEncoder_8e4bdffea72f8c1f = function(arg0, arg1) { + const ret = arg0.createRenderBundleEncoder(arg1); + return ret; + }; + imports.wbg.__wbg_createRenderPipeline_079a88a0601fcce1 = function(arg0, arg1) { + const ret = arg0.createRenderPipeline(arg1); + return ret; + }; + imports.wbg.__wbg_createRenderbuffer_29e130c03bc689d3 = function(arg0) { + const ret = arg0.createRenderbuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createRenderbuffer_b10004ae18d38014 = function(arg0) { + const ret = arg0.createRenderbuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createSampler_50ae7c4dd1f9b066 = function(arg0) { + const ret = arg0.createSampler(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createSampler_ef5578990df3baf7 = function(arg0, arg1) { + const ret = arg0.createSampler(arg1); + return ret; + }; + imports.wbg.__wbg_createShaderModule_17f451ea25cae47c = function(arg0, arg1) { + const ret = arg0.createShaderModule(arg1); + return ret; + }; + imports.wbg.__wbg_createShader_29c8e06db7e7211f = function(arg0, arg1) { + const ret = arg0.createShader(arg1 >>> 0); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createShader_8c3053457f874cdd = function(arg0, arg1) { + const ret = arg0.createShader(arg1 >>> 0); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createTexture_01cc1cd2fea732d9 = function(arg0, arg1) { + const ret = arg0.createTexture(arg1); + return ret; + }; + imports.wbg.__wbg_createTexture_20f63b261993f581 = function(arg0) { + const ret = arg0.createTexture(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createTexture_facd2df68d8d0276 = function(arg0) { + const ret = arg0.createTexture(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createVertexArrayOES_89f45f4a4fde395f = function(arg0) { + const ret = arg0.createVertexArrayOES(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createVertexArray_70d7c4c62e00613d = function(arg0) { + const ret = arg0.createVertexArray(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createView_04701884291e1ccc = function(arg0, arg1) { + const ret = arg0.createView(arg1); + return ret; + }; + imports.wbg.__wbg_ctrlKey_60b29e015a543678 = function(arg0) { + const ret = arg0.ctrlKey; + return ret; + }; + imports.wbg.__wbg_ctrlKey_ab341328ab202d37 = function(arg0) { + const ret = arg0.ctrlKey; + return ret; + }; + imports.wbg.__wbg_cullFace_96a9dca4a5b1ca33 = function(arg0, arg1) { + arg0.cullFace(arg1 >>> 0); + }; + imports.wbg.__wbg_cullFace_99bb4e31c974596d = function(arg0, arg1) { + arg0.cullFace(arg1 >>> 0); + }; + imports.wbg.__wbg_debug_347b3d1f33e1c28e = function(arg0) { + console.debug(arg0); + }; + imports.wbg.__wbg_deleteBuffer_9d705222a7e77a7b = function(arg0, arg1) { + arg0.deleteBuffer(arg1); + }; + imports.wbg.__wbg_deleteBuffer_db0d7ecbaa97fa56 = function(arg0, arg1) { + arg0.deleteBuffer(arg1); + }; + imports.wbg.__wbg_deleteFramebuffer_69db238ea6b8a9a1 = function(arg0, arg1) { + arg0.deleteFramebuffer(arg1); + }; + imports.wbg.__wbg_deleteFramebuffer_ecf398bec452aaf9 = function(arg0, arg1) { + arg0.deleteFramebuffer(arg1); + }; + imports.wbg.__wbg_deleteProgram_cb18e0020d488bad = function(arg0, arg1) { + arg0.deleteProgram(arg1); + }; + imports.wbg.__wbg_deleteProgram_e1a6c4b922e202e3 = function(arg0, arg1) { + arg0.deleteProgram(arg1); + }; + imports.wbg.__wbg_deleteQuery_e083394da1710d6c = function(arg0, arg1) { + arg0.deleteQuery(arg1); + }; + imports.wbg.__wbg_deleteRenderbuffer_05fa7f35ea76cafd = function(arg0, arg1) { + arg0.deleteRenderbuffer(arg1); + }; + imports.wbg.__wbg_deleteRenderbuffer_2f1216e54aa2f248 = function(arg0, arg1) { + arg0.deleteRenderbuffer(arg1); + }; + imports.wbg.__wbg_deleteSampler_e5c61c85993f9a69 = function(arg0, arg1) { + arg0.deleteSampler(arg1); + }; + imports.wbg.__wbg_deleteShader_257caf93b24ac555 = function(arg0, arg1) { + arg0.deleteShader(arg1); + }; + imports.wbg.__wbg_deleteShader_fb86028e46cb069b = function(arg0, arg1) { + arg0.deleteShader(arg1); + }; + imports.wbg.__wbg_deleteSync_b5caedf06185d972 = function(arg0, arg1) { + arg0.deleteSync(arg1); + }; + imports.wbg.__wbg_deleteTexture_6913f682a09c8171 = function(arg0, arg1) { + arg0.deleteTexture(arg1); + }; + imports.wbg.__wbg_deleteTexture_a29655740b1cbe33 = function(arg0, arg1) { + arg0.deleteTexture(arg1); + }; + imports.wbg.__wbg_deleteVertexArrayOES_2def7ce37f8e89f2 = function(arg0, arg1) { + arg0.deleteVertexArrayOES(arg1); + }; + imports.wbg.__wbg_deleteVertexArray_a3bca8e15204ffed = function(arg0, arg1) { + arg0.deleteVertexArray(arg1); + }; + imports.wbg.__wbg_deltaMode_a4cc321212f87817 = function(arg0) { + const ret = arg0.deltaMode; + return ret; + }; + imports.wbg.__wbg_deltaX_27e2939a1af8c940 = function(arg0) { + const ret = arg0.deltaX; + return ret; + }; + imports.wbg.__wbg_deltaY_4bb52a4f0a7ad28b = function(arg0) { + const ret = arg0.deltaY; + return ret; + }; + imports.wbg.__wbg_depthFunc_657dd592930e7f2f = function(arg0, arg1) { + arg0.depthFunc(arg1 >>> 0); + }; + imports.wbg.__wbg_depthFunc_f9fd44a07ea8398e = function(arg0, arg1) { + arg0.depthFunc(arg1 >>> 0); + }; + imports.wbg.__wbg_depthMask_87195357e4f7df17 = function(arg0, arg1) { + arg0.depthMask(arg1 !== 0); + }; + imports.wbg.__wbg_depthMask_bac7f6b455b6ddeb = function(arg0, arg1) { + arg0.depthMask(arg1 !== 0); + }; + imports.wbg.__wbg_depthRange_d947e824a28dc9a1 = function(arg0, arg1, arg2) { + arg0.depthRange(arg1, arg2); + }; + imports.wbg.__wbg_depthRange_f71c79182f666e45 = function(arg0, arg1, arg2) { + arg0.depthRange(arg1, arg2); + }; + imports.wbg.__wbg_destroy_35f94012e5bb9c17 = function(arg0) { + arg0.destroy(); + }; + imports.wbg.__wbg_destroy_767d9dde1008e293 = function(arg0) { + arg0.destroy(); + }; + imports.wbg.__wbg_destroy_c6af4226dda95dbd = function(arg0) { + arg0.destroy(); + }; + imports.wbg.__wbg_devicePixelContentBoxSize_1ea2c6145730b8c0 = function(arg0) { + const ret = arg0.devicePixelContentBoxSize; + return ret; + }; + imports.wbg.__wbg_devicePixelRatio_f4eb7cbe3a812de0 = function(arg0) { + const ret = arg0.devicePixelRatio; + return ret; + }; + imports.wbg.__wbg_disableVertexAttribArray_c513f1fff3cb73f2 = function(arg0, arg1) { + arg0.disableVertexAttribArray(arg1 >>> 0); + }; + imports.wbg.__wbg_disableVertexAttribArray_e7ff41dc0c3eaf1f = function(arg0, arg1) { + arg0.disableVertexAttribArray(arg1 >>> 0); + }; + imports.wbg.__wbg_disable_4c1cedffa6646166 = function(arg0, arg1) { + arg0.disable(arg1 >>> 0); + }; + imports.wbg.__wbg_disable_5320561e5cb15f08 = function(arg0, arg1) { + arg0.disable(arg1 >>> 0); + }; + imports.wbg.__wbg_disconnect_8b7c928b6057719b = function(arg0) { + arg0.disconnect(); + }; + imports.wbg.__wbg_disconnect_c45e8044053eddf3 = function(arg0) { + arg0.disconnect(); + }; + imports.wbg.__wbg_dispatchWorkgroupsIndirect_8b25efab93a7a433 = function(arg0, arg1, arg2) { + arg0.dispatchWorkgroupsIndirect(arg1, arg2); + }; + imports.wbg.__wbg_dispatchWorkgroups_c102fa81b955935d = function(arg0, arg1, arg2, arg3) { + arg0.dispatchWorkgroups(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0); + }; + imports.wbg.__wbg_document_c488ca7509cc6938 = function(arg0) { + const ret = arg0.document; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_drawArraysInstancedANGLE_55c83db2758c6ab4 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.drawArraysInstancedANGLE(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_drawArraysInstanced_11f863da4daf24d0 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.drawArraysInstanced(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_drawArrays_87e9bb0e2fb3e0fa = function(arg0, arg1, arg2, arg3) { + arg0.drawArrays(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_drawArrays_f5b0f0a0dc392c3f = function(arg0, arg1, arg2, arg3) { + arg0.drawArrays(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_drawBuffersWEBGL_22730193cdce9696 = function(arg0, arg1) { + arg0.drawBuffersWEBGL(arg1); + }; + imports.wbg.__wbg_drawBuffers_f256d529aecd01f2 = function(arg0, arg1) { + arg0.drawBuffers(arg1); + }; + imports.wbg.__wbg_drawElementsInstancedANGLE_db0bafff77affb0d = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.drawElementsInstancedANGLE(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_drawElementsInstanced_e87f1c69165df984 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.drawElementsInstanced(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_drawIndexedIndirect_34484fc6227c7bc8 = function(arg0, arg1, arg2) { + arg0.drawIndexedIndirect(arg1, arg2); + }; + imports.wbg.__wbg_drawIndexedIndirect_5a7c30bb5f1d5b67 = function(arg0, arg1, arg2) { + arg0.drawIndexedIndirect(arg1, arg2); + }; + imports.wbg.__wbg_drawIndexed_115af1449b52a948 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.drawIndexed(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5 >>> 0); + }; + imports.wbg.__wbg_drawIndexed_a587cce4c317791f = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.drawIndexed(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5 >>> 0); + }; + imports.wbg.__wbg_drawIndirect_036d71498a21f1a3 = function(arg0, arg1, arg2) { + arg0.drawIndirect(arg1, arg2); + }; + imports.wbg.__wbg_drawIndirect_a1d7c5e893aa5756 = function(arg0, arg1, arg2) { + arg0.drawIndirect(arg1, arg2); + }; + imports.wbg.__wbg_draw_5351b12033166aca = function(arg0, arg1, arg2, arg3, arg4) { + arg0.draw(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_draw_e2a7c5d66fb2d244 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.draw(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_enableVertexAttribArray_0ce3052ae5f3f84a = function(arg0, arg1) { + arg0.enableVertexAttribArray(arg1 >>> 0); + }; + imports.wbg.__wbg_enableVertexAttribArray_2bb681a583bf0dbe = function(arg0, arg1) { + arg0.enableVertexAttribArray(arg1 >>> 0); + }; + imports.wbg.__wbg_enable_8d6ea7489b31dabd = function(arg0, arg1) { + arg0.enable(arg1 >>> 0); + }; + imports.wbg.__wbg_enable_bb868e19d5c88d56 = function(arg0, arg1) { + arg0.enable(arg1 >>> 0); + }; + imports.wbg.__wbg_endQuery_b4f2566f7afc4117 = function(arg0, arg1) { + arg0.endQuery(arg1 >>> 0); + }; + imports.wbg.__wbg_end_0ac71677a5c1717a = function(arg0) { + arg0.end(); + }; + imports.wbg.__wbg_end_6f776519f1faa582 = function(arg0) { + arg0.end(); + }; + imports.wbg.__wbg_error_2a6b93fdada7ff11 = function(arg0) { + console.error(arg0); + }; + imports.wbg.__wbg_error_7534b8e9a36f1ab4 = function(arg0, arg1) { + let deferred0_0; + let deferred0_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + console.error(getStringFromWasm0(arg0, arg1)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + } + }; + imports.wbg.__wbg_error_e98e6aadd08e0b94 = function(arg0) { + const ret = arg0.error; + return ret; + }; + imports.wbg.__wbg_error_f0dde81ae1e4cfea = function(arg0, arg1) { + console.error(arg0, arg1); + }; + imports.wbg.__wbg_executeBundles_8e6c0614da2805d4 = function(arg0, arg1) { + arg0.executeBundles(arg1); + }; + imports.wbg.__wbg_features_1b464383ea8a7691 = function(arg0) { + const ret = arg0.features; + return ret; + }; + imports.wbg.__wbg_features_e5fbbc2760867852 = function(arg0) { + const ret = arg0.features; + return ret; + }; + imports.wbg.__wbg_fenceSync_68dcf439f52decac = function(arg0, arg1, arg2) { + const ret = arg0.fenceSync(arg1 >>> 0, arg2 >>> 0); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_finish_20711371c58df61c = function(arg0) { + const ret = arg0.finish(); + return ret; + }; + imports.wbg.__wbg_finish_34b2c54329c8719f = function(arg0, arg1) { + const ret = arg0.finish(arg1); + return ret; + }; + imports.wbg.__wbg_finish_a9ab917e756ea00c = function(arg0, arg1) { + const ret = arg0.finish(arg1); + return ret; + }; + imports.wbg.__wbg_finish_e0a6c97c0622f843 = function(arg0) { + const ret = arg0.finish(); + return ret; + }; + imports.wbg.__wbg_focus_c71947fc3fe22147 = function() { return handleError(function (arg0) { + arg0.focus(); + }, arguments) }; + imports.wbg.__wbg_framebufferRenderbuffer_308ddbcaaed66ff2 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.framebufferRenderbuffer(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4); + }; + imports.wbg.__wbg_framebufferRenderbuffer_a23d035c46e3e192 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.framebufferRenderbuffer(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4); + }; + imports.wbg.__wbg_framebufferTexture2D_170b0f8c792e246f = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.framebufferTexture2D(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_framebufferTexture2D_5366ecb050293d09 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.framebufferTexture2D(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_framebufferTextureLayer_daccfb6fb9396578 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.framebufferTextureLayer(arg1 >>> 0, arg2 >>> 0, arg3, arg4, arg5); + }; + imports.wbg.__wbg_framebufferTextureMultiviewOVR_e2282e87fdf2564f = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.framebufferTextureMultiviewOVR(arg1 >>> 0, arg2 >>> 0, arg3, arg4, arg5, arg6); + }; + imports.wbg.__wbg_frontFace_7b469405c0e889ee = function(arg0, arg1) { + arg0.frontFace(arg1 >>> 0); + }; + imports.wbg.__wbg_frontFace_993e921eaef39c45 = function(arg0, arg1) { + arg0.frontFace(arg1 >>> 0); + }; + imports.wbg.__wbg_fullscreenElement_a613ad02fa918fb4 = function(arg0) { + const ret = arg0.fullscreenElement; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getBindGroupLayout_4a94df6108ac6667 = function(arg0, arg1) { + const ret = arg0.getBindGroupLayout(arg1 >>> 0); + return ret; + }; + imports.wbg.__wbg_getBindGroupLayout_80e803d942962f6a = function(arg0, arg1) { + const ret = arg0.getBindGroupLayout(arg1 >>> 0); + return ret; + }; + imports.wbg.__wbg_getBufferSubData_5102d8a217d0774c = function(arg0, arg1, arg2, arg3) { + arg0.getBufferSubData(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_getCoalescedEvents_1372a1922f78401a = function(arg0) { + const ret = arg0.getCoalescedEvents; + return ret; + }; + imports.wbg.__wbg_getCoalescedEvents_3736b5e5d63bed7b = function(arg0) { + const ret = arg0.getCoalescedEvents(); + return ret; + }; + imports.wbg.__wbg_getCompilationInfo_2af3ecdfeda551a3 = function(arg0) { + const ret = arg0.getCompilationInfo(); + return ret; + }; + imports.wbg.__wbg_getComputedStyle_c3a9de7674a38310 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.getComputedStyle(arg1); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getContext_02d86c7d9cfa709e = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.getContext(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getContext_24d4414b979c1bbd = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.getContext(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getContext_74e4f1560c2a2fae = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = arg0.getContext(getStringFromWasm0(arg1, arg2), arg3); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getContext_b22f05fca7ddb494 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = arg0.getContext(getStringFromWasm0(arg1, arg2), arg3); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getCurrentTexture_5a79cda2ff36e1ee = function(arg0) { + const ret = arg0.getCurrentTexture(); + return ret; + }; + imports.wbg.__wbg_getElementById_7b2db24a9b54f077 = function(arg0, arg1, arg2) { + const ret = arg0.getElementById(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getExtension_28666bdc87d23aca = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.getExtension(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getIndexedParameter_f9e7220a3bb8862c = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.getIndexedParameter(arg1 >>> 0, arg2 >>> 0); + return ret; + }, arguments) }; + imports.wbg.__wbg_getMappedRange_932dd043ae22ee0a = function(arg0, arg1, arg2) { + const ret = arg0.getMappedRange(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_getOwnPropertyDescriptor_c701b185423f5b7e = function(arg0, arg1) { + const ret = Object.getOwnPropertyDescriptor(arg0, arg1); + return ret; + }; + imports.wbg.__wbg_getParameter_304cffb9a759dc04 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.getParameter(arg1 >>> 0); + return ret; + }, arguments) }; + imports.wbg.__wbg_getParameter_fd65bc6ff1b0ffd9 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.getParameter(arg1 >>> 0); + return ret; + }, arguments) }; + imports.wbg.__wbg_getPreferredCanvasFormat_de73c02773a5209e = function(arg0) { + const ret = arg0.getPreferredCanvasFormat(); + return (__wbindgen_enum_GpuTextureFormat.indexOf(ret) + 1 || 96) - 1; + }; + imports.wbg.__wbg_getProgramInfoLog_032aac3e6f3a253c = function(arg0, arg1, arg2) { + const ret = arg1.getProgramInfoLog(arg2); + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_getProgramInfoLog_039168c2aed8d3fe = function(arg0, arg1, arg2) { + const ret = arg1.getProgramInfoLog(arg2); + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_getProgramParameter_70b22019524689fa = function(arg0, arg1, arg2) { + const ret = arg0.getProgramParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getProgramParameter_9b3bdf8d90159edb = function(arg0, arg1, arg2) { + const ret = arg0.getProgramParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getPropertyValue_e87121b8549f72d5 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = arg1.getPropertyValue(getStringFromWasm0(arg2, arg3)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_getQueryParameter_e7b02fe5fd64baa5 = function(arg0, arg1, arg2) { + const ret = arg0.getQueryParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getShaderInfoLog_5c7d45bafe3be3dd = function(arg0, arg1, arg2) { + const ret = arg1.getShaderInfoLog(arg2); + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_getShaderInfoLog_d2cc881ce343a733 = function(arg0, arg1, arg2) { + const ret = arg1.getShaderInfoLog(arg2); + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_getShaderParameter_6d0578dd9f58b684 = function(arg0, arg1, arg2) { + const ret = arg0.getShaderParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getShaderParameter_c50fbeadf9ef6879 = function(arg0, arg1, arg2) { + const ret = arg0.getShaderParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getSupportedExtensions_fca342bac23691db = function(arg0) { + const ret = arg0.getSupportedExtensions(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getSupportedProfiles_b2cc3aec569a65fa = function(arg0) { + const ret = arg0.getSupportedProfiles(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getSyncParameter_5688138f66b57b16 = function(arg0, arg1, arg2) { + const ret = arg0.getSyncParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getUniformBlockIndex_b53609b8ecff8b48 = function(arg0, arg1, arg2, arg3) { + const ret = arg0.getUniformBlockIndex(arg1, getStringFromWasm0(arg2, arg3)); + return ret; + }; + imports.wbg.__wbg_getUniformLocation_852fbe42afe106ff = function(arg0, arg1, arg2, arg3) { + const ret = arg0.getUniformLocation(arg1, getStringFromWasm0(arg2, arg3)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getUniformLocation_9d46a65011600cce = function(arg0, arg1, arg2, arg3) { + const ret = arg0.getUniformLocation(arg1, getStringFromWasm0(arg2, arg3)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_get_68aa371864aa301a = function(arg0, arg1) { + const ret = arg0[arg1 >>> 0]; + return ret; + }; + imports.wbg.__wbg_get_6b316bfdb1b95076 = function(arg0, arg1) { + const ret = arg0[arg1 >>> 0]; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_globalThis_1e2ac1d6eee845b3 = function() { return handleError(function () { + const ret = globalThis.globalThis; + return ret; + }, arguments) }; + imports.wbg.__wbg_global_f25a574ae080367c = function() { return handleError(function () { + const ret = global.global; + return ret; + }, arguments) }; + imports.wbg.__wbg_gpu_87871e8f7ace8fee = function(arg0) { + const ret = arg0.gpu; + return ret; + }; + imports.wbg.__wbg_has_624cbf0451d880e8 = function(arg0, arg1, arg2) { + const ret = arg0.has(getStringFromWasm0(arg1, arg2)); + return ret; + }; + imports.wbg.__wbg_height_4065e49e5ec4c4c1 = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_51a97623165c9beb = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_74bc8ec7548ff6b6 = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_a196a7b9b1d7e01c = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_cabc0c8a4c838304 = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_e509816ec3fdf5b1 = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_includes_959087f4155febdf = function(arg0, arg1, arg2) { + const ret = arg0.includes(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_info_b6bd3cb6471c2b4c = function(arg0) { + console.info(arg0); + }; + imports.wbg.__wbg_inlineSize_6f8d0983462c2919 = function(arg0) { + const ret = arg0.inlineSize; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuAdapter_0731153d2b08720b = function(arg0) { + let result; + try { + result = arg0 instanceof GPUAdapter; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuCanvasContext_d14121c7bd72fcef = function(arg0) { + let result; + try { + result = arg0 instanceof GPUCanvasContext; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuDeviceLostInfo_a3677ebb8241d800 = function(arg0) { + let result; + try { + result = arg0 instanceof GPUDeviceLostInfo; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuOutOfMemoryError_391d9a08edbfa04b = function(arg0) { + let result; + try { + result = arg0 instanceof GPUOutOfMemoryError; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuValidationError_f4d803c383da3c92 = function(arg0) { + let result; + try { + result = arg0 instanceof GPUValidationError; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_HtmlCanvasElement_9db0dfd54b2c5330 = function(arg0) { + let result; + try { + result = arg0 instanceof HTMLCanvasElement; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_Object_f0f57d6eeca1b81d = function(arg0) { + let result; + try { + result = arg0 instanceof Object; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_WebGl2RenderingContext_888701598b82d45d = function(arg0) { + let result; + try { + result = arg0 instanceof WebGL2RenderingContext; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_Window_a959820eb267fe22 = function(arg0) { + let result; + try { + result = arg0 instanceof Window; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_invalidateFramebuffer_f4a994f4a8535cca = function() { return handleError(function (arg0, arg1, arg2) { + arg0.invalidateFramebuffer(arg1 >>> 0, arg2); + }, arguments) }; + imports.wbg.__wbg_isIntersecting_9059d5bcaf29f415 = function(arg0) { + const ret = arg0.isIntersecting; + return ret; + }; + imports.wbg.__wbg_is_20768e55ad2a7c3f = function(arg0, arg1) { + const ret = Object.is(arg0, arg1); + return ret; + }; + imports.wbg.__wbg_key_02315cd3f595756b = function(arg0, arg1) { + const ret = arg1.key; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_label_2082ab37d2ad170d = function(arg0, arg1) { + const ret = arg1.label; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_length_2e63ba34c4121df5 = function(arg0) { + const ret = arg0.length; + return ret; + }; + imports.wbg.__wbg_length_9df32f7add647235 = function(arg0) { + const ret = arg0.length; + return ret; + }; + imports.wbg.__wbg_length_e74df4881604f1d9 = function(arg0) { + const ret = arg0.length; + return ret; + }; + imports.wbg.__wbg_limits_2dd632c891786ddf = function(arg0) { + const ret = arg0.limits; + return ret; + }; + imports.wbg.__wbg_limits_f6411f884b0b2d62 = function(arg0) { + const ret = arg0.limits; + return ret; + }; + imports.wbg.__wbg_lineNum_0246de1e072ffe19 = function(arg0) { + const ret = arg0.lineNum; + return ret; + }; + imports.wbg.__wbg_linkProgram_575f761eda0a14bc = function(arg0, arg1) { + arg0.linkProgram(arg1); + }; + imports.wbg.__wbg_linkProgram_5eee13e603e9af41 = function(arg0, arg1) { + arg0.linkProgram(arg1); + }; + imports.wbg.__wbg_location_54d35e8c85dcfb9c = function(arg0) { + const ret = arg0.location; + return ret; + }; + imports.wbg.__wbg_location_e9eba129bf0612a5 = function(arg0) { + const ret = arg0.location; + return ret; + }; + imports.wbg.__wbg_log_d818ca3cab23fc77 = function(arg0) { + console.log(arg0); + }; + imports.wbg.__wbg_lost_6e4d29847ce2a34a = function(arg0) { + const ret = arg0.lost; + return ret; + }; + imports.wbg.__wbg_mapAsync_37f5e03edf2e1352 = function(arg0, arg1, arg2, arg3) { + const ret = arg0.mapAsync(arg1 >>> 0, arg2, arg3); + return ret; + }; + imports.wbg.__wbg_matchMedia_0be65181eeae951c = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.matchMedia(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_matches_254463383aee4688 = function(arg0) { + const ret = arg0.matches; + return ret; + }; + imports.wbg.__wbg_maxBindGroups_768ca5e8623bf450 = function(arg0) { + const ret = arg0.maxBindGroups; + return ret; + }; + imports.wbg.__wbg_maxBindingsPerBindGroup_057972d600d69719 = function(arg0) { + const ret = arg0.maxBindingsPerBindGroup; + return ret; + }; + imports.wbg.__wbg_maxBufferSize_e237b44f19a5a62b = function(arg0) { + const ret = arg0.maxBufferSize; + return ret; + }; + imports.wbg.__wbg_maxColorAttachmentBytesPerSample_d6c7b4051d22c6d6 = function(arg0) { + const ret = arg0.maxColorAttachmentBytesPerSample; + return ret; + }; + imports.wbg.__wbg_maxColorAttachments_7a18ba24c05edcfd = function(arg0) { + const ret = arg0.maxColorAttachments; + return ret; + }; + imports.wbg.__wbg_maxComputeInvocationsPerWorkgroup_b99c2f3611633992 = function(arg0) { + const ret = arg0.maxComputeInvocationsPerWorkgroup; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupSizeX_adb26da9ed7f77f7 = function(arg0) { + const ret = arg0.maxComputeWorkgroupSizeX; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupSizeY_cc217559c98be33b = function(arg0) { + const ret = arg0.maxComputeWorkgroupSizeY; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupSizeZ_66606a80e2cf2309 = function(arg0) { + const ret = arg0.maxComputeWorkgroupSizeZ; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupStorageSize_cb6235497b8c4997 = function(arg0) { + const ret = arg0.maxComputeWorkgroupStorageSize; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupsPerDimension_6bf550b5f21d57cf = function(arg0) { + const ret = arg0.maxComputeWorkgroupsPerDimension; + return ret; + }; + imports.wbg.__wbg_maxDynamicStorageBuffersPerPipelineLayout_c6ac20334e328b47 = function(arg0) { + const ret = arg0.maxDynamicStorageBuffersPerPipelineLayout; + return ret; + }; + imports.wbg.__wbg_maxDynamicUniformBuffersPerPipelineLayout_aa8f14a74b440f01 = function(arg0) { + const ret = arg0.maxDynamicUniformBuffersPerPipelineLayout; + return ret; + }; + imports.wbg.__wbg_maxSampledTexturesPerShaderStage_db7c4922cc60144a = function(arg0) { + const ret = arg0.maxSampledTexturesPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxSamplersPerShaderStage_538705fe2263e710 = function(arg0) { + const ret = arg0.maxSamplersPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxStorageBufferBindingSize_32178c0f5f7f85cb = function(arg0) { + const ret = arg0.maxStorageBufferBindingSize; + return ret; + }; + imports.wbg.__wbg_maxStorageBuffersPerShaderStage_9f67e9eae0089f77 = function(arg0) { + const ret = arg0.maxStorageBuffersPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxStorageTexturesPerShaderStage_57239664936031cf = function(arg0) { + const ret = arg0.maxStorageTexturesPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxTextureArrayLayers_db5d4e486c78ae04 = function(arg0) { + const ret = arg0.maxTextureArrayLayers; + return ret; + }; + imports.wbg.__wbg_maxTextureDimension1D_3475085ffacabbdc = function(arg0) { + const ret = arg0.maxTextureDimension1D; + return ret; + }; + imports.wbg.__wbg_maxTextureDimension2D_7c8d5ecf09eb8519 = function(arg0) { + const ret = arg0.maxTextureDimension2D; + return ret; + }; + imports.wbg.__wbg_maxTextureDimension3D_8bd976677a0f91d4 = function(arg0) { + const ret = arg0.maxTextureDimension3D; + return ret; + }; + imports.wbg.__wbg_maxUniformBufferBindingSize_95b1a54e7e4a0f0f = function(arg0) { + const ret = arg0.maxUniformBufferBindingSize; + return ret; + }; + imports.wbg.__wbg_maxUniformBuffersPerShaderStage_5f475d9a453af14d = function(arg0) { + const ret = arg0.maxUniformBuffersPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxVertexAttributes_4c48ca2f5d32f860 = function(arg0) { + const ret = arg0.maxVertexAttributes; + return ret; + }; + imports.wbg.__wbg_maxVertexBufferArrayStride_2233f6933ecc5a16 = function(arg0) { + const ret = arg0.maxVertexBufferArrayStride; + return ret; + }; + imports.wbg.__wbg_maxVertexBuffers_c47e508cd7348554 = function(arg0) { + const ret = arg0.maxVertexBuffers; + return ret; + }; + imports.wbg.__wbg_message_0762358e59db7ed6 = function(arg0, arg1) { + const ret = arg1.message; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_message_7957ab09f64c6822 = function(arg0, arg1) { + const ret = arg1.message; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_message_b163994503433c9e = function(arg0, arg1) { + const ret = arg1.message; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_messages_da071582f72bc978 = function(arg0) { + const ret = arg0.messages; + return ret; + }; + imports.wbg.__wbg_metaKey_34d5658170ffb3ee = function(arg0) { + const ret = arg0.metaKey; + return ret; + }; + imports.wbg.__wbg_metaKey_6c8e9228e8dda152 = function(arg0) { + const ret = arg0.metaKey; + return ret; + }; + imports.wbg.__wbg_minStorageBufferOffsetAlignment_51b4801fac3a58de = function(arg0) { + const ret = arg0.minStorageBufferOffsetAlignment; + return ret; + }; + imports.wbg.__wbg_minUniformBufferOffsetAlignment_5d62a77924b2335f = function(arg0) { + const ret = arg0.minUniformBufferOffsetAlignment; + return ret; + }; + imports.wbg.__wbg_movementX_e32c342d96d1c701 = function(arg0) { + const ret = arg0.movementX; + return ret; + }; + imports.wbg.__wbg_movementY_136c6febb976ca3b = function(arg0) { + const ret = arg0.movementY; + return ret; + }; + imports.wbg.__wbg_navigator_2936a93ec3c6f4c5 = function(arg0) { + const ret = arg0.navigator; + return ret; + }; + imports.wbg.__wbg_navigator_da495c9e52e160b1 = function(arg0) { + const ret = arg0.navigator; + return ret; + }; + imports.wbg.__wbg_new_076cac58bb698dd4 = function() { + const ret = new Object(); + return ret; + }; + imports.wbg.__wbg_new_0c28e72025e00594 = function() { + const ret = new Array(); + return ret; + }; + imports.wbg.__wbg_new_23362fa370a0a372 = function(arg0) { + const ret = new Uint8Array(arg0); + return ret; + }; + imports.wbg.__wbg_new_238671e08bf4fcbb = function() { return handleError(function () { + const ret = new MessageChannel(); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_4b15073a88792687 = function() { return handleError(function (arg0) { + const ret = new ResizeObserver(arg0); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_8a6f238a6ece86ea = function() { + const ret = new Error(); + return ret; + }; + imports.wbg.__wbg_new_93cf40e4f48fe902 = function() { return handleError(function () { + const ret = new AbortController(); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_b4a18f0a618c89f2 = function() { return handleError(function (arg0, arg1) { + const ret = new Worker(getStringFromWasm0(arg0, arg1)); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_c94d990936d8ea5d = function() { return handleError(function (arg0) { + const ret = new IntersectionObserver(arg0); + return ret; + }, arguments) }; + imports.wbg.__wbg_newnoargs_19a249f4eceaaac3 = function(arg0, arg1) { + const ret = new Function(getStringFromWasm0(arg0, arg1)); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_24ff09a6b37a856f = function(arg0, arg1, arg2) { + const ret = new Int16Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_25d3cac011b6e2d5 = function(arg0, arg1, arg2) { + const ret = new Uint32Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_457c61bfe0fb7b8c = function(arg0, arg1, arg2) { + const ret = new Int32Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_9f48300371c8802a = function(arg0, arg1, arg2) { + const ret = new Uint16Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_a6087a94c7bfea61 = function(arg0, arg1, arg2) { + const ret = new Int8Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_c280c15b00e018cd = function(arg0, arg1, arg2) { + const ret = new Float32Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_ee8def7000b7b2be = function(arg0, arg1, arg2) { + const ret = new Uint8Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithstrsequenceandoptions_af096ce40d9d9ac8 = function() { return handleError(function (arg0, arg1) { + const ret = new Blob(arg0, arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_now_2c95c9de01293173 = function(arg0) { + const ret = arg0.now(); + return ret; + }; + imports.wbg.__wbg_observe_e2208b07fe315de7 = function(arg0, arg1) { + arg0.observe(arg1); + }; + imports.wbg.__wbg_observe_ec91d62599b7772b = function(arg0, arg1) { + arg0.observe(arg1); + }; + imports.wbg.__wbg_observe_fd48955513eca909 = function(arg0, arg1, arg2) { + arg0.observe(arg1, arg2); + }; + imports.wbg.__wbg_of_2f6232d86af7992c = function(arg0, arg1) { + const ret = Array.of(arg0, arg1); + return ret; + }; + imports.wbg.__wbg_of_5ae3a2d893e18853 = function(arg0) { + const ret = Array.of(arg0); + return ret; + }; + imports.wbg.__wbg_offsetX_d6957d052a0d4b11 = function(arg0) { + const ret = arg0.offsetX; + return ret; + }; + imports.wbg.__wbg_offsetY_076edde514bf80f4 = function(arg0) { + const ret = arg0.offsetY; + return ret; + }; + imports.wbg.__wbg_offset_336f14c993863b76 = function(arg0) { + const ret = arg0.offset; + return ret; + }; + imports.wbg.__wbg_performance_7a3ffd0b17f663ad = function(arg0) { + const ret = arg0.performance; + return ret; + }; + imports.wbg.__wbg_persisted_7e044507e52804d9 = function(arg0) { + const ret = arg0.persisted; + return ret; + }; + imports.wbg.__wbg_pixelStorei_198b92c3e346678a = function(arg0, arg1, arg2) { + arg0.pixelStorei(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_pixelStorei_9c4cb0a4b040b41d = function(arg0, arg1, arg2) { + arg0.pixelStorei(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_play_e7eb90a843114e0d = function(arg0) { + arg0.play(); + }; + imports.wbg.__wbg_pointerId_a2cbd2cdd6da90b2 = function(arg0) { + const ret = arg0.pointerId; + return ret; + }; + imports.wbg.__wbg_pointerType_1b74686427cdec29 = function(arg0, arg1) { + const ret = arg1.pointerType; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_polygonOffset_7ec31dee95d41171 = function(arg0, arg1, arg2) { + arg0.polygonOffset(arg1, arg2); + }; + imports.wbg.__wbg_polygonOffset_c6cbc8093770e840 = function(arg0, arg1, arg2) { + arg0.polygonOffset(arg1, arg2); + }; + imports.wbg.__wbg_popErrorScope_af0b22f136a861d6 = function(arg0) { + const ret = arg0.popErrorScope(); + return ret; + }; + imports.wbg.__wbg_port1_6f5b26fd23d19536 = function(arg0) { + const ret = arg0.port1; + return ret; + }; + imports.wbg.__wbg_port2_2eb4c961d6df5816 = function(arg0) { + const ret = arg0.port2; + return ret; + }; + imports.wbg.__wbg_postMessage_33dcf5caa3589c64 = function() { return handleError(function (arg0, arg1, arg2) { + arg0.postMessage(arg1, arg2); + }, arguments) }; + imports.wbg.__wbg_postMessage_3e7f3215320b4a9c = function() { return handleError(function (arg0, arg1) { + arg0.postMessage(arg1); + }, arguments) }; + imports.wbg.__wbg_postTask_9ba4c3cedae00b38 = function(arg0, arg1, arg2) { + const ret = arg0.postTask(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_pressure_8707a47b6fb1c1fd = function(arg0) { + const ret = arg0.pressure; + return ret; + }; + imports.wbg.__wbg_preventDefault_faafffcaad92972d = function(arg0) { + arg0.preventDefault(); + }; + imports.wbg.__wbg_prototype_0f68911d93450df4 = function() { + const ret = ResizeObserverEntry.prototype; + return ret; + }; + imports.wbg.__wbg_pushErrorScope_b52914ff10ba6ce3 = function(arg0, arg1) { + arg0.pushErrorScope(__wbindgen_enum_GpuErrorFilter[arg1]); + }; + imports.wbg.__wbg_push_3e9ce81246ef1d1b = function(arg0, arg1) { + const ret = arg0.push(arg1); + return ret; + }; + imports.wbg.__wbg_queryCounterEXT_6da4ab4ec9c37329 = function(arg0, arg1, arg2) { + arg0.queryCounterEXT(arg1, arg2 >>> 0); + }; + imports.wbg.__wbg_querySelectorAll_775f04e6f26ad643 = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.querySelectorAll(getStringFromWasm0(arg1, arg2)); + return ret; + }, arguments) }; + imports.wbg.__wbg_querySelector_473a7bd6647e7cbb = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.querySelector(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_queueMicrotask_3d422e1ba49c2500 = function(arg0) { + const ret = arg0.queueMicrotask; + return ret; + }; + imports.wbg.__wbg_queueMicrotask_5fc3e400ac3c03f4 = function(arg0) { + queueMicrotask(arg0); + }; + imports.wbg.__wbg_queueMicrotask_f301663ccadbb7d0 = function(arg0) { + queueMicrotask(arg0); + }; + imports.wbg.__wbg_queue_bea4017efaaf9904 = function(arg0) { + const ret = arg0.queue; + return ret; + }; + imports.wbg.__wbg_readBuffer_8fd1512f6bdfc8f0 = function(arg0, arg1) { + arg0.readBuffer(arg1 >>> 0); + }; + imports.wbg.__wbg_readPixels_48fc96a447cda9aa = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + arg0.readPixels(arg1, arg2, arg3, arg4, arg5 >>> 0, arg6 >>> 0, arg7); + }, arguments) }; + imports.wbg.__wbg_readPixels_7b1022930a9026d1 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + arg0.readPixels(arg1, arg2, arg3, arg4, arg5 >>> 0, arg6 >>> 0, arg7); + }, arguments) }; + imports.wbg.__wbg_readPixels_da6e94b84b4cfd41 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + arg0.readPixels(arg1, arg2, arg3, arg4, arg5 >>> 0, arg6 >>> 0, arg7); + }, arguments) }; + imports.wbg.__wbg_reason_43acd39cce242b50 = function(arg0) { + const ret = arg0.reason; + return (__wbindgen_enum_GpuDeviceLostReason.indexOf(ret) + 1 || 3) - 1; + }; + imports.wbg.__wbg_removeEventListener_d14a328308e427ba = function() { return handleError(function (arg0, arg1, arg2, arg3) { + arg0.removeEventListener(getStringFromWasm0(arg1, arg2), arg3); + }, arguments) }; + imports.wbg.__wbg_removeListener_aee72eb2e5fba09c = function() { return handleError(function (arg0, arg1) { + arg0.removeListener(arg1); + }, arguments) }; + imports.wbg.__wbg_removeProperty_902c73a4430b3e54 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = arg1.removeProperty(getStringFromWasm0(arg2, arg3)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_renderbufferStorageMultisample_abd1099fecb2e2a4 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.renderbufferStorageMultisample(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_renderbufferStorage_56c61eb0bb2718a9 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.renderbufferStorage(arg1 >>> 0, arg2 >>> 0, arg3, arg4); + }; + imports.wbg.__wbg_renderbufferStorage_aa4b58453d5aca0f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.renderbufferStorage(arg1 >>> 0, arg2 >>> 0, arg3, arg4); + }; + imports.wbg.__wbg_repeat_56fa20e30d00be95 = function(arg0) { + const ret = arg0.repeat; + return ret; + }; + imports.wbg.__wbg_requestAdapter_e6dcfac497cafa7a = function(arg0, arg1) { + const ret = arg0.requestAdapter(arg1); + return ret; + }; + imports.wbg.__wbg_requestAnimationFrame_e8ca543d07df528e = function() { return handleError(function (arg0, arg1) { + const ret = arg0.requestAnimationFrame(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_requestDevice_03b802707d5a382c = function(arg0, arg1) { + const ret = arg0.requestDevice(arg1); + return ret; + }; + imports.wbg.__wbg_requestFullscreen_e1ad8752a4e33f7e = function(arg0) { + const ret = arg0.requestFullscreen; + return ret; + }; + imports.wbg.__wbg_requestFullscreen_f727b1f250ebb10a = function(arg0) { + const ret = arg0.requestFullscreen(); + return ret; + }; + imports.wbg.__wbg_requestIdleCallback_773c554fc8c5a310 = function(arg0) { + const ret = arg0.requestIdleCallback; + return ret; + }; + imports.wbg.__wbg_requestIdleCallback_ba1f658c72e2140c = function() { return handleError(function (arg0, arg1) { + const ret = arg0.requestIdleCallback(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_resolveQuerySet_811661fb23f3b699 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.resolveQuerySet(arg1, arg2 >>> 0, arg3 >>> 0, arg4, arg5 >>> 0); + }; + imports.wbg.__wbg_resolve_6a311e8bb26423ab = function(arg0) { + const ret = Promise.resolve(arg0); + return ret; + }; + imports.wbg.__wbg_revokeObjectURL_3e4ad6d46a9a93f1 = function() { return handleError(function (arg0, arg1) { + URL.revokeObjectURL(getStringFromWasm0(arg0, arg1)); + }, arguments) }; + imports.wbg.__wbg_samplerParameterf_a9708333dc0df03e = function(arg0, arg1, arg2, arg3) { + arg0.samplerParameterf(arg1, arg2 >>> 0, arg3); + }; + imports.wbg.__wbg_samplerParameteri_6011eca3eaa96ac6 = function(arg0, arg1, arg2, arg3) { + arg0.samplerParameteri(arg1, arg2 >>> 0, arg3); + }; + imports.wbg.__wbg_scheduler_10edeee35a76c7c6 = function(arg0) { + const ret = arg0.scheduler; + return ret; + }; + imports.wbg.__wbg_scheduler_6d71128f17fbca34 = function(arg0) { + const ret = arg0.scheduler; + return ret; + }; + imports.wbg.__wbg_scissor_4c06926fa8af817c = function(arg0, arg1, arg2, arg3, arg4) { + arg0.scissor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_scissor_608c4f610141e6df = function(arg0, arg1, arg2, arg3, arg4) { + arg0.scissor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_search_4c8c4c416a168e55 = function() { return handleError(function (arg0, arg1) { + const ret = arg1.search; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_self_ac4343e4047b83cc = function() { return handleError(function () { + const ret = self.self; + return ret; + }, arguments) }; + imports.wbg.__wbg_setAttribute_e5d83ecaf7f586d5 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { + arg0.setAttribute(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4)); + }, arguments) }; + imports.wbg.__wbg_setBindGroup_62a3045b0921e429 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setBindGroup(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4), arg5, arg6 >>> 0); + }; + imports.wbg.__wbg_setBindGroup_6c0fd18e9a53a945 = function(arg0, arg1, arg2) { + arg0.setBindGroup(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_setBindGroup_7f3b61f1f482133b = function(arg0, arg1, arg2) { + arg0.setBindGroup(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_setBindGroup_bf767a5aa46a33ce = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setBindGroup(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4), arg5, arg6 >>> 0); + }; + imports.wbg.__wbg_setBindGroup_c4aaff14063226b4 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setBindGroup(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4), arg5, arg6 >>> 0); + }; + imports.wbg.__wbg_setBindGroup_f82e771dc1b69093 = function(arg0, arg1, arg2) { + arg0.setBindGroup(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_setBlendConstant_016723821cfb3aa4 = function(arg0, arg1) { + arg0.setBlendConstant(arg1); + }; + imports.wbg.__wbg_setIndexBuffer_286a40afdff411b7 = function(arg0, arg1, arg2, arg3) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3); + }; + imports.wbg.__wbg_setIndexBuffer_7efd0b7a40c65fb9 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3, arg4); + }; + imports.wbg.__wbg_setIndexBuffer_e091a9673bb575e2 = function(arg0, arg1, arg2, arg3) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3); + }; + imports.wbg.__wbg_setIndexBuffer_f0759f00036f615f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3, arg4); + }; + imports.wbg.__wbg_setPipeline_ba92070b8ee81cf9 = function(arg0, arg1) { + arg0.setPipeline(arg1); + }; + imports.wbg.__wbg_setPipeline_c344f76bae58c4d6 = function(arg0, arg1) { + arg0.setPipeline(arg1); + }; + imports.wbg.__wbg_setPipeline_d76451c50a121598 = function(arg0, arg1) { + arg0.setPipeline(arg1); + }; + imports.wbg.__wbg_setPointerCapture_6b89bc3d20c408af = function() { return handleError(function (arg0, arg1) { + arg0.setPointerCapture(arg1); + }, arguments) }; + imports.wbg.__wbg_setProperty_b11b0bad191551d1 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { + arg0.setProperty(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4)); + }, arguments) }; + imports.wbg.__wbg_setScissorRect_0b6ee0852ef0b6b9 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setScissorRect(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_setStencilReference_34fd3d59673a5a9d = function(arg0, arg1) { + arg0.setStencilReference(arg1 >>> 0); + }; + imports.wbg.__wbg_setTimeout_11f3c7cad8433a4f = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.setTimeout(arg1, arg2); + return ret; + }, arguments) }; + imports.wbg.__wbg_setTimeout_15ba883433c836ab = function() { return handleError(function (arg0, arg1) { + const ret = arg0.setTimeout(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_setVertexBuffer_06a90dc78e1ad9c4 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_setVertexBuffer_1540e9118b6c451d = function(arg0, arg1, arg2, arg3) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_setVertexBuffer_5166eedc06450701 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_setVertexBuffer_8621784e5014065b = function(arg0, arg1, arg2, arg3) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_setViewport_731ad30abb13f744 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setViewport(arg1, arg2, arg3, arg4, arg5, arg6); + }; + imports.wbg.__wbg_set_421385e996a16e02 = function() { return handleError(function (arg0, arg1, arg2) { + const ret = Reflect.set(arg0, arg1, arg2); + return ret; + }, arguments) }; + imports.wbg.__wbg_set_7b70226104a82921 = function(arg0, arg1, arg2) { + arg0.set(arg1, arg2 >>> 0); + }; + imports.wbg.__wbg_setbox_f664fc1447c0b2bb = function(arg0, arg1) { + arg0.box = __wbindgen_enum_ResizeObserverBoxOptions[arg1]; + }; + imports.wbg.__wbg_setheight_4286b13b9186d39f = function(arg0, arg1) { + arg0.height = arg1 >>> 0; + }; + imports.wbg.__wbg_setheight_7632621fed149fd9 = function(arg0, arg1) { + arg0.height = arg1 >>> 0; + }; + imports.wbg.__wbg_setonmessage_1f177e6cba71d19d = function(arg0, arg1) { + arg0.onmessage = arg1; + }; + imports.wbg.__wbg_setonuncapturederror_19541466822d790b = function(arg0, arg1) { + arg0.onuncapturederror = arg1; + }; + imports.wbg.__wbg_settabIndex_bc37dd560b089902 = function(arg0, arg1) { + arg0.tabIndex = arg1; + }; + imports.wbg.__wbg_settype_202db174d92fe493 = function(arg0, arg1, arg2) { + arg0.type = getStringFromWasm0(arg1, arg2); + }; + imports.wbg.__wbg_setwidth_5e43e6e177d3e2ec = function(arg0, arg1) { + arg0.width = arg1 >>> 0; + }; + imports.wbg.__wbg_setwidth_db46810857c0f6bd = function(arg0, arg1) { + arg0.width = arg1 >>> 0; + }; + imports.wbg.__wbg_shaderSource_7d9e91c6b9aaf864 = function(arg0, arg1, arg2, arg3) { + arg0.shaderSource(arg1, getStringFromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_shaderSource_b7db90958962e1f7 = function(arg0, arg1, arg2, arg3) { + arg0.shaderSource(arg1, getStringFromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_shiftKey_570898b1142a9898 = function(arg0) { + const ret = arg0.shiftKey; + return ret; + }; + imports.wbg.__wbg_shiftKey_e90da27a3092777e = function(arg0) { + const ret = arg0.shiftKey; + return ret; + }; + imports.wbg.__wbg_signal_fd2d6d0644f16ad8 = function(arg0) { + const ret = arg0.signal; + return ret; + }; + imports.wbg.__wbg_size_661bddb3f9898121 = function(arg0) { + const ret = arg0.size; + return ret; + }; + imports.wbg.__wbg_stack_0ed75d68575b0f3c = function(arg0, arg1) { + const ret = arg1.stack; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_start_a00c28f297559e1d = function(arg0) { + arg0.start(); + }; + imports.wbg.__wbg_stencilFuncSeparate_903776516b404f1e = function(arg0, arg1, arg2, arg3, arg4) { + arg0.stencilFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3, arg4 >>> 0); + }; + imports.wbg.__wbg_stencilFuncSeparate_9987b0fe1f74adc3 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.stencilFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3, arg4 >>> 0); + }; + imports.wbg.__wbg_stencilMaskSeparate_24a5bad679d4896c = function(arg0, arg1, arg2) { + arg0.stencilMaskSeparate(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_stencilMaskSeparate_5ade706794e0ff10 = function(arg0, arg1, arg2) { + arg0.stencilMaskSeparate(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_stencilMask_8ccbc71e58e71b93 = function(arg0, arg1) { + arg0.stencilMask(arg1 >>> 0); + }; + imports.wbg.__wbg_stencilMask_e03561d8e6b7171a = function(arg0, arg1) { + arg0.stencilMask(arg1 >>> 0); + }; + imports.wbg.__wbg_stencilOpSeparate_13e313403862a2bc = function(arg0, arg1, arg2, arg3, arg4) { + arg0.stencilOpSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_stencilOpSeparate_e03fe45a6a83cf8f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.stencilOpSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_style_e7c4e0938a7565b2 = function(arg0) { + const ret = arg0.style; + return ret; + }; + imports.wbg.__wbg_submit_f635072bb3d05faa = function(arg0, arg1) { + arg0.submit(arg1); + }; + imports.wbg.__wbg_texImage2D_102612af3b3ea301 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texImage2D_38f7a3dc4dcf0183 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texImage3D_4828de4d80648b9d = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) { + arg0.texImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8 >>> 0, arg9 >>> 0, arg10); + }, arguments) }; + imports.wbg.__wbg_texParameteri_2cc96bb59a67d4c2 = function(arg0, arg1, arg2, arg3) { + arg0.texParameteri(arg1 >>> 0, arg2 >>> 0, arg3); + }; + imports.wbg.__wbg_texParameteri_8e4109b7fbd3b875 = function(arg0, arg1, arg2, arg3) { + arg0.texParameteri(arg1 >>> 0, arg2 >>> 0, arg3); + }; + imports.wbg.__wbg_texStorage2D_728b9632dbd913e2 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.texStorage2D(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_texStorage3D_04d10ef19e465ec2 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.texStorage3D(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5, arg6); + }; + imports.wbg.__wbg_texSubImage2D_0c095c30c73e34c0 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_3c9a9ceac3c27fe7 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_3dbb6fb895fd53a7 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_4e505a214a40fc20 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_7197aef4cdbc7d70 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_746d9e75d2dd12d1 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_ca1d7744b168aa02 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_da8455e8da280cee = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_82336f6100e3ef24 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_831e19830a791320 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_9623fc609df925f5 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_9a8cb5676fdf0b50 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_a18f6424082a9393 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_d127dad275801f75 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_ebd1f2b229a92c5d = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_then_5c6469c1e1da9e59 = function(arg0, arg1) { + const ret = arg0.then(arg1); + return ret; + }; + imports.wbg.__wbg_then_faeb8aed8c1629b7 = function(arg0, arg1, arg2) { + const ret = arg0.then(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_type_c0d5d83032e9858a = function(arg0) { + const ret = arg0.type; + return (__wbindgen_enum_GpuCompilationMessageType.indexOf(ret) + 1 || 4) - 1; + }; + imports.wbg.__wbg_uniform1f_163e6ffe0d9805a4 = function(arg0, arg1, arg2) { + arg0.uniform1f(arg1, arg2); + }; + imports.wbg.__wbg_uniform1f_bb85eb8ed9248e52 = function(arg0, arg1, arg2) { + arg0.uniform1f(arg1, arg2); + }; + imports.wbg.__wbg_uniform1i_9fe01b91ff85aa85 = function(arg0, arg1, arg2) { + arg0.uniform1i(arg1, arg2); + }; + imports.wbg.__wbg_uniform1i_da7c764279d55bb5 = function(arg0, arg1, arg2) { + arg0.uniform1i(arg1, arg2); + }; + imports.wbg.__wbg_uniform1ui_1cd8b5fee3b44787 = function(arg0, arg1, arg2) { + arg0.uniform1ui(arg1, arg2 >>> 0); + }; + imports.wbg.__wbg_uniform2fv_40e0cc0b3d7ab815 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform2fv_d7ec4f77d2282f77 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform2iv_6d1ed66fa019f1a6 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform2iv_b36969471f3bb8e2 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform2uiv_e5d292b09c7c2eb4 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2uiv(arg1, getArrayU32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3fv_4f40a7b75bcdeb91 = function(arg0, arg1, arg2, arg3) { + arg0.uniform3fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3fv_c6fea7086ffa568e = function(arg0, arg1, arg2, arg3) { + arg0.uniform3fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3iv_46cafa9a87333139 = function(arg0, arg1, arg2, arg3) { + arg0.uniform3iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3iv_c13167af320af60e = function(arg0, arg1, arg2, arg3) { + arg0.uniform3iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3uiv_7e60873d7a35f50b = function(arg0, arg1, arg2, arg3) { + arg0.uniform3uiv(arg1, getArrayU32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4f_2408c0a3b4a0941d = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.uniform4f(arg1, arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_uniform4f_4eebf85a05c60a16 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.uniform4f(arg1, arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_uniform4fv_7ecf41f27e0e71ec = function(arg0, arg1, arg2, arg3) { + arg0.uniform4fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4fv_c88b1733f9a40a7a = function(arg0, arg1, arg2, arg3) { + arg0.uniform4fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4iv_0ee5d566bd3880e4 = function(arg0, arg1, arg2, arg3) { + arg0.uniform4iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4iv_cd69e9451d767045 = function(arg0, arg1, arg2, arg3) { + arg0.uniform4iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4uiv_c55d0b6c672eaf59 = function(arg0, arg1, arg2, arg3) { + arg0.uniform4uiv(arg1, getArrayU32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniformBlockBinding_e646e98e7f5da8fa = function(arg0, arg1, arg2, arg3) { + arg0.uniformBlockBinding(arg1, arg2 >>> 0, arg3 >>> 0); + }; + imports.wbg.__wbg_uniformMatrix2fv_ae2d3b42477e00fd = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix2fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix2fv_d44126fac416e7e4 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix2fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix2x3fv_18d94e4451a372cc = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix2x3fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix2x4fv_c34a8a330e7c94bd = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix2x4fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix3fv_652493ea4042e14f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix3fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix3fv_a3b27e44f0ad7caa = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix3fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix3x2fv_1bc7685c610e2b46 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix3x2fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix3x4fv_c99cdce05d7ffca9 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix3x4fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix4fv_a5f6838f6e217418 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix4fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix4fv_bbdf3d84ccedee84 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix4fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix4x2fv_05ec6db042145650 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix4x2fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix4x3fv_c393892235ce0f8b = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix4x3fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_unmap_8c2e8131b2aaa844 = function(arg0) { + arg0.unmap(); + }; + imports.wbg.__wbg_unobserve_9198337c0c96042f = function(arg0, arg1) { + arg0.unobserve(arg1); + }; + imports.wbg.__wbg_usage_13caa02888040e9f = function(arg0) { + const ret = arg0.usage; + return ret; + }; + imports.wbg.__wbg_useProgram_795e70e5047fcb65 = function(arg0, arg1) { + arg0.useProgram(arg1); + }; + imports.wbg.__wbg_useProgram_e84b53bf74bbe9b3 = function(arg0, arg1) { + arg0.useProgram(arg1); + }; + imports.wbg.__wbg_userAgentData_5e600df9bb352050 = function(arg0) { + const ret = arg0.userAgentData; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_userAgent_bfd54e5c60738678 = function() { return handleError(function (arg0, arg1) { + const ret = arg1.userAgent; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_valueOf_a2728b52687d72b4 = function(arg0) { + const ret = arg0.valueOf(); + return ret; + }; + imports.wbg.__wbg_vertexAttribDivisorANGLE_78ad959056e0feb7 = function(arg0, arg1, arg2) { + arg0.vertexAttribDivisorANGLE(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_vertexAttribDivisor_bc3026299e814316 = function(arg0, arg1, arg2) { + arg0.vertexAttribDivisor(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_vertexAttribIPointer_4397ca04b895d127 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.vertexAttribIPointer(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_vertexAttribPointer_1738c34c1c0d57a0 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.vertexAttribPointer(arg1 >>> 0, arg2, arg3 >>> 0, arg4 !== 0, arg5, arg6); + }; + imports.wbg.__wbg_vertexAttribPointer_34a2b143ee35746f = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.vertexAttribPointer(arg1 >>> 0, arg2, arg3 >>> 0, arg4 !== 0, arg5, arg6); + }; + imports.wbg.__wbg_videoHeight_7d8449d4b1aad15d = function(arg0) { + const ret = arg0.videoHeight; + return ret; + }; + imports.wbg.__wbg_videoWidth_134d623b7b20f203 = function(arg0) { + const ret = arg0.videoWidth; + return ret; + }; + imports.wbg.__wbg_viewport_04c48fc077486d94 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.viewport(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_viewport_301bba26f65246ed = function(arg0, arg1, arg2, arg3, arg4) { + arg0.viewport(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_visibilityState_c2b01655a6777e68 = function(arg0) { + const ret = arg0.visibilityState; + return (__wbindgen_enum_VisibilityState.indexOf(ret) + 1 || 3) - 1; + }; + imports.wbg.__wbg_warn_a6963915e4da61f6 = function(arg0) { + console.warn(arg0); + }; + imports.wbg.__wbg_webkitFullscreenElement_0c4654cdfe6894e5 = function(arg0) { + const ret = arg0.webkitFullscreenElement; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_webkitRequestFullscreen_fe95241c4f21ea63 = function(arg0) { + arg0.webkitRequestFullscreen(); + }; + imports.wbg.__wbg_width_514dd9b3b0cff49c = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_551edb4bb900e3dd = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_826b25a505a0b357 = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_dfc6149b0c4d8821 = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_e9eedd46da897708 = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_ee6a46425045c0dd = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_window_1a23defd102c72f4 = function() { return handleError(function () { + const ret = window.window; + return ret; + }, arguments) }; + imports.wbg.__wbg_writeBuffer_5ca4981365eb5ac0 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.writeBuffer(arg1, arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_writeTexture_246118eb2f5a1592 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.writeTexture(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbindgen_boolean_get = function(arg0) { + const v = arg0; + const ret = typeof(v) === 'boolean' ? (v ? 1 : 0) : 2; + return ret; + }; + imports.wbg.__wbindgen_cb_drop = function(arg0) { + const obj = arg0.original; + if (obj.cnt-- == 1) { + obj.a = 0; + return true; + } + const ret = false; + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2424 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 274, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper4591 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 274, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper4597 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 274, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6012 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 274, __wbg_adapter_41); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6057 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 274, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6075 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 274, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6076 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 274, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6077 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 274, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6078 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 274, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6079 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 274, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6121 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 274, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6122 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 274, __wbg_adapter_58); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6123 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 274, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_debug_string = function(arg0, arg1) { + const ret = debugString(arg1); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_init_externref_table = function() { + const table = wasm.__wbindgen_export_1; + const offset = table.grow(4); + table.set(0, undefined); + table.set(offset + 0, undefined); + table.set(offset + 1, null); + table.set(offset + 2, true); + table.set(offset + 3, false); + ; + }; + imports.wbg.__wbindgen_is_function = function(arg0) { + const ret = typeof(arg0) === 'function'; + return ret; + }; + imports.wbg.__wbindgen_is_null = function(arg0) { + const ret = arg0 === null; + return ret; + }; + imports.wbg.__wbindgen_is_object = function(arg0) { + const val = arg0; + const ret = typeof(val) === 'object' && val !== null; + return ret; + }; + imports.wbg.__wbindgen_is_undefined = function(arg0) { + const ret = arg0 === undefined; + return ret; + }; + imports.wbg.__wbindgen_memory = function() { + const ret = wasm.memory; + return ret; + }; + imports.wbg.__wbindgen_number_get = function(arg0, arg1) { + const obj = arg1; + const ret = typeof(obj) === 'number' ? obj : undefined; + getDataViewMemory0().setFloat64(arg0 + 8 * 1, isLikeNone(ret) ? 0 : ret, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true); + }; + imports.wbg.__wbindgen_number_new = function(arg0) { + const ret = arg0; + return ret; + }; + imports.wbg.__wbindgen_string_get = function(arg0, arg1) { + const obj = arg1; + const ret = typeof(obj) === 'string' ? obj : undefined; + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_string_new = function(arg0, arg1) { + const ret = getStringFromWasm0(arg0, arg1); + return ret; + }; + imports.wbg.__wbindgen_throw = function(arg0, arg1) { + throw new Error(getStringFromWasm0(arg0, arg1)); + }; + imports['env'] = __wbg_star0; + + return imports; +} + +function __wbg_init_memory(imports, memory) { + +} + +function __wbg_finalize_init(instance, module) { + wasm = instance.exports; + __wbg_init.__wbindgen_wasm_module = module; + cachedDataViewMemory0 = null; + cachedFloat32ArrayMemory0 = null; + cachedInt32ArrayMemory0 = null; + cachedUint32ArrayMemory0 = null; + cachedUint8ArrayMemory0 = null; + + + wasm.__wbindgen_start(); + return wasm; +} + +function initSync(module) { + if (wasm !== undefined) return wasm; + + + if (typeof module !== 'undefined') { + if (Object.getPrototypeOf(module) === Object.prototype) { + ({module} = module) + } else { + console.warn('using deprecated parameters for `initSync()`; pass a single object instead') + } + } + + const imports = __wbg_get_imports(); + + __wbg_init_memory(imports); + + if (!(module instanceof WebAssembly.Module)) { + module = new WebAssembly.Module(module); + } + + const instance = new WebAssembly.Instance(module, imports); + + return __wbg_finalize_init(instance, module); +} + +async function __wbg_init(module_or_path) { + if (wasm !== undefined) return wasm; + + + if (typeof module_or_path !== 'undefined') { + if (Object.getPrototypeOf(module_or_path) === Object.prototype) { + ({module_or_path} = module_or_path) + } else { + console.warn('using deprecated parameters for the initialization function; pass a single object instead') + } + } + + if (typeof module_or_path === 'undefined') { + module_or_path = new URL('tutorial4-buffer_bg.wasm', import.meta.url); + } + const imports = __wbg_get_imports(); + + if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) { + module_or_path = fetch(module_or_path); + } + + __wbg_init_memory(imports); + + const { instance, module } = await __wbg_load(await module_or_path, imports); + + return __wbg_finalize_init(instance, module); +} + +export { initSync }; +export default __wbg_init; diff --git a/wasm/tutorial4-buffer_bg.wasm b/wasm/tutorial4-buffer_bg.wasm new file mode 100644 index 00000000..bb8b6785 Binary files /dev/null and b/wasm/tutorial4-buffer_bg.wasm differ diff --git a/wasm/tutorial5-textures.js b/wasm/tutorial5-textures.js new file mode 100644 index 00000000..b0fdeb9f --- /dev/null +++ b/wasm/tutorial5-textures.js @@ -0,0 +1,2593 @@ +import * as __wbg_star0 from 'env'; + +let wasm; + +function isLikeNone(x) { + return x === undefined || x === null; +} + +function addToExternrefTable0(obj) { + const idx = wasm.__externref_table_alloc(); + wasm.__wbindgen_export_1.set(idx, obj); + return idx; +} + +const cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : { decode: () => { throw Error('TextDecoder not available') } } ); + +if (typeof TextDecoder !== 'undefined') { cachedTextDecoder.decode(); }; + +let cachedUint8ArrayMemory0 = null; + +function getUint8ArrayMemory0() { + if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) { + cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer); + } + return cachedUint8ArrayMemory0; +} + +function getStringFromWasm0(ptr, len) { + ptr = ptr >>> 0; + return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len)); +} + +function handleError(f, args) { + try { + return f.apply(this, args); + } catch (e) { + const idx = addToExternrefTable0(e); + wasm.__wbindgen_exn_store(idx); + } +} + +let WASM_VECTOR_LEN = 0; + +const cachedTextEncoder = (typeof TextEncoder !== 'undefined' ? new TextEncoder('utf-8') : { encode: () => { throw Error('TextEncoder not available') } } ); + +const encodeString = (typeof cachedTextEncoder.encodeInto === 'function' + ? function (arg, view) { + return cachedTextEncoder.encodeInto(arg, view); +} + : function (arg, view) { + const buf = cachedTextEncoder.encode(arg); + view.set(buf); + return { + read: arg.length, + written: buf.length + }; +}); + +function passStringToWasm0(arg, malloc, realloc) { + + if (realloc === undefined) { + const buf = cachedTextEncoder.encode(arg); + const ptr = malloc(buf.length, 1) >>> 0; + getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf); + WASM_VECTOR_LEN = buf.length; + return ptr; + } + + let len = arg.length; + let ptr = malloc(len, 1) >>> 0; + + const mem = getUint8ArrayMemory0(); + + let offset = 0; + + for (; offset < len; offset++) { + const code = arg.charCodeAt(offset); + if (code > 0x7F) break; + mem[ptr + offset] = code; + } + + if (offset !== len) { + if (offset !== 0) { + arg = arg.slice(offset); + } + ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0; + const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len); + const ret = encodeString(arg, view); + + offset += ret.written; + ptr = realloc(ptr, len, offset, 1) >>> 0; + } + + WASM_VECTOR_LEN = offset; + return ptr; +} + +let cachedDataViewMemory0 = null; + +function getDataViewMemory0() { + if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) { + cachedDataViewMemory0 = new DataView(wasm.memory.buffer); + } + return cachedDataViewMemory0; +} + +let cachedFloat32ArrayMemory0 = null; + +function getFloat32ArrayMemory0() { + if (cachedFloat32ArrayMemory0 === null || cachedFloat32ArrayMemory0.byteLength === 0) { + cachedFloat32ArrayMemory0 = new Float32Array(wasm.memory.buffer); + } + return cachedFloat32ArrayMemory0; +} + +function getArrayF32FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getFloat32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len); +} + +let cachedInt32ArrayMemory0 = null; + +function getInt32ArrayMemory0() { + if (cachedInt32ArrayMemory0 === null || cachedInt32ArrayMemory0.byteLength === 0) { + cachedInt32ArrayMemory0 = new Int32Array(wasm.memory.buffer); + } + return cachedInt32ArrayMemory0; +} + +function getArrayI32FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getInt32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len); +} + +let cachedUint32ArrayMemory0 = null; + +function getUint32ArrayMemory0() { + if (cachedUint32ArrayMemory0 === null || cachedUint32ArrayMemory0.byteLength === 0) { + cachedUint32ArrayMemory0 = new Uint32Array(wasm.memory.buffer); + } + return cachedUint32ArrayMemory0; +} + +function getArrayU32FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getUint32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len); +} + +const CLOSURE_DTORS = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(state => { + wasm.__wbindgen_export_6.get(state.dtor)(state.a, state.b) +}); + +function makeMutClosure(arg0, arg1, dtor, f) { + const state = { a: arg0, b: arg1, cnt: 1, dtor }; + const real = (...args) => { + // First up with a closure we increment the internal reference + // count. This ensures that the Rust closure environment won't + // be deallocated while we're invoking it. + state.cnt++; + const a = state.a; + state.a = 0; + try { + return f(a, state.b, ...args); + } finally { + if (--state.cnt === 0) { + wasm.__wbindgen_export_6.get(state.dtor)(a, state.b); + CLOSURE_DTORS.unregister(state); + } else { + state.a = a; + } + } + }; + real.original = state; + CLOSURE_DTORS.register(real, state, state); + return real; +} + +function debugString(val) { + // primitive types + const type = typeof val; + if (type == 'number' || type == 'boolean' || val == null) { + return `${val}`; + } + if (type == 'string') { + return `"${val}"`; + } + if (type == 'symbol') { + const description = val.description; + if (description == null) { + return 'Symbol'; + } else { + return `Symbol(${description})`; + } + } + if (type == 'function') { + const name = val.name; + if (typeof name == 'string' && name.length > 0) { + return `Function(${name})`; + } else { + return 'Function'; + } + } + // objects + if (Array.isArray(val)) { + const length = val.length; + let debug = '['; + if (length > 0) { + debug += debugString(val[0]); + } + for(let i = 1; i < length; i++) { + debug += ', ' + debugString(val[i]); + } + debug += ']'; + return debug; + } + // Test for built-in + const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val)); + let className; + if (builtInMatches && builtInMatches.length > 1) { + className = builtInMatches[1]; + } else { + // Failed to match the standard '[object ClassName]' + return toString.call(val); + } + if (className == 'Object') { + // we're a user defined class or Object + // JSON.stringify avoids problems with cycles, and is generally much + // easier than looping through ownProperties of `val`. + try { + return 'Object(' + JSON.stringify(val) + ')'; + } catch (_) { + return 'Object'; + } + } + // errors + if (val instanceof Error) { + return `${val.name}: ${val.message}\n${val.stack}`; + } + // TODO we could test for more things here, like `Set`s and `Map`s. + return className; +} +function __wbg_adapter_34(arg0, arg1, arg2) { + wasm.closure355_externref_shim(arg0, arg1, arg2); +} + +function __wbg_adapter_41(arg0, arg1) { + wasm._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hc2a92dab5895dab9(arg0, arg1); +} + +function __wbg_adapter_58(arg0, arg1, arg2, arg3) { + wasm.closure861_externref_shim(arg0, arg1, arg2, arg3); +} + +const __wbindgen_enum_GpuCompilationMessageType = ["error", "warning", "info"]; + +const __wbindgen_enum_GpuDeviceLostReason = ["unknown", "destroyed"]; + +const __wbindgen_enum_GpuErrorFilter = ["validation", "out-of-memory", "internal"]; + +const __wbindgen_enum_GpuIndexFormat = ["uint16", "uint32"]; + +const __wbindgen_enum_GpuTextureFormat = ["r8unorm", "r8snorm", "r8uint", "r8sint", "r16uint", "r16sint", "r16float", "rg8unorm", "rg8snorm", "rg8uint", "rg8sint", "r32uint", "r32sint", "r32float", "rg16uint", "rg16sint", "rg16float", "rgba8unorm", "rgba8unorm-srgb", "rgba8snorm", "rgba8uint", "rgba8sint", "bgra8unorm", "bgra8unorm-srgb", "rgb9e5ufloat", "rgb10a2uint", "rgb10a2unorm", "rg11b10ufloat", "rg32uint", "rg32sint", "rg32float", "rgba16uint", "rgba16sint", "rgba16float", "rgba32uint", "rgba32sint", "rgba32float", "stencil8", "depth16unorm", "depth24plus", "depth24plus-stencil8", "depth32float", "depth32float-stencil8", "bc1-rgba-unorm", "bc1-rgba-unorm-srgb", "bc2-rgba-unorm", "bc2-rgba-unorm-srgb", "bc3-rgba-unorm", "bc3-rgba-unorm-srgb", "bc4-r-unorm", "bc4-r-snorm", "bc5-rg-unorm", "bc5-rg-snorm", "bc6h-rgb-ufloat", "bc6h-rgb-float", "bc7-rgba-unorm", "bc7-rgba-unorm-srgb", "etc2-rgb8unorm", "etc2-rgb8unorm-srgb", "etc2-rgb8a1unorm", "etc2-rgb8a1unorm-srgb", "etc2-rgba8unorm", "etc2-rgba8unorm-srgb", "eac-r11unorm", "eac-r11snorm", "eac-rg11unorm", "eac-rg11snorm", "astc-4x4-unorm", "astc-4x4-unorm-srgb", "astc-5x4-unorm", "astc-5x4-unorm-srgb", "astc-5x5-unorm", "astc-5x5-unorm-srgb", "astc-6x5-unorm", "astc-6x5-unorm-srgb", "astc-6x6-unorm", "astc-6x6-unorm-srgb", "astc-8x5-unorm", "astc-8x5-unorm-srgb", "astc-8x6-unorm", "astc-8x6-unorm-srgb", "astc-8x8-unorm", "astc-8x8-unorm-srgb", "astc-10x5-unorm", "astc-10x5-unorm-srgb", "astc-10x6-unorm", "astc-10x6-unorm-srgb", "astc-10x8-unorm", "astc-10x8-unorm-srgb", "astc-10x10-unorm", "astc-10x10-unorm-srgb", "astc-12x10-unorm", "astc-12x10-unorm-srgb", "astc-12x12-unorm", "astc-12x12-unorm-srgb"]; + +const __wbindgen_enum_ResizeObserverBoxOptions = ["border-box", "content-box", "device-pixel-content-box"]; + +const __wbindgen_enum_VisibilityState = ["hidden", "visible"]; + +async function __wbg_load(module, imports) { + if (typeof Response === 'function' && module instanceof Response) { + if (typeof WebAssembly.instantiateStreaming === 'function') { + try { + return await WebAssembly.instantiateStreaming(module, imports); + + } catch (e) { + if (module.headers.get('Content-Type') != 'application/wasm') { + console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e); + + } else { + throw e; + } + } + } + + const bytes = await module.arrayBuffer(); + return await WebAssembly.instantiate(bytes, imports); + + } else { + const instance = await WebAssembly.instantiate(module, imports); + + if (instance instanceof WebAssembly.Instance) { + return { instance, module }; + + } else { + return instance; + } + } +} + +function __wbg_get_imports() { + const imports = {}; + imports.wbg = {}; + imports.wbg.__wbg_Window_96e58b3552ce6bb1 = function(arg0) { + const ret = arg0.Window; + return ret; + }; + imports.wbg.__wbg_Window_cf5b693340a7c469 = function(arg0) { + const ret = arg0.Window; + return ret; + }; + imports.wbg.__wbg_WorkerGlobalScope_354364d1b0bd06e5 = function(arg0) { + const ret = arg0.WorkerGlobalScope; + return ret; + }; + imports.wbg.__wbg_abort_19de2f828ee0874a = function(arg0) { + arg0.abort(); + }; + imports.wbg.__wbg_activeElement_d1a1f2b334adf636 = function(arg0) { + const ret = arg0.activeElement; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_activeTexture_24b42b03041f3428 = function(arg0, arg1) { + arg0.activeTexture(arg1 >>> 0); + }; + imports.wbg.__wbg_activeTexture_47928613532be667 = function(arg0, arg1) { + arg0.activeTexture(arg1 >>> 0); + }; + imports.wbg.__wbg_addEventListener_e27053e488770e58 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + arg0.addEventListener(getStringFromWasm0(arg1, arg2), arg3); + }, arguments) }; + imports.wbg.__wbg_addListener_dca1ccc036e24997 = function() { return handleError(function (arg0, arg1) { + arg0.addListener(arg1); + }, arguments) }; + imports.wbg.__wbg_altKey_56dd0987e7ccbbf2 = function(arg0) { + const ret = arg0.altKey; + return ret; + }; + imports.wbg.__wbg_altKey_583c79ba3f4fce1e = function(arg0) { + const ret = arg0.altKey; + return ret; + }; + imports.wbg.__wbg_animate_310f1b8e5b1fdb56 = function(arg0, arg1, arg2) { + const ret = arg0.animate(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_appendChild_805222aed73feea9 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.appendChild(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_attachShader_81000b0c4da5b206 = function(arg0, arg1, arg2) { + arg0.attachShader(arg1, arg2); + }; + imports.wbg.__wbg_attachShader_ccc35921e866b2bf = function(arg0, arg1, arg2) { + arg0.attachShader(arg1, arg2); + }; + imports.wbg.__wbg_beginComputePass_90d5303e604970cb = function(arg0, arg1) { + const ret = arg0.beginComputePass(arg1); + return ret; + }; + imports.wbg.__wbg_beginQuery_4e54bbe77706fb3c = function(arg0, arg1, arg2) { + arg0.beginQuery(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_beginRenderPass_9739520c601001c3 = function(arg0, arg1) { + const ret = arg0.beginRenderPass(arg1); + return ret; + }; + imports.wbg.__wbg_bindAttribLocation_a08ae4fdf9b16e7d = function(arg0, arg1, arg2, arg3, arg4) { + arg0.bindAttribLocation(arg1, arg2 >>> 0, getStringFromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_bindAttribLocation_b53db53e1b134420 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.bindAttribLocation(arg1, arg2 >>> 0, getStringFromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_bindBufferRange_ce5a2827ed937112 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.bindBufferRange(arg1 >>> 0, arg2 >>> 0, arg3, arg4, arg5); + }; + imports.wbg.__wbg_bindBuffer_0fedb16582ffeee6 = function(arg0, arg1, arg2) { + arg0.bindBuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindBuffer_c6e5f29d60e90c01 = function(arg0, arg1, arg2) { + arg0.bindBuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindFramebuffer_87e15614ca3e9537 = function(arg0, arg1, arg2) { + arg0.bindFramebuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindFramebuffer_a0d602bd474dcbfb = function(arg0, arg1, arg2) { + arg0.bindFramebuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindRenderbuffer_3100396894cc2d72 = function(arg0, arg1, arg2) { + arg0.bindRenderbuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindRenderbuffer_fd3e47dad76906ea = function(arg0, arg1, arg2) { + arg0.bindRenderbuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindSampler_7614054a94f8e3d1 = function(arg0, arg1, arg2) { + arg0.bindSampler(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindTexture_6478edbb238b9c73 = function(arg0, arg1, arg2) { + arg0.bindTexture(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindTexture_9b177c97248ed4d9 = function(arg0, arg1, arg2) { + arg0.bindTexture(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindVertexArrayOES_e81fca007d08d0db = function(arg0, arg1) { + arg0.bindVertexArrayOES(arg1); + }; + imports.wbg.__wbg_bindVertexArray_d9082254ff3bcc13 = function(arg0, arg1) { + arg0.bindVertexArray(arg1); + }; + imports.wbg.__wbg_blendColor_075aa544f1fe84c5 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.blendColor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_blendColor_ed292080d5966f2c = function(arg0, arg1, arg2, arg3, arg4) { + arg0.blendColor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_blendEquationSeparate_3dbbe20b0a9fa818 = function(arg0, arg1, arg2) { + arg0.blendEquationSeparate(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_blendEquationSeparate_d360393d3b1557cd = function(arg0, arg1, arg2) { + arg0.blendEquationSeparate(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_blendEquation_41f4ed79f5ddd25c = function(arg0, arg1) { + arg0.blendEquation(arg1 >>> 0); + }; + imports.wbg.__wbg_blendEquation_8804e10c9ced3fc4 = function(arg0, arg1) { + arg0.blendEquation(arg1 >>> 0); + }; + imports.wbg.__wbg_blendFuncSeparate_2cc7ac2397290a15 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.blendFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_blendFuncSeparate_c6c035b0094bd58f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.blendFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_blendFunc_63aca14ff3252b59 = function(arg0, arg1, arg2) { + arg0.blendFunc(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_blendFunc_8e1cfba50a4eea89 = function(arg0, arg1, arg2) { + arg0.blendFunc(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_blitFramebuffer_171b9355e4e730c9 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) { + arg0.blitFramebuffer(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0); + }; + imports.wbg.__wbg_blockSize_e0006fb003814895 = function(arg0) { + const ret = arg0.blockSize; + return ret; + }; + imports.wbg.__wbg_body_83d4bc4961a422aa = function(arg0) { + const ret = arg0.body; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_brand_67e4f3d950154d0a = function(arg0, arg1) { + const ret = arg1.brand; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_brands_1ec54d613da9db02 = function(arg0) { + const ret = arg0.brands; + return ret; + }; + imports.wbg.__wbg_bufferData_2a747a2c2c3b23b5 = function(arg0, arg1, arg2, arg3) { + arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0); + }; + imports.wbg.__wbg_bufferData_5b85d77150f6520a = function(arg0, arg1, arg2, arg3) { + arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0); + }; + imports.wbg.__wbg_bufferData_b03654fb80052afe = function(arg0, arg1, arg2, arg3) { + arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0); + }; + imports.wbg.__wbg_bufferData_c2eb7dbb2ea2ab3f = function(arg0, arg1, arg2, arg3) { + arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0); + }; + imports.wbg.__wbg_bufferSubData_8a7d35c05111a120 = function(arg0, arg1, arg2, arg3) { + arg0.bufferSubData(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_bufferSubData_c4b11388b9eb4175 = function(arg0, arg1, arg2, arg3) { + arg0.bufferSubData(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_buffer_6e1d53ff183194fc = function(arg0) { + const ret = arg0.buffer; + return ret; + }; + imports.wbg.__wbg_buffer_ffdeb2ee67420f9e = function(arg0) { + const ret = arg0.buffer; + return ret; + }; + imports.wbg.__wbg_button_db48f93638c59f95 = function(arg0) { + const ret = arg0.button; + return ret; + }; + imports.wbg.__wbg_buttons_b962d6dc116cd1a5 = function(arg0) { + const ret = arg0.buttons; + return ret; + }; + imports.wbg.__wbg_call_3114932863209ca6 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.call(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_cancelAnimationFrame_f1ad512e269ea165 = function() { return handleError(function (arg0, arg1) { + arg0.cancelAnimationFrame(arg1); + }, arguments) }; + imports.wbg.__wbg_cancelIdleCallback_bcc2dc9be9de0744 = function(arg0, arg1) { + arg0.cancelIdleCallback(arg1 >>> 0); + }; + imports.wbg.__wbg_cancel_3b69067dcdf7ffb7 = function(arg0) { + arg0.cancel(); + }; + imports.wbg.__wbg_catch_9da7d002aa356f1d = function(arg0, arg1) { + const ret = arg0.catch(arg1); + return ret; + }; + imports.wbg.__wbg_clearBuffer_6164fc25d22b25cc = function(arg0, arg1, arg2, arg3) { + arg0.clearBuffer(arg1, arg2, arg3); + }; + imports.wbg.__wbg_clearBuffer_cfcaaf1fb2baa885 = function(arg0, arg1, arg2) { + arg0.clearBuffer(arg1, arg2); + }; + imports.wbg.__wbg_clearBufferfv_2cf04e18ef87ed90 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.clearBufferfv(arg1 >>> 0, arg2, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_clearBufferiv_b45be02e57957dad = function(arg0, arg1, arg2, arg3, arg4) { + arg0.clearBufferiv(arg1 >>> 0, arg2, getArrayI32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_clearBufferuiv_deca83038abb23d2 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.clearBufferuiv(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_clearDepth_14d34daa30215440 = function(arg0, arg1) { + arg0.clearDepth(arg1); + }; + imports.wbg.__wbg_clearDepth_1cdcb08d8a5afa49 = function(arg0, arg1) { + arg0.clearDepth(arg1); + }; + imports.wbg.__wbg_clearStencil_e2c8b1892d5e033d = function(arg0, arg1) { + arg0.clearStencil(arg1); + }; + imports.wbg.__wbg_clearStencil_f3138d2e338d1436 = function(arg0, arg1) { + arg0.clearStencil(arg1); + }; + imports.wbg.__wbg_clearTimeout_da4408c46e51bc7a = function(arg0, arg1) { + arg0.clearTimeout(arg1); + }; + imports.wbg.__wbg_clear_4e68091e616c29ad = function(arg0, arg1) { + arg0.clear(arg1 >>> 0); + }; + imports.wbg.__wbg_clear_af7641961d766f51 = function(arg0, arg1) { + arg0.clear(arg1 >>> 0); + }; + imports.wbg.__wbg_clientWaitSync_2c4c0bd3a8d3536b = function(arg0, arg1, arg2, arg3) { + const ret = arg0.clientWaitSync(arg1, arg2 >>> 0, arg3 >>> 0); + return ret; + }; + imports.wbg.__wbg_close_35d643897b189a00 = function(arg0) { + arg0.close(); + }; + imports.wbg.__wbg_code_d8226b2133366406 = function(arg0, arg1) { + const ret = arg1.code; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_colorMask_22d850d91e89df9f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.colorMask(arg1 !== 0, arg2 !== 0, arg3 !== 0, arg4 !== 0); + }; + imports.wbg.__wbg_colorMask_a6068fae89c17ceb = function(arg0, arg1, arg2, arg3, arg4) { + arg0.colorMask(arg1 !== 0, arg2 !== 0, arg3 !== 0, arg4 !== 0); + }; + imports.wbg.__wbg_compileShader_5e41ecd397194c21 = function(arg0, arg1) { + arg0.compileShader(arg1); + }; + imports.wbg.__wbg_compileShader_6868fa6a842f0911 = function(arg0, arg1) { + arg0.compileShader(arg1); + }; + imports.wbg.__wbg_compressedTexSubImage2D_216f6eec167da8d7 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + arg0.compressedTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8); + }; + imports.wbg.__wbg_compressedTexSubImage2D_4b50d2a94bf4ea60 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.compressedTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8, arg9); + }; + imports.wbg.__wbg_compressedTexSubImage2D_9b0c2c785026006a = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + arg0.compressedTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8); + }; + imports.wbg.__wbg_compressedTexSubImage3D_8102ea4403fef5ce = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) { + arg0.compressedTexSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10); + }; + imports.wbg.__wbg_compressedTexSubImage3D_bf2bdb940e26bc8c = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.compressedTexSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10, arg11); + }; + imports.wbg.__wbg_configure_2414aed971d368cd = function(arg0, arg1) { + arg0.configure(arg1); + }; + imports.wbg.__wbg_contains_6947e163e2a3c092 = function(arg0, arg1) { + const ret = arg0.contains(arg1); + return ret; + }; + imports.wbg.__wbg_contentRect_7aaa87e16fd2882d = function(arg0) { + const ret = arg0.contentRect; + return ret; + }; + imports.wbg.__wbg_copyBufferSubData_ff213d67aa3b1f82 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.copyBufferSubData(arg1 >>> 0, arg2 >>> 0, arg3, arg4, arg5); + }; + imports.wbg.__wbg_copyBufferToBuffer_1ba67191114656a1 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.copyBufferToBuffer(arg1, arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_copyBufferToTexture_878d31d479e48f28 = function(arg0, arg1, arg2, arg3) { + arg0.copyBufferToTexture(arg1, arg2, arg3); + }; + imports.wbg.__wbg_copyExternalImageToTexture_7878d196c0b60d39 = function(arg0, arg1, arg2, arg3) { + arg0.copyExternalImageToTexture(arg1, arg2, arg3); + }; + imports.wbg.__wbg_copyTexSubImage2D_4b37e79c31b798b1 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + arg0.copyTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + }; + imports.wbg.__wbg_copyTexSubImage2D_a29106dfb31dd17c = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + arg0.copyTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + }; + imports.wbg.__wbg_copyTexSubImage3D_f8350e268c143688 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.copyTexSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); + }; + imports.wbg.__wbg_copyTextureToBuffer_6a8fe0e90f0a663d = function(arg0, arg1, arg2, arg3) { + arg0.copyTextureToBuffer(arg1, arg2, arg3); + }; + imports.wbg.__wbg_copyTextureToTexture_0a06a393d6726b4a = function(arg0, arg1, arg2, arg3) { + arg0.copyTextureToTexture(arg1, arg2, arg3); + }; + imports.wbg.__wbg_createBindGroupLayout_1d93b6d41c87ba9d = function(arg0, arg1) { + const ret = arg0.createBindGroupLayout(arg1); + return ret; + }; + imports.wbg.__wbg_createBindGroup_61cd07ec9d423432 = function(arg0, arg1) { + const ret = arg0.createBindGroup(arg1); + return ret; + }; + imports.wbg.__wbg_createBuffer_1e646d14cebbb438 = function(arg0) { + const ret = arg0.createBuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createBuffer_2a696fb8c0d07970 = function(arg0) { + const ret = arg0.createBuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createBuffer_963aa00d5fe859e4 = function(arg0, arg1) { + const ret = arg0.createBuffer(arg1); + return ret; + }; + imports.wbg.__wbg_createCommandEncoder_f0e1613e9a2dc1eb = function(arg0, arg1) { + const ret = arg0.createCommandEncoder(arg1); + return ret; + }; + imports.wbg.__wbg_createComputePipeline_b9616b9fe2f4eb2f = function(arg0, arg1) { + const ret = arg0.createComputePipeline(arg1); + return ret; + }; + imports.wbg.__wbg_createElement_22b48bfb31a0c20e = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.createElement(getStringFromWasm0(arg1, arg2)); + return ret; + }, arguments) }; + imports.wbg.__wbg_createFramebuffer_163e192e1e53ec9b = function(arg0) { + const ret = arg0.createFramebuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createFramebuffer_1aa54479f7524ef5 = function(arg0) { + const ret = arg0.createFramebuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createObjectURL_06505af3e8787cc8 = function() { return handleError(function (arg0, arg1) { + const ret = URL.createObjectURL(arg1); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_createPipelineLayout_56c6cf983f892d2b = function(arg0, arg1) { + const ret = arg0.createPipelineLayout(arg1); + return ret; + }; + imports.wbg.__wbg_createProgram_5a5a92d23fdc2f1a = function(arg0) { + const ret = arg0.createProgram(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createProgram_b75025f0f1a4ef55 = function(arg0) { + const ret = arg0.createProgram(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createQuerySet_c14be802adf7c207 = function(arg0, arg1) { + const ret = arg0.createQuerySet(arg1); + return ret; + }; + imports.wbg.__wbg_createQuery_2816e95a473b5501 = function(arg0) { + const ret = arg0.createQuery(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createRenderBundleEncoder_8e4bdffea72f8c1f = function(arg0, arg1) { + const ret = arg0.createRenderBundleEncoder(arg1); + return ret; + }; + imports.wbg.__wbg_createRenderPipeline_079a88a0601fcce1 = function(arg0, arg1) { + const ret = arg0.createRenderPipeline(arg1); + return ret; + }; + imports.wbg.__wbg_createRenderbuffer_29e130c03bc689d3 = function(arg0) { + const ret = arg0.createRenderbuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createRenderbuffer_b10004ae18d38014 = function(arg0) { + const ret = arg0.createRenderbuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createSampler_50ae7c4dd1f9b066 = function(arg0) { + const ret = arg0.createSampler(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createSampler_ef5578990df3baf7 = function(arg0, arg1) { + const ret = arg0.createSampler(arg1); + return ret; + }; + imports.wbg.__wbg_createShaderModule_17f451ea25cae47c = function(arg0, arg1) { + const ret = arg0.createShaderModule(arg1); + return ret; + }; + imports.wbg.__wbg_createShader_29c8e06db7e7211f = function(arg0, arg1) { + const ret = arg0.createShader(arg1 >>> 0); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createShader_8c3053457f874cdd = function(arg0, arg1) { + const ret = arg0.createShader(arg1 >>> 0); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createTexture_01cc1cd2fea732d9 = function(arg0, arg1) { + const ret = arg0.createTexture(arg1); + return ret; + }; + imports.wbg.__wbg_createTexture_20f63b261993f581 = function(arg0) { + const ret = arg0.createTexture(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createTexture_facd2df68d8d0276 = function(arg0) { + const ret = arg0.createTexture(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createVertexArrayOES_89f45f4a4fde395f = function(arg0) { + const ret = arg0.createVertexArrayOES(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createVertexArray_70d7c4c62e00613d = function(arg0) { + const ret = arg0.createVertexArray(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createView_04701884291e1ccc = function(arg0, arg1) { + const ret = arg0.createView(arg1); + return ret; + }; + imports.wbg.__wbg_ctrlKey_60b29e015a543678 = function(arg0) { + const ret = arg0.ctrlKey; + return ret; + }; + imports.wbg.__wbg_ctrlKey_ab341328ab202d37 = function(arg0) { + const ret = arg0.ctrlKey; + return ret; + }; + imports.wbg.__wbg_cullFace_96a9dca4a5b1ca33 = function(arg0, arg1) { + arg0.cullFace(arg1 >>> 0); + }; + imports.wbg.__wbg_cullFace_99bb4e31c974596d = function(arg0, arg1) { + arg0.cullFace(arg1 >>> 0); + }; + imports.wbg.__wbg_debug_347b3d1f33e1c28e = function(arg0) { + console.debug(arg0); + }; + imports.wbg.__wbg_deleteBuffer_9d705222a7e77a7b = function(arg0, arg1) { + arg0.deleteBuffer(arg1); + }; + imports.wbg.__wbg_deleteBuffer_db0d7ecbaa97fa56 = function(arg0, arg1) { + arg0.deleteBuffer(arg1); + }; + imports.wbg.__wbg_deleteFramebuffer_69db238ea6b8a9a1 = function(arg0, arg1) { + arg0.deleteFramebuffer(arg1); + }; + imports.wbg.__wbg_deleteFramebuffer_ecf398bec452aaf9 = function(arg0, arg1) { + arg0.deleteFramebuffer(arg1); + }; + imports.wbg.__wbg_deleteProgram_cb18e0020d488bad = function(arg0, arg1) { + arg0.deleteProgram(arg1); + }; + imports.wbg.__wbg_deleteProgram_e1a6c4b922e202e3 = function(arg0, arg1) { + arg0.deleteProgram(arg1); + }; + imports.wbg.__wbg_deleteQuery_e083394da1710d6c = function(arg0, arg1) { + arg0.deleteQuery(arg1); + }; + imports.wbg.__wbg_deleteRenderbuffer_05fa7f35ea76cafd = function(arg0, arg1) { + arg0.deleteRenderbuffer(arg1); + }; + imports.wbg.__wbg_deleteRenderbuffer_2f1216e54aa2f248 = function(arg0, arg1) { + arg0.deleteRenderbuffer(arg1); + }; + imports.wbg.__wbg_deleteSampler_e5c61c85993f9a69 = function(arg0, arg1) { + arg0.deleteSampler(arg1); + }; + imports.wbg.__wbg_deleteShader_257caf93b24ac555 = function(arg0, arg1) { + arg0.deleteShader(arg1); + }; + imports.wbg.__wbg_deleteShader_fb86028e46cb069b = function(arg0, arg1) { + arg0.deleteShader(arg1); + }; + imports.wbg.__wbg_deleteSync_b5caedf06185d972 = function(arg0, arg1) { + arg0.deleteSync(arg1); + }; + imports.wbg.__wbg_deleteTexture_6913f682a09c8171 = function(arg0, arg1) { + arg0.deleteTexture(arg1); + }; + imports.wbg.__wbg_deleteTexture_a29655740b1cbe33 = function(arg0, arg1) { + arg0.deleteTexture(arg1); + }; + imports.wbg.__wbg_deleteVertexArrayOES_2def7ce37f8e89f2 = function(arg0, arg1) { + arg0.deleteVertexArrayOES(arg1); + }; + imports.wbg.__wbg_deleteVertexArray_a3bca8e15204ffed = function(arg0, arg1) { + arg0.deleteVertexArray(arg1); + }; + imports.wbg.__wbg_deltaMode_a4cc321212f87817 = function(arg0) { + const ret = arg0.deltaMode; + return ret; + }; + imports.wbg.__wbg_deltaX_27e2939a1af8c940 = function(arg0) { + const ret = arg0.deltaX; + return ret; + }; + imports.wbg.__wbg_deltaY_4bb52a4f0a7ad28b = function(arg0) { + const ret = arg0.deltaY; + return ret; + }; + imports.wbg.__wbg_depthFunc_657dd592930e7f2f = function(arg0, arg1) { + arg0.depthFunc(arg1 >>> 0); + }; + imports.wbg.__wbg_depthFunc_f9fd44a07ea8398e = function(arg0, arg1) { + arg0.depthFunc(arg1 >>> 0); + }; + imports.wbg.__wbg_depthMask_87195357e4f7df17 = function(arg0, arg1) { + arg0.depthMask(arg1 !== 0); + }; + imports.wbg.__wbg_depthMask_bac7f6b455b6ddeb = function(arg0, arg1) { + arg0.depthMask(arg1 !== 0); + }; + imports.wbg.__wbg_depthRange_d947e824a28dc9a1 = function(arg0, arg1, arg2) { + arg0.depthRange(arg1, arg2); + }; + imports.wbg.__wbg_depthRange_f71c79182f666e45 = function(arg0, arg1, arg2) { + arg0.depthRange(arg1, arg2); + }; + imports.wbg.__wbg_destroy_35f94012e5bb9c17 = function(arg0) { + arg0.destroy(); + }; + imports.wbg.__wbg_destroy_767d9dde1008e293 = function(arg0) { + arg0.destroy(); + }; + imports.wbg.__wbg_destroy_c6af4226dda95dbd = function(arg0) { + arg0.destroy(); + }; + imports.wbg.__wbg_devicePixelContentBoxSize_1ea2c6145730b8c0 = function(arg0) { + const ret = arg0.devicePixelContentBoxSize; + return ret; + }; + imports.wbg.__wbg_devicePixelRatio_f4eb7cbe3a812de0 = function(arg0) { + const ret = arg0.devicePixelRatio; + return ret; + }; + imports.wbg.__wbg_disableVertexAttribArray_c513f1fff3cb73f2 = function(arg0, arg1) { + arg0.disableVertexAttribArray(arg1 >>> 0); + }; + imports.wbg.__wbg_disableVertexAttribArray_e7ff41dc0c3eaf1f = function(arg0, arg1) { + arg0.disableVertexAttribArray(arg1 >>> 0); + }; + imports.wbg.__wbg_disable_4c1cedffa6646166 = function(arg0, arg1) { + arg0.disable(arg1 >>> 0); + }; + imports.wbg.__wbg_disable_5320561e5cb15f08 = function(arg0, arg1) { + arg0.disable(arg1 >>> 0); + }; + imports.wbg.__wbg_disconnect_8b7c928b6057719b = function(arg0) { + arg0.disconnect(); + }; + imports.wbg.__wbg_disconnect_c45e8044053eddf3 = function(arg0) { + arg0.disconnect(); + }; + imports.wbg.__wbg_dispatchWorkgroupsIndirect_8b25efab93a7a433 = function(arg0, arg1, arg2) { + arg0.dispatchWorkgroupsIndirect(arg1, arg2); + }; + imports.wbg.__wbg_dispatchWorkgroups_c102fa81b955935d = function(arg0, arg1, arg2, arg3) { + arg0.dispatchWorkgroups(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0); + }; + imports.wbg.__wbg_document_c488ca7509cc6938 = function(arg0) { + const ret = arg0.document; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_drawArraysInstancedANGLE_55c83db2758c6ab4 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.drawArraysInstancedANGLE(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_drawArraysInstanced_11f863da4daf24d0 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.drawArraysInstanced(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_drawArrays_87e9bb0e2fb3e0fa = function(arg0, arg1, arg2, arg3) { + arg0.drawArrays(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_drawArrays_f5b0f0a0dc392c3f = function(arg0, arg1, arg2, arg3) { + arg0.drawArrays(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_drawBuffersWEBGL_22730193cdce9696 = function(arg0, arg1) { + arg0.drawBuffersWEBGL(arg1); + }; + imports.wbg.__wbg_drawBuffers_f256d529aecd01f2 = function(arg0, arg1) { + arg0.drawBuffers(arg1); + }; + imports.wbg.__wbg_drawElementsInstancedANGLE_db0bafff77affb0d = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.drawElementsInstancedANGLE(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_drawElementsInstanced_e87f1c69165df984 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.drawElementsInstanced(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_drawIndexedIndirect_34484fc6227c7bc8 = function(arg0, arg1, arg2) { + arg0.drawIndexedIndirect(arg1, arg2); + }; + imports.wbg.__wbg_drawIndexedIndirect_5a7c30bb5f1d5b67 = function(arg0, arg1, arg2) { + arg0.drawIndexedIndirect(arg1, arg2); + }; + imports.wbg.__wbg_drawIndexed_115af1449b52a948 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.drawIndexed(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5 >>> 0); + }; + imports.wbg.__wbg_drawIndexed_a587cce4c317791f = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.drawIndexed(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5 >>> 0); + }; + imports.wbg.__wbg_drawIndirect_036d71498a21f1a3 = function(arg0, arg1, arg2) { + arg0.drawIndirect(arg1, arg2); + }; + imports.wbg.__wbg_drawIndirect_a1d7c5e893aa5756 = function(arg0, arg1, arg2) { + arg0.drawIndirect(arg1, arg2); + }; + imports.wbg.__wbg_draw_5351b12033166aca = function(arg0, arg1, arg2, arg3, arg4) { + arg0.draw(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_draw_e2a7c5d66fb2d244 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.draw(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_enableVertexAttribArray_0ce3052ae5f3f84a = function(arg0, arg1) { + arg0.enableVertexAttribArray(arg1 >>> 0); + }; + imports.wbg.__wbg_enableVertexAttribArray_2bb681a583bf0dbe = function(arg0, arg1) { + arg0.enableVertexAttribArray(arg1 >>> 0); + }; + imports.wbg.__wbg_enable_8d6ea7489b31dabd = function(arg0, arg1) { + arg0.enable(arg1 >>> 0); + }; + imports.wbg.__wbg_enable_bb868e19d5c88d56 = function(arg0, arg1) { + arg0.enable(arg1 >>> 0); + }; + imports.wbg.__wbg_endQuery_b4f2566f7afc4117 = function(arg0, arg1) { + arg0.endQuery(arg1 >>> 0); + }; + imports.wbg.__wbg_end_0ac71677a5c1717a = function(arg0) { + arg0.end(); + }; + imports.wbg.__wbg_end_6f776519f1faa582 = function(arg0) { + arg0.end(); + }; + imports.wbg.__wbg_error_2a6b93fdada7ff11 = function(arg0) { + console.error(arg0); + }; + imports.wbg.__wbg_error_7534b8e9a36f1ab4 = function(arg0, arg1) { + let deferred0_0; + let deferred0_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + console.error(getStringFromWasm0(arg0, arg1)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + } + }; + imports.wbg.__wbg_error_e98e6aadd08e0b94 = function(arg0) { + const ret = arg0.error; + return ret; + }; + imports.wbg.__wbg_error_f0dde81ae1e4cfea = function(arg0, arg1) { + console.error(arg0, arg1); + }; + imports.wbg.__wbg_executeBundles_8e6c0614da2805d4 = function(arg0, arg1) { + arg0.executeBundles(arg1); + }; + imports.wbg.__wbg_features_1b464383ea8a7691 = function(arg0) { + const ret = arg0.features; + return ret; + }; + imports.wbg.__wbg_features_e5fbbc2760867852 = function(arg0) { + const ret = arg0.features; + return ret; + }; + imports.wbg.__wbg_fenceSync_68dcf439f52decac = function(arg0, arg1, arg2) { + const ret = arg0.fenceSync(arg1 >>> 0, arg2 >>> 0); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_finish_20711371c58df61c = function(arg0) { + const ret = arg0.finish(); + return ret; + }; + imports.wbg.__wbg_finish_34b2c54329c8719f = function(arg0, arg1) { + const ret = arg0.finish(arg1); + return ret; + }; + imports.wbg.__wbg_finish_a9ab917e756ea00c = function(arg0, arg1) { + const ret = arg0.finish(arg1); + return ret; + }; + imports.wbg.__wbg_finish_e0a6c97c0622f843 = function(arg0) { + const ret = arg0.finish(); + return ret; + }; + imports.wbg.__wbg_focus_c71947fc3fe22147 = function() { return handleError(function (arg0) { + arg0.focus(); + }, arguments) }; + imports.wbg.__wbg_framebufferRenderbuffer_308ddbcaaed66ff2 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.framebufferRenderbuffer(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4); + }; + imports.wbg.__wbg_framebufferRenderbuffer_a23d035c46e3e192 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.framebufferRenderbuffer(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4); + }; + imports.wbg.__wbg_framebufferTexture2D_170b0f8c792e246f = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.framebufferTexture2D(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_framebufferTexture2D_5366ecb050293d09 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.framebufferTexture2D(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_framebufferTextureLayer_daccfb6fb9396578 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.framebufferTextureLayer(arg1 >>> 0, arg2 >>> 0, arg3, arg4, arg5); + }; + imports.wbg.__wbg_framebufferTextureMultiviewOVR_e2282e87fdf2564f = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.framebufferTextureMultiviewOVR(arg1 >>> 0, arg2 >>> 0, arg3, arg4, arg5, arg6); + }; + imports.wbg.__wbg_frontFace_7b469405c0e889ee = function(arg0, arg1) { + arg0.frontFace(arg1 >>> 0); + }; + imports.wbg.__wbg_frontFace_993e921eaef39c45 = function(arg0, arg1) { + arg0.frontFace(arg1 >>> 0); + }; + imports.wbg.__wbg_fullscreenElement_a613ad02fa918fb4 = function(arg0) { + const ret = arg0.fullscreenElement; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getBindGroupLayout_4a94df6108ac6667 = function(arg0, arg1) { + const ret = arg0.getBindGroupLayout(arg1 >>> 0); + return ret; + }; + imports.wbg.__wbg_getBindGroupLayout_80e803d942962f6a = function(arg0, arg1) { + const ret = arg0.getBindGroupLayout(arg1 >>> 0); + return ret; + }; + imports.wbg.__wbg_getBufferSubData_5102d8a217d0774c = function(arg0, arg1, arg2, arg3) { + arg0.getBufferSubData(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_getCoalescedEvents_1372a1922f78401a = function(arg0) { + const ret = arg0.getCoalescedEvents; + return ret; + }; + imports.wbg.__wbg_getCoalescedEvents_3736b5e5d63bed7b = function(arg0) { + const ret = arg0.getCoalescedEvents(); + return ret; + }; + imports.wbg.__wbg_getCompilationInfo_2af3ecdfeda551a3 = function(arg0) { + const ret = arg0.getCompilationInfo(); + return ret; + }; + imports.wbg.__wbg_getComputedStyle_c3a9de7674a38310 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.getComputedStyle(arg1); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getContext_02d86c7d9cfa709e = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.getContext(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getContext_24d4414b979c1bbd = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.getContext(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getContext_74e4f1560c2a2fae = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = arg0.getContext(getStringFromWasm0(arg1, arg2), arg3); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getContext_b22f05fca7ddb494 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = arg0.getContext(getStringFromWasm0(arg1, arg2), arg3); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getCurrentTexture_5a79cda2ff36e1ee = function(arg0) { + const ret = arg0.getCurrentTexture(); + return ret; + }; + imports.wbg.__wbg_getElementById_7b2db24a9b54f077 = function(arg0, arg1, arg2) { + const ret = arg0.getElementById(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getExtension_28666bdc87d23aca = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.getExtension(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getIndexedParameter_f9e7220a3bb8862c = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.getIndexedParameter(arg1 >>> 0, arg2 >>> 0); + return ret; + }, arguments) }; + imports.wbg.__wbg_getMappedRange_932dd043ae22ee0a = function(arg0, arg1, arg2) { + const ret = arg0.getMappedRange(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_getOwnPropertyDescriptor_c701b185423f5b7e = function(arg0, arg1) { + const ret = Object.getOwnPropertyDescriptor(arg0, arg1); + return ret; + }; + imports.wbg.__wbg_getParameter_304cffb9a759dc04 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.getParameter(arg1 >>> 0); + return ret; + }, arguments) }; + imports.wbg.__wbg_getParameter_fd65bc6ff1b0ffd9 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.getParameter(arg1 >>> 0); + return ret; + }, arguments) }; + imports.wbg.__wbg_getPreferredCanvasFormat_de73c02773a5209e = function(arg0) { + const ret = arg0.getPreferredCanvasFormat(); + return (__wbindgen_enum_GpuTextureFormat.indexOf(ret) + 1 || 96) - 1; + }; + imports.wbg.__wbg_getProgramInfoLog_032aac3e6f3a253c = function(arg0, arg1, arg2) { + const ret = arg1.getProgramInfoLog(arg2); + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_getProgramInfoLog_039168c2aed8d3fe = function(arg0, arg1, arg2) { + const ret = arg1.getProgramInfoLog(arg2); + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_getProgramParameter_70b22019524689fa = function(arg0, arg1, arg2) { + const ret = arg0.getProgramParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getProgramParameter_9b3bdf8d90159edb = function(arg0, arg1, arg2) { + const ret = arg0.getProgramParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getPropertyValue_e87121b8549f72d5 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = arg1.getPropertyValue(getStringFromWasm0(arg2, arg3)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_getQueryParameter_e7b02fe5fd64baa5 = function(arg0, arg1, arg2) { + const ret = arg0.getQueryParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getShaderInfoLog_5c7d45bafe3be3dd = function(arg0, arg1, arg2) { + const ret = arg1.getShaderInfoLog(arg2); + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_getShaderInfoLog_d2cc881ce343a733 = function(arg0, arg1, arg2) { + const ret = arg1.getShaderInfoLog(arg2); + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_getShaderParameter_6d0578dd9f58b684 = function(arg0, arg1, arg2) { + const ret = arg0.getShaderParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getShaderParameter_c50fbeadf9ef6879 = function(arg0, arg1, arg2) { + const ret = arg0.getShaderParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getSupportedExtensions_fca342bac23691db = function(arg0) { + const ret = arg0.getSupportedExtensions(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getSupportedProfiles_b2cc3aec569a65fa = function(arg0) { + const ret = arg0.getSupportedProfiles(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getSyncParameter_5688138f66b57b16 = function(arg0, arg1, arg2) { + const ret = arg0.getSyncParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getUniformBlockIndex_b53609b8ecff8b48 = function(arg0, arg1, arg2, arg3) { + const ret = arg0.getUniformBlockIndex(arg1, getStringFromWasm0(arg2, arg3)); + return ret; + }; + imports.wbg.__wbg_getUniformLocation_852fbe42afe106ff = function(arg0, arg1, arg2, arg3) { + const ret = arg0.getUniformLocation(arg1, getStringFromWasm0(arg2, arg3)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getUniformLocation_9d46a65011600cce = function(arg0, arg1, arg2, arg3) { + const ret = arg0.getUniformLocation(arg1, getStringFromWasm0(arg2, arg3)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_get_68aa371864aa301a = function(arg0, arg1) { + const ret = arg0[arg1 >>> 0]; + return ret; + }; + imports.wbg.__wbg_get_6b316bfdb1b95076 = function(arg0, arg1) { + const ret = arg0[arg1 >>> 0]; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_globalThis_1e2ac1d6eee845b3 = function() { return handleError(function () { + const ret = globalThis.globalThis; + return ret; + }, arguments) }; + imports.wbg.__wbg_global_f25a574ae080367c = function() { return handleError(function () { + const ret = global.global; + return ret; + }, arguments) }; + imports.wbg.__wbg_gpu_87871e8f7ace8fee = function(arg0) { + const ret = arg0.gpu; + return ret; + }; + imports.wbg.__wbg_has_624cbf0451d880e8 = function(arg0, arg1, arg2) { + const ret = arg0.has(getStringFromWasm0(arg1, arg2)); + return ret; + }; + imports.wbg.__wbg_height_4065e49e5ec4c4c1 = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_51a97623165c9beb = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_74bc8ec7548ff6b6 = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_a196a7b9b1d7e01c = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_cabc0c8a4c838304 = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_e509816ec3fdf5b1 = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_includes_959087f4155febdf = function(arg0, arg1, arg2) { + const ret = arg0.includes(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_info_b6bd3cb6471c2b4c = function(arg0) { + console.info(arg0); + }; + imports.wbg.__wbg_inlineSize_6f8d0983462c2919 = function(arg0) { + const ret = arg0.inlineSize; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuAdapter_0731153d2b08720b = function(arg0) { + let result; + try { + result = arg0 instanceof GPUAdapter; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuCanvasContext_d14121c7bd72fcef = function(arg0) { + let result; + try { + result = arg0 instanceof GPUCanvasContext; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuDeviceLostInfo_a3677ebb8241d800 = function(arg0) { + let result; + try { + result = arg0 instanceof GPUDeviceLostInfo; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuOutOfMemoryError_391d9a08edbfa04b = function(arg0) { + let result; + try { + result = arg0 instanceof GPUOutOfMemoryError; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuValidationError_f4d803c383da3c92 = function(arg0) { + let result; + try { + result = arg0 instanceof GPUValidationError; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_HtmlCanvasElement_9db0dfd54b2c5330 = function(arg0) { + let result; + try { + result = arg0 instanceof HTMLCanvasElement; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_Object_f0f57d6eeca1b81d = function(arg0) { + let result; + try { + result = arg0 instanceof Object; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_WebGl2RenderingContext_888701598b82d45d = function(arg0) { + let result; + try { + result = arg0 instanceof WebGL2RenderingContext; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_Window_a959820eb267fe22 = function(arg0) { + let result; + try { + result = arg0 instanceof Window; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_invalidateFramebuffer_f4a994f4a8535cca = function() { return handleError(function (arg0, arg1, arg2) { + arg0.invalidateFramebuffer(arg1 >>> 0, arg2); + }, arguments) }; + imports.wbg.__wbg_isIntersecting_9059d5bcaf29f415 = function(arg0) { + const ret = arg0.isIntersecting; + return ret; + }; + imports.wbg.__wbg_is_20768e55ad2a7c3f = function(arg0, arg1) { + const ret = Object.is(arg0, arg1); + return ret; + }; + imports.wbg.__wbg_key_02315cd3f595756b = function(arg0, arg1) { + const ret = arg1.key; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_label_2082ab37d2ad170d = function(arg0, arg1) { + const ret = arg1.label; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_length_2e63ba34c4121df5 = function(arg0) { + const ret = arg0.length; + return ret; + }; + imports.wbg.__wbg_length_9df32f7add647235 = function(arg0) { + const ret = arg0.length; + return ret; + }; + imports.wbg.__wbg_length_e74df4881604f1d9 = function(arg0) { + const ret = arg0.length; + return ret; + }; + imports.wbg.__wbg_limits_2dd632c891786ddf = function(arg0) { + const ret = arg0.limits; + return ret; + }; + imports.wbg.__wbg_limits_f6411f884b0b2d62 = function(arg0) { + const ret = arg0.limits; + return ret; + }; + imports.wbg.__wbg_lineNum_0246de1e072ffe19 = function(arg0) { + const ret = arg0.lineNum; + return ret; + }; + imports.wbg.__wbg_linkProgram_575f761eda0a14bc = function(arg0, arg1) { + arg0.linkProgram(arg1); + }; + imports.wbg.__wbg_linkProgram_5eee13e603e9af41 = function(arg0, arg1) { + arg0.linkProgram(arg1); + }; + imports.wbg.__wbg_location_54d35e8c85dcfb9c = function(arg0) { + const ret = arg0.location; + return ret; + }; + imports.wbg.__wbg_location_e9eba129bf0612a5 = function(arg0) { + const ret = arg0.location; + return ret; + }; + imports.wbg.__wbg_log_d818ca3cab23fc77 = function(arg0) { + console.log(arg0); + }; + imports.wbg.__wbg_lost_6e4d29847ce2a34a = function(arg0) { + const ret = arg0.lost; + return ret; + }; + imports.wbg.__wbg_mapAsync_37f5e03edf2e1352 = function(arg0, arg1, arg2, arg3) { + const ret = arg0.mapAsync(arg1 >>> 0, arg2, arg3); + return ret; + }; + imports.wbg.__wbg_matchMedia_0be65181eeae951c = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.matchMedia(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_matches_254463383aee4688 = function(arg0) { + const ret = arg0.matches; + return ret; + }; + imports.wbg.__wbg_maxBindGroups_768ca5e8623bf450 = function(arg0) { + const ret = arg0.maxBindGroups; + return ret; + }; + imports.wbg.__wbg_maxBindingsPerBindGroup_057972d600d69719 = function(arg0) { + const ret = arg0.maxBindingsPerBindGroup; + return ret; + }; + imports.wbg.__wbg_maxBufferSize_e237b44f19a5a62b = function(arg0) { + const ret = arg0.maxBufferSize; + return ret; + }; + imports.wbg.__wbg_maxColorAttachmentBytesPerSample_d6c7b4051d22c6d6 = function(arg0) { + const ret = arg0.maxColorAttachmentBytesPerSample; + return ret; + }; + imports.wbg.__wbg_maxColorAttachments_7a18ba24c05edcfd = function(arg0) { + const ret = arg0.maxColorAttachments; + return ret; + }; + imports.wbg.__wbg_maxComputeInvocationsPerWorkgroup_b99c2f3611633992 = function(arg0) { + const ret = arg0.maxComputeInvocationsPerWorkgroup; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupSizeX_adb26da9ed7f77f7 = function(arg0) { + const ret = arg0.maxComputeWorkgroupSizeX; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupSizeY_cc217559c98be33b = function(arg0) { + const ret = arg0.maxComputeWorkgroupSizeY; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupSizeZ_66606a80e2cf2309 = function(arg0) { + const ret = arg0.maxComputeWorkgroupSizeZ; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupStorageSize_cb6235497b8c4997 = function(arg0) { + const ret = arg0.maxComputeWorkgroupStorageSize; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupsPerDimension_6bf550b5f21d57cf = function(arg0) { + const ret = arg0.maxComputeWorkgroupsPerDimension; + return ret; + }; + imports.wbg.__wbg_maxDynamicStorageBuffersPerPipelineLayout_c6ac20334e328b47 = function(arg0) { + const ret = arg0.maxDynamicStorageBuffersPerPipelineLayout; + return ret; + }; + imports.wbg.__wbg_maxDynamicUniformBuffersPerPipelineLayout_aa8f14a74b440f01 = function(arg0) { + const ret = arg0.maxDynamicUniformBuffersPerPipelineLayout; + return ret; + }; + imports.wbg.__wbg_maxSampledTexturesPerShaderStage_db7c4922cc60144a = function(arg0) { + const ret = arg0.maxSampledTexturesPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxSamplersPerShaderStage_538705fe2263e710 = function(arg0) { + const ret = arg0.maxSamplersPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxStorageBufferBindingSize_32178c0f5f7f85cb = function(arg0) { + const ret = arg0.maxStorageBufferBindingSize; + return ret; + }; + imports.wbg.__wbg_maxStorageBuffersPerShaderStage_9f67e9eae0089f77 = function(arg0) { + const ret = arg0.maxStorageBuffersPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxStorageTexturesPerShaderStage_57239664936031cf = function(arg0) { + const ret = arg0.maxStorageTexturesPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxTextureArrayLayers_db5d4e486c78ae04 = function(arg0) { + const ret = arg0.maxTextureArrayLayers; + return ret; + }; + imports.wbg.__wbg_maxTextureDimension1D_3475085ffacabbdc = function(arg0) { + const ret = arg0.maxTextureDimension1D; + return ret; + }; + imports.wbg.__wbg_maxTextureDimension2D_7c8d5ecf09eb8519 = function(arg0) { + const ret = arg0.maxTextureDimension2D; + return ret; + }; + imports.wbg.__wbg_maxTextureDimension3D_8bd976677a0f91d4 = function(arg0) { + const ret = arg0.maxTextureDimension3D; + return ret; + }; + imports.wbg.__wbg_maxUniformBufferBindingSize_95b1a54e7e4a0f0f = function(arg0) { + const ret = arg0.maxUniformBufferBindingSize; + return ret; + }; + imports.wbg.__wbg_maxUniformBuffersPerShaderStage_5f475d9a453af14d = function(arg0) { + const ret = arg0.maxUniformBuffersPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxVertexAttributes_4c48ca2f5d32f860 = function(arg0) { + const ret = arg0.maxVertexAttributes; + return ret; + }; + imports.wbg.__wbg_maxVertexBufferArrayStride_2233f6933ecc5a16 = function(arg0) { + const ret = arg0.maxVertexBufferArrayStride; + return ret; + }; + imports.wbg.__wbg_maxVertexBuffers_c47e508cd7348554 = function(arg0) { + const ret = arg0.maxVertexBuffers; + return ret; + }; + imports.wbg.__wbg_message_0762358e59db7ed6 = function(arg0, arg1) { + const ret = arg1.message; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_message_7957ab09f64c6822 = function(arg0, arg1) { + const ret = arg1.message; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_message_b163994503433c9e = function(arg0, arg1) { + const ret = arg1.message; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_messages_da071582f72bc978 = function(arg0) { + const ret = arg0.messages; + return ret; + }; + imports.wbg.__wbg_metaKey_34d5658170ffb3ee = function(arg0) { + const ret = arg0.metaKey; + return ret; + }; + imports.wbg.__wbg_metaKey_6c8e9228e8dda152 = function(arg0) { + const ret = arg0.metaKey; + return ret; + }; + imports.wbg.__wbg_minStorageBufferOffsetAlignment_51b4801fac3a58de = function(arg0) { + const ret = arg0.minStorageBufferOffsetAlignment; + return ret; + }; + imports.wbg.__wbg_minUniformBufferOffsetAlignment_5d62a77924b2335f = function(arg0) { + const ret = arg0.minUniformBufferOffsetAlignment; + return ret; + }; + imports.wbg.__wbg_movementX_e32c342d96d1c701 = function(arg0) { + const ret = arg0.movementX; + return ret; + }; + imports.wbg.__wbg_movementY_136c6febb976ca3b = function(arg0) { + const ret = arg0.movementY; + return ret; + }; + imports.wbg.__wbg_navigator_2936a93ec3c6f4c5 = function(arg0) { + const ret = arg0.navigator; + return ret; + }; + imports.wbg.__wbg_navigator_da495c9e52e160b1 = function(arg0) { + const ret = arg0.navigator; + return ret; + }; + imports.wbg.__wbg_new_076cac58bb698dd4 = function() { + const ret = new Object(); + return ret; + }; + imports.wbg.__wbg_new_0c28e72025e00594 = function() { + const ret = new Array(); + return ret; + }; + imports.wbg.__wbg_new_23362fa370a0a372 = function(arg0) { + const ret = new Uint8Array(arg0); + return ret; + }; + imports.wbg.__wbg_new_238671e08bf4fcbb = function() { return handleError(function () { + const ret = new MessageChannel(); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_4b15073a88792687 = function() { return handleError(function (arg0) { + const ret = new ResizeObserver(arg0); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_8a6f238a6ece86ea = function() { + const ret = new Error(); + return ret; + }; + imports.wbg.__wbg_new_93cf40e4f48fe902 = function() { return handleError(function () { + const ret = new AbortController(); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_b4a18f0a618c89f2 = function() { return handleError(function (arg0, arg1) { + const ret = new Worker(getStringFromWasm0(arg0, arg1)); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_c94d990936d8ea5d = function() { return handleError(function (arg0) { + const ret = new IntersectionObserver(arg0); + return ret; + }, arguments) }; + imports.wbg.__wbg_newnoargs_19a249f4eceaaac3 = function(arg0, arg1) { + const ret = new Function(getStringFromWasm0(arg0, arg1)); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_24ff09a6b37a856f = function(arg0, arg1, arg2) { + const ret = new Int16Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_25d3cac011b6e2d5 = function(arg0, arg1, arg2) { + const ret = new Uint32Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_457c61bfe0fb7b8c = function(arg0, arg1, arg2) { + const ret = new Int32Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_9f48300371c8802a = function(arg0, arg1, arg2) { + const ret = new Uint16Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_a6087a94c7bfea61 = function(arg0, arg1, arg2) { + const ret = new Int8Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_c280c15b00e018cd = function(arg0, arg1, arg2) { + const ret = new Float32Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_ee8def7000b7b2be = function(arg0, arg1, arg2) { + const ret = new Uint8Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithstrsequenceandoptions_af096ce40d9d9ac8 = function() { return handleError(function (arg0, arg1) { + const ret = new Blob(arg0, arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_now_2c95c9de01293173 = function(arg0) { + const ret = arg0.now(); + return ret; + }; + imports.wbg.__wbg_observe_e2208b07fe315de7 = function(arg0, arg1) { + arg0.observe(arg1); + }; + imports.wbg.__wbg_observe_ec91d62599b7772b = function(arg0, arg1) { + arg0.observe(arg1); + }; + imports.wbg.__wbg_observe_fd48955513eca909 = function(arg0, arg1, arg2) { + arg0.observe(arg1, arg2); + }; + imports.wbg.__wbg_of_2f6232d86af7992c = function(arg0, arg1) { + const ret = Array.of(arg0, arg1); + return ret; + }; + imports.wbg.__wbg_of_5ae3a2d893e18853 = function(arg0) { + const ret = Array.of(arg0); + return ret; + }; + imports.wbg.__wbg_offsetX_d6957d052a0d4b11 = function(arg0) { + const ret = arg0.offsetX; + return ret; + }; + imports.wbg.__wbg_offsetY_076edde514bf80f4 = function(arg0) { + const ret = arg0.offsetY; + return ret; + }; + imports.wbg.__wbg_offset_336f14c993863b76 = function(arg0) { + const ret = arg0.offset; + return ret; + }; + imports.wbg.__wbg_performance_7a3ffd0b17f663ad = function(arg0) { + const ret = arg0.performance; + return ret; + }; + imports.wbg.__wbg_persisted_7e044507e52804d9 = function(arg0) { + const ret = arg0.persisted; + return ret; + }; + imports.wbg.__wbg_pixelStorei_198b92c3e346678a = function(arg0, arg1, arg2) { + arg0.pixelStorei(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_pixelStorei_9c4cb0a4b040b41d = function(arg0, arg1, arg2) { + arg0.pixelStorei(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_play_e7eb90a843114e0d = function(arg0) { + arg0.play(); + }; + imports.wbg.__wbg_pointerId_a2cbd2cdd6da90b2 = function(arg0) { + const ret = arg0.pointerId; + return ret; + }; + imports.wbg.__wbg_pointerType_1b74686427cdec29 = function(arg0, arg1) { + const ret = arg1.pointerType; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_polygonOffset_7ec31dee95d41171 = function(arg0, arg1, arg2) { + arg0.polygonOffset(arg1, arg2); + }; + imports.wbg.__wbg_polygonOffset_c6cbc8093770e840 = function(arg0, arg1, arg2) { + arg0.polygonOffset(arg1, arg2); + }; + imports.wbg.__wbg_popErrorScope_af0b22f136a861d6 = function(arg0) { + const ret = arg0.popErrorScope(); + return ret; + }; + imports.wbg.__wbg_port1_6f5b26fd23d19536 = function(arg0) { + const ret = arg0.port1; + return ret; + }; + imports.wbg.__wbg_port2_2eb4c961d6df5816 = function(arg0) { + const ret = arg0.port2; + return ret; + }; + imports.wbg.__wbg_postMessage_33dcf5caa3589c64 = function() { return handleError(function (arg0, arg1, arg2) { + arg0.postMessage(arg1, arg2); + }, arguments) }; + imports.wbg.__wbg_postMessage_3e7f3215320b4a9c = function() { return handleError(function (arg0, arg1) { + arg0.postMessage(arg1); + }, arguments) }; + imports.wbg.__wbg_postTask_9ba4c3cedae00b38 = function(arg0, arg1, arg2) { + const ret = arg0.postTask(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_pressure_8707a47b6fb1c1fd = function(arg0) { + const ret = arg0.pressure; + return ret; + }; + imports.wbg.__wbg_preventDefault_faafffcaad92972d = function(arg0) { + arg0.preventDefault(); + }; + imports.wbg.__wbg_prototype_0f68911d93450df4 = function() { + const ret = ResizeObserverEntry.prototype; + return ret; + }; + imports.wbg.__wbg_pushErrorScope_b52914ff10ba6ce3 = function(arg0, arg1) { + arg0.pushErrorScope(__wbindgen_enum_GpuErrorFilter[arg1]); + }; + imports.wbg.__wbg_push_3e9ce81246ef1d1b = function(arg0, arg1) { + const ret = arg0.push(arg1); + return ret; + }; + imports.wbg.__wbg_queryCounterEXT_6da4ab4ec9c37329 = function(arg0, arg1, arg2) { + arg0.queryCounterEXT(arg1, arg2 >>> 0); + }; + imports.wbg.__wbg_querySelectorAll_775f04e6f26ad643 = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.querySelectorAll(getStringFromWasm0(arg1, arg2)); + return ret; + }, arguments) }; + imports.wbg.__wbg_querySelector_473a7bd6647e7cbb = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.querySelector(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_queueMicrotask_3d422e1ba49c2500 = function(arg0) { + const ret = arg0.queueMicrotask; + return ret; + }; + imports.wbg.__wbg_queueMicrotask_5fc3e400ac3c03f4 = function(arg0) { + queueMicrotask(arg0); + }; + imports.wbg.__wbg_queueMicrotask_f301663ccadbb7d0 = function(arg0) { + queueMicrotask(arg0); + }; + imports.wbg.__wbg_queue_bea4017efaaf9904 = function(arg0) { + const ret = arg0.queue; + return ret; + }; + imports.wbg.__wbg_readBuffer_8fd1512f6bdfc8f0 = function(arg0, arg1) { + arg0.readBuffer(arg1 >>> 0); + }; + imports.wbg.__wbg_readPixels_48fc96a447cda9aa = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + arg0.readPixels(arg1, arg2, arg3, arg4, arg5 >>> 0, arg6 >>> 0, arg7); + }, arguments) }; + imports.wbg.__wbg_readPixels_7b1022930a9026d1 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + arg0.readPixels(arg1, arg2, arg3, arg4, arg5 >>> 0, arg6 >>> 0, arg7); + }, arguments) }; + imports.wbg.__wbg_readPixels_da6e94b84b4cfd41 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + arg0.readPixels(arg1, arg2, arg3, arg4, arg5 >>> 0, arg6 >>> 0, arg7); + }, arguments) }; + imports.wbg.__wbg_reason_43acd39cce242b50 = function(arg0) { + const ret = arg0.reason; + return (__wbindgen_enum_GpuDeviceLostReason.indexOf(ret) + 1 || 3) - 1; + }; + imports.wbg.__wbg_removeEventListener_d14a328308e427ba = function() { return handleError(function (arg0, arg1, arg2, arg3) { + arg0.removeEventListener(getStringFromWasm0(arg1, arg2), arg3); + }, arguments) }; + imports.wbg.__wbg_removeListener_aee72eb2e5fba09c = function() { return handleError(function (arg0, arg1) { + arg0.removeListener(arg1); + }, arguments) }; + imports.wbg.__wbg_removeProperty_902c73a4430b3e54 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = arg1.removeProperty(getStringFromWasm0(arg2, arg3)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_renderbufferStorageMultisample_abd1099fecb2e2a4 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.renderbufferStorageMultisample(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_renderbufferStorage_56c61eb0bb2718a9 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.renderbufferStorage(arg1 >>> 0, arg2 >>> 0, arg3, arg4); + }; + imports.wbg.__wbg_renderbufferStorage_aa4b58453d5aca0f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.renderbufferStorage(arg1 >>> 0, arg2 >>> 0, arg3, arg4); + }; + imports.wbg.__wbg_repeat_56fa20e30d00be95 = function(arg0) { + const ret = arg0.repeat; + return ret; + }; + imports.wbg.__wbg_requestAdapter_e6dcfac497cafa7a = function(arg0, arg1) { + const ret = arg0.requestAdapter(arg1); + return ret; + }; + imports.wbg.__wbg_requestAnimationFrame_e8ca543d07df528e = function() { return handleError(function (arg0, arg1) { + const ret = arg0.requestAnimationFrame(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_requestDevice_03b802707d5a382c = function(arg0, arg1) { + const ret = arg0.requestDevice(arg1); + return ret; + }; + imports.wbg.__wbg_requestFullscreen_e1ad8752a4e33f7e = function(arg0) { + const ret = arg0.requestFullscreen; + return ret; + }; + imports.wbg.__wbg_requestFullscreen_f727b1f250ebb10a = function(arg0) { + const ret = arg0.requestFullscreen(); + return ret; + }; + imports.wbg.__wbg_requestIdleCallback_773c554fc8c5a310 = function(arg0) { + const ret = arg0.requestIdleCallback; + return ret; + }; + imports.wbg.__wbg_requestIdleCallback_ba1f658c72e2140c = function() { return handleError(function (arg0, arg1) { + const ret = arg0.requestIdleCallback(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_resolveQuerySet_811661fb23f3b699 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.resolveQuerySet(arg1, arg2 >>> 0, arg3 >>> 0, arg4, arg5 >>> 0); + }; + imports.wbg.__wbg_resolve_6a311e8bb26423ab = function(arg0) { + const ret = Promise.resolve(arg0); + return ret; + }; + imports.wbg.__wbg_revokeObjectURL_3e4ad6d46a9a93f1 = function() { return handleError(function (arg0, arg1) { + URL.revokeObjectURL(getStringFromWasm0(arg0, arg1)); + }, arguments) }; + imports.wbg.__wbg_samplerParameterf_a9708333dc0df03e = function(arg0, arg1, arg2, arg3) { + arg0.samplerParameterf(arg1, arg2 >>> 0, arg3); + }; + imports.wbg.__wbg_samplerParameteri_6011eca3eaa96ac6 = function(arg0, arg1, arg2, arg3) { + arg0.samplerParameteri(arg1, arg2 >>> 0, arg3); + }; + imports.wbg.__wbg_scheduler_10edeee35a76c7c6 = function(arg0) { + const ret = arg0.scheduler; + return ret; + }; + imports.wbg.__wbg_scheduler_6d71128f17fbca34 = function(arg0) { + const ret = arg0.scheduler; + return ret; + }; + imports.wbg.__wbg_scissor_4c06926fa8af817c = function(arg0, arg1, arg2, arg3, arg4) { + arg0.scissor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_scissor_608c4f610141e6df = function(arg0, arg1, arg2, arg3, arg4) { + arg0.scissor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_search_4c8c4c416a168e55 = function() { return handleError(function (arg0, arg1) { + const ret = arg1.search; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_self_ac4343e4047b83cc = function() { return handleError(function () { + const ret = self.self; + return ret; + }, arguments) }; + imports.wbg.__wbg_setAttribute_e5d83ecaf7f586d5 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { + arg0.setAttribute(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4)); + }, arguments) }; + imports.wbg.__wbg_setBindGroup_62a3045b0921e429 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setBindGroup(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4), arg5, arg6 >>> 0); + }; + imports.wbg.__wbg_setBindGroup_6c0fd18e9a53a945 = function(arg0, arg1, arg2) { + arg0.setBindGroup(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_setBindGroup_7f3b61f1f482133b = function(arg0, arg1, arg2) { + arg0.setBindGroup(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_setBindGroup_bf767a5aa46a33ce = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setBindGroup(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4), arg5, arg6 >>> 0); + }; + imports.wbg.__wbg_setBindGroup_c4aaff14063226b4 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setBindGroup(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4), arg5, arg6 >>> 0); + }; + imports.wbg.__wbg_setBindGroup_f82e771dc1b69093 = function(arg0, arg1, arg2) { + arg0.setBindGroup(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_setBlendConstant_016723821cfb3aa4 = function(arg0, arg1) { + arg0.setBlendConstant(arg1); + }; + imports.wbg.__wbg_setIndexBuffer_286a40afdff411b7 = function(arg0, arg1, arg2, arg3) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3); + }; + imports.wbg.__wbg_setIndexBuffer_7efd0b7a40c65fb9 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3, arg4); + }; + imports.wbg.__wbg_setIndexBuffer_e091a9673bb575e2 = function(arg0, arg1, arg2, arg3) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3); + }; + imports.wbg.__wbg_setIndexBuffer_f0759f00036f615f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3, arg4); + }; + imports.wbg.__wbg_setPipeline_ba92070b8ee81cf9 = function(arg0, arg1) { + arg0.setPipeline(arg1); + }; + imports.wbg.__wbg_setPipeline_c344f76bae58c4d6 = function(arg0, arg1) { + arg0.setPipeline(arg1); + }; + imports.wbg.__wbg_setPipeline_d76451c50a121598 = function(arg0, arg1) { + arg0.setPipeline(arg1); + }; + imports.wbg.__wbg_setPointerCapture_6b89bc3d20c408af = function() { return handleError(function (arg0, arg1) { + arg0.setPointerCapture(arg1); + }, arguments) }; + imports.wbg.__wbg_setProperty_b11b0bad191551d1 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { + arg0.setProperty(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4)); + }, arguments) }; + imports.wbg.__wbg_setScissorRect_0b6ee0852ef0b6b9 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setScissorRect(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_setStencilReference_34fd3d59673a5a9d = function(arg0, arg1) { + arg0.setStencilReference(arg1 >>> 0); + }; + imports.wbg.__wbg_setTimeout_11f3c7cad8433a4f = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.setTimeout(arg1, arg2); + return ret; + }, arguments) }; + imports.wbg.__wbg_setTimeout_15ba883433c836ab = function() { return handleError(function (arg0, arg1) { + const ret = arg0.setTimeout(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_setVertexBuffer_06a90dc78e1ad9c4 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_setVertexBuffer_1540e9118b6c451d = function(arg0, arg1, arg2, arg3) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_setVertexBuffer_5166eedc06450701 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_setVertexBuffer_8621784e5014065b = function(arg0, arg1, arg2, arg3) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_setViewport_731ad30abb13f744 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setViewport(arg1, arg2, arg3, arg4, arg5, arg6); + }; + imports.wbg.__wbg_set_421385e996a16e02 = function() { return handleError(function (arg0, arg1, arg2) { + const ret = Reflect.set(arg0, arg1, arg2); + return ret; + }, arguments) }; + imports.wbg.__wbg_set_7b70226104a82921 = function(arg0, arg1, arg2) { + arg0.set(arg1, arg2 >>> 0); + }; + imports.wbg.__wbg_setbox_f664fc1447c0b2bb = function(arg0, arg1) { + arg0.box = __wbindgen_enum_ResizeObserverBoxOptions[arg1]; + }; + imports.wbg.__wbg_setheight_4286b13b9186d39f = function(arg0, arg1) { + arg0.height = arg1 >>> 0; + }; + imports.wbg.__wbg_setheight_7632621fed149fd9 = function(arg0, arg1) { + arg0.height = arg1 >>> 0; + }; + imports.wbg.__wbg_setonmessage_1f177e6cba71d19d = function(arg0, arg1) { + arg0.onmessage = arg1; + }; + imports.wbg.__wbg_setonuncapturederror_19541466822d790b = function(arg0, arg1) { + arg0.onuncapturederror = arg1; + }; + imports.wbg.__wbg_settabIndex_bc37dd560b089902 = function(arg0, arg1) { + arg0.tabIndex = arg1; + }; + imports.wbg.__wbg_settype_202db174d92fe493 = function(arg0, arg1, arg2) { + arg0.type = getStringFromWasm0(arg1, arg2); + }; + imports.wbg.__wbg_setwidth_5e43e6e177d3e2ec = function(arg0, arg1) { + arg0.width = arg1 >>> 0; + }; + imports.wbg.__wbg_setwidth_db46810857c0f6bd = function(arg0, arg1) { + arg0.width = arg1 >>> 0; + }; + imports.wbg.__wbg_shaderSource_7d9e91c6b9aaf864 = function(arg0, arg1, arg2, arg3) { + arg0.shaderSource(arg1, getStringFromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_shaderSource_b7db90958962e1f7 = function(arg0, arg1, arg2, arg3) { + arg0.shaderSource(arg1, getStringFromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_shiftKey_570898b1142a9898 = function(arg0) { + const ret = arg0.shiftKey; + return ret; + }; + imports.wbg.__wbg_shiftKey_e90da27a3092777e = function(arg0) { + const ret = arg0.shiftKey; + return ret; + }; + imports.wbg.__wbg_signal_fd2d6d0644f16ad8 = function(arg0) { + const ret = arg0.signal; + return ret; + }; + imports.wbg.__wbg_size_661bddb3f9898121 = function(arg0) { + const ret = arg0.size; + return ret; + }; + imports.wbg.__wbg_stack_0ed75d68575b0f3c = function(arg0, arg1) { + const ret = arg1.stack; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_start_a00c28f297559e1d = function(arg0) { + arg0.start(); + }; + imports.wbg.__wbg_stencilFuncSeparate_903776516b404f1e = function(arg0, arg1, arg2, arg3, arg4) { + arg0.stencilFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3, arg4 >>> 0); + }; + imports.wbg.__wbg_stencilFuncSeparate_9987b0fe1f74adc3 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.stencilFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3, arg4 >>> 0); + }; + imports.wbg.__wbg_stencilMaskSeparate_24a5bad679d4896c = function(arg0, arg1, arg2) { + arg0.stencilMaskSeparate(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_stencilMaskSeparate_5ade706794e0ff10 = function(arg0, arg1, arg2) { + arg0.stencilMaskSeparate(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_stencilMask_8ccbc71e58e71b93 = function(arg0, arg1) { + arg0.stencilMask(arg1 >>> 0); + }; + imports.wbg.__wbg_stencilMask_e03561d8e6b7171a = function(arg0, arg1) { + arg0.stencilMask(arg1 >>> 0); + }; + imports.wbg.__wbg_stencilOpSeparate_13e313403862a2bc = function(arg0, arg1, arg2, arg3, arg4) { + arg0.stencilOpSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_stencilOpSeparate_e03fe45a6a83cf8f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.stencilOpSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_style_e7c4e0938a7565b2 = function(arg0) { + const ret = arg0.style; + return ret; + }; + imports.wbg.__wbg_submit_f635072bb3d05faa = function(arg0, arg1) { + arg0.submit(arg1); + }; + imports.wbg.__wbg_texImage2D_102612af3b3ea301 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texImage2D_38f7a3dc4dcf0183 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texImage3D_4828de4d80648b9d = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) { + arg0.texImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8 >>> 0, arg9 >>> 0, arg10); + }, arguments) }; + imports.wbg.__wbg_texParameteri_2cc96bb59a67d4c2 = function(arg0, arg1, arg2, arg3) { + arg0.texParameteri(arg1 >>> 0, arg2 >>> 0, arg3); + }; + imports.wbg.__wbg_texParameteri_8e4109b7fbd3b875 = function(arg0, arg1, arg2, arg3) { + arg0.texParameteri(arg1 >>> 0, arg2 >>> 0, arg3); + }; + imports.wbg.__wbg_texStorage2D_728b9632dbd913e2 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.texStorage2D(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_texStorage3D_04d10ef19e465ec2 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.texStorage3D(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5, arg6); + }; + imports.wbg.__wbg_texSubImage2D_0c095c30c73e34c0 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_3c9a9ceac3c27fe7 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_3dbb6fb895fd53a7 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_4e505a214a40fc20 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_7197aef4cdbc7d70 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_746d9e75d2dd12d1 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_ca1d7744b168aa02 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_da8455e8da280cee = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_82336f6100e3ef24 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_831e19830a791320 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_9623fc609df925f5 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_9a8cb5676fdf0b50 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_a18f6424082a9393 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_d127dad275801f75 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_ebd1f2b229a92c5d = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_then_5c6469c1e1da9e59 = function(arg0, arg1) { + const ret = arg0.then(arg1); + return ret; + }; + imports.wbg.__wbg_then_faeb8aed8c1629b7 = function(arg0, arg1, arg2) { + const ret = arg0.then(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_type_c0d5d83032e9858a = function(arg0) { + const ret = arg0.type; + return (__wbindgen_enum_GpuCompilationMessageType.indexOf(ret) + 1 || 4) - 1; + }; + imports.wbg.__wbg_uniform1f_163e6ffe0d9805a4 = function(arg0, arg1, arg2) { + arg0.uniform1f(arg1, arg2); + }; + imports.wbg.__wbg_uniform1f_bb85eb8ed9248e52 = function(arg0, arg1, arg2) { + arg0.uniform1f(arg1, arg2); + }; + imports.wbg.__wbg_uniform1i_9fe01b91ff85aa85 = function(arg0, arg1, arg2) { + arg0.uniform1i(arg1, arg2); + }; + imports.wbg.__wbg_uniform1i_da7c764279d55bb5 = function(arg0, arg1, arg2) { + arg0.uniform1i(arg1, arg2); + }; + imports.wbg.__wbg_uniform1ui_1cd8b5fee3b44787 = function(arg0, arg1, arg2) { + arg0.uniform1ui(arg1, arg2 >>> 0); + }; + imports.wbg.__wbg_uniform2fv_40e0cc0b3d7ab815 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform2fv_d7ec4f77d2282f77 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform2iv_6d1ed66fa019f1a6 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform2iv_b36969471f3bb8e2 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform2uiv_e5d292b09c7c2eb4 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2uiv(arg1, getArrayU32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3fv_4f40a7b75bcdeb91 = function(arg0, arg1, arg2, arg3) { + arg0.uniform3fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3fv_c6fea7086ffa568e = function(arg0, arg1, arg2, arg3) { + arg0.uniform3fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3iv_46cafa9a87333139 = function(arg0, arg1, arg2, arg3) { + arg0.uniform3iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3iv_c13167af320af60e = function(arg0, arg1, arg2, arg3) { + arg0.uniform3iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3uiv_7e60873d7a35f50b = function(arg0, arg1, arg2, arg3) { + arg0.uniform3uiv(arg1, getArrayU32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4f_2408c0a3b4a0941d = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.uniform4f(arg1, arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_uniform4f_4eebf85a05c60a16 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.uniform4f(arg1, arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_uniform4fv_7ecf41f27e0e71ec = function(arg0, arg1, arg2, arg3) { + arg0.uniform4fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4fv_c88b1733f9a40a7a = function(arg0, arg1, arg2, arg3) { + arg0.uniform4fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4iv_0ee5d566bd3880e4 = function(arg0, arg1, arg2, arg3) { + arg0.uniform4iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4iv_cd69e9451d767045 = function(arg0, arg1, arg2, arg3) { + arg0.uniform4iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4uiv_c55d0b6c672eaf59 = function(arg0, arg1, arg2, arg3) { + arg0.uniform4uiv(arg1, getArrayU32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniformBlockBinding_e646e98e7f5da8fa = function(arg0, arg1, arg2, arg3) { + arg0.uniformBlockBinding(arg1, arg2 >>> 0, arg3 >>> 0); + }; + imports.wbg.__wbg_uniformMatrix2fv_ae2d3b42477e00fd = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix2fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix2fv_d44126fac416e7e4 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix2fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix2x3fv_18d94e4451a372cc = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix2x3fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix2x4fv_c34a8a330e7c94bd = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix2x4fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix3fv_652493ea4042e14f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix3fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix3fv_a3b27e44f0ad7caa = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix3fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix3x2fv_1bc7685c610e2b46 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix3x2fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix3x4fv_c99cdce05d7ffca9 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix3x4fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix4fv_a5f6838f6e217418 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix4fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix4fv_bbdf3d84ccedee84 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix4fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix4x2fv_05ec6db042145650 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix4x2fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix4x3fv_c393892235ce0f8b = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix4x3fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_unmap_8c2e8131b2aaa844 = function(arg0) { + arg0.unmap(); + }; + imports.wbg.__wbg_unobserve_9198337c0c96042f = function(arg0, arg1) { + arg0.unobserve(arg1); + }; + imports.wbg.__wbg_usage_13caa02888040e9f = function(arg0) { + const ret = arg0.usage; + return ret; + }; + imports.wbg.__wbg_useProgram_795e70e5047fcb65 = function(arg0, arg1) { + arg0.useProgram(arg1); + }; + imports.wbg.__wbg_useProgram_e84b53bf74bbe9b3 = function(arg0, arg1) { + arg0.useProgram(arg1); + }; + imports.wbg.__wbg_userAgentData_5e600df9bb352050 = function(arg0) { + const ret = arg0.userAgentData; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_userAgent_bfd54e5c60738678 = function() { return handleError(function (arg0, arg1) { + const ret = arg1.userAgent; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_valueOf_a2728b52687d72b4 = function(arg0) { + const ret = arg0.valueOf(); + return ret; + }; + imports.wbg.__wbg_vertexAttribDivisorANGLE_78ad959056e0feb7 = function(arg0, arg1, arg2) { + arg0.vertexAttribDivisorANGLE(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_vertexAttribDivisor_bc3026299e814316 = function(arg0, arg1, arg2) { + arg0.vertexAttribDivisor(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_vertexAttribIPointer_4397ca04b895d127 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.vertexAttribIPointer(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_vertexAttribPointer_1738c34c1c0d57a0 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.vertexAttribPointer(arg1 >>> 0, arg2, arg3 >>> 0, arg4 !== 0, arg5, arg6); + }; + imports.wbg.__wbg_vertexAttribPointer_34a2b143ee35746f = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.vertexAttribPointer(arg1 >>> 0, arg2, arg3 >>> 0, arg4 !== 0, arg5, arg6); + }; + imports.wbg.__wbg_videoHeight_7d8449d4b1aad15d = function(arg0) { + const ret = arg0.videoHeight; + return ret; + }; + imports.wbg.__wbg_videoWidth_134d623b7b20f203 = function(arg0) { + const ret = arg0.videoWidth; + return ret; + }; + imports.wbg.__wbg_viewport_04c48fc077486d94 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.viewport(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_viewport_301bba26f65246ed = function(arg0, arg1, arg2, arg3, arg4) { + arg0.viewport(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_visibilityState_c2b01655a6777e68 = function(arg0) { + const ret = arg0.visibilityState; + return (__wbindgen_enum_VisibilityState.indexOf(ret) + 1 || 3) - 1; + }; + imports.wbg.__wbg_warn_a6963915e4da61f6 = function(arg0) { + console.warn(arg0); + }; + imports.wbg.__wbg_webkitFullscreenElement_0c4654cdfe6894e5 = function(arg0) { + const ret = arg0.webkitFullscreenElement; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_webkitRequestFullscreen_fe95241c4f21ea63 = function(arg0) { + arg0.webkitRequestFullscreen(); + }; + imports.wbg.__wbg_width_514dd9b3b0cff49c = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_551edb4bb900e3dd = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_826b25a505a0b357 = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_dfc6149b0c4d8821 = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_e9eedd46da897708 = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_ee6a46425045c0dd = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_window_1a23defd102c72f4 = function() { return handleError(function () { + const ret = window.window; + return ret; + }, arguments) }; + imports.wbg.__wbg_writeBuffer_5ca4981365eb5ac0 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.writeBuffer(arg1, arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_writeTexture_246118eb2f5a1592 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.writeTexture(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbindgen_boolean_get = function(arg0) { + const v = arg0; + const ret = typeof(v) === 'boolean' ? (v ? 1 : 0) : 2; + return ret; + }; + imports.wbg.__wbindgen_cb_drop = function(arg0) { + const obj = arg0.original; + if (obj.cnt-- == 1) { + obj.a = 0; + return true; + } + const ret = false; + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2730 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 356, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper4897 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 356, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper4903 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 356, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6314 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 356, __wbg_adapter_41); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6359 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 356, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6376 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 356, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6377 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 356, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6378 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 356, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6379 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 356, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6380 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 356, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6422 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 356, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6423 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 356, __wbg_adapter_58); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6424 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 356, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_debug_string = function(arg0, arg1) { + const ret = debugString(arg1); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_init_externref_table = function() { + const table = wasm.__wbindgen_export_1; + const offset = table.grow(4); + table.set(0, undefined); + table.set(offset + 0, undefined); + table.set(offset + 1, null); + table.set(offset + 2, true); + table.set(offset + 3, false); + ; + }; + imports.wbg.__wbindgen_is_function = function(arg0) { + const ret = typeof(arg0) === 'function'; + return ret; + }; + imports.wbg.__wbindgen_is_null = function(arg0) { + const ret = arg0 === null; + return ret; + }; + imports.wbg.__wbindgen_is_object = function(arg0) { + const val = arg0; + const ret = typeof(val) === 'object' && val !== null; + return ret; + }; + imports.wbg.__wbindgen_is_undefined = function(arg0) { + const ret = arg0 === undefined; + return ret; + }; + imports.wbg.__wbindgen_memory = function() { + const ret = wasm.memory; + return ret; + }; + imports.wbg.__wbindgen_number_get = function(arg0, arg1) { + const obj = arg1; + const ret = typeof(obj) === 'number' ? obj : undefined; + getDataViewMemory0().setFloat64(arg0 + 8 * 1, isLikeNone(ret) ? 0 : ret, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true); + }; + imports.wbg.__wbindgen_number_new = function(arg0) { + const ret = arg0; + return ret; + }; + imports.wbg.__wbindgen_string_get = function(arg0, arg1) { + const obj = arg1; + const ret = typeof(obj) === 'string' ? obj : undefined; + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_string_new = function(arg0, arg1) { + const ret = getStringFromWasm0(arg0, arg1); + return ret; + }; + imports.wbg.__wbindgen_throw = function(arg0, arg1) { + throw new Error(getStringFromWasm0(arg0, arg1)); + }; + imports['env'] = __wbg_star0; + + return imports; +} + +function __wbg_init_memory(imports, memory) { + +} + +function __wbg_finalize_init(instance, module) { + wasm = instance.exports; + __wbg_init.__wbindgen_wasm_module = module; + cachedDataViewMemory0 = null; + cachedFloat32ArrayMemory0 = null; + cachedInt32ArrayMemory0 = null; + cachedUint32ArrayMemory0 = null; + cachedUint8ArrayMemory0 = null; + + + wasm.__wbindgen_start(); + return wasm; +} + +function initSync(module) { + if (wasm !== undefined) return wasm; + + + if (typeof module !== 'undefined') { + if (Object.getPrototypeOf(module) === Object.prototype) { + ({module} = module) + } else { + console.warn('using deprecated parameters for `initSync()`; pass a single object instead') + } + } + + const imports = __wbg_get_imports(); + + __wbg_init_memory(imports); + + if (!(module instanceof WebAssembly.Module)) { + module = new WebAssembly.Module(module); + } + + const instance = new WebAssembly.Instance(module, imports); + + return __wbg_finalize_init(instance, module); +} + +async function __wbg_init(module_or_path) { + if (wasm !== undefined) return wasm; + + + if (typeof module_or_path !== 'undefined') { + if (Object.getPrototypeOf(module_or_path) === Object.prototype) { + ({module_or_path} = module_or_path) + } else { + console.warn('using deprecated parameters for the initialization function; pass a single object instead') + } + } + + if (typeof module_or_path === 'undefined') { + module_or_path = new URL('tutorial5-textures_bg.wasm', import.meta.url); + } + const imports = __wbg_get_imports(); + + if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) { + module_or_path = fetch(module_or_path); + } + + __wbg_init_memory(imports); + + const { instance, module } = await __wbg_load(await module_or_path, imports); + + return __wbg_finalize_init(instance, module); +} + +export { initSync }; +export default __wbg_init; diff --git a/wasm/tutorial5-textures_bg.wasm b/wasm/tutorial5-textures_bg.wasm new file mode 100644 index 00000000..503b42c9 Binary files /dev/null and b/wasm/tutorial5-textures_bg.wasm differ diff --git a/wasm/tutorial6-uniforms.js b/wasm/tutorial6-uniforms.js new file mode 100644 index 00000000..4b57be8f --- /dev/null +++ b/wasm/tutorial6-uniforms.js @@ -0,0 +1,2593 @@ +import * as __wbg_star0 from 'env'; + +let wasm; + +function isLikeNone(x) { + return x === undefined || x === null; +} + +function addToExternrefTable0(obj) { + const idx = wasm.__externref_table_alloc(); + wasm.__wbindgen_export_1.set(idx, obj); + return idx; +} + +const cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : { decode: () => { throw Error('TextDecoder not available') } } ); + +if (typeof TextDecoder !== 'undefined') { cachedTextDecoder.decode(); }; + +let cachedUint8ArrayMemory0 = null; + +function getUint8ArrayMemory0() { + if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) { + cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer); + } + return cachedUint8ArrayMemory0; +} + +function getStringFromWasm0(ptr, len) { + ptr = ptr >>> 0; + return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len)); +} + +function handleError(f, args) { + try { + return f.apply(this, args); + } catch (e) { + const idx = addToExternrefTable0(e); + wasm.__wbindgen_exn_store(idx); + } +} + +let WASM_VECTOR_LEN = 0; + +const cachedTextEncoder = (typeof TextEncoder !== 'undefined' ? new TextEncoder('utf-8') : { encode: () => { throw Error('TextEncoder not available') } } ); + +const encodeString = (typeof cachedTextEncoder.encodeInto === 'function' + ? function (arg, view) { + return cachedTextEncoder.encodeInto(arg, view); +} + : function (arg, view) { + const buf = cachedTextEncoder.encode(arg); + view.set(buf); + return { + read: arg.length, + written: buf.length + }; +}); + +function passStringToWasm0(arg, malloc, realloc) { + + if (realloc === undefined) { + const buf = cachedTextEncoder.encode(arg); + const ptr = malloc(buf.length, 1) >>> 0; + getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf); + WASM_VECTOR_LEN = buf.length; + return ptr; + } + + let len = arg.length; + let ptr = malloc(len, 1) >>> 0; + + const mem = getUint8ArrayMemory0(); + + let offset = 0; + + for (; offset < len; offset++) { + const code = arg.charCodeAt(offset); + if (code > 0x7F) break; + mem[ptr + offset] = code; + } + + if (offset !== len) { + if (offset !== 0) { + arg = arg.slice(offset); + } + ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0; + const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len); + const ret = encodeString(arg, view); + + offset += ret.written; + ptr = realloc(ptr, len, offset, 1) >>> 0; + } + + WASM_VECTOR_LEN = offset; + return ptr; +} + +let cachedDataViewMemory0 = null; + +function getDataViewMemory0() { + if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) { + cachedDataViewMemory0 = new DataView(wasm.memory.buffer); + } + return cachedDataViewMemory0; +} + +let cachedFloat32ArrayMemory0 = null; + +function getFloat32ArrayMemory0() { + if (cachedFloat32ArrayMemory0 === null || cachedFloat32ArrayMemory0.byteLength === 0) { + cachedFloat32ArrayMemory0 = new Float32Array(wasm.memory.buffer); + } + return cachedFloat32ArrayMemory0; +} + +function getArrayF32FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getFloat32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len); +} + +let cachedInt32ArrayMemory0 = null; + +function getInt32ArrayMemory0() { + if (cachedInt32ArrayMemory0 === null || cachedInt32ArrayMemory0.byteLength === 0) { + cachedInt32ArrayMemory0 = new Int32Array(wasm.memory.buffer); + } + return cachedInt32ArrayMemory0; +} + +function getArrayI32FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getInt32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len); +} + +let cachedUint32ArrayMemory0 = null; + +function getUint32ArrayMemory0() { + if (cachedUint32ArrayMemory0 === null || cachedUint32ArrayMemory0.byteLength === 0) { + cachedUint32ArrayMemory0 = new Uint32Array(wasm.memory.buffer); + } + return cachedUint32ArrayMemory0; +} + +function getArrayU32FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getUint32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len); +} + +const CLOSURE_DTORS = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(state => { + wasm.__wbindgen_export_6.get(state.dtor)(state.a, state.b) +}); + +function makeMutClosure(arg0, arg1, dtor, f) { + const state = { a: arg0, b: arg1, cnt: 1, dtor }; + const real = (...args) => { + // First up with a closure we increment the internal reference + // count. This ensures that the Rust closure environment won't + // be deallocated while we're invoking it. + state.cnt++; + const a = state.a; + state.a = 0; + try { + return f(a, state.b, ...args); + } finally { + if (--state.cnt === 0) { + wasm.__wbindgen_export_6.get(state.dtor)(a, state.b); + CLOSURE_DTORS.unregister(state); + } else { + state.a = a; + } + } + }; + real.original = state; + CLOSURE_DTORS.register(real, state, state); + return real; +} + +function debugString(val) { + // primitive types + const type = typeof val; + if (type == 'number' || type == 'boolean' || val == null) { + return `${val}`; + } + if (type == 'string') { + return `"${val}"`; + } + if (type == 'symbol') { + const description = val.description; + if (description == null) { + return 'Symbol'; + } else { + return `Symbol(${description})`; + } + } + if (type == 'function') { + const name = val.name; + if (typeof name == 'string' && name.length > 0) { + return `Function(${name})`; + } else { + return 'Function'; + } + } + // objects + if (Array.isArray(val)) { + const length = val.length; + let debug = '['; + if (length > 0) { + debug += debugString(val[0]); + } + for(let i = 1; i < length; i++) { + debug += ', ' + debugString(val[i]); + } + debug += ']'; + return debug; + } + // Test for built-in + const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val)); + let className; + if (builtInMatches && builtInMatches.length > 1) { + className = builtInMatches[1]; + } else { + // Failed to match the standard '[object ClassName]' + return toString.call(val); + } + if (className == 'Object') { + // we're a user defined class or Object + // JSON.stringify avoids problems with cycles, and is generally much + // easier than looping through ownProperties of `val`. + try { + return 'Object(' + JSON.stringify(val) + ')'; + } catch (_) { + return 'Object'; + } + } + // errors + if (val instanceof Error) { + return `${val.name}: ${val.message}\n${val.stack}`; + } + // TODO we could test for more things here, like `Set`s and `Map`s. + return className; +} +function __wbg_adapter_34(arg0, arg1, arg2) { + wasm.closure355_externref_shim(arg0, arg1, arg2); +} + +function __wbg_adapter_41(arg0, arg1) { + wasm._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hc2a92dab5895dab9(arg0, arg1); +} + +function __wbg_adapter_58(arg0, arg1, arg2, arg3) { + wasm.closure861_externref_shim(arg0, arg1, arg2, arg3); +} + +const __wbindgen_enum_GpuCompilationMessageType = ["error", "warning", "info"]; + +const __wbindgen_enum_GpuDeviceLostReason = ["unknown", "destroyed"]; + +const __wbindgen_enum_GpuErrorFilter = ["validation", "out-of-memory", "internal"]; + +const __wbindgen_enum_GpuIndexFormat = ["uint16", "uint32"]; + +const __wbindgen_enum_GpuTextureFormat = ["r8unorm", "r8snorm", "r8uint", "r8sint", "r16uint", "r16sint", "r16float", "rg8unorm", "rg8snorm", "rg8uint", "rg8sint", "r32uint", "r32sint", "r32float", "rg16uint", "rg16sint", "rg16float", "rgba8unorm", "rgba8unorm-srgb", "rgba8snorm", "rgba8uint", "rgba8sint", "bgra8unorm", "bgra8unorm-srgb", "rgb9e5ufloat", "rgb10a2uint", "rgb10a2unorm", "rg11b10ufloat", "rg32uint", "rg32sint", "rg32float", "rgba16uint", "rgba16sint", "rgba16float", "rgba32uint", "rgba32sint", "rgba32float", "stencil8", "depth16unorm", "depth24plus", "depth24plus-stencil8", "depth32float", "depth32float-stencil8", "bc1-rgba-unorm", "bc1-rgba-unorm-srgb", "bc2-rgba-unorm", "bc2-rgba-unorm-srgb", "bc3-rgba-unorm", "bc3-rgba-unorm-srgb", "bc4-r-unorm", "bc4-r-snorm", "bc5-rg-unorm", "bc5-rg-snorm", "bc6h-rgb-ufloat", "bc6h-rgb-float", "bc7-rgba-unorm", "bc7-rgba-unorm-srgb", "etc2-rgb8unorm", "etc2-rgb8unorm-srgb", "etc2-rgb8a1unorm", "etc2-rgb8a1unorm-srgb", "etc2-rgba8unorm", "etc2-rgba8unorm-srgb", "eac-r11unorm", "eac-r11snorm", "eac-rg11unorm", "eac-rg11snorm", "astc-4x4-unorm", "astc-4x4-unorm-srgb", "astc-5x4-unorm", "astc-5x4-unorm-srgb", "astc-5x5-unorm", "astc-5x5-unorm-srgb", "astc-6x5-unorm", "astc-6x5-unorm-srgb", "astc-6x6-unorm", "astc-6x6-unorm-srgb", "astc-8x5-unorm", "astc-8x5-unorm-srgb", "astc-8x6-unorm", "astc-8x6-unorm-srgb", "astc-8x8-unorm", "astc-8x8-unorm-srgb", "astc-10x5-unorm", "astc-10x5-unorm-srgb", "astc-10x6-unorm", "astc-10x6-unorm-srgb", "astc-10x8-unorm", "astc-10x8-unorm-srgb", "astc-10x10-unorm", "astc-10x10-unorm-srgb", "astc-12x10-unorm", "astc-12x10-unorm-srgb", "astc-12x12-unorm", "astc-12x12-unorm-srgb"]; + +const __wbindgen_enum_ResizeObserverBoxOptions = ["border-box", "content-box", "device-pixel-content-box"]; + +const __wbindgen_enum_VisibilityState = ["hidden", "visible"]; + +async function __wbg_load(module, imports) { + if (typeof Response === 'function' && module instanceof Response) { + if (typeof WebAssembly.instantiateStreaming === 'function') { + try { + return await WebAssembly.instantiateStreaming(module, imports); + + } catch (e) { + if (module.headers.get('Content-Type') != 'application/wasm') { + console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e); + + } else { + throw e; + } + } + } + + const bytes = await module.arrayBuffer(); + return await WebAssembly.instantiate(bytes, imports); + + } else { + const instance = await WebAssembly.instantiate(module, imports); + + if (instance instanceof WebAssembly.Instance) { + return { instance, module }; + + } else { + return instance; + } + } +} + +function __wbg_get_imports() { + const imports = {}; + imports.wbg = {}; + imports.wbg.__wbg_Window_96e58b3552ce6bb1 = function(arg0) { + const ret = arg0.Window; + return ret; + }; + imports.wbg.__wbg_Window_cf5b693340a7c469 = function(arg0) { + const ret = arg0.Window; + return ret; + }; + imports.wbg.__wbg_WorkerGlobalScope_354364d1b0bd06e5 = function(arg0) { + const ret = arg0.WorkerGlobalScope; + return ret; + }; + imports.wbg.__wbg_abort_19de2f828ee0874a = function(arg0) { + arg0.abort(); + }; + imports.wbg.__wbg_activeElement_d1a1f2b334adf636 = function(arg0) { + const ret = arg0.activeElement; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_activeTexture_24b42b03041f3428 = function(arg0, arg1) { + arg0.activeTexture(arg1 >>> 0); + }; + imports.wbg.__wbg_activeTexture_47928613532be667 = function(arg0, arg1) { + arg0.activeTexture(arg1 >>> 0); + }; + imports.wbg.__wbg_addEventListener_e27053e488770e58 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + arg0.addEventListener(getStringFromWasm0(arg1, arg2), arg3); + }, arguments) }; + imports.wbg.__wbg_addListener_dca1ccc036e24997 = function() { return handleError(function (arg0, arg1) { + arg0.addListener(arg1); + }, arguments) }; + imports.wbg.__wbg_altKey_56dd0987e7ccbbf2 = function(arg0) { + const ret = arg0.altKey; + return ret; + }; + imports.wbg.__wbg_altKey_583c79ba3f4fce1e = function(arg0) { + const ret = arg0.altKey; + return ret; + }; + imports.wbg.__wbg_animate_310f1b8e5b1fdb56 = function(arg0, arg1, arg2) { + const ret = arg0.animate(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_appendChild_805222aed73feea9 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.appendChild(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_attachShader_81000b0c4da5b206 = function(arg0, arg1, arg2) { + arg0.attachShader(arg1, arg2); + }; + imports.wbg.__wbg_attachShader_ccc35921e866b2bf = function(arg0, arg1, arg2) { + arg0.attachShader(arg1, arg2); + }; + imports.wbg.__wbg_beginComputePass_90d5303e604970cb = function(arg0, arg1) { + const ret = arg0.beginComputePass(arg1); + return ret; + }; + imports.wbg.__wbg_beginQuery_4e54bbe77706fb3c = function(arg0, arg1, arg2) { + arg0.beginQuery(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_beginRenderPass_9739520c601001c3 = function(arg0, arg1) { + const ret = arg0.beginRenderPass(arg1); + return ret; + }; + imports.wbg.__wbg_bindAttribLocation_a08ae4fdf9b16e7d = function(arg0, arg1, arg2, arg3, arg4) { + arg0.bindAttribLocation(arg1, arg2 >>> 0, getStringFromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_bindAttribLocation_b53db53e1b134420 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.bindAttribLocation(arg1, arg2 >>> 0, getStringFromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_bindBufferRange_ce5a2827ed937112 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.bindBufferRange(arg1 >>> 0, arg2 >>> 0, arg3, arg4, arg5); + }; + imports.wbg.__wbg_bindBuffer_0fedb16582ffeee6 = function(arg0, arg1, arg2) { + arg0.bindBuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindBuffer_c6e5f29d60e90c01 = function(arg0, arg1, arg2) { + arg0.bindBuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindFramebuffer_87e15614ca3e9537 = function(arg0, arg1, arg2) { + arg0.bindFramebuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindFramebuffer_a0d602bd474dcbfb = function(arg0, arg1, arg2) { + arg0.bindFramebuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindRenderbuffer_3100396894cc2d72 = function(arg0, arg1, arg2) { + arg0.bindRenderbuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindRenderbuffer_fd3e47dad76906ea = function(arg0, arg1, arg2) { + arg0.bindRenderbuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindSampler_7614054a94f8e3d1 = function(arg0, arg1, arg2) { + arg0.bindSampler(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindTexture_6478edbb238b9c73 = function(arg0, arg1, arg2) { + arg0.bindTexture(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindTexture_9b177c97248ed4d9 = function(arg0, arg1, arg2) { + arg0.bindTexture(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindVertexArrayOES_e81fca007d08d0db = function(arg0, arg1) { + arg0.bindVertexArrayOES(arg1); + }; + imports.wbg.__wbg_bindVertexArray_d9082254ff3bcc13 = function(arg0, arg1) { + arg0.bindVertexArray(arg1); + }; + imports.wbg.__wbg_blendColor_075aa544f1fe84c5 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.blendColor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_blendColor_ed292080d5966f2c = function(arg0, arg1, arg2, arg3, arg4) { + arg0.blendColor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_blendEquationSeparate_3dbbe20b0a9fa818 = function(arg0, arg1, arg2) { + arg0.blendEquationSeparate(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_blendEquationSeparate_d360393d3b1557cd = function(arg0, arg1, arg2) { + arg0.blendEquationSeparate(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_blendEquation_41f4ed79f5ddd25c = function(arg0, arg1) { + arg0.blendEquation(arg1 >>> 0); + }; + imports.wbg.__wbg_blendEquation_8804e10c9ced3fc4 = function(arg0, arg1) { + arg0.blendEquation(arg1 >>> 0); + }; + imports.wbg.__wbg_blendFuncSeparate_2cc7ac2397290a15 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.blendFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_blendFuncSeparate_c6c035b0094bd58f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.blendFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_blendFunc_63aca14ff3252b59 = function(arg0, arg1, arg2) { + arg0.blendFunc(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_blendFunc_8e1cfba50a4eea89 = function(arg0, arg1, arg2) { + arg0.blendFunc(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_blitFramebuffer_171b9355e4e730c9 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) { + arg0.blitFramebuffer(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0); + }; + imports.wbg.__wbg_blockSize_e0006fb003814895 = function(arg0) { + const ret = arg0.blockSize; + return ret; + }; + imports.wbg.__wbg_body_83d4bc4961a422aa = function(arg0) { + const ret = arg0.body; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_brand_67e4f3d950154d0a = function(arg0, arg1) { + const ret = arg1.brand; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_brands_1ec54d613da9db02 = function(arg0) { + const ret = arg0.brands; + return ret; + }; + imports.wbg.__wbg_bufferData_2a747a2c2c3b23b5 = function(arg0, arg1, arg2, arg3) { + arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0); + }; + imports.wbg.__wbg_bufferData_5b85d77150f6520a = function(arg0, arg1, arg2, arg3) { + arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0); + }; + imports.wbg.__wbg_bufferData_b03654fb80052afe = function(arg0, arg1, arg2, arg3) { + arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0); + }; + imports.wbg.__wbg_bufferData_c2eb7dbb2ea2ab3f = function(arg0, arg1, arg2, arg3) { + arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0); + }; + imports.wbg.__wbg_bufferSubData_8a7d35c05111a120 = function(arg0, arg1, arg2, arg3) { + arg0.bufferSubData(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_bufferSubData_c4b11388b9eb4175 = function(arg0, arg1, arg2, arg3) { + arg0.bufferSubData(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_buffer_6e1d53ff183194fc = function(arg0) { + const ret = arg0.buffer; + return ret; + }; + imports.wbg.__wbg_buffer_ffdeb2ee67420f9e = function(arg0) { + const ret = arg0.buffer; + return ret; + }; + imports.wbg.__wbg_button_db48f93638c59f95 = function(arg0) { + const ret = arg0.button; + return ret; + }; + imports.wbg.__wbg_buttons_b962d6dc116cd1a5 = function(arg0) { + const ret = arg0.buttons; + return ret; + }; + imports.wbg.__wbg_call_3114932863209ca6 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.call(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_cancelAnimationFrame_f1ad512e269ea165 = function() { return handleError(function (arg0, arg1) { + arg0.cancelAnimationFrame(arg1); + }, arguments) }; + imports.wbg.__wbg_cancelIdleCallback_bcc2dc9be9de0744 = function(arg0, arg1) { + arg0.cancelIdleCallback(arg1 >>> 0); + }; + imports.wbg.__wbg_cancel_3b69067dcdf7ffb7 = function(arg0) { + arg0.cancel(); + }; + imports.wbg.__wbg_catch_9da7d002aa356f1d = function(arg0, arg1) { + const ret = arg0.catch(arg1); + return ret; + }; + imports.wbg.__wbg_clearBuffer_6164fc25d22b25cc = function(arg0, arg1, arg2, arg3) { + arg0.clearBuffer(arg1, arg2, arg3); + }; + imports.wbg.__wbg_clearBuffer_cfcaaf1fb2baa885 = function(arg0, arg1, arg2) { + arg0.clearBuffer(arg1, arg2); + }; + imports.wbg.__wbg_clearBufferfv_2cf04e18ef87ed90 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.clearBufferfv(arg1 >>> 0, arg2, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_clearBufferiv_b45be02e57957dad = function(arg0, arg1, arg2, arg3, arg4) { + arg0.clearBufferiv(arg1 >>> 0, arg2, getArrayI32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_clearBufferuiv_deca83038abb23d2 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.clearBufferuiv(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_clearDepth_14d34daa30215440 = function(arg0, arg1) { + arg0.clearDepth(arg1); + }; + imports.wbg.__wbg_clearDepth_1cdcb08d8a5afa49 = function(arg0, arg1) { + arg0.clearDepth(arg1); + }; + imports.wbg.__wbg_clearStencil_e2c8b1892d5e033d = function(arg0, arg1) { + arg0.clearStencil(arg1); + }; + imports.wbg.__wbg_clearStencil_f3138d2e338d1436 = function(arg0, arg1) { + arg0.clearStencil(arg1); + }; + imports.wbg.__wbg_clearTimeout_da4408c46e51bc7a = function(arg0, arg1) { + arg0.clearTimeout(arg1); + }; + imports.wbg.__wbg_clear_4e68091e616c29ad = function(arg0, arg1) { + arg0.clear(arg1 >>> 0); + }; + imports.wbg.__wbg_clear_af7641961d766f51 = function(arg0, arg1) { + arg0.clear(arg1 >>> 0); + }; + imports.wbg.__wbg_clientWaitSync_2c4c0bd3a8d3536b = function(arg0, arg1, arg2, arg3) { + const ret = arg0.clientWaitSync(arg1, arg2 >>> 0, arg3 >>> 0); + return ret; + }; + imports.wbg.__wbg_close_35d643897b189a00 = function(arg0) { + arg0.close(); + }; + imports.wbg.__wbg_code_d8226b2133366406 = function(arg0, arg1) { + const ret = arg1.code; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_colorMask_22d850d91e89df9f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.colorMask(arg1 !== 0, arg2 !== 0, arg3 !== 0, arg4 !== 0); + }; + imports.wbg.__wbg_colorMask_a6068fae89c17ceb = function(arg0, arg1, arg2, arg3, arg4) { + arg0.colorMask(arg1 !== 0, arg2 !== 0, arg3 !== 0, arg4 !== 0); + }; + imports.wbg.__wbg_compileShader_5e41ecd397194c21 = function(arg0, arg1) { + arg0.compileShader(arg1); + }; + imports.wbg.__wbg_compileShader_6868fa6a842f0911 = function(arg0, arg1) { + arg0.compileShader(arg1); + }; + imports.wbg.__wbg_compressedTexSubImage2D_216f6eec167da8d7 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + arg0.compressedTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8); + }; + imports.wbg.__wbg_compressedTexSubImage2D_4b50d2a94bf4ea60 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.compressedTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8, arg9); + }; + imports.wbg.__wbg_compressedTexSubImage2D_9b0c2c785026006a = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + arg0.compressedTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8); + }; + imports.wbg.__wbg_compressedTexSubImage3D_8102ea4403fef5ce = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) { + arg0.compressedTexSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10); + }; + imports.wbg.__wbg_compressedTexSubImage3D_bf2bdb940e26bc8c = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.compressedTexSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10, arg11); + }; + imports.wbg.__wbg_configure_2414aed971d368cd = function(arg0, arg1) { + arg0.configure(arg1); + }; + imports.wbg.__wbg_contains_6947e163e2a3c092 = function(arg0, arg1) { + const ret = arg0.contains(arg1); + return ret; + }; + imports.wbg.__wbg_contentRect_7aaa87e16fd2882d = function(arg0) { + const ret = arg0.contentRect; + return ret; + }; + imports.wbg.__wbg_copyBufferSubData_ff213d67aa3b1f82 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.copyBufferSubData(arg1 >>> 0, arg2 >>> 0, arg3, arg4, arg5); + }; + imports.wbg.__wbg_copyBufferToBuffer_1ba67191114656a1 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.copyBufferToBuffer(arg1, arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_copyBufferToTexture_878d31d479e48f28 = function(arg0, arg1, arg2, arg3) { + arg0.copyBufferToTexture(arg1, arg2, arg3); + }; + imports.wbg.__wbg_copyExternalImageToTexture_7878d196c0b60d39 = function(arg0, arg1, arg2, arg3) { + arg0.copyExternalImageToTexture(arg1, arg2, arg3); + }; + imports.wbg.__wbg_copyTexSubImage2D_4b37e79c31b798b1 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + arg0.copyTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + }; + imports.wbg.__wbg_copyTexSubImage2D_a29106dfb31dd17c = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + arg0.copyTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + }; + imports.wbg.__wbg_copyTexSubImage3D_f8350e268c143688 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.copyTexSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); + }; + imports.wbg.__wbg_copyTextureToBuffer_6a8fe0e90f0a663d = function(arg0, arg1, arg2, arg3) { + arg0.copyTextureToBuffer(arg1, arg2, arg3); + }; + imports.wbg.__wbg_copyTextureToTexture_0a06a393d6726b4a = function(arg0, arg1, arg2, arg3) { + arg0.copyTextureToTexture(arg1, arg2, arg3); + }; + imports.wbg.__wbg_createBindGroupLayout_1d93b6d41c87ba9d = function(arg0, arg1) { + const ret = arg0.createBindGroupLayout(arg1); + return ret; + }; + imports.wbg.__wbg_createBindGroup_61cd07ec9d423432 = function(arg0, arg1) { + const ret = arg0.createBindGroup(arg1); + return ret; + }; + imports.wbg.__wbg_createBuffer_1e646d14cebbb438 = function(arg0) { + const ret = arg0.createBuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createBuffer_2a696fb8c0d07970 = function(arg0) { + const ret = arg0.createBuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createBuffer_963aa00d5fe859e4 = function(arg0, arg1) { + const ret = arg0.createBuffer(arg1); + return ret; + }; + imports.wbg.__wbg_createCommandEncoder_f0e1613e9a2dc1eb = function(arg0, arg1) { + const ret = arg0.createCommandEncoder(arg1); + return ret; + }; + imports.wbg.__wbg_createComputePipeline_b9616b9fe2f4eb2f = function(arg0, arg1) { + const ret = arg0.createComputePipeline(arg1); + return ret; + }; + imports.wbg.__wbg_createElement_22b48bfb31a0c20e = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.createElement(getStringFromWasm0(arg1, arg2)); + return ret; + }, arguments) }; + imports.wbg.__wbg_createFramebuffer_163e192e1e53ec9b = function(arg0) { + const ret = arg0.createFramebuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createFramebuffer_1aa54479f7524ef5 = function(arg0) { + const ret = arg0.createFramebuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createObjectURL_06505af3e8787cc8 = function() { return handleError(function (arg0, arg1) { + const ret = URL.createObjectURL(arg1); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_createPipelineLayout_56c6cf983f892d2b = function(arg0, arg1) { + const ret = arg0.createPipelineLayout(arg1); + return ret; + }; + imports.wbg.__wbg_createProgram_5a5a92d23fdc2f1a = function(arg0) { + const ret = arg0.createProgram(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createProgram_b75025f0f1a4ef55 = function(arg0) { + const ret = arg0.createProgram(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createQuerySet_c14be802adf7c207 = function(arg0, arg1) { + const ret = arg0.createQuerySet(arg1); + return ret; + }; + imports.wbg.__wbg_createQuery_2816e95a473b5501 = function(arg0) { + const ret = arg0.createQuery(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createRenderBundleEncoder_8e4bdffea72f8c1f = function(arg0, arg1) { + const ret = arg0.createRenderBundleEncoder(arg1); + return ret; + }; + imports.wbg.__wbg_createRenderPipeline_079a88a0601fcce1 = function(arg0, arg1) { + const ret = arg0.createRenderPipeline(arg1); + return ret; + }; + imports.wbg.__wbg_createRenderbuffer_29e130c03bc689d3 = function(arg0) { + const ret = arg0.createRenderbuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createRenderbuffer_b10004ae18d38014 = function(arg0) { + const ret = arg0.createRenderbuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createSampler_50ae7c4dd1f9b066 = function(arg0) { + const ret = arg0.createSampler(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createSampler_ef5578990df3baf7 = function(arg0, arg1) { + const ret = arg0.createSampler(arg1); + return ret; + }; + imports.wbg.__wbg_createShaderModule_17f451ea25cae47c = function(arg0, arg1) { + const ret = arg0.createShaderModule(arg1); + return ret; + }; + imports.wbg.__wbg_createShader_29c8e06db7e7211f = function(arg0, arg1) { + const ret = arg0.createShader(arg1 >>> 0); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createShader_8c3053457f874cdd = function(arg0, arg1) { + const ret = arg0.createShader(arg1 >>> 0); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createTexture_01cc1cd2fea732d9 = function(arg0, arg1) { + const ret = arg0.createTexture(arg1); + return ret; + }; + imports.wbg.__wbg_createTexture_20f63b261993f581 = function(arg0) { + const ret = arg0.createTexture(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createTexture_facd2df68d8d0276 = function(arg0) { + const ret = arg0.createTexture(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createVertexArrayOES_89f45f4a4fde395f = function(arg0) { + const ret = arg0.createVertexArrayOES(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createVertexArray_70d7c4c62e00613d = function(arg0) { + const ret = arg0.createVertexArray(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createView_04701884291e1ccc = function(arg0, arg1) { + const ret = arg0.createView(arg1); + return ret; + }; + imports.wbg.__wbg_ctrlKey_60b29e015a543678 = function(arg0) { + const ret = arg0.ctrlKey; + return ret; + }; + imports.wbg.__wbg_ctrlKey_ab341328ab202d37 = function(arg0) { + const ret = arg0.ctrlKey; + return ret; + }; + imports.wbg.__wbg_cullFace_96a9dca4a5b1ca33 = function(arg0, arg1) { + arg0.cullFace(arg1 >>> 0); + }; + imports.wbg.__wbg_cullFace_99bb4e31c974596d = function(arg0, arg1) { + arg0.cullFace(arg1 >>> 0); + }; + imports.wbg.__wbg_debug_347b3d1f33e1c28e = function(arg0) { + console.debug(arg0); + }; + imports.wbg.__wbg_deleteBuffer_9d705222a7e77a7b = function(arg0, arg1) { + arg0.deleteBuffer(arg1); + }; + imports.wbg.__wbg_deleteBuffer_db0d7ecbaa97fa56 = function(arg0, arg1) { + arg0.deleteBuffer(arg1); + }; + imports.wbg.__wbg_deleteFramebuffer_69db238ea6b8a9a1 = function(arg0, arg1) { + arg0.deleteFramebuffer(arg1); + }; + imports.wbg.__wbg_deleteFramebuffer_ecf398bec452aaf9 = function(arg0, arg1) { + arg0.deleteFramebuffer(arg1); + }; + imports.wbg.__wbg_deleteProgram_cb18e0020d488bad = function(arg0, arg1) { + arg0.deleteProgram(arg1); + }; + imports.wbg.__wbg_deleteProgram_e1a6c4b922e202e3 = function(arg0, arg1) { + arg0.deleteProgram(arg1); + }; + imports.wbg.__wbg_deleteQuery_e083394da1710d6c = function(arg0, arg1) { + arg0.deleteQuery(arg1); + }; + imports.wbg.__wbg_deleteRenderbuffer_05fa7f35ea76cafd = function(arg0, arg1) { + arg0.deleteRenderbuffer(arg1); + }; + imports.wbg.__wbg_deleteRenderbuffer_2f1216e54aa2f248 = function(arg0, arg1) { + arg0.deleteRenderbuffer(arg1); + }; + imports.wbg.__wbg_deleteSampler_e5c61c85993f9a69 = function(arg0, arg1) { + arg0.deleteSampler(arg1); + }; + imports.wbg.__wbg_deleteShader_257caf93b24ac555 = function(arg0, arg1) { + arg0.deleteShader(arg1); + }; + imports.wbg.__wbg_deleteShader_fb86028e46cb069b = function(arg0, arg1) { + arg0.deleteShader(arg1); + }; + imports.wbg.__wbg_deleteSync_b5caedf06185d972 = function(arg0, arg1) { + arg0.deleteSync(arg1); + }; + imports.wbg.__wbg_deleteTexture_6913f682a09c8171 = function(arg0, arg1) { + arg0.deleteTexture(arg1); + }; + imports.wbg.__wbg_deleteTexture_a29655740b1cbe33 = function(arg0, arg1) { + arg0.deleteTexture(arg1); + }; + imports.wbg.__wbg_deleteVertexArrayOES_2def7ce37f8e89f2 = function(arg0, arg1) { + arg0.deleteVertexArrayOES(arg1); + }; + imports.wbg.__wbg_deleteVertexArray_a3bca8e15204ffed = function(arg0, arg1) { + arg0.deleteVertexArray(arg1); + }; + imports.wbg.__wbg_deltaMode_a4cc321212f87817 = function(arg0) { + const ret = arg0.deltaMode; + return ret; + }; + imports.wbg.__wbg_deltaX_27e2939a1af8c940 = function(arg0) { + const ret = arg0.deltaX; + return ret; + }; + imports.wbg.__wbg_deltaY_4bb52a4f0a7ad28b = function(arg0) { + const ret = arg0.deltaY; + return ret; + }; + imports.wbg.__wbg_depthFunc_657dd592930e7f2f = function(arg0, arg1) { + arg0.depthFunc(arg1 >>> 0); + }; + imports.wbg.__wbg_depthFunc_f9fd44a07ea8398e = function(arg0, arg1) { + arg0.depthFunc(arg1 >>> 0); + }; + imports.wbg.__wbg_depthMask_87195357e4f7df17 = function(arg0, arg1) { + arg0.depthMask(arg1 !== 0); + }; + imports.wbg.__wbg_depthMask_bac7f6b455b6ddeb = function(arg0, arg1) { + arg0.depthMask(arg1 !== 0); + }; + imports.wbg.__wbg_depthRange_d947e824a28dc9a1 = function(arg0, arg1, arg2) { + arg0.depthRange(arg1, arg2); + }; + imports.wbg.__wbg_depthRange_f71c79182f666e45 = function(arg0, arg1, arg2) { + arg0.depthRange(arg1, arg2); + }; + imports.wbg.__wbg_destroy_35f94012e5bb9c17 = function(arg0) { + arg0.destroy(); + }; + imports.wbg.__wbg_destroy_767d9dde1008e293 = function(arg0) { + arg0.destroy(); + }; + imports.wbg.__wbg_destroy_c6af4226dda95dbd = function(arg0) { + arg0.destroy(); + }; + imports.wbg.__wbg_devicePixelContentBoxSize_1ea2c6145730b8c0 = function(arg0) { + const ret = arg0.devicePixelContentBoxSize; + return ret; + }; + imports.wbg.__wbg_devicePixelRatio_f4eb7cbe3a812de0 = function(arg0) { + const ret = arg0.devicePixelRatio; + return ret; + }; + imports.wbg.__wbg_disableVertexAttribArray_c513f1fff3cb73f2 = function(arg0, arg1) { + arg0.disableVertexAttribArray(arg1 >>> 0); + }; + imports.wbg.__wbg_disableVertexAttribArray_e7ff41dc0c3eaf1f = function(arg0, arg1) { + arg0.disableVertexAttribArray(arg1 >>> 0); + }; + imports.wbg.__wbg_disable_4c1cedffa6646166 = function(arg0, arg1) { + arg0.disable(arg1 >>> 0); + }; + imports.wbg.__wbg_disable_5320561e5cb15f08 = function(arg0, arg1) { + arg0.disable(arg1 >>> 0); + }; + imports.wbg.__wbg_disconnect_8b7c928b6057719b = function(arg0) { + arg0.disconnect(); + }; + imports.wbg.__wbg_disconnect_c45e8044053eddf3 = function(arg0) { + arg0.disconnect(); + }; + imports.wbg.__wbg_dispatchWorkgroupsIndirect_8b25efab93a7a433 = function(arg0, arg1, arg2) { + arg0.dispatchWorkgroupsIndirect(arg1, arg2); + }; + imports.wbg.__wbg_dispatchWorkgroups_c102fa81b955935d = function(arg0, arg1, arg2, arg3) { + arg0.dispatchWorkgroups(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0); + }; + imports.wbg.__wbg_document_c488ca7509cc6938 = function(arg0) { + const ret = arg0.document; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_drawArraysInstancedANGLE_55c83db2758c6ab4 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.drawArraysInstancedANGLE(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_drawArraysInstanced_11f863da4daf24d0 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.drawArraysInstanced(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_drawArrays_87e9bb0e2fb3e0fa = function(arg0, arg1, arg2, arg3) { + arg0.drawArrays(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_drawArrays_f5b0f0a0dc392c3f = function(arg0, arg1, arg2, arg3) { + arg0.drawArrays(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_drawBuffersWEBGL_22730193cdce9696 = function(arg0, arg1) { + arg0.drawBuffersWEBGL(arg1); + }; + imports.wbg.__wbg_drawBuffers_f256d529aecd01f2 = function(arg0, arg1) { + arg0.drawBuffers(arg1); + }; + imports.wbg.__wbg_drawElementsInstancedANGLE_db0bafff77affb0d = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.drawElementsInstancedANGLE(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_drawElementsInstanced_e87f1c69165df984 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.drawElementsInstanced(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_drawIndexedIndirect_34484fc6227c7bc8 = function(arg0, arg1, arg2) { + arg0.drawIndexedIndirect(arg1, arg2); + }; + imports.wbg.__wbg_drawIndexedIndirect_5a7c30bb5f1d5b67 = function(arg0, arg1, arg2) { + arg0.drawIndexedIndirect(arg1, arg2); + }; + imports.wbg.__wbg_drawIndexed_115af1449b52a948 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.drawIndexed(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5 >>> 0); + }; + imports.wbg.__wbg_drawIndexed_a587cce4c317791f = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.drawIndexed(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5 >>> 0); + }; + imports.wbg.__wbg_drawIndirect_036d71498a21f1a3 = function(arg0, arg1, arg2) { + arg0.drawIndirect(arg1, arg2); + }; + imports.wbg.__wbg_drawIndirect_a1d7c5e893aa5756 = function(arg0, arg1, arg2) { + arg0.drawIndirect(arg1, arg2); + }; + imports.wbg.__wbg_draw_5351b12033166aca = function(arg0, arg1, arg2, arg3, arg4) { + arg0.draw(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_draw_e2a7c5d66fb2d244 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.draw(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_enableVertexAttribArray_0ce3052ae5f3f84a = function(arg0, arg1) { + arg0.enableVertexAttribArray(arg1 >>> 0); + }; + imports.wbg.__wbg_enableVertexAttribArray_2bb681a583bf0dbe = function(arg0, arg1) { + arg0.enableVertexAttribArray(arg1 >>> 0); + }; + imports.wbg.__wbg_enable_8d6ea7489b31dabd = function(arg0, arg1) { + arg0.enable(arg1 >>> 0); + }; + imports.wbg.__wbg_enable_bb868e19d5c88d56 = function(arg0, arg1) { + arg0.enable(arg1 >>> 0); + }; + imports.wbg.__wbg_endQuery_b4f2566f7afc4117 = function(arg0, arg1) { + arg0.endQuery(arg1 >>> 0); + }; + imports.wbg.__wbg_end_0ac71677a5c1717a = function(arg0) { + arg0.end(); + }; + imports.wbg.__wbg_end_6f776519f1faa582 = function(arg0) { + arg0.end(); + }; + imports.wbg.__wbg_error_2a6b93fdada7ff11 = function(arg0) { + console.error(arg0); + }; + imports.wbg.__wbg_error_7534b8e9a36f1ab4 = function(arg0, arg1) { + let deferred0_0; + let deferred0_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + console.error(getStringFromWasm0(arg0, arg1)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + } + }; + imports.wbg.__wbg_error_e98e6aadd08e0b94 = function(arg0) { + const ret = arg0.error; + return ret; + }; + imports.wbg.__wbg_error_f0dde81ae1e4cfea = function(arg0, arg1) { + console.error(arg0, arg1); + }; + imports.wbg.__wbg_executeBundles_8e6c0614da2805d4 = function(arg0, arg1) { + arg0.executeBundles(arg1); + }; + imports.wbg.__wbg_features_1b464383ea8a7691 = function(arg0) { + const ret = arg0.features; + return ret; + }; + imports.wbg.__wbg_features_e5fbbc2760867852 = function(arg0) { + const ret = arg0.features; + return ret; + }; + imports.wbg.__wbg_fenceSync_68dcf439f52decac = function(arg0, arg1, arg2) { + const ret = arg0.fenceSync(arg1 >>> 0, arg2 >>> 0); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_finish_20711371c58df61c = function(arg0) { + const ret = arg0.finish(); + return ret; + }; + imports.wbg.__wbg_finish_34b2c54329c8719f = function(arg0, arg1) { + const ret = arg0.finish(arg1); + return ret; + }; + imports.wbg.__wbg_finish_a9ab917e756ea00c = function(arg0, arg1) { + const ret = arg0.finish(arg1); + return ret; + }; + imports.wbg.__wbg_finish_e0a6c97c0622f843 = function(arg0) { + const ret = arg0.finish(); + return ret; + }; + imports.wbg.__wbg_focus_c71947fc3fe22147 = function() { return handleError(function (arg0) { + arg0.focus(); + }, arguments) }; + imports.wbg.__wbg_framebufferRenderbuffer_308ddbcaaed66ff2 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.framebufferRenderbuffer(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4); + }; + imports.wbg.__wbg_framebufferRenderbuffer_a23d035c46e3e192 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.framebufferRenderbuffer(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4); + }; + imports.wbg.__wbg_framebufferTexture2D_170b0f8c792e246f = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.framebufferTexture2D(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_framebufferTexture2D_5366ecb050293d09 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.framebufferTexture2D(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_framebufferTextureLayer_daccfb6fb9396578 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.framebufferTextureLayer(arg1 >>> 0, arg2 >>> 0, arg3, arg4, arg5); + }; + imports.wbg.__wbg_framebufferTextureMultiviewOVR_e2282e87fdf2564f = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.framebufferTextureMultiviewOVR(arg1 >>> 0, arg2 >>> 0, arg3, arg4, arg5, arg6); + }; + imports.wbg.__wbg_frontFace_7b469405c0e889ee = function(arg0, arg1) { + arg0.frontFace(arg1 >>> 0); + }; + imports.wbg.__wbg_frontFace_993e921eaef39c45 = function(arg0, arg1) { + arg0.frontFace(arg1 >>> 0); + }; + imports.wbg.__wbg_fullscreenElement_a613ad02fa918fb4 = function(arg0) { + const ret = arg0.fullscreenElement; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getBindGroupLayout_4a94df6108ac6667 = function(arg0, arg1) { + const ret = arg0.getBindGroupLayout(arg1 >>> 0); + return ret; + }; + imports.wbg.__wbg_getBindGroupLayout_80e803d942962f6a = function(arg0, arg1) { + const ret = arg0.getBindGroupLayout(arg1 >>> 0); + return ret; + }; + imports.wbg.__wbg_getBufferSubData_5102d8a217d0774c = function(arg0, arg1, arg2, arg3) { + arg0.getBufferSubData(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_getCoalescedEvents_1372a1922f78401a = function(arg0) { + const ret = arg0.getCoalescedEvents; + return ret; + }; + imports.wbg.__wbg_getCoalescedEvents_3736b5e5d63bed7b = function(arg0) { + const ret = arg0.getCoalescedEvents(); + return ret; + }; + imports.wbg.__wbg_getCompilationInfo_2af3ecdfeda551a3 = function(arg0) { + const ret = arg0.getCompilationInfo(); + return ret; + }; + imports.wbg.__wbg_getComputedStyle_c3a9de7674a38310 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.getComputedStyle(arg1); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getContext_02d86c7d9cfa709e = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.getContext(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getContext_24d4414b979c1bbd = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.getContext(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getContext_74e4f1560c2a2fae = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = arg0.getContext(getStringFromWasm0(arg1, arg2), arg3); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getContext_b22f05fca7ddb494 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = arg0.getContext(getStringFromWasm0(arg1, arg2), arg3); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getCurrentTexture_5a79cda2ff36e1ee = function(arg0) { + const ret = arg0.getCurrentTexture(); + return ret; + }; + imports.wbg.__wbg_getElementById_7b2db24a9b54f077 = function(arg0, arg1, arg2) { + const ret = arg0.getElementById(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getExtension_28666bdc87d23aca = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.getExtension(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getIndexedParameter_f9e7220a3bb8862c = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.getIndexedParameter(arg1 >>> 0, arg2 >>> 0); + return ret; + }, arguments) }; + imports.wbg.__wbg_getMappedRange_932dd043ae22ee0a = function(arg0, arg1, arg2) { + const ret = arg0.getMappedRange(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_getOwnPropertyDescriptor_c701b185423f5b7e = function(arg0, arg1) { + const ret = Object.getOwnPropertyDescriptor(arg0, arg1); + return ret; + }; + imports.wbg.__wbg_getParameter_304cffb9a759dc04 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.getParameter(arg1 >>> 0); + return ret; + }, arguments) }; + imports.wbg.__wbg_getParameter_fd65bc6ff1b0ffd9 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.getParameter(arg1 >>> 0); + return ret; + }, arguments) }; + imports.wbg.__wbg_getPreferredCanvasFormat_de73c02773a5209e = function(arg0) { + const ret = arg0.getPreferredCanvasFormat(); + return (__wbindgen_enum_GpuTextureFormat.indexOf(ret) + 1 || 96) - 1; + }; + imports.wbg.__wbg_getProgramInfoLog_032aac3e6f3a253c = function(arg0, arg1, arg2) { + const ret = arg1.getProgramInfoLog(arg2); + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_getProgramInfoLog_039168c2aed8d3fe = function(arg0, arg1, arg2) { + const ret = arg1.getProgramInfoLog(arg2); + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_getProgramParameter_70b22019524689fa = function(arg0, arg1, arg2) { + const ret = arg0.getProgramParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getProgramParameter_9b3bdf8d90159edb = function(arg0, arg1, arg2) { + const ret = arg0.getProgramParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getPropertyValue_e87121b8549f72d5 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = arg1.getPropertyValue(getStringFromWasm0(arg2, arg3)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_getQueryParameter_e7b02fe5fd64baa5 = function(arg0, arg1, arg2) { + const ret = arg0.getQueryParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getShaderInfoLog_5c7d45bafe3be3dd = function(arg0, arg1, arg2) { + const ret = arg1.getShaderInfoLog(arg2); + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_getShaderInfoLog_d2cc881ce343a733 = function(arg0, arg1, arg2) { + const ret = arg1.getShaderInfoLog(arg2); + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_getShaderParameter_6d0578dd9f58b684 = function(arg0, arg1, arg2) { + const ret = arg0.getShaderParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getShaderParameter_c50fbeadf9ef6879 = function(arg0, arg1, arg2) { + const ret = arg0.getShaderParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getSupportedExtensions_fca342bac23691db = function(arg0) { + const ret = arg0.getSupportedExtensions(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getSupportedProfiles_b2cc3aec569a65fa = function(arg0) { + const ret = arg0.getSupportedProfiles(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getSyncParameter_5688138f66b57b16 = function(arg0, arg1, arg2) { + const ret = arg0.getSyncParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getUniformBlockIndex_b53609b8ecff8b48 = function(arg0, arg1, arg2, arg3) { + const ret = arg0.getUniformBlockIndex(arg1, getStringFromWasm0(arg2, arg3)); + return ret; + }; + imports.wbg.__wbg_getUniformLocation_852fbe42afe106ff = function(arg0, arg1, arg2, arg3) { + const ret = arg0.getUniformLocation(arg1, getStringFromWasm0(arg2, arg3)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getUniformLocation_9d46a65011600cce = function(arg0, arg1, arg2, arg3) { + const ret = arg0.getUniformLocation(arg1, getStringFromWasm0(arg2, arg3)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_get_68aa371864aa301a = function(arg0, arg1) { + const ret = arg0[arg1 >>> 0]; + return ret; + }; + imports.wbg.__wbg_get_6b316bfdb1b95076 = function(arg0, arg1) { + const ret = arg0[arg1 >>> 0]; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_globalThis_1e2ac1d6eee845b3 = function() { return handleError(function () { + const ret = globalThis.globalThis; + return ret; + }, arguments) }; + imports.wbg.__wbg_global_f25a574ae080367c = function() { return handleError(function () { + const ret = global.global; + return ret; + }, arguments) }; + imports.wbg.__wbg_gpu_87871e8f7ace8fee = function(arg0) { + const ret = arg0.gpu; + return ret; + }; + imports.wbg.__wbg_has_624cbf0451d880e8 = function(arg0, arg1, arg2) { + const ret = arg0.has(getStringFromWasm0(arg1, arg2)); + return ret; + }; + imports.wbg.__wbg_height_4065e49e5ec4c4c1 = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_51a97623165c9beb = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_74bc8ec7548ff6b6 = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_a196a7b9b1d7e01c = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_cabc0c8a4c838304 = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_e509816ec3fdf5b1 = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_includes_959087f4155febdf = function(arg0, arg1, arg2) { + const ret = arg0.includes(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_info_b6bd3cb6471c2b4c = function(arg0) { + console.info(arg0); + }; + imports.wbg.__wbg_inlineSize_6f8d0983462c2919 = function(arg0) { + const ret = arg0.inlineSize; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuAdapter_0731153d2b08720b = function(arg0) { + let result; + try { + result = arg0 instanceof GPUAdapter; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuCanvasContext_d14121c7bd72fcef = function(arg0) { + let result; + try { + result = arg0 instanceof GPUCanvasContext; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuDeviceLostInfo_a3677ebb8241d800 = function(arg0) { + let result; + try { + result = arg0 instanceof GPUDeviceLostInfo; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuOutOfMemoryError_391d9a08edbfa04b = function(arg0) { + let result; + try { + result = arg0 instanceof GPUOutOfMemoryError; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuValidationError_f4d803c383da3c92 = function(arg0) { + let result; + try { + result = arg0 instanceof GPUValidationError; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_HtmlCanvasElement_9db0dfd54b2c5330 = function(arg0) { + let result; + try { + result = arg0 instanceof HTMLCanvasElement; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_Object_f0f57d6eeca1b81d = function(arg0) { + let result; + try { + result = arg0 instanceof Object; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_WebGl2RenderingContext_888701598b82d45d = function(arg0) { + let result; + try { + result = arg0 instanceof WebGL2RenderingContext; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_Window_a959820eb267fe22 = function(arg0) { + let result; + try { + result = arg0 instanceof Window; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_invalidateFramebuffer_f4a994f4a8535cca = function() { return handleError(function (arg0, arg1, arg2) { + arg0.invalidateFramebuffer(arg1 >>> 0, arg2); + }, arguments) }; + imports.wbg.__wbg_isIntersecting_9059d5bcaf29f415 = function(arg0) { + const ret = arg0.isIntersecting; + return ret; + }; + imports.wbg.__wbg_is_20768e55ad2a7c3f = function(arg0, arg1) { + const ret = Object.is(arg0, arg1); + return ret; + }; + imports.wbg.__wbg_key_02315cd3f595756b = function(arg0, arg1) { + const ret = arg1.key; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_label_2082ab37d2ad170d = function(arg0, arg1) { + const ret = arg1.label; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_length_2e63ba34c4121df5 = function(arg0) { + const ret = arg0.length; + return ret; + }; + imports.wbg.__wbg_length_9df32f7add647235 = function(arg0) { + const ret = arg0.length; + return ret; + }; + imports.wbg.__wbg_length_e74df4881604f1d9 = function(arg0) { + const ret = arg0.length; + return ret; + }; + imports.wbg.__wbg_limits_2dd632c891786ddf = function(arg0) { + const ret = arg0.limits; + return ret; + }; + imports.wbg.__wbg_limits_f6411f884b0b2d62 = function(arg0) { + const ret = arg0.limits; + return ret; + }; + imports.wbg.__wbg_lineNum_0246de1e072ffe19 = function(arg0) { + const ret = arg0.lineNum; + return ret; + }; + imports.wbg.__wbg_linkProgram_575f761eda0a14bc = function(arg0, arg1) { + arg0.linkProgram(arg1); + }; + imports.wbg.__wbg_linkProgram_5eee13e603e9af41 = function(arg0, arg1) { + arg0.linkProgram(arg1); + }; + imports.wbg.__wbg_location_54d35e8c85dcfb9c = function(arg0) { + const ret = arg0.location; + return ret; + }; + imports.wbg.__wbg_location_e9eba129bf0612a5 = function(arg0) { + const ret = arg0.location; + return ret; + }; + imports.wbg.__wbg_log_d818ca3cab23fc77 = function(arg0) { + console.log(arg0); + }; + imports.wbg.__wbg_lost_6e4d29847ce2a34a = function(arg0) { + const ret = arg0.lost; + return ret; + }; + imports.wbg.__wbg_mapAsync_37f5e03edf2e1352 = function(arg0, arg1, arg2, arg3) { + const ret = arg0.mapAsync(arg1 >>> 0, arg2, arg3); + return ret; + }; + imports.wbg.__wbg_matchMedia_0be65181eeae951c = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.matchMedia(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_matches_254463383aee4688 = function(arg0) { + const ret = arg0.matches; + return ret; + }; + imports.wbg.__wbg_maxBindGroups_768ca5e8623bf450 = function(arg0) { + const ret = arg0.maxBindGroups; + return ret; + }; + imports.wbg.__wbg_maxBindingsPerBindGroup_057972d600d69719 = function(arg0) { + const ret = arg0.maxBindingsPerBindGroup; + return ret; + }; + imports.wbg.__wbg_maxBufferSize_e237b44f19a5a62b = function(arg0) { + const ret = arg0.maxBufferSize; + return ret; + }; + imports.wbg.__wbg_maxColorAttachmentBytesPerSample_d6c7b4051d22c6d6 = function(arg0) { + const ret = arg0.maxColorAttachmentBytesPerSample; + return ret; + }; + imports.wbg.__wbg_maxColorAttachments_7a18ba24c05edcfd = function(arg0) { + const ret = arg0.maxColorAttachments; + return ret; + }; + imports.wbg.__wbg_maxComputeInvocationsPerWorkgroup_b99c2f3611633992 = function(arg0) { + const ret = arg0.maxComputeInvocationsPerWorkgroup; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupSizeX_adb26da9ed7f77f7 = function(arg0) { + const ret = arg0.maxComputeWorkgroupSizeX; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupSizeY_cc217559c98be33b = function(arg0) { + const ret = arg0.maxComputeWorkgroupSizeY; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupSizeZ_66606a80e2cf2309 = function(arg0) { + const ret = arg0.maxComputeWorkgroupSizeZ; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupStorageSize_cb6235497b8c4997 = function(arg0) { + const ret = arg0.maxComputeWorkgroupStorageSize; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupsPerDimension_6bf550b5f21d57cf = function(arg0) { + const ret = arg0.maxComputeWorkgroupsPerDimension; + return ret; + }; + imports.wbg.__wbg_maxDynamicStorageBuffersPerPipelineLayout_c6ac20334e328b47 = function(arg0) { + const ret = arg0.maxDynamicStorageBuffersPerPipelineLayout; + return ret; + }; + imports.wbg.__wbg_maxDynamicUniformBuffersPerPipelineLayout_aa8f14a74b440f01 = function(arg0) { + const ret = arg0.maxDynamicUniformBuffersPerPipelineLayout; + return ret; + }; + imports.wbg.__wbg_maxSampledTexturesPerShaderStage_db7c4922cc60144a = function(arg0) { + const ret = arg0.maxSampledTexturesPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxSamplersPerShaderStage_538705fe2263e710 = function(arg0) { + const ret = arg0.maxSamplersPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxStorageBufferBindingSize_32178c0f5f7f85cb = function(arg0) { + const ret = arg0.maxStorageBufferBindingSize; + return ret; + }; + imports.wbg.__wbg_maxStorageBuffersPerShaderStage_9f67e9eae0089f77 = function(arg0) { + const ret = arg0.maxStorageBuffersPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxStorageTexturesPerShaderStage_57239664936031cf = function(arg0) { + const ret = arg0.maxStorageTexturesPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxTextureArrayLayers_db5d4e486c78ae04 = function(arg0) { + const ret = arg0.maxTextureArrayLayers; + return ret; + }; + imports.wbg.__wbg_maxTextureDimension1D_3475085ffacabbdc = function(arg0) { + const ret = arg0.maxTextureDimension1D; + return ret; + }; + imports.wbg.__wbg_maxTextureDimension2D_7c8d5ecf09eb8519 = function(arg0) { + const ret = arg0.maxTextureDimension2D; + return ret; + }; + imports.wbg.__wbg_maxTextureDimension3D_8bd976677a0f91d4 = function(arg0) { + const ret = arg0.maxTextureDimension3D; + return ret; + }; + imports.wbg.__wbg_maxUniformBufferBindingSize_95b1a54e7e4a0f0f = function(arg0) { + const ret = arg0.maxUniformBufferBindingSize; + return ret; + }; + imports.wbg.__wbg_maxUniformBuffersPerShaderStage_5f475d9a453af14d = function(arg0) { + const ret = arg0.maxUniformBuffersPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxVertexAttributes_4c48ca2f5d32f860 = function(arg0) { + const ret = arg0.maxVertexAttributes; + return ret; + }; + imports.wbg.__wbg_maxVertexBufferArrayStride_2233f6933ecc5a16 = function(arg0) { + const ret = arg0.maxVertexBufferArrayStride; + return ret; + }; + imports.wbg.__wbg_maxVertexBuffers_c47e508cd7348554 = function(arg0) { + const ret = arg0.maxVertexBuffers; + return ret; + }; + imports.wbg.__wbg_message_0762358e59db7ed6 = function(arg0, arg1) { + const ret = arg1.message; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_message_7957ab09f64c6822 = function(arg0, arg1) { + const ret = arg1.message; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_message_b163994503433c9e = function(arg0, arg1) { + const ret = arg1.message; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_messages_da071582f72bc978 = function(arg0) { + const ret = arg0.messages; + return ret; + }; + imports.wbg.__wbg_metaKey_34d5658170ffb3ee = function(arg0) { + const ret = arg0.metaKey; + return ret; + }; + imports.wbg.__wbg_metaKey_6c8e9228e8dda152 = function(arg0) { + const ret = arg0.metaKey; + return ret; + }; + imports.wbg.__wbg_minStorageBufferOffsetAlignment_51b4801fac3a58de = function(arg0) { + const ret = arg0.minStorageBufferOffsetAlignment; + return ret; + }; + imports.wbg.__wbg_minUniformBufferOffsetAlignment_5d62a77924b2335f = function(arg0) { + const ret = arg0.minUniformBufferOffsetAlignment; + return ret; + }; + imports.wbg.__wbg_movementX_e32c342d96d1c701 = function(arg0) { + const ret = arg0.movementX; + return ret; + }; + imports.wbg.__wbg_movementY_136c6febb976ca3b = function(arg0) { + const ret = arg0.movementY; + return ret; + }; + imports.wbg.__wbg_navigator_2936a93ec3c6f4c5 = function(arg0) { + const ret = arg0.navigator; + return ret; + }; + imports.wbg.__wbg_navigator_da495c9e52e160b1 = function(arg0) { + const ret = arg0.navigator; + return ret; + }; + imports.wbg.__wbg_new_076cac58bb698dd4 = function() { + const ret = new Object(); + return ret; + }; + imports.wbg.__wbg_new_0c28e72025e00594 = function() { + const ret = new Array(); + return ret; + }; + imports.wbg.__wbg_new_23362fa370a0a372 = function(arg0) { + const ret = new Uint8Array(arg0); + return ret; + }; + imports.wbg.__wbg_new_238671e08bf4fcbb = function() { return handleError(function () { + const ret = new MessageChannel(); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_4b15073a88792687 = function() { return handleError(function (arg0) { + const ret = new ResizeObserver(arg0); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_8a6f238a6ece86ea = function() { + const ret = new Error(); + return ret; + }; + imports.wbg.__wbg_new_93cf40e4f48fe902 = function() { return handleError(function () { + const ret = new AbortController(); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_b4a18f0a618c89f2 = function() { return handleError(function (arg0, arg1) { + const ret = new Worker(getStringFromWasm0(arg0, arg1)); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_c94d990936d8ea5d = function() { return handleError(function (arg0) { + const ret = new IntersectionObserver(arg0); + return ret; + }, arguments) }; + imports.wbg.__wbg_newnoargs_19a249f4eceaaac3 = function(arg0, arg1) { + const ret = new Function(getStringFromWasm0(arg0, arg1)); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_24ff09a6b37a856f = function(arg0, arg1, arg2) { + const ret = new Int16Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_25d3cac011b6e2d5 = function(arg0, arg1, arg2) { + const ret = new Uint32Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_457c61bfe0fb7b8c = function(arg0, arg1, arg2) { + const ret = new Int32Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_9f48300371c8802a = function(arg0, arg1, arg2) { + const ret = new Uint16Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_a6087a94c7bfea61 = function(arg0, arg1, arg2) { + const ret = new Int8Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_c280c15b00e018cd = function(arg0, arg1, arg2) { + const ret = new Float32Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_ee8def7000b7b2be = function(arg0, arg1, arg2) { + const ret = new Uint8Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithstrsequenceandoptions_af096ce40d9d9ac8 = function() { return handleError(function (arg0, arg1) { + const ret = new Blob(arg0, arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_now_2c95c9de01293173 = function(arg0) { + const ret = arg0.now(); + return ret; + }; + imports.wbg.__wbg_observe_e2208b07fe315de7 = function(arg0, arg1) { + arg0.observe(arg1); + }; + imports.wbg.__wbg_observe_ec91d62599b7772b = function(arg0, arg1) { + arg0.observe(arg1); + }; + imports.wbg.__wbg_observe_fd48955513eca909 = function(arg0, arg1, arg2) { + arg0.observe(arg1, arg2); + }; + imports.wbg.__wbg_of_2f6232d86af7992c = function(arg0, arg1) { + const ret = Array.of(arg0, arg1); + return ret; + }; + imports.wbg.__wbg_of_5ae3a2d893e18853 = function(arg0) { + const ret = Array.of(arg0); + return ret; + }; + imports.wbg.__wbg_offsetX_d6957d052a0d4b11 = function(arg0) { + const ret = arg0.offsetX; + return ret; + }; + imports.wbg.__wbg_offsetY_076edde514bf80f4 = function(arg0) { + const ret = arg0.offsetY; + return ret; + }; + imports.wbg.__wbg_offset_336f14c993863b76 = function(arg0) { + const ret = arg0.offset; + return ret; + }; + imports.wbg.__wbg_performance_7a3ffd0b17f663ad = function(arg0) { + const ret = arg0.performance; + return ret; + }; + imports.wbg.__wbg_persisted_7e044507e52804d9 = function(arg0) { + const ret = arg0.persisted; + return ret; + }; + imports.wbg.__wbg_pixelStorei_198b92c3e346678a = function(arg0, arg1, arg2) { + arg0.pixelStorei(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_pixelStorei_9c4cb0a4b040b41d = function(arg0, arg1, arg2) { + arg0.pixelStorei(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_play_e7eb90a843114e0d = function(arg0) { + arg0.play(); + }; + imports.wbg.__wbg_pointerId_a2cbd2cdd6da90b2 = function(arg0) { + const ret = arg0.pointerId; + return ret; + }; + imports.wbg.__wbg_pointerType_1b74686427cdec29 = function(arg0, arg1) { + const ret = arg1.pointerType; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_polygonOffset_7ec31dee95d41171 = function(arg0, arg1, arg2) { + arg0.polygonOffset(arg1, arg2); + }; + imports.wbg.__wbg_polygonOffset_c6cbc8093770e840 = function(arg0, arg1, arg2) { + arg0.polygonOffset(arg1, arg2); + }; + imports.wbg.__wbg_popErrorScope_af0b22f136a861d6 = function(arg0) { + const ret = arg0.popErrorScope(); + return ret; + }; + imports.wbg.__wbg_port1_6f5b26fd23d19536 = function(arg0) { + const ret = arg0.port1; + return ret; + }; + imports.wbg.__wbg_port2_2eb4c961d6df5816 = function(arg0) { + const ret = arg0.port2; + return ret; + }; + imports.wbg.__wbg_postMessage_33dcf5caa3589c64 = function() { return handleError(function (arg0, arg1, arg2) { + arg0.postMessage(arg1, arg2); + }, arguments) }; + imports.wbg.__wbg_postMessage_3e7f3215320b4a9c = function() { return handleError(function (arg0, arg1) { + arg0.postMessage(arg1); + }, arguments) }; + imports.wbg.__wbg_postTask_9ba4c3cedae00b38 = function(arg0, arg1, arg2) { + const ret = arg0.postTask(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_pressure_8707a47b6fb1c1fd = function(arg0) { + const ret = arg0.pressure; + return ret; + }; + imports.wbg.__wbg_preventDefault_faafffcaad92972d = function(arg0) { + arg0.preventDefault(); + }; + imports.wbg.__wbg_prototype_0f68911d93450df4 = function() { + const ret = ResizeObserverEntry.prototype; + return ret; + }; + imports.wbg.__wbg_pushErrorScope_b52914ff10ba6ce3 = function(arg0, arg1) { + arg0.pushErrorScope(__wbindgen_enum_GpuErrorFilter[arg1]); + }; + imports.wbg.__wbg_push_3e9ce81246ef1d1b = function(arg0, arg1) { + const ret = arg0.push(arg1); + return ret; + }; + imports.wbg.__wbg_queryCounterEXT_6da4ab4ec9c37329 = function(arg0, arg1, arg2) { + arg0.queryCounterEXT(arg1, arg2 >>> 0); + }; + imports.wbg.__wbg_querySelectorAll_775f04e6f26ad643 = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.querySelectorAll(getStringFromWasm0(arg1, arg2)); + return ret; + }, arguments) }; + imports.wbg.__wbg_querySelector_473a7bd6647e7cbb = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.querySelector(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_queueMicrotask_3d422e1ba49c2500 = function(arg0) { + const ret = arg0.queueMicrotask; + return ret; + }; + imports.wbg.__wbg_queueMicrotask_5fc3e400ac3c03f4 = function(arg0) { + queueMicrotask(arg0); + }; + imports.wbg.__wbg_queueMicrotask_f301663ccadbb7d0 = function(arg0) { + queueMicrotask(arg0); + }; + imports.wbg.__wbg_queue_bea4017efaaf9904 = function(arg0) { + const ret = arg0.queue; + return ret; + }; + imports.wbg.__wbg_readBuffer_8fd1512f6bdfc8f0 = function(arg0, arg1) { + arg0.readBuffer(arg1 >>> 0); + }; + imports.wbg.__wbg_readPixels_48fc96a447cda9aa = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + arg0.readPixels(arg1, arg2, arg3, arg4, arg5 >>> 0, arg6 >>> 0, arg7); + }, arguments) }; + imports.wbg.__wbg_readPixels_7b1022930a9026d1 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + arg0.readPixels(arg1, arg2, arg3, arg4, arg5 >>> 0, arg6 >>> 0, arg7); + }, arguments) }; + imports.wbg.__wbg_readPixels_da6e94b84b4cfd41 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + arg0.readPixels(arg1, arg2, arg3, arg4, arg5 >>> 0, arg6 >>> 0, arg7); + }, arguments) }; + imports.wbg.__wbg_reason_43acd39cce242b50 = function(arg0) { + const ret = arg0.reason; + return (__wbindgen_enum_GpuDeviceLostReason.indexOf(ret) + 1 || 3) - 1; + }; + imports.wbg.__wbg_removeEventListener_d14a328308e427ba = function() { return handleError(function (arg0, arg1, arg2, arg3) { + arg0.removeEventListener(getStringFromWasm0(arg1, arg2), arg3); + }, arguments) }; + imports.wbg.__wbg_removeListener_aee72eb2e5fba09c = function() { return handleError(function (arg0, arg1) { + arg0.removeListener(arg1); + }, arguments) }; + imports.wbg.__wbg_removeProperty_902c73a4430b3e54 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = arg1.removeProperty(getStringFromWasm0(arg2, arg3)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_renderbufferStorageMultisample_abd1099fecb2e2a4 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.renderbufferStorageMultisample(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_renderbufferStorage_56c61eb0bb2718a9 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.renderbufferStorage(arg1 >>> 0, arg2 >>> 0, arg3, arg4); + }; + imports.wbg.__wbg_renderbufferStorage_aa4b58453d5aca0f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.renderbufferStorage(arg1 >>> 0, arg2 >>> 0, arg3, arg4); + }; + imports.wbg.__wbg_repeat_56fa20e30d00be95 = function(arg0) { + const ret = arg0.repeat; + return ret; + }; + imports.wbg.__wbg_requestAdapter_e6dcfac497cafa7a = function(arg0, arg1) { + const ret = arg0.requestAdapter(arg1); + return ret; + }; + imports.wbg.__wbg_requestAnimationFrame_e8ca543d07df528e = function() { return handleError(function (arg0, arg1) { + const ret = arg0.requestAnimationFrame(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_requestDevice_03b802707d5a382c = function(arg0, arg1) { + const ret = arg0.requestDevice(arg1); + return ret; + }; + imports.wbg.__wbg_requestFullscreen_e1ad8752a4e33f7e = function(arg0) { + const ret = arg0.requestFullscreen; + return ret; + }; + imports.wbg.__wbg_requestFullscreen_f727b1f250ebb10a = function(arg0) { + const ret = arg0.requestFullscreen(); + return ret; + }; + imports.wbg.__wbg_requestIdleCallback_773c554fc8c5a310 = function(arg0) { + const ret = arg0.requestIdleCallback; + return ret; + }; + imports.wbg.__wbg_requestIdleCallback_ba1f658c72e2140c = function() { return handleError(function (arg0, arg1) { + const ret = arg0.requestIdleCallback(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_resolveQuerySet_811661fb23f3b699 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.resolveQuerySet(arg1, arg2 >>> 0, arg3 >>> 0, arg4, arg5 >>> 0); + }; + imports.wbg.__wbg_resolve_6a311e8bb26423ab = function(arg0) { + const ret = Promise.resolve(arg0); + return ret; + }; + imports.wbg.__wbg_revokeObjectURL_3e4ad6d46a9a93f1 = function() { return handleError(function (arg0, arg1) { + URL.revokeObjectURL(getStringFromWasm0(arg0, arg1)); + }, arguments) }; + imports.wbg.__wbg_samplerParameterf_a9708333dc0df03e = function(arg0, arg1, arg2, arg3) { + arg0.samplerParameterf(arg1, arg2 >>> 0, arg3); + }; + imports.wbg.__wbg_samplerParameteri_6011eca3eaa96ac6 = function(arg0, arg1, arg2, arg3) { + arg0.samplerParameteri(arg1, arg2 >>> 0, arg3); + }; + imports.wbg.__wbg_scheduler_10edeee35a76c7c6 = function(arg0) { + const ret = arg0.scheduler; + return ret; + }; + imports.wbg.__wbg_scheduler_6d71128f17fbca34 = function(arg0) { + const ret = arg0.scheduler; + return ret; + }; + imports.wbg.__wbg_scissor_4c06926fa8af817c = function(arg0, arg1, arg2, arg3, arg4) { + arg0.scissor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_scissor_608c4f610141e6df = function(arg0, arg1, arg2, arg3, arg4) { + arg0.scissor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_search_4c8c4c416a168e55 = function() { return handleError(function (arg0, arg1) { + const ret = arg1.search; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_self_ac4343e4047b83cc = function() { return handleError(function () { + const ret = self.self; + return ret; + }, arguments) }; + imports.wbg.__wbg_setAttribute_e5d83ecaf7f586d5 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { + arg0.setAttribute(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4)); + }, arguments) }; + imports.wbg.__wbg_setBindGroup_62a3045b0921e429 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setBindGroup(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4), arg5, arg6 >>> 0); + }; + imports.wbg.__wbg_setBindGroup_6c0fd18e9a53a945 = function(arg0, arg1, arg2) { + arg0.setBindGroup(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_setBindGroup_7f3b61f1f482133b = function(arg0, arg1, arg2) { + arg0.setBindGroup(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_setBindGroup_bf767a5aa46a33ce = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setBindGroup(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4), arg5, arg6 >>> 0); + }; + imports.wbg.__wbg_setBindGroup_c4aaff14063226b4 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setBindGroup(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4), arg5, arg6 >>> 0); + }; + imports.wbg.__wbg_setBindGroup_f82e771dc1b69093 = function(arg0, arg1, arg2) { + arg0.setBindGroup(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_setBlendConstant_016723821cfb3aa4 = function(arg0, arg1) { + arg0.setBlendConstant(arg1); + }; + imports.wbg.__wbg_setIndexBuffer_286a40afdff411b7 = function(arg0, arg1, arg2, arg3) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3); + }; + imports.wbg.__wbg_setIndexBuffer_7efd0b7a40c65fb9 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3, arg4); + }; + imports.wbg.__wbg_setIndexBuffer_e091a9673bb575e2 = function(arg0, arg1, arg2, arg3) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3); + }; + imports.wbg.__wbg_setIndexBuffer_f0759f00036f615f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3, arg4); + }; + imports.wbg.__wbg_setPipeline_ba92070b8ee81cf9 = function(arg0, arg1) { + arg0.setPipeline(arg1); + }; + imports.wbg.__wbg_setPipeline_c344f76bae58c4d6 = function(arg0, arg1) { + arg0.setPipeline(arg1); + }; + imports.wbg.__wbg_setPipeline_d76451c50a121598 = function(arg0, arg1) { + arg0.setPipeline(arg1); + }; + imports.wbg.__wbg_setPointerCapture_6b89bc3d20c408af = function() { return handleError(function (arg0, arg1) { + arg0.setPointerCapture(arg1); + }, arguments) }; + imports.wbg.__wbg_setProperty_b11b0bad191551d1 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { + arg0.setProperty(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4)); + }, arguments) }; + imports.wbg.__wbg_setScissorRect_0b6ee0852ef0b6b9 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setScissorRect(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_setStencilReference_34fd3d59673a5a9d = function(arg0, arg1) { + arg0.setStencilReference(arg1 >>> 0); + }; + imports.wbg.__wbg_setTimeout_11f3c7cad8433a4f = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.setTimeout(arg1, arg2); + return ret; + }, arguments) }; + imports.wbg.__wbg_setTimeout_15ba883433c836ab = function() { return handleError(function (arg0, arg1) { + const ret = arg0.setTimeout(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_setVertexBuffer_06a90dc78e1ad9c4 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_setVertexBuffer_1540e9118b6c451d = function(arg0, arg1, arg2, arg3) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_setVertexBuffer_5166eedc06450701 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_setVertexBuffer_8621784e5014065b = function(arg0, arg1, arg2, arg3) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_setViewport_731ad30abb13f744 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setViewport(arg1, arg2, arg3, arg4, arg5, arg6); + }; + imports.wbg.__wbg_set_421385e996a16e02 = function() { return handleError(function (arg0, arg1, arg2) { + const ret = Reflect.set(arg0, arg1, arg2); + return ret; + }, arguments) }; + imports.wbg.__wbg_set_7b70226104a82921 = function(arg0, arg1, arg2) { + arg0.set(arg1, arg2 >>> 0); + }; + imports.wbg.__wbg_setbox_f664fc1447c0b2bb = function(arg0, arg1) { + arg0.box = __wbindgen_enum_ResizeObserverBoxOptions[arg1]; + }; + imports.wbg.__wbg_setheight_4286b13b9186d39f = function(arg0, arg1) { + arg0.height = arg1 >>> 0; + }; + imports.wbg.__wbg_setheight_7632621fed149fd9 = function(arg0, arg1) { + arg0.height = arg1 >>> 0; + }; + imports.wbg.__wbg_setonmessage_1f177e6cba71d19d = function(arg0, arg1) { + arg0.onmessage = arg1; + }; + imports.wbg.__wbg_setonuncapturederror_19541466822d790b = function(arg0, arg1) { + arg0.onuncapturederror = arg1; + }; + imports.wbg.__wbg_settabIndex_bc37dd560b089902 = function(arg0, arg1) { + arg0.tabIndex = arg1; + }; + imports.wbg.__wbg_settype_202db174d92fe493 = function(arg0, arg1, arg2) { + arg0.type = getStringFromWasm0(arg1, arg2); + }; + imports.wbg.__wbg_setwidth_5e43e6e177d3e2ec = function(arg0, arg1) { + arg0.width = arg1 >>> 0; + }; + imports.wbg.__wbg_setwidth_db46810857c0f6bd = function(arg0, arg1) { + arg0.width = arg1 >>> 0; + }; + imports.wbg.__wbg_shaderSource_7d9e91c6b9aaf864 = function(arg0, arg1, arg2, arg3) { + arg0.shaderSource(arg1, getStringFromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_shaderSource_b7db90958962e1f7 = function(arg0, arg1, arg2, arg3) { + arg0.shaderSource(arg1, getStringFromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_shiftKey_570898b1142a9898 = function(arg0) { + const ret = arg0.shiftKey; + return ret; + }; + imports.wbg.__wbg_shiftKey_e90da27a3092777e = function(arg0) { + const ret = arg0.shiftKey; + return ret; + }; + imports.wbg.__wbg_signal_fd2d6d0644f16ad8 = function(arg0) { + const ret = arg0.signal; + return ret; + }; + imports.wbg.__wbg_size_661bddb3f9898121 = function(arg0) { + const ret = arg0.size; + return ret; + }; + imports.wbg.__wbg_stack_0ed75d68575b0f3c = function(arg0, arg1) { + const ret = arg1.stack; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_start_a00c28f297559e1d = function(arg0) { + arg0.start(); + }; + imports.wbg.__wbg_stencilFuncSeparate_903776516b404f1e = function(arg0, arg1, arg2, arg3, arg4) { + arg0.stencilFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3, arg4 >>> 0); + }; + imports.wbg.__wbg_stencilFuncSeparate_9987b0fe1f74adc3 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.stencilFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3, arg4 >>> 0); + }; + imports.wbg.__wbg_stencilMaskSeparate_24a5bad679d4896c = function(arg0, arg1, arg2) { + arg0.stencilMaskSeparate(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_stencilMaskSeparate_5ade706794e0ff10 = function(arg0, arg1, arg2) { + arg0.stencilMaskSeparate(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_stencilMask_8ccbc71e58e71b93 = function(arg0, arg1) { + arg0.stencilMask(arg1 >>> 0); + }; + imports.wbg.__wbg_stencilMask_e03561d8e6b7171a = function(arg0, arg1) { + arg0.stencilMask(arg1 >>> 0); + }; + imports.wbg.__wbg_stencilOpSeparate_13e313403862a2bc = function(arg0, arg1, arg2, arg3, arg4) { + arg0.stencilOpSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_stencilOpSeparate_e03fe45a6a83cf8f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.stencilOpSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_style_e7c4e0938a7565b2 = function(arg0) { + const ret = arg0.style; + return ret; + }; + imports.wbg.__wbg_submit_f635072bb3d05faa = function(arg0, arg1) { + arg0.submit(arg1); + }; + imports.wbg.__wbg_texImage2D_102612af3b3ea301 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texImage2D_38f7a3dc4dcf0183 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texImage3D_4828de4d80648b9d = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) { + arg0.texImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8 >>> 0, arg9 >>> 0, arg10); + }, arguments) }; + imports.wbg.__wbg_texParameteri_2cc96bb59a67d4c2 = function(arg0, arg1, arg2, arg3) { + arg0.texParameteri(arg1 >>> 0, arg2 >>> 0, arg3); + }; + imports.wbg.__wbg_texParameteri_8e4109b7fbd3b875 = function(arg0, arg1, arg2, arg3) { + arg0.texParameteri(arg1 >>> 0, arg2 >>> 0, arg3); + }; + imports.wbg.__wbg_texStorage2D_728b9632dbd913e2 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.texStorage2D(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_texStorage3D_04d10ef19e465ec2 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.texStorage3D(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5, arg6); + }; + imports.wbg.__wbg_texSubImage2D_0c095c30c73e34c0 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_3c9a9ceac3c27fe7 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_3dbb6fb895fd53a7 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_4e505a214a40fc20 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_7197aef4cdbc7d70 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_746d9e75d2dd12d1 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_ca1d7744b168aa02 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_da8455e8da280cee = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_82336f6100e3ef24 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_831e19830a791320 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_9623fc609df925f5 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_9a8cb5676fdf0b50 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_a18f6424082a9393 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_d127dad275801f75 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_ebd1f2b229a92c5d = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_then_5c6469c1e1da9e59 = function(arg0, arg1) { + const ret = arg0.then(arg1); + return ret; + }; + imports.wbg.__wbg_then_faeb8aed8c1629b7 = function(arg0, arg1, arg2) { + const ret = arg0.then(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_type_c0d5d83032e9858a = function(arg0) { + const ret = arg0.type; + return (__wbindgen_enum_GpuCompilationMessageType.indexOf(ret) + 1 || 4) - 1; + }; + imports.wbg.__wbg_uniform1f_163e6ffe0d9805a4 = function(arg0, arg1, arg2) { + arg0.uniform1f(arg1, arg2); + }; + imports.wbg.__wbg_uniform1f_bb85eb8ed9248e52 = function(arg0, arg1, arg2) { + arg0.uniform1f(arg1, arg2); + }; + imports.wbg.__wbg_uniform1i_9fe01b91ff85aa85 = function(arg0, arg1, arg2) { + arg0.uniform1i(arg1, arg2); + }; + imports.wbg.__wbg_uniform1i_da7c764279d55bb5 = function(arg0, arg1, arg2) { + arg0.uniform1i(arg1, arg2); + }; + imports.wbg.__wbg_uniform1ui_1cd8b5fee3b44787 = function(arg0, arg1, arg2) { + arg0.uniform1ui(arg1, arg2 >>> 0); + }; + imports.wbg.__wbg_uniform2fv_40e0cc0b3d7ab815 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform2fv_d7ec4f77d2282f77 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform2iv_6d1ed66fa019f1a6 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform2iv_b36969471f3bb8e2 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform2uiv_e5d292b09c7c2eb4 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2uiv(arg1, getArrayU32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3fv_4f40a7b75bcdeb91 = function(arg0, arg1, arg2, arg3) { + arg0.uniform3fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3fv_c6fea7086ffa568e = function(arg0, arg1, arg2, arg3) { + arg0.uniform3fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3iv_46cafa9a87333139 = function(arg0, arg1, arg2, arg3) { + arg0.uniform3iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3iv_c13167af320af60e = function(arg0, arg1, arg2, arg3) { + arg0.uniform3iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3uiv_7e60873d7a35f50b = function(arg0, arg1, arg2, arg3) { + arg0.uniform3uiv(arg1, getArrayU32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4f_2408c0a3b4a0941d = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.uniform4f(arg1, arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_uniform4f_4eebf85a05c60a16 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.uniform4f(arg1, arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_uniform4fv_7ecf41f27e0e71ec = function(arg0, arg1, arg2, arg3) { + arg0.uniform4fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4fv_c88b1733f9a40a7a = function(arg0, arg1, arg2, arg3) { + arg0.uniform4fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4iv_0ee5d566bd3880e4 = function(arg0, arg1, arg2, arg3) { + arg0.uniform4iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4iv_cd69e9451d767045 = function(arg0, arg1, arg2, arg3) { + arg0.uniform4iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4uiv_c55d0b6c672eaf59 = function(arg0, arg1, arg2, arg3) { + arg0.uniform4uiv(arg1, getArrayU32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniformBlockBinding_e646e98e7f5da8fa = function(arg0, arg1, arg2, arg3) { + arg0.uniformBlockBinding(arg1, arg2 >>> 0, arg3 >>> 0); + }; + imports.wbg.__wbg_uniformMatrix2fv_ae2d3b42477e00fd = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix2fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix2fv_d44126fac416e7e4 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix2fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix2x3fv_18d94e4451a372cc = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix2x3fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix2x4fv_c34a8a330e7c94bd = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix2x4fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix3fv_652493ea4042e14f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix3fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix3fv_a3b27e44f0ad7caa = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix3fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix3x2fv_1bc7685c610e2b46 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix3x2fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix3x4fv_c99cdce05d7ffca9 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix3x4fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix4fv_a5f6838f6e217418 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix4fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix4fv_bbdf3d84ccedee84 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix4fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix4x2fv_05ec6db042145650 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix4x2fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix4x3fv_c393892235ce0f8b = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix4x3fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_unmap_8c2e8131b2aaa844 = function(arg0) { + arg0.unmap(); + }; + imports.wbg.__wbg_unobserve_9198337c0c96042f = function(arg0, arg1) { + arg0.unobserve(arg1); + }; + imports.wbg.__wbg_usage_13caa02888040e9f = function(arg0) { + const ret = arg0.usage; + return ret; + }; + imports.wbg.__wbg_useProgram_795e70e5047fcb65 = function(arg0, arg1) { + arg0.useProgram(arg1); + }; + imports.wbg.__wbg_useProgram_e84b53bf74bbe9b3 = function(arg0, arg1) { + arg0.useProgram(arg1); + }; + imports.wbg.__wbg_userAgentData_5e600df9bb352050 = function(arg0) { + const ret = arg0.userAgentData; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_userAgent_bfd54e5c60738678 = function() { return handleError(function (arg0, arg1) { + const ret = arg1.userAgent; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_valueOf_a2728b52687d72b4 = function(arg0) { + const ret = arg0.valueOf(); + return ret; + }; + imports.wbg.__wbg_vertexAttribDivisorANGLE_78ad959056e0feb7 = function(arg0, arg1, arg2) { + arg0.vertexAttribDivisorANGLE(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_vertexAttribDivisor_bc3026299e814316 = function(arg0, arg1, arg2) { + arg0.vertexAttribDivisor(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_vertexAttribIPointer_4397ca04b895d127 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.vertexAttribIPointer(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_vertexAttribPointer_1738c34c1c0d57a0 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.vertexAttribPointer(arg1 >>> 0, arg2, arg3 >>> 0, arg4 !== 0, arg5, arg6); + }; + imports.wbg.__wbg_vertexAttribPointer_34a2b143ee35746f = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.vertexAttribPointer(arg1 >>> 0, arg2, arg3 >>> 0, arg4 !== 0, arg5, arg6); + }; + imports.wbg.__wbg_videoHeight_7d8449d4b1aad15d = function(arg0) { + const ret = arg0.videoHeight; + return ret; + }; + imports.wbg.__wbg_videoWidth_134d623b7b20f203 = function(arg0) { + const ret = arg0.videoWidth; + return ret; + }; + imports.wbg.__wbg_viewport_04c48fc077486d94 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.viewport(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_viewport_301bba26f65246ed = function(arg0, arg1, arg2, arg3, arg4) { + arg0.viewport(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_visibilityState_c2b01655a6777e68 = function(arg0) { + const ret = arg0.visibilityState; + return (__wbindgen_enum_VisibilityState.indexOf(ret) + 1 || 3) - 1; + }; + imports.wbg.__wbg_warn_a6963915e4da61f6 = function(arg0) { + console.warn(arg0); + }; + imports.wbg.__wbg_webkitFullscreenElement_0c4654cdfe6894e5 = function(arg0) { + const ret = arg0.webkitFullscreenElement; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_webkitRequestFullscreen_fe95241c4f21ea63 = function(arg0) { + arg0.webkitRequestFullscreen(); + }; + imports.wbg.__wbg_width_514dd9b3b0cff49c = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_551edb4bb900e3dd = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_826b25a505a0b357 = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_dfc6149b0c4d8821 = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_e9eedd46da897708 = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_ee6a46425045c0dd = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_window_1a23defd102c72f4 = function() { return handleError(function () { + const ret = window.window; + return ret; + }, arguments) }; + imports.wbg.__wbg_writeBuffer_5ca4981365eb5ac0 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.writeBuffer(arg1, arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_writeTexture_246118eb2f5a1592 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.writeTexture(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbindgen_boolean_get = function(arg0) { + const v = arg0; + const ret = typeof(v) === 'boolean' ? (v ? 1 : 0) : 2; + return ret; + }; + imports.wbg.__wbindgen_cb_drop = function(arg0) { + const obj = arg0.original; + if (obj.cnt-- == 1) { + obj.a = 0; + return true; + } + const ret = false; + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2732 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 356, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper4899 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 356, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper4905 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 356, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6316 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 356, __wbg_adapter_41); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6361 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 356, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6378 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 356, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6379 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 356, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6380 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 356, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6381 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 356, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6382 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 356, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6424 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 356, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6425 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 356, __wbg_adapter_58); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6426 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 356, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_debug_string = function(arg0, arg1) { + const ret = debugString(arg1); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_init_externref_table = function() { + const table = wasm.__wbindgen_export_1; + const offset = table.grow(4); + table.set(0, undefined); + table.set(offset + 0, undefined); + table.set(offset + 1, null); + table.set(offset + 2, true); + table.set(offset + 3, false); + ; + }; + imports.wbg.__wbindgen_is_function = function(arg0) { + const ret = typeof(arg0) === 'function'; + return ret; + }; + imports.wbg.__wbindgen_is_null = function(arg0) { + const ret = arg0 === null; + return ret; + }; + imports.wbg.__wbindgen_is_object = function(arg0) { + const val = arg0; + const ret = typeof(val) === 'object' && val !== null; + return ret; + }; + imports.wbg.__wbindgen_is_undefined = function(arg0) { + const ret = arg0 === undefined; + return ret; + }; + imports.wbg.__wbindgen_memory = function() { + const ret = wasm.memory; + return ret; + }; + imports.wbg.__wbindgen_number_get = function(arg0, arg1) { + const obj = arg1; + const ret = typeof(obj) === 'number' ? obj : undefined; + getDataViewMemory0().setFloat64(arg0 + 8 * 1, isLikeNone(ret) ? 0 : ret, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true); + }; + imports.wbg.__wbindgen_number_new = function(arg0) { + const ret = arg0; + return ret; + }; + imports.wbg.__wbindgen_string_get = function(arg0, arg1) { + const obj = arg1; + const ret = typeof(obj) === 'string' ? obj : undefined; + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_string_new = function(arg0, arg1) { + const ret = getStringFromWasm0(arg0, arg1); + return ret; + }; + imports.wbg.__wbindgen_throw = function(arg0, arg1) { + throw new Error(getStringFromWasm0(arg0, arg1)); + }; + imports['env'] = __wbg_star0; + + return imports; +} + +function __wbg_init_memory(imports, memory) { + +} + +function __wbg_finalize_init(instance, module) { + wasm = instance.exports; + __wbg_init.__wbindgen_wasm_module = module; + cachedDataViewMemory0 = null; + cachedFloat32ArrayMemory0 = null; + cachedInt32ArrayMemory0 = null; + cachedUint32ArrayMemory0 = null; + cachedUint8ArrayMemory0 = null; + + + wasm.__wbindgen_start(); + return wasm; +} + +function initSync(module) { + if (wasm !== undefined) return wasm; + + + if (typeof module !== 'undefined') { + if (Object.getPrototypeOf(module) === Object.prototype) { + ({module} = module) + } else { + console.warn('using deprecated parameters for `initSync()`; pass a single object instead') + } + } + + const imports = __wbg_get_imports(); + + __wbg_init_memory(imports); + + if (!(module instanceof WebAssembly.Module)) { + module = new WebAssembly.Module(module); + } + + const instance = new WebAssembly.Instance(module, imports); + + return __wbg_finalize_init(instance, module); +} + +async function __wbg_init(module_or_path) { + if (wasm !== undefined) return wasm; + + + if (typeof module_or_path !== 'undefined') { + if (Object.getPrototypeOf(module_or_path) === Object.prototype) { + ({module_or_path} = module_or_path) + } else { + console.warn('using deprecated parameters for the initialization function; pass a single object instead') + } + } + + if (typeof module_or_path === 'undefined') { + module_or_path = new URL('tutorial6-uniforms_bg.wasm', import.meta.url); + } + const imports = __wbg_get_imports(); + + if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) { + module_or_path = fetch(module_or_path); + } + + __wbg_init_memory(imports); + + const { instance, module } = await __wbg_load(await module_or_path, imports); + + return __wbg_finalize_init(instance, module); +} + +export { initSync }; +export default __wbg_init; diff --git a/wasm/tutorial6-uniforms_bg.wasm b/wasm/tutorial6-uniforms_bg.wasm new file mode 100644 index 00000000..68345824 Binary files /dev/null and b/wasm/tutorial6-uniforms_bg.wasm differ diff --git a/wasm/tutorial7-instancing.js b/wasm/tutorial7-instancing.js new file mode 100644 index 00000000..b96ac0d4 --- /dev/null +++ b/wasm/tutorial7-instancing.js @@ -0,0 +1,2593 @@ +import * as __wbg_star0 from 'env'; + +let wasm; + +function isLikeNone(x) { + return x === undefined || x === null; +} + +function addToExternrefTable0(obj) { + const idx = wasm.__externref_table_alloc(); + wasm.__wbindgen_export_1.set(idx, obj); + return idx; +} + +const cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : { decode: () => { throw Error('TextDecoder not available') } } ); + +if (typeof TextDecoder !== 'undefined') { cachedTextDecoder.decode(); }; + +let cachedUint8ArrayMemory0 = null; + +function getUint8ArrayMemory0() { + if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) { + cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer); + } + return cachedUint8ArrayMemory0; +} + +function getStringFromWasm0(ptr, len) { + ptr = ptr >>> 0; + return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len)); +} + +function handleError(f, args) { + try { + return f.apply(this, args); + } catch (e) { + const idx = addToExternrefTable0(e); + wasm.__wbindgen_exn_store(idx); + } +} + +let WASM_VECTOR_LEN = 0; + +const cachedTextEncoder = (typeof TextEncoder !== 'undefined' ? new TextEncoder('utf-8') : { encode: () => { throw Error('TextEncoder not available') } } ); + +const encodeString = (typeof cachedTextEncoder.encodeInto === 'function' + ? function (arg, view) { + return cachedTextEncoder.encodeInto(arg, view); +} + : function (arg, view) { + const buf = cachedTextEncoder.encode(arg); + view.set(buf); + return { + read: arg.length, + written: buf.length + }; +}); + +function passStringToWasm0(arg, malloc, realloc) { + + if (realloc === undefined) { + const buf = cachedTextEncoder.encode(arg); + const ptr = malloc(buf.length, 1) >>> 0; + getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf); + WASM_VECTOR_LEN = buf.length; + return ptr; + } + + let len = arg.length; + let ptr = malloc(len, 1) >>> 0; + + const mem = getUint8ArrayMemory0(); + + let offset = 0; + + for (; offset < len; offset++) { + const code = arg.charCodeAt(offset); + if (code > 0x7F) break; + mem[ptr + offset] = code; + } + + if (offset !== len) { + if (offset !== 0) { + arg = arg.slice(offset); + } + ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0; + const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len); + const ret = encodeString(arg, view); + + offset += ret.written; + ptr = realloc(ptr, len, offset, 1) >>> 0; + } + + WASM_VECTOR_LEN = offset; + return ptr; +} + +let cachedDataViewMemory0 = null; + +function getDataViewMemory0() { + if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) { + cachedDataViewMemory0 = new DataView(wasm.memory.buffer); + } + return cachedDataViewMemory0; +} + +let cachedFloat32ArrayMemory0 = null; + +function getFloat32ArrayMemory0() { + if (cachedFloat32ArrayMemory0 === null || cachedFloat32ArrayMemory0.byteLength === 0) { + cachedFloat32ArrayMemory0 = new Float32Array(wasm.memory.buffer); + } + return cachedFloat32ArrayMemory0; +} + +function getArrayF32FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getFloat32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len); +} + +let cachedInt32ArrayMemory0 = null; + +function getInt32ArrayMemory0() { + if (cachedInt32ArrayMemory0 === null || cachedInt32ArrayMemory0.byteLength === 0) { + cachedInt32ArrayMemory0 = new Int32Array(wasm.memory.buffer); + } + return cachedInt32ArrayMemory0; +} + +function getArrayI32FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getInt32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len); +} + +let cachedUint32ArrayMemory0 = null; + +function getUint32ArrayMemory0() { + if (cachedUint32ArrayMemory0 === null || cachedUint32ArrayMemory0.byteLength === 0) { + cachedUint32ArrayMemory0 = new Uint32Array(wasm.memory.buffer); + } + return cachedUint32ArrayMemory0; +} + +function getArrayU32FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getUint32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len); +} + +const CLOSURE_DTORS = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(state => { + wasm.__wbindgen_export_6.get(state.dtor)(state.a, state.b) +}); + +function makeMutClosure(arg0, arg1, dtor, f) { + const state = { a: arg0, b: arg1, cnt: 1, dtor }; + const real = (...args) => { + // First up with a closure we increment the internal reference + // count. This ensures that the Rust closure environment won't + // be deallocated while we're invoking it. + state.cnt++; + const a = state.a; + state.a = 0; + try { + return f(a, state.b, ...args); + } finally { + if (--state.cnt === 0) { + wasm.__wbindgen_export_6.get(state.dtor)(a, state.b); + CLOSURE_DTORS.unregister(state); + } else { + state.a = a; + } + } + }; + real.original = state; + CLOSURE_DTORS.register(real, state, state); + return real; +} + +function debugString(val) { + // primitive types + const type = typeof val; + if (type == 'number' || type == 'boolean' || val == null) { + return `${val}`; + } + if (type == 'string') { + return `"${val}"`; + } + if (type == 'symbol') { + const description = val.description; + if (description == null) { + return 'Symbol'; + } else { + return `Symbol(${description})`; + } + } + if (type == 'function') { + const name = val.name; + if (typeof name == 'string' && name.length > 0) { + return `Function(${name})`; + } else { + return 'Function'; + } + } + // objects + if (Array.isArray(val)) { + const length = val.length; + let debug = '['; + if (length > 0) { + debug += debugString(val[0]); + } + for(let i = 1; i < length; i++) { + debug += ', ' + debugString(val[i]); + } + debug += ']'; + return debug; + } + // Test for built-in + const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val)); + let className; + if (builtInMatches && builtInMatches.length > 1) { + className = builtInMatches[1]; + } else { + // Failed to match the standard '[object ClassName]' + return toString.call(val); + } + if (className == 'Object') { + // we're a user defined class or Object + // JSON.stringify avoids problems with cycles, and is generally much + // easier than looping through ownProperties of `val`. + try { + return 'Object(' + JSON.stringify(val) + ')'; + } catch (_) { + return 'Object'; + } + } + // errors + if (val instanceof Error) { + return `${val.name}: ${val.message}\n${val.stack}`; + } + // TODO we could test for more things here, like `Set`s and `Map`s. + return className; +} +function __wbg_adapter_34(arg0, arg1, arg2) { + wasm.closure351_externref_shim(arg0, arg1, arg2); +} + +function __wbg_adapter_41(arg0, arg1) { + wasm._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hc2a92dab5895dab9(arg0, arg1); +} + +function __wbg_adapter_58(arg0, arg1, arg2, arg3) { + wasm.closure861_externref_shim(arg0, arg1, arg2, arg3); +} + +const __wbindgen_enum_GpuCompilationMessageType = ["error", "warning", "info"]; + +const __wbindgen_enum_GpuDeviceLostReason = ["unknown", "destroyed"]; + +const __wbindgen_enum_GpuErrorFilter = ["validation", "out-of-memory", "internal"]; + +const __wbindgen_enum_GpuIndexFormat = ["uint16", "uint32"]; + +const __wbindgen_enum_GpuTextureFormat = ["r8unorm", "r8snorm", "r8uint", "r8sint", "r16uint", "r16sint", "r16float", "rg8unorm", "rg8snorm", "rg8uint", "rg8sint", "r32uint", "r32sint", "r32float", "rg16uint", "rg16sint", "rg16float", "rgba8unorm", "rgba8unorm-srgb", "rgba8snorm", "rgba8uint", "rgba8sint", "bgra8unorm", "bgra8unorm-srgb", "rgb9e5ufloat", "rgb10a2uint", "rgb10a2unorm", "rg11b10ufloat", "rg32uint", "rg32sint", "rg32float", "rgba16uint", "rgba16sint", "rgba16float", "rgba32uint", "rgba32sint", "rgba32float", "stencil8", "depth16unorm", "depth24plus", "depth24plus-stencil8", "depth32float", "depth32float-stencil8", "bc1-rgba-unorm", "bc1-rgba-unorm-srgb", "bc2-rgba-unorm", "bc2-rgba-unorm-srgb", "bc3-rgba-unorm", "bc3-rgba-unorm-srgb", "bc4-r-unorm", "bc4-r-snorm", "bc5-rg-unorm", "bc5-rg-snorm", "bc6h-rgb-ufloat", "bc6h-rgb-float", "bc7-rgba-unorm", "bc7-rgba-unorm-srgb", "etc2-rgb8unorm", "etc2-rgb8unorm-srgb", "etc2-rgb8a1unorm", "etc2-rgb8a1unorm-srgb", "etc2-rgba8unorm", "etc2-rgba8unorm-srgb", "eac-r11unorm", "eac-r11snorm", "eac-rg11unorm", "eac-rg11snorm", "astc-4x4-unorm", "astc-4x4-unorm-srgb", "astc-5x4-unorm", "astc-5x4-unorm-srgb", "astc-5x5-unorm", "astc-5x5-unorm-srgb", "astc-6x5-unorm", "astc-6x5-unorm-srgb", "astc-6x6-unorm", "astc-6x6-unorm-srgb", "astc-8x5-unorm", "astc-8x5-unorm-srgb", "astc-8x6-unorm", "astc-8x6-unorm-srgb", "astc-8x8-unorm", "astc-8x8-unorm-srgb", "astc-10x5-unorm", "astc-10x5-unorm-srgb", "astc-10x6-unorm", "astc-10x6-unorm-srgb", "astc-10x8-unorm", "astc-10x8-unorm-srgb", "astc-10x10-unorm", "astc-10x10-unorm-srgb", "astc-12x10-unorm", "astc-12x10-unorm-srgb", "astc-12x12-unorm", "astc-12x12-unorm-srgb"]; + +const __wbindgen_enum_ResizeObserverBoxOptions = ["border-box", "content-box", "device-pixel-content-box"]; + +const __wbindgen_enum_VisibilityState = ["hidden", "visible"]; + +async function __wbg_load(module, imports) { + if (typeof Response === 'function' && module instanceof Response) { + if (typeof WebAssembly.instantiateStreaming === 'function') { + try { + return await WebAssembly.instantiateStreaming(module, imports); + + } catch (e) { + if (module.headers.get('Content-Type') != 'application/wasm') { + console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e); + + } else { + throw e; + } + } + } + + const bytes = await module.arrayBuffer(); + return await WebAssembly.instantiate(bytes, imports); + + } else { + const instance = await WebAssembly.instantiate(module, imports); + + if (instance instanceof WebAssembly.Instance) { + return { instance, module }; + + } else { + return instance; + } + } +} + +function __wbg_get_imports() { + const imports = {}; + imports.wbg = {}; + imports.wbg.__wbg_Window_96e58b3552ce6bb1 = function(arg0) { + const ret = arg0.Window; + return ret; + }; + imports.wbg.__wbg_Window_cf5b693340a7c469 = function(arg0) { + const ret = arg0.Window; + return ret; + }; + imports.wbg.__wbg_WorkerGlobalScope_354364d1b0bd06e5 = function(arg0) { + const ret = arg0.WorkerGlobalScope; + return ret; + }; + imports.wbg.__wbg_abort_19de2f828ee0874a = function(arg0) { + arg0.abort(); + }; + imports.wbg.__wbg_activeElement_d1a1f2b334adf636 = function(arg0) { + const ret = arg0.activeElement; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_activeTexture_24b42b03041f3428 = function(arg0, arg1) { + arg0.activeTexture(arg1 >>> 0); + }; + imports.wbg.__wbg_activeTexture_47928613532be667 = function(arg0, arg1) { + arg0.activeTexture(arg1 >>> 0); + }; + imports.wbg.__wbg_addEventListener_e27053e488770e58 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + arg0.addEventListener(getStringFromWasm0(arg1, arg2), arg3); + }, arguments) }; + imports.wbg.__wbg_addListener_dca1ccc036e24997 = function() { return handleError(function (arg0, arg1) { + arg0.addListener(arg1); + }, arguments) }; + imports.wbg.__wbg_altKey_56dd0987e7ccbbf2 = function(arg0) { + const ret = arg0.altKey; + return ret; + }; + imports.wbg.__wbg_altKey_583c79ba3f4fce1e = function(arg0) { + const ret = arg0.altKey; + return ret; + }; + imports.wbg.__wbg_animate_310f1b8e5b1fdb56 = function(arg0, arg1, arg2) { + const ret = arg0.animate(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_appendChild_805222aed73feea9 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.appendChild(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_attachShader_81000b0c4da5b206 = function(arg0, arg1, arg2) { + arg0.attachShader(arg1, arg2); + }; + imports.wbg.__wbg_attachShader_ccc35921e866b2bf = function(arg0, arg1, arg2) { + arg0.attachShader(arg1, arg2); + }; + imports.wbg.__wbg_beginComputePass_90d5303e604970cb = function(arg0, arg1) { + const ret = arg0.beginComputePass(arg1); + return ret; + }; + imports.wbg.__wbg_beginQuery_4e54bbe77706fb3c = function(arg0, arg1, arg2) { + arg0.beginQuery(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_beginRenderPass_9739520c601001c3 = function(arg0, arg1) { + const ret = arg0.beginRenderPass(arg1); + return ret; + }; + imports.wbg.__wbg_bindAttribLocation_a08ae4fdf9b16e7d = function(arg0, arg1, arg2, arg3, arg4) { + arg0.bindAttribLocation(arg1, arg2 >>> 0, getStringFromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_bindAttribLocation_b53db53e1b134420 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.bindAttribLocation(arg1, arg2 >>> 0, getStringFromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_bindBufferRange_ce5a2827ed937112 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.bindBufferRange(arg1 >>> 0, arg2 >>> 0, arg3, arg4, arg5); + }; + imports.wbg.__wbg_bindBuffer_0fedb16582ffeee6 = function(arg0, arg1, arg2) { + arg0.bindBuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindBuffer_c6e5f29d60e90c01 = function(arg0, arg1, arg2) { + arg0.bindBuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindFramebuffer_87e15614ca3e9537 = function(arg0, arg1, arg2) { + arg0.bindFramebuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindFramebuffer_a0d602bd474dcbfb = function(arg0, arg1, arg2) { + arg0.bindFramebuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindRenderbuffer_3100396894cc2d72 = function(arg0, arg1, arg2) { + arg0.bindRenderbuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindRenderbuffer_fd3e47dad76906ea = function(arg0, arg1, arg2) { + arg0.bindRenderbuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindSampler_7614054a94f8e3d1 = function(arg0, arg1, arg2) { + arg0.bindSampler(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindTexture_6478edbb238b9c73 = function(arg0, arg1, arg2) { + arg0.bindTexture(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindTexture_9b177c97248ed4d9 = function(arg0, arg1, arg2) { + arg0.bindTexture(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindVertexArrayOES_e81fca007d08d0db = function(arg0, arg1) { + arg0.bindVertexArrayOES(arg1); + }; + imports.wbg.__wbg_bindVertexArray_d9082254ff3bcc13 = function(arg0, arg1) { + arg0.bindVertexArray(arg1); + }; + imports.wbg.__wbg_blendColor_075aa544f1fe84c5 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.blendColor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_blendColor_ed292080d5966f2c = function(arg0, arg1, arg2, arg3, arg4) { + arg0.blendColor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_blendEquationSeparate_3dbbe20b0a9fa818 = function(arg0, arg1, arg2) { + arg0.blendEquationSeparate(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_blendEquationSeparate_d360393d3b1557cd = function(arg0, arg1, arg2) { + arg0.blendEquationSeparate(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_blendEquation_41f4ed79f5ddd25c = function(arg0, arg1) { + arg0.blendEquation(arg1 >>> 0); + }; + imports.wbg.__wbg_blendEquation_8804e10c9ced3fc4 = function(arg0, arg1) { + arg0.blendEquation(arg1 >>> 0); + }; + imports.wbg.__wbg_blendFuncSeparate_2cc7ac2397290a15 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.blendFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_blendFuncSeparate_c6c035b0094bd58f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.blendFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_blendFunc_63aca14ff3252b59 = function(arg0, arg1, arg2) { + arg0.blendFunc(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_blendFunc_8e1cfba50a4eea89 = function(arg0, arg1, arg2) { + arg0.blendFunc(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_blitFramebuffer_171b9355e4e730c9 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) { + arg0.blitFramebuffer(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0); + }; + imports.wbg.__wbg_blockSize_e0006fb003814895 = function(arg0) { + const ret = arg0.blockSize; + return ret; + }; + imports.wbg.__wbg_body_83d4bc4961a422aa = function(arg0) { + const ret = arg0.body; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_brand_67e4f3d950154d0a = function(arg0, arg1) { + const ret = arg1.brand; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_brands_1ec54d613da9db02 = function(arg0) { + const ret = arg0.brands; + return ret; + }; + imports.wbg.__wbg_bufferData_2a747a2c2c3b23b5 = function(arg0, arg1, arg2, arg3) { + arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0); + }; + imports.wbg.__wbg_bufferData_5b85d77150f6520a = function(arg0, arg1, arg2, arg3) { + arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0); + }; + imports.wbg.__wbg_bufferData_b03654fb80052afe = function(arg0, arg1, arg2, arg3) { + arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0); + }; + imports.wbg.__wbg_bufferData_c2eb7dbb2ea2ab3f = function(arg0, arg1, arg2, arg3) { + arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0); + }; + imports.wbg.__wbg_bufferSubData_8a7d35c05111a120 = function(arg0, arg1, arg2, arg3) { + arg0.bufferSubData(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_bufferSubData_c4b11388b9eb4175 = function(arg0, arg1, arg2, arg3) { + arg0.bufferSubData(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_buffer_6e1d53ff183194fc = function(arg0) { + const ret = arg0.buffer; + return ret; + }; + imports.wbg.__wbg_buffer_ffdeb2ee67420f9e = function(arg0) { + const ret = arg0.buffer; + return ret; + }; + imports.wbg.__wbg_button_db48f93638c59f95 = function(arg0) { + const ret = arg0.button; + return ret; + }; + imports.wbg.__wbg_buttons_b962d6dc116cd1a5 = function(arg0) { + const ret = arg0.buttons; + return ret; + }; + imports.wbg.__wbg_call_3114932863209ca6 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.call(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_cancelAnimationFrame_f1ad512e269ea165 = function() { return handleError(function (arg0, arg1) { + arg0.cancelAnimationFrame(arg1); + }, arguments) }; + imports.wbg.__wbg_cancelIdleCallback_bcc2dc9be9de0744 = function(arg0, arg1) { + arg0.cancelIdleCallback(arg1 >>> 0); + }; + imports.wbg.__wbg_cancel_3b69067dcdf7ffb7 = function(arg0) { + arg0.cancel(); + }; + imports.wbg.__wbg_catch_9da7d002aa356f1d = function(arg0, arg1) { + const ret = arg0.catch(arg1); + return ret; + }; + imports.wbg.__wbg_clearBuffer_6164fc25d22b25cc = function(arg0, arg1, arg2, arg3) { + arg0.clearBuffer(arg1, arg2, arg3); + }; + imports.wbg.__wbg_clearBuffer_cfcaaf1fb2baa885 = function(arg0, arg1, arg2) { + arg0.clearBuffer(arg1, arg2); + }; + imports.wbg.__wbg_clearBufferfv_2cf04e18ef87ed90 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.clearBufferfv(arg1 >>> 0, arg2, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_clearBufferiv_b45be02e57957dad = function(arg0, arg1, arg2, arg3, arg4) { + arg0.clearBufferiv(arg1 >>> 0, arg2, getArrayI32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_clearBufferuiv_deca83038abb23d2 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.clearBufferuiv(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_clearDepth_14d34daa30215440 = function(arg0, arg1) { + arg0.clearDepth(arg1); + }; + imports.wbg.__wbg_clearDepth_1cdcb08d8a5afa49 = function(arg0, arg1) { + arg0.clearDepth(arg1); + }; + imports.wbg.__wbg_clearStencil_e2c8b1892d5e033d = function(arg0, arg1) { + arg0.clearStencil(arg1); + }; + imports.wbg.__wbg_clearStencil_f3138d2e338d1436 = function(arg0, arg1) { + arg0.clearStencil(arg1); + }; + imports.wbg.__wbg_clearTimeout_da4408c46e51bc7a = function(arg0, arg1) { + arg0.clearTimeout(arg1); + }; + imports.wbg.__wbg_clear_4e68091e616c29ad = function(arg0, arg1) { + arg0.clear(arg1 >>> 0); + }; + imports.wbg.__wbg_clear_af7641961d766f51 = function(arg0, arg1) { + arg0.clear(arg1 >>> 0); + }; + imports.wbg.__wbg_clientWaitSync_2c4c0bd3a8d3536b = function(arg0, arg1, arg2, arg3) { + const ret = arg0.clientWaitSync(arg1, arg2 >>> 0, arg3 >>> 0); + return ret; + }; + imports.wbg.__wbg_close_35d643897b189a00 = function(arg0) { + arg0.close(); + }; + imports.wbg.__wbg_code_d8226b2133366406 = function(arg0, arg1) { + const ret = arg1.code; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_colorMask_22d850d91e89df9f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.colorMask(arg1 !== 0, arg2 !== 0, arg3 !== 0, arg4 !== 0); + }; + imports.wbg.__wbg_colorMask_a6068fae89c17ceb = function(arg0, arg1, arg2, arg3, arg4) { + arg0.colorMask(arg1 !== 0, arg2 !== 0, arg3 !== 0, arg4 !== 0); + }; + imports.wbg.__wbg_compileShader_5e41ecd397194c21 = function(arg0, arg1) { + arg0.compileShader(arg1); + }; + imports.wbg.__wbg_compileShader_6868fa6a842f0911 = function(arg0, arg1) { + arg0.compileShader(arg1); + }; + imports.wbg.__wbg_compressedTexSubImage2D_216f6eec167da8d7 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + arg0.compressedTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8); + }; + imports.wbg.__wbg_compressedTexSubImage2D_4b50d2a94bf4ea60 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.compressedTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8, arg9); + }; + imports.wbg.__wbg_compressedTexSubImage2D_9b0c2c785026006a = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + arg0.compressedTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8); + }; + imports.wbg.__wbg_compressedTexSubImage3D_8102ea4403fef5ce = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) { + arg0.compressedTexSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10); + }; + imports.wbg.__wbg_compressedTexSubImage3D_bf2bdb940e26bc8c = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.compressedTexSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10, arg11); + }; + imports.wbg.__wbg_configure_2414aed971d368cd = function(arg0, arg1) { + arg0.configure(arg1); + }; + imports.wbg.__wbg_contains_6947e163e2a3c092 = function(arg0, arg1) { + const ret = arg0.contains(arg1); + return ret; + }; + imports.wbg.__wbg_contentRect_7aaa87e16fd2882d = function(arg0) { + const ret = arg0.contentRect; + return ret; + }; + imports.wbg.__wbg_copyBufferSubData_ff213d67aa3b1f82 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.copyBufferSubData(arg1 >>> 0, arg2 >>> 0, arg3, arg4, arg5); + }; + imports.wbg.__wbg_copyBufferToBuffer_1ba67191114656a1 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.copyBufferToBuffer(arg1, arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_copyBufferToTexture_878d31d479e48f28 = function(arg0, arg1, arg2, arg3) { + arg0.copyBufferToTexture(arg1, arg2, arg3); + }; + imports.wbg.__wbg_copyExternalImageToTexture_7878d196c0b60d39 = function(arg0, arg1, arg2, arg3) { + arg0.copyExternalImageToTexture(arg1, arg2, arg3); + }; + imports.wbg.__wbg_copyTexSubImage2D_4b37e79c31b798b1 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + arg0.copyTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + }; + imports.wbg.__wbg_copyTexSubImage2D_a29106dfb31dd17c = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + arg0.copyTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + }; + imports.wbg.__wbg_copyTexSubImage3D_f8350e268c143688 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.copyTexSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); + }; + imports.wbg.__wbg_copyTextureToBuffer_6a8fe0e90f0a663d = function(arg0, arg1, arg2, arg3) { + arg0.copyTextureToBuffer(arg1, arg2, arg3); + }; + imports.wbg.__wbg_copyTextureToTexture_0a06a393d6726b4a = function(arg0, arg1, arg2, arg3) { + arg0.copyTextureToTexture(arg1, arg2, arg3); + }; + imports.wbg.__wbg_createBindGroupLayout_1d93b6d41c87ba9d = function(arg0, arg1) { + const ret = arg0.createBindGroupLayout(arg1); + return ret; + }; + imports.wbg.__wbg_createBindGroup_61cd07ec9d423432 = function(arg0, arg1) { + const ret = arg0.createBindGroup(arg1); + return ret; + }; + imports.wbg.__wbg_createBuffer_1e646d14cebbb438 = function(arg0) { + const ret = arg0.createBuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createBuffer_2a696fb8c0d07970 = function(arg0) { + const ret = arg0.createBuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createBuffer_963aa00d5fe859e4 = function(arg0, arg1) { + const ret = arg0.createBuffer(arg1); + return ret; + }; + imports.wbg.__wbg_createCommandEncoder_f0e1613e9a2dc1eb = function(arg0, arg1) { + const ret = arg0.createCommandEncoder(arg1); + return ret; + }; + imports.wbg.__wbg_createComputePipeline_b9616b9fe2f4eb2f = function(arg0, arg1) { + const ret = arg0.createComputePipeline(arg1); + return ret; + }; + imports.wbg.__wbg_createElement_22b48bfb31a0c20e = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.createElement(getStringFromWasm0(arg1, arg2)); + return ret; + }, arguments) }; + imports.wbg.__wbg_createFramebuffer_163e192e1e53ec9b = function(arg0) { + const ret = arg0.createFramebuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createFramebuffer_1aa54479f7524ef5 = function(arg0) { + const ret = arg0.createFramebuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createObjectURL_06505af3e8787cc8 = function() { return handleError(function (arg0, arg1) { + const ret = URL.createObjectURL(arg1); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_createPipelineLayout_56c6cf983f892d2b = function(arg0, arg1) { + const ret = arg0.createPipelineLayout(arg1); + return ret; + }; + imports.wbg.__wbg_createProgram_5a5a92d23fdc2f1a = function(arg0) { + const ret = arg0.createProgram(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createProgram_b75025f0f1a4ef55 = function(arg0) { + const ret = arg0.createProgram(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createQuerySet_c14be802adf7c207 = function(arg0, arg1) { + const ret = arg0.createQuerySet(arg1); + return ret; + }; + imports.wbg.__wbg_createQuery_2816e95a473b5501 = function(arg0) { + const ret = arg0.createQuery(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createRenderBundleEncoder_8e4bdffea72f8c1f = function(arg0, arg1) { + const ret = arg0.createRenderBundleEncoder(arg1); + return ret; + }; + imports.wbg.__wbg_createRenderPipeline_079a88a0601fcce1 = function(arg0, arg1) { + const ret = arg0.createRenderPipeline(arg1); + return ret; + }; + imports.wbg.__wbg_createRenderbuffer_29e130c03bc689d3 = function(arg0) { + const ret = arg0.createRenderbuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createRenderbuffer_b10004ae18d38014 = function(arg0) { + const ret = arg0.createRenderbuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createSampler_50ae7c4dd1f9b066 = function(arg0) { + const ret = arg0.createSampler(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createSampler_ef5578990df3baf7 = function(arg0, arg1) { + const ret = arg0.createSampler(arg1); + return ret; + }; + imports.wbg.__wbg_createShaderModule_17f451ea25cae47c = function(arg0, arg1) { + const ret = arg0.createShaderModule(arg1); + return ret; + }; + imports.wbg.__wbg_createShader_29c8e06db7e7211f = function(arg0, arg1) { + const ret = arg0.createShader(arg1 >>> 0); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createShader_8c3053457f874cdd = function(arg0, arg1) { + const ret = arg0.createShader(arg1 >>> 0); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createTexture_01cc1cd2fea732d9 = function(arg0, arg1) { + const ret = arg0.createTexture(arg1); + return ret; + }; + imports.wbg.__wbg_createTexture_20f63b261993f581 = function(arg0) { + const ret = arg0.createTexture(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createTexture_facd2df68d8d0276 = function(arg0) { + const ret = arg0.createTexture(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createVertexArrayOES_89f45f4a4fde395f = function(arg0) { + const ret = arg0.createVertexArrayOES(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createVertexArray_70d7c4c62e00613d = function(arg0) { + const ret = arg0.createVertexArray(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createView_04701884291e1ccc = function(arg0, arg1) { + const ret = arg0.createView(arg1); + return ret; + }; + imports.wbg.__wbg_ctrlKey_60b29e015a543678 = function(arg0) { + const ret = arg0.ctrlKey; + return ret; + }; + imports.wbg.__wbg_ctrlKey_ab341328ab202d37 = function(arg0) { + const ret = arg0.ctrlKey; + return ret; + }; + imports.wbg.__wbg_cullFace_96a9dca4a5b1ca33 = function(arg0, arg1) { + arg0.cullFace(arg1 >>> 0); + }; + imports.wbg.__wbg_cullFace_99bb4e31c974596d = function(arg0, arg1) { + arg0.cullFace(arg1 >>> 0); + }; + imports.wbg.__wbg_debug_347b3d1f33e1c28e = function(arg0) { + console.debug(arg0); + }; + imports.wbg.__wbg_deleteBuffer_9d705222a7e77a7b = function(arg0, arg1) { + arg0.deleteBuffer(arg1); + }; + imports.wbg.__wbg_deleteBuffer_db0d7ecbaa97fa56 = function(arg0, arg1) { + arg0.deleteBuffer(arg1); + }; + imports.wbg.__wbg_deleteFramebuffer_69db238ea6b8a9a1 = function(arg0, arg1) { + arg0.deleteFramebuffer(arg1); + }; + imports.wbg.__wbg_deleteFramebuffer_ecf398bec452aaf9 = function(arg0, arg1) { + arg0.deleteFramebuffer(arg1); + }; + imports.wbg.__wbg_deleteProgram_cb18e0020d488bad = function(arg0, arg1) { + arg0.deleteProgram(arg1); + }; + imports.wbg.__wbg_deleteProgram_e1a6c4b922e202e3 = function(arg0, arg1) { + arg0.deleteProgram(arg1); + }; + imports.wbg.__wbg_deleteQuery_e083394da1710d6c = function(arg0, arg1) { + arg0.deleteQuery(arg1); + }; + imports.wbg.__wbg_deleteRenderbuffer_05fa7f35ea76cafd = function(arg0, arg1) { + arg0.deleteRenderbuffer(arg1); + }; + imports.wbg.__wbg_deleteRenderbuffer_2f1216e54aa2f248 = function(arg0, arg1) { + arg0.deleteRenderbuffer(arg1); + }; + imports.wbg.__wbg_deleteSampler_e5c61c85993f9a69 = function(arg0, arg1) { + arg0.deleteSampler(arg1); + }; + imports.wbg.__wbg_deleteShader_257caf93b24ac555 = function(arg0, arg1) { + arg0.deleteShader(arg1); + }; + imports.wbg.__wbg_deleteShader_fb86028e46cb069b = function(arg0, arg1) { + arg0.deleteShader(arg1); + }; + imports.wbg.__wbg_deleteSync_b5caedf06185d972 = function(arg0, arg1) { + arg0.deleteSync(arg1); + }; + imports.wbg.__wbg_deleteTexture_6913f682a09c8171 = function(arg0, arg1) { + arg0.deleteTexture(arg1); + }; + imports.wbg.__wbg_deleteTexture_a29655740b1cbe33 = function(arg0, arg1) { + arg0.deleteTexture(arg1); + }; + imports.wbg.__wbg_deleteVertexArrayOES_2def7ce37f8e89f2 = function(arg0, arg1) { + arg0.deleteVertexArrayOES(arg1); + }; + imports.wbg.__wbg_deleteVertexArray_a3bca8e15204ffed = function(arg0, arg1) { + arg0.deleteVertexArray(arg1); + }; + imports.wbg.__wbg_deltaMode_a4cc321212f87817 = function(arg0) { + const ret = arg0.deltaMode; + return ret; + }; + imports.wbg.__wbg_deltaX_27e2939a1af8c940 = function(arg0) { + const ret = arg0.deltaX; + return ret; + }; + imports.wbg.__wbg_deltaY_4bb52a4f0a7ad28b = function(arg0) { + const ret = arg0.deltaY; + return ret; + }; + imports.wbg.__wbg_depthFunc_657dd592930e7f2f = function(arg0, arg1) { + arg0.depthFunc(arg1 >>> 0); + }; + imports.wbg.__wbg_depthFunc_f9fd44a07ea8398e = function(arg0, arg1) { + arg0.depthFunc(arg1 >>> 0); + }; + imports.wbg.__wbg_depthMask_87195357e4f7df17 = function(arg0, arg1) { + arg0.depthMask(arg1 !== 0); + }; + imports.wbg.__wbg_depthMask_bac7f6b455b6ddeb = function(arg0, arg1) { + arg0.depthMask(arg1 !== 0); + }; + imports.wbg.__wbg_depthRange_d947e824a28dc9a1 = function(arg0, arg1, arg2) { + arg0.depthRange(arg1, arg2); + }; + imports.wbg.__wbg_depthRange_f71c79182f666e45 = function(arg0, arg1, arg2) { + arg0.depthRange(arg1, arg2); + }; + imports.wbg.__wbg_destroy_35f94012e5bb9c17 = function(arg0) { + arg0.destroy(); + }; + imports.wbg.__wbg_destroy_767d9dde1008e293 = function(arg0) { + arg0.destroy(); + }; + imports.wbg.__wbg_destroy_c6af4226dda95dbd = function(arg0) { + arg0.destroy(); + }; + imports.wbg.__wbg_devicePixelContentBoxSize_1ea2c6145730b8c0 = function(arg0) { + const ret = arg0.devicePixelContentBoxSize; + return ret; + }; + imports.wbg.__wbg_devicePixelRatio_f4eb7cbe3a812de0 = function(arg0) { + const ret = arg0.devicePixelRatio; + return ret; + }; + imports.wbg.__wbg_disableVertexAttribArray_c513f1fff3cb73f2 = function(arg0, arg1) { + arg0.disableVertexAttribArray(arg1 >>> 0); + }; + imports.wbg.__wbg_disableVertexAttribArray_e7ff41dc0c3eaf1f = function(arg0, arg1) { + arg0.disableVertexAttribArray(arg1 >>> 0); + }; + imports.wbg.__wbg_disable_4c1cedffa6646166 = function(arg0, arg1) { + arg0.disable(arg1 >>> 0); + }; + imports.wbg.__wbg_disable_5320561e5cb15f08 = function(arg0, arg1) { + arg0.disable(arg1 >>> 0); + }; + imports.wbg.__wbg_disconnect_8b7c928b6057719b = function(arg0) { + arg0.disconnect(); + }; + imports.wbg.__wbg_disconnect_c45e8044053eddf3 = function(arg0) { + arg0.disconnect(); + }; + imports.wbg.__wbg_dispatchWorkgroupsIndirect_8b25efab93a7a433 = function(arg0, arg1, arg2) { + arg0.dispatchWorkgroupsIndirect(arg1, arg2); + }; + imports.wbg.__wbg_dispatchWorkgroups_c102fa81b955935d = function(arg0, arg1, arg2, arg3) { + arg0.dispatchWorkgroups(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0); + }; + imports.wbg.__wbg_document_c488ca7509cc6938 = function(arg0) { + const ret = arg0.document; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_drawArraysInstancedANGLE_55c83db2758c6ab4 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.drawArraysInstancedANGLE(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_drawArraysInstanced_11f863da4daf24d0 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.drawArraysInstanced(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_drawArrays_87e9bb0e2fb3e0fa = function(arg0, arg1, arg2, arg3) { + arg0.drawArrays(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_drawArrays_f5b0f0a0dc392c3f = function(arg0, arg1, arg2, arg3) { + arg0.drawArrays(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_drawBuffersWEBGL_22730193cdce9696 = function(arg0, arg1) { + arg0.drawBuffersWEBGL(arg1); + }; + imports.wbg.__wbg_drawBuffers_f256d529aecd01f2 = function(arg0, arg1) { + arg0.drawBuffers(arg1); + }; + imports.wbg.__wbg_drawElementsInstancedANGLE_db0bafff77affb0d = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.drawElementsInstancedANGLE(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_drawElementsInstanced_e87f1c69165df984 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.drawElementsInstanced(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_drawIndexedIndirect_34484fc6227c7bc8 = function(arg0, arg1, arg2) { + arg0.drawIndexedIndirect(arg1, arg2); + }; + imports.wbg.__wbg_drawIndexedIndirect_5a7c30bb5f1d5b67 = function(arg0, arg1, arg2) { + arg0.drawIndexedIndirect(arg1, arg2); + }; + imports.wbg.__wbg_drawIndexed_115af1449b52a948 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.drawIndexed(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5 >>> 0); + }; + imports.wbg.__wbg_drawIndexed_a587cce4c317791f = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.drawIndexed(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5 >>> 0); + }; + imports.wbg.__wbg_drawIndirect_036d71498a21f1a3 = function(arg0, arg1, arg2) { + arg0.drawIndirect(arg1, arg2); + }; + imports.wbg.__wbg_drawIndirect_a1d7c5e893aa5756 = function(arg0, arg1, arg2) { + arg0.drawIndirect(arg1, arg2); + }; + imports.wbg.__wbg_draw_5351b12033166aca = function(arg0, arg1, arg2, arg3, arg4) { + arg0.draw(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_draw_e2a7c5d66fb2d244 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.draw(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_enableVertexAttribArray_0ce3052ae5f3f84a = function(arg0, arg1) { + arg0.enableVertexAttribArray(arg1 >>> 0); + }; + imports.wbg.__wbg_enableVertexAttribArray_2bb681a583bf0dbe = function(arg0, arg1) { + arg0.enableVertexAttribArray(arg1 >>> 0); + }; + imports.wbg.__wbg_enable_8d6ea7489b31dabd = function(arg0, arg1) { + arg0.enable(arg1 >>> 0); + }; + imports.wbg.__wbg_enable_bb868e19d5c88d56 = function(arg0, arg1) { + arg0.enable(arg1 >>> 0); + }; + imports.wbg.__wbg_endQuery_b4f2566f7afc4117 = function(arg0, arg1) { + arg0.endQuery(arg1 >>> 0); + }; + imports.wbg.__wbg_end_0ac71677a5c1717a = function(arg0) { + arg0.end(); + }; + imports.wbg.__wbg_end_6f776519f1faa582 = function(arg0) { + arg0.end(); + }; + imports.wbg.__wbg_error_2a6b93fdada7ff11 = function(arg0) { + console.error(arg0); + }; + imports.wbg.__wbg_error_7534b8e9a36f1ab4 = function(arg0, arg1) { + let deferred0_0; + let deferred0_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + console.error(getStringFromWasm0(arg0, arg1)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + } + }; + imports.wbg.__wbg_error_e98e6aadd08e0b94 = function(arg0) { + const ret = arg0.error; + return ret; + }; + imports.wbg.__wbg_error_f0dde81ae1e4cfea = function(arg0, arg1) { + console.error(arg0, arg1); + }; + imports.wbg.__wbg_executeBundles_8e6c0614da2805d4 = function(arg0, arg1) { + arg0.executeBundles(arg1); + }; + imports.wbg.__wbg_features_1b464383ea8a7691 = function(arg0) { + const ret = arg0.features; + return ret; + }; + imports.wbg.__wbg_features_e5fbbc2760867852 = function(arg0) { + const ret = arg0.features; + return ret; + }; + imports.wbg.__wbg_fenceSync_68dcf439f52decac = function(arg0, arg1, arg2) { + const ret = arg0.fenceSync(arg1 >>> 0, arg2 >>> 0); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_finish_20711371c58df61c = function(arg0) { + const ret = arg0.finish(); + return ret; + }; + imports.wbg.__wbg_finish_34b2c54329c8719f = function(arg0, arg1) { + const ret = arg0.finish(arg1); + return ret; + }; + imports.wbg.__wbg_finish_a9ab917e756ea00c = function(arg0, arg1) { + const ret = arg0.finish(arg1); + return ret; + }; + imports.wbg.__wbg_finish_e0a6c97c0622f843 = function(arg0) { + const ret = arg0.finish(); + return ret; + }; + imports.wbg.__wbg_focus_c71947fc3fe22147 = function() { return handleError(function (arg0) { + arg0.focus(); + }, arguments) }; + imports.wbg.__wbg_framebufferRenderbuffer_308ddbcaaed66ff2 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.framebufferRenderbuffer(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4); + }; + imports.wbg.__wbg_framebufferRenderbuffer_a23d035c46e3e192 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.framebufferRenderbuffer(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4); + }; + imports.wbg.__wbg_framebufferTexture2D_170b0f8c792e246f = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.framebufferTexture2D(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_framebufferTexture2D_5366ecb050293d09 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.framebufferTexture2D(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_framebufferTextureLayer_daccfb6fb9396578 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.framebufferTextureLayer(arg1 >>> 0, arg2 >>> 0, arg3, arg4, arg5); + }; + imports.wbg.__wbg_framebufferTextureMultiviewOVR_e2282e87fdf2564f = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.framebufferTextureMultiviewOVR(arg1 >>> 0, arg2 >>> 0, arg3, arg4, arg5, arg6); + }; + imports.wbg.__wbg_frontFace_7b469405c0e889ee = function(arg0, arg1) { + arg0.frontFace(arg1 >>> 0); + }; + imports.wbg.__wbg_frontFace_993e921eaef39c45 = function(arg0, arg1) { + arg0.frontFace(arg1 >>> 0); + }; + imports.wbg.__wbg_fullscreenElement_a613ad02fa918fb4 = function(arg0) { + const ret = arg0.fullscreenElement; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getBindGroupLayout_4a94df6108ac6667 = function(arg0, arg1) { + const ret = arg0.getBindGroupLayout(arg1 >>> 0); + return ret; + }; + imports.wbg.__wbg_getBindGroupLayout_80e803d942962f6a = function(arg0, arg1) { + const ret = arg0.getBindGroupLayout(arg1 >>> 0); + return ret; + }; + imports.wbg.__wbg_getBufferSubData_5102d8a217d0774c = function(arg0, arg1, arg2, arg3) { + arg0.getBufferSubData(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_getCoalescedEvents_1372a1922f78401a = function(arg0) { + const ret = arg0.getCoalescedEvents; + return ret; + }; + imports.wbg.__wbg_getCoalescedEvents_3736b5e5d63bed7b = function(arg0) { + const ret = arg0.getCoalescedEvents(); + return ret; + }; + imports.wbg.__wbg_getCompilationInfo_2af3ecdfeda551a3 = function(arg0) { + const ret = arg0.getCompilationInfo(); + return ret; + }; + imports.wbg.__wbg_getComputedStyle_c3a9de7674a38310 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.getComputedStyle(arg1); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getContext_02d86c7d9cfa709e = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.getContext(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getContext_24d4414b979c1bbd = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.getContext(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getContext_74e4f1560c2a2fae = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = arg0.getContext(getStringFromWasm0(arg1, arg2), arg3); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getContext_b22f05fca7ddb494 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = arg0.getContext(getStringFromWasm0(arg1, arg2), arg3); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getCurrentTexture_5a79cda2ff36e1ee = function(arg0) { + const ret = arg0.getCurrentTexture(); + return ret; + }; + imports.wbg.__wbg_getElementById_7b2db24a9b54f077 = function(arg0, arg1, arg2) { + const ret = arg0.getElementById(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getExtension_28666bdc87d23aca = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.getExtension(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getIndexedParameter_f9e7220a3bb8862c = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.getIndexedParameter(arg1 >>> 0, arg2 >>> 0); + return ret; + }, arguments) }; + imports.wbg.__wbg_getMappedRange_932dd043ae22ee0a = function(arg0, arg1, arg2) { + const ret = arg0.getMappedRange(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_getOwnPropertyDescriptor_c701b185423f5b7e = function(arg0, arg1) { + const ret = Object.getOwnPropertyDescriptor(arg0, arg1); + return ret; + }; + imports.wbg.__wbg_getParameter_304cffb9a759dc04 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.getParameter(arg1 >>> 0); + return ret; + }, arguments) }; + imports.wbg.__wbg_getParameter_fd65bc6ff1b0ffd9 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.getParameter(arg1 >>> 0); + return ret; + }, arguments) }; + imports.wbg.__wbg_getPreferredCanvasFormat_de73c02773a5209e = function(arg0) { + const ret = arg0.getPreferredCanvasFormat(); + return (__wbindgen_enum_GpuTextureFormat.indexOf(ret) + 1 || 96) - 1; + }; + imports.wbg.__wbg_getProgramInfoLog_032aac3e6f3a253c = function(arg0, arg1, arg2) { + const ret = arg1.getProgramInfoLog(arg2); + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_getProgramInfoLog_039168c2aed8d3fe = function(arg0, arg1, arg2) { + const ret = arg1.getProgramInfoLog(arg2); + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_getProgramParameter_70b22019524689fa = function(arg0, arg1, arg2) { + const ret = arg0.getProgramParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getProgramParameter_9b3bdf8d90159edb = function(arg0, arg1, arg2) { + const ret = arg0.getProgramParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getPropertyValue_e87121b8549f72d5 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = arg1.getPropertyValue(getStringFromWasm0(arg2, arg3)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_getQueryParameter_e7b02fe5fd64baa5 = function(arg0, arg1, arg2) { + const ret = arg0.getQueryParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getShaderInfoLog_5c7d45bafe3be3dd = function(arg0, arg1, arg2) { + const ret = arg1.getShaderInfoLog(arg2); + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_getShaderInfoLog_d2cc881ce343a733 = function(arg0, arg1, arg2) { + const ret = arg1.getShaderInfoLog(arg2); + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_getShaderParameter_6d0578dd9f58b684 = function(arg0, arg1, arg2) { + const ret = arg0.getShaderParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getShaderParameter_c50fbeadf9ef6879 = function(arg0, arg1, arg2) { + const ret = arg0.getShaderParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getSupportedExtensions_fca342bac23691db = function(arg0) { + const ret = arg0.getSupportedExtensions(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getSupportedProfiles_b2cc3aec569a65fa = function(arg0) { + const ret = arg0.getSupportedProfiles(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getSyncParameter_5688138f66b57b16 = function(arg0, arg1, arg2) { + const ret = arg0.getSyncParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getUniformBlockIndex_b53609b8ecff8b48 = function(arg0, arg1, arg2, arg3) { + const ret = arg0.getUniformBlockIndex(arg1, getStringFromWasm0(arg2, arg3)); + return ret; + }; + imports.wbg.__wbg_getUniformLocation_852fbe42afe106ff = function(arg0, arg1, arg2, arg3) { + const ret = arg0.getUniformLocation(arg1, getStringFromWasm0(arg2, arg3)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getUniformLocation_9d46a65011600cce = function(arg0, arg1, arg2, arg3) { + const ret = arg0.getUniformLocation(arg1, getStringFromWasm0(arg2, arg3)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_get_68aa371864aa301a = function(arg0, arg1) { + const ret = arg0[arg1 >>> 0]; + return ret; + }; + imports.wbg.__wbg_get_6b316bfdb1b95076 = function(arg0, arg1) { + const ret = arg0[arg1 >>> 0]; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_globalThis_1e2ac1d6eee845b3 = function() { return handleError(function () { + const ret = globalThis.globalThis; + return ret; + }, arguments) }; + imports.wbg.__wbg_global_f25a574ae080367c = function() { return handleError(function () { + const ret = global.global; + return ret; + }, arguments) }; + imports.wbg.__wbg_gpu_87871e8f7ace8fee = function(arg0) { + const ret = arg0.gpu; + return ret; + }; + imports.wbg.__wbg_has_624cbf0451d880e8 = function(arg0, arg1, arg2) { + const ret = arg0.has(getStringFromWasm0(arg1, arg2)); + return ret; + }; + imports.wbg.__wbg_height_4065e49e5ec4c4c1 = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_51a97623165c9beb = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_74bc8ec7548ff6b6 = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_a196a7b9b1d7e01c = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_cabc0c8a4c838304 = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_e509816ec3fdf5b1 = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_includes_959087f4155febdf = function(arg0, arg1, arg2) { + const ret = arg0.includes(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_info_b6bd3cb6471c2b4c = function(arg0) { + console.info(arg0); + }; + imports.wbg.__wbg_inlineSize_6f8d0983462c2919 = function(arg0) { + const ret = arg0.inlineSize; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuAdapter_0731153d2b08720b = function(arg0) { + let result; + try { + result = arg0 instanceof GPUAdapter; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuCanvasContext_d14121c7bd72fcef = function(arg0) { + let result; + try { + result = arg0 instanceof GPUCanvasContext; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuDeviceLostInfo_a3677ebb8241d800 = function(arg0) { + let result; + try { + result = arg0 instanceof GPUDeviceLostInfo; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuOutOfMemoryError_391d9a08edbfa04b = function(arg0) { + let result; + try { + result = arg0 instanceof GPUOutOfMemoryError; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuValidationError_f4d803c383da3c92 = function(arg0) { + let result; + try { + result = arg0 instanceof GPUValidationError; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_HtmlCanvasElement_9db0dfd54b2c5330 = function(arg0) { + let result; + try { + result = arg0 instanceof HTMLCanvasElement; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_Object_f0f57d6eeca1b81d = function(arg0) { + let result; + try { + result = arg0 instanceof Object; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_WebGl2RenderingContext_888701598b82d45d = function(arg0) { + let result; + try { + result = arg0 instanceof WebGL2RenderingContext; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_Window_a959820eb267fe22 = function(arg0) { + let result; + try { + result = arg0 instanceof Window; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_invalidateFramebuffer_f4a994f4a8535cca = function() { return handleError(function (arg0, arg1, arg2) { + arg0.invalidateFramebuffer(arg1 >>> 0, arg2); + }, arguments) }; + imports.wbg.__wbg_isIntersecting_9059d5bcaf29f415 = function(arg0) { + const ret = arg0.isIntersecting; + return ret; + }; + imports.wbg.__wbg_is_20768e55ad2a7c3f = function(arg0, arg1) { + const ret = Object.is(arg0, arg1); + return ret; + }; + imports.wbg.__wbg_key_02315cd3f595756b = function(arg0, arg1) { + const ret = arg1.key; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_label_2082ab37d2ad170d = function(arg0, arg1) { + const ret = arg1.label; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_length_2e63ba34c4121df5 = function(arg0) { + const ret = arg0.length; + return ret; + }; + imports.wbg.__wbg_length_9df32f7add647235 = function(arg0) { + const ret = arg0.length; + return ret; + }; + imports.wbg.__wbg_length_e74df4881604f1d9 = function(arg0) { + const ret = arg0.length; + return ret; + }; + imports.wbg.__wbg_limits_2dd632c891786ddf = function(arg0) { + const ret = arg0.limits; + return ret; + }; + imports.wbg.__wbg_limits_f6411f884b0b2d62 = function(arg0) { + const ret = arg0.limits; + return ret; + }; + imports.wbg.__wbg_lineNum_0246de1e072ffe19 = function(arg0) { + const ret = arg0.lineNum; + return ret; + }; + imports.wbg.__wbg_linkProgram_575f761eda0a14bc = function(arg0, arg1) { + arg0.linkProgram(arg1); + }; + imports.wbg.__wbg_linkProgram_5eee13e603e9af41 = function(arg0, arg1) { + arg0.linkProgram(arg1); + }; + imports.wbg.__wbg_location_54d35e8c85dcfb9c = function(arg0) { + const ret = arg0.location; + return ret; + }; + imports.wbg.__wbg_location_e9eba129bf0612a5 = function(arg0) { + const ret = arg0.location; + return ret; + }; + imports.wbg.__wbg_log_d818ca3cab23fc77 = function(arg0) { + console.log(arg0); + }; + imports.wbg.__wbg_lost_6e4d29847ce2a34a = function(arg0) { + const ret = arg0.lost; + return ret; + }; + imports.wbg.__wbg_mapAsync_37f5e03edf2e1352 = function(arg0, arg1, arg2, arg3) { + const ret = arg0.mapAsync(arg1 >>> 0, arg2, arg3); + return ret; + }; + imports.wbg.__wbg_matchMedia_0be65181eeae951c = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.matchMedia(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_matches_254463383aee4688 = function(arg0) { + const ret = arg0.matches; + return ret; + }; + imports.wbg.__wbg_maxBindGroups_768ca5e8623bf450 = function(arg0) { + const ret = arg0.maxBindGroups; + return ret; + }; + imports.wbg.__wbg_maxBindingsPerBindGroup_057972d600d69719 = function(arg0) { + const ret = arg0.maxBindingsPerBindGroup; + return ret; + }; + imports.wbg.__wbg_maxBufferSize_e237b44f19a5a62b = function(arg0) { + const ret = arg0.maxBufferSize; + return ret; + }; + imports.wbg.__wbg_maxColorAttachmentBytesPerSample_d6c7b4051d22c6d6 = function(arg0) { + const ret = arg0.maxColorAttachmentBytesPerSample; + return ret; + }; + imports.wbg.__wbg_maxColorAttachments_7a18ba24c05edcfd = function(arg0) { + const ret = arg0.maxColorAttachments; + return ret; + }; + imports.wbg.__wbg_maxComputeInvocationsPerWorkgroup_b99c2f3611633992 = function(arg0) { + const ret = arg0.maxComputeInvocationsPerWorkgroup; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupSizeX_adb26da9ed7f77f7 = function(arg0) { + const ret = arg0.maxComputeWorkgroupSizeX; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupSizeY_cc217559c98be33b = function(arg0) { + const ret = arg0.maxComputeWorkgroupSizeY; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupSizeZ_66606a80e2cf2309 = function(arg0) { + const ret = arg0.maxComputeWorkgroupSizeZ; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupStorageSize_cb6235497b8c4997 = function(arg0) { + const ret = arg0.maxComputeWorkgroupStorageSize; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupsPerDimension_6bf550b5f21d57cf = function(arg0) { + const ret = arg0.maxComputeWorkgroupsPerDimension; + return ret; + }; + imports.wbg.__wbg_maxDynamicStorageBuffersPerPipelineLayout_c6ac20334e328b47 = function(arg0) { + const ret = arg0.maxDynamicStorageBuffersPerPipelineLayout; + return ret; + }; + imports.wbg.__wbg_maxDynamicUniformBuffersPerPipelineLayout_aa8f14a74b440f01 = function(arg0) { + const ret = arg0.maxDynamicUniformBuffersPerPipelineLayout; + return ret; + }; + imports.wbg.__wbg_maxSampledTexturesPerShaderStage_db7c4922cc60144a = function(arg0) { + const ret = arg0.maxSampledTexturesPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxSamplersPerShaderStage_538705fe2263e710 = function(arg0) { + const ret = arg0.maxSamplersPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxStorageBufferBindingSize_32178c0f5f7f85cb = function(arg0) { + const ret = arg0.maxStorageBufferBindingSize; + return ret; + }; + imports.wbg.__wbg_maxStorageBuffersPerShaderStage_9f67e9eae0089f77 = function(arg0) { + const ret = arg0.maxStorageBuffersPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxStorageTexturesPerShaderStage_57239664936031cf = function(arg0) { + const ret = arg0.maxStorageTexturesPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxTextureArrayLayers_db5d4e486c78ae04 = function(arg0) { + const ret = arg0.maxTextureArrayLayers; + return ret; + }; + imports.wbg.__wbg_maxTextureDimension1D_3475085ffacabbdc = function(arg0) { + const ret = arg0.maxTextureDimension1D; + return ret; + }; + imports.wbg.__wbg_maxTextureDimension2D_7c8d5ecf09eb8519 = function(arg0) { + const ret = arg0.maxTextureDimension2D; + return ret; + }; + imports.wbg.__wbg_maxTextureDimension3D_8bd976677a0f91d4 = function(arg0) { + const ret = arg0.maxTextureDimension3D; + return ret; + }; + imports.wbg.__wbg_maxUniformBufferBindingSize_95b1a54e7e4a0f0f = function(arg0) { + const ret = arg0.maxUniformBufferBindingSize; + return ret; + }; + imports.wbg.__wbg_maxUniformBuffersPerShaderStage_5f475d9a453af14d = function(arg0) { + const ret = arg0.maxUniformBuffersPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxVertexAttributes_4c48ca2f5d32f860 = function(arg0) { + const ret = arg0.maxVertexAttributes; + return ret; + }; + imports.wbg.__wbg_maxVertexBufferArrayStride_2233f6933ecc5a16 = function(arg0) { + const ret = arg0.maxVertexBufferArrayStride; + return ret; + }; + imports.wbg.__wbg_maxVertexBuffers_c47e508cd7348554 = function(arg0) { + const ret = arg0.maxVertexBuffers; + return ret; + }; + imports.wbg.__wbg_message_0762358e59db7ed6 = function(arg0, arg1) { + const ret = arg1.message; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_message_7957ab09f64c6822 = function(arg0, arg1) { + const ret = arg1.message; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_message_b163994503433c9e = function(arg0, arg1) { + const ret = arg1.message; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_messages_da071582f72bc978 = function(arg0) { + const ret = arg0.messages; + return ret; + }; + imports.wbg.__wbg_metaKey_34d5658170ffb3ee = function(arg0) { + const ret = arg0.metaKey; + return ret; + }; + imports.wbg.__wbg_metaKey_6c8e9228e8dda152 = function(arg0) { + const ret = arg0.metaKey; + return ret; + }; + imports.wbg.__wbg_minStorageBufferOffsetAlignment_51b4801fac3a58de = function(arg0) { + const ret = arg0.minStorageBufferOffsetAlignment; + return ret; + }; + imports.wbg.__wbg_minUniformBufferOffsetAlignment_5d62a77924b2335f = function(arg0) { + const ret = arg0.minUniformBufferOffsetAlignment; + return ret; + }; + imports.wbg.__wbg_movementX_e32c342d96d1c701 = function(arg0) { + const ret = arg0.movementX; + return ret; + }; + imports.wbg.__wbg_movementY_136c6febb976ca3b = function(arg0) { + const ret = arg0.movementY; + return ret; + }; + imports.wbg.__wbg_navigator_2936a93ec3c6f4c5 = function(arg0) { + const ret = arg0.navigator; + return ret; + }; + imports.wbg.__wbg_navigator_da495c9e52e160b1 = function(arg0) { + const ret = arg0.navigator; + return ret; + }; + imports.wbg.__wbg_new_076cac58bb698dd4 = function() { + const ret = new Object(); + return ret; + }; + imports.wbg.__wbg_new_0c28e72025e00594 = function() { + const ret = new Array(); + return ret; + }; + imports.wbg.__wbg_new_23362fa370a0a372 = function(arg0) { + const ret = new Uint8Array(arg0); + return ret; + }; + imports.wbg.__wbg_new_238671e08bf4fcbb = function() { return handleError(function () { + const ret = new MessageChannel(); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_4b15073a88792687 = function() { return handleError(function (arg0) { + const ret = new ResizeObserver(arg0); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_8a6f238a6ece86ea = function() { + const ret = new Error(); + return ret; + }; + imports.wbg.__wbg_new_93cf40e4f48fe902 = function() { return handleError(function () { + const ret = new AbortController(); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_b4a18f0a618c89f2 = function() { return handleError(function (arg0, arg1) { + const ret = new Worker(getStringFromWasm0(arg0, arg1)); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_c94d990936d8ea5d = function() { return handleError(function (arg0) { + const ret = new IntersectionObserver(arg0); + return ret; + }, arguments) }; + imports.wbg.__wbg_newnoargs_19a249f4eceaaac3 = function(arg0, arg1) { + const ret = new Function(getStringFromWasm0(arg0, arg1)); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_24ff09a6b37a856f = function(arg0, arg1, arg2) { + const ret = new Int16Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_25d3cac011b6e2d5 = function(arg0, arg1, arg2) { + const ret = new Uint32Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_457c61bfe0fb7b8c = function(arg0, arg1, arg2) { + const ret = new Int32Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_9f48300371c8802a = function(arg0, arg1, arg2) { + const ret = new Uint16Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_a6087a94c7bfea61 = function(arg0, arg1, arg2) { + const ret = new Int8Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_c280c15b00e018cd = function(arg0, arg1, arg2) { + const ret = new Float32Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_ee8def7000b7b2be = function(arg0, arg1, arg2) { + const ret = new Uint8Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithstrsequenceandoptions_af096ce40d9d9ac8 = function() { return handleError(function (arg0, arg1) { + const ret = new Blob(arg0, arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_now_2c95c9de01293173 = function(arg0) { + const ret = arg0.now(); + return ret; + }; + imports.wbg.__wbg_observe_e2208b07fe315de7 = function(arg0, arg1) { + arg0.observe(arg1); + }; + imports.wbg.__wbg_observe_ec91d62599b7772b = function(arg0, arg1) { + arg0.observe(arg1); + }; + imports.wbg.__wbg_observe_fd48955513eca909 = function(arg0, arg1, arg2) { + arg0.observe(arg1, arg2); + }; + imports.wbg.__wbg_of_2f6232d86af7992c = function(arg0, arg1) { + const ret = Array.of(arg0, arg1); + return ret; + }; + imports.wbg.__wbg_of_5ae3a2d893e18853 = function(arg0) { + const ret = Array.of(arg0); + return ret; + }; + imports.wbg.__wbg_offsetX_d6957d052a0d4b11 = function(arg0) { + const ret = arg0.offsetX; + return ret; + }; + imports.wbg.__wbg_offsetY_076edde514bf80f4 = function(arg0) { + const ret = arg0.offsetY; + return ret; + }; + imports.wbg.__wbg_offset_336f14c993863b76 = function(arg0) { + const ret = arg0.offset; + return ret; + }; + imports.wbg.__wbg_performance_7a3ffd0b17f663ad = function(arg0) { + const ret = arg0.performance; + return ret; + }; + imports.wbg.__wbg_persisted_7e044507e52804d9 = function(arg0) { + const ret = arg0.persisted; + return ret; + }; + imports.wbg.__wbg_pixelStorei_198b92c3e346678a = function(arg0, arg1, arg2) { + arg0.pixelStorei(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_pixelStorei_9c4cb0a4b040b41d = function(arg0, arg1, arg2) { + arg0.pixelStorei(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_play_e7eb90a843114e0d = function(arg0) { + arg0.play(); + }; + imports.wbg.__wbg_pointerId_a2cbd2cdd6da90b2 = function(arg0) { + const ret = arg0.pointerId; + return ret; + }; + imports.wbg.__wbg_pointerType_1b74686427cdec29 = function(arg0, arg1) { + const ret = arg1.pointerType; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_polygonOffset_7ec31dee95d41171 = function(arg0, arg1, arg2) { + arg0.polygonOffset(arg1, arg2); + }; + imports.wbg.__wbg_polygonOffset_c6cbc8093770e840 = function(arg0, arg1, arg2) { + arg0.polygonOffset(arg1, arg2); + }; + imports.wbg.__wbg_popErrorScope_af0b22f136a861d6 = function(arg0) { + const ret = arg0.popErrorScope(); + return ret; + }; + imports.wbg.__wbg_port1_6f5b26fd23d19536 = function(arg0) { + const ret = arg0.port1; + return ret; + }; + imports.wbg.__wbg_port2_2eb4c961d6df5816 = function(arg0) { + const ret = arg0.port2; + return ret; + }; + imports.wbg.__wbg_postMessage_33dcf5caa3589c64 = function() { return handleError(function (arg0, arg1, arg2) { + arg0.postMessage(arg1, arg2); + }, arguments) }; + imports.wbg.__wbg_postMessage_3e7f3215320b4a9c = function() { return handleError(function (arg0, arg1) { + arg0.postMessage(arg1); + }, arguments) }; + imports.wbg.__wbg_postTask_9ba4c3cedae00b38 = function(arg0, arg1, arg2) { + const ret = arg0.postTask(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_pressure_8707a47b6fb1c1fd = function(arg0) { + const ret = arg0.pressure; + return ret; + }; + imports.wbg.__wbg_preventDefault_faafffcaad92972d = function(arg0) { + arg0.preventDefault(); + }; + imports.wbg.__wbg_prototype_0f68911d93450df4 = function() { + const ret = ResizeObserverEntry.prototype; + return ret; + }; + imports.wbg.__wbg_pushErrorScope_b52914ff10ba6ce3 = function(arg0, arg1) { + arg0.pushErrorScope(__wbindgen_enum_GpuErrorFilter[arg1]); + }; + imports.wbg.__wbg_push_3e9ce81246ef1d1b = function(arg0, arg1) { + const ret = arg0.push(arg1); + return ret; + }; + imports.wbg.__wbg_queryCounterEXT_6da4ab4ec9c37329 = function(arg0, arg1, arg2) { + arg0.queryCounterEXT(arg1, arg2 >>> 0); + }; + imports.wbg.__wbg_querySelectorAll_775f04e6f26ad643 = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.querySelectorAll(getStringFromWasm0(arg1, arg2)); + return ret; + }, arguments) }; + imports.wbg.__wbg_querySelector_473a7bd6647e7cbb = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.querySelector(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_queueMicrotask_3d422e1ba49c2500 = function(arg0) { + const ret = arg0.queueMicrotask; + return ret; + }; + imports.wbg.__wbg_queueMicrotask_5fc3e400ac3c03f4 = function(arg0) { + queueMicrotask(arg0); + }; + imports.wbg.__wbg_queueMicrotask_f301663ccadbb7d0 = function(arg0) { + queueMicrotask(arg0); + }; + imports.wbg.__wbg_queue_bea4017efaaf9904 = function(arg0) { + const ret = arg0.queue; + return ret; + }; + imports.wbg.__wbg_readBuffer_8fd1512f6bdfc8f0 = function(arg0, arg1) { + arg0.readBuffer(arg1 >>> 0); + }; + imports.wbg.__wbg_readPixels_48fc96a447cda9aa = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + arg0.readPixels(arg1, arg2, arg3, arg4, arg5 >>> 0, arg6 >>> 0, arg7); + }, arguments) }; + imports.wbg.__wbg_readPixels_7b1022930a9026d1 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + arg0.readPixels(arg1, arg2, arg3, arg4, arg5 >>> 0, arg6 >>> 0, arg7); + }, arguments) }; + imports.wbg.__wbg_readPixels_da6e94b84b4cfd41 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + arg0.readPixels(arg1, arg2, arg3, arg4, arg5 >>> 0, arg6 >>> 0, arg7); + }, arguments) }; + imports.wbg.__wbg_reason_43acd39cce242b50 = function(arg0) { + const ret = arg0.reason; + return (__wbindgen_enum_GpuDeviceLostReason.indexOf(ret) + 1 || 3) - 1; + }; + imports.wbg.__wbg_removeEventListener_d14a328308e427ba = function() { return handleError(function (arg0, arg1, arg2, arg3) { + arg0.removeEventListener(getStringFromWasm0(arg1, arg2), arg3); + }, arguments) }; + imports.wbg.__wbg_removeListener_aee72eb2e5fba09c = function() { return handleError(function (arg0, arg1) { + arg0.removeListener(arg1); + }, arguments) }; + imports.wbg.__wbg_removeProperty_902c73a4430b3e54 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = arg1.removeProperty(getStringFromWasm0(arg2, arg3)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_renderbufferStorageMultisample_abd1099fecb2e2a4 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.renderbufferStorageMultisample(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_renderbufferStorage_56c61eb0bb2718a9 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.renderbufferStorage(arg1 >>> 0, arg2 >>> 0, arg3, arg4); + }; + imports.wbg.__wbg_renderbufferStorage_aa4b58453d5aca0f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.renderbufferStorage(arg1 >>> 0, arg2 >>> 0, arg3, arg4); + }; + imports.wbg.__wbg_repeat_56fa20e30d00be95 = function(arg0) { + const ret = arg0.repeat; + return ret; + }; + imports.wbg.__wbg_requestAdapter_e6dcfac497cafa7a = function(arg0, arg1) { + const ret = arg0.requestAdapter(arg1); + return ret; + }; + imports.wbg.__wbg_requestAnimationFrame_e8ca543d07df528e = function() { return handleError(function (arg0, arg1) { + const ret = arg0.requestAnimationFrame(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_requestDevice_03b802707d5a382c = function(arg0, arg1) { + const ret = arg0.requestDevice(arg1); + return ret; + }; + imports.wbg.__wbg_requestFullscreen_e1ad8752a4e33f7e = function(arg0) { + const ret = arg0.requestFullscreen; + return ret; + }; + imports.wbg.__wbg_requestFullscreen_f727b1f250ebb10a = function(arg0) { + const ret = arg0.requestFullscreen(); + return ret; + }; + imports.wbg.__wbg_requestIdleCallback_773c554fc8c5a310 = function(arg0) { + const ret = arg0.requestIdleCallback; + return ret; + }; + imports.wbg.__wbg_requestIdleCallback_ba1f658c72e2140c = function() { return handleError(function (arg0, arg1) { + const ret = arg0.requestIdleCallback(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_resolveQuerySet_811661fb23f3b699 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.resolveQuerySet(arg1, arg2 >>> 0, arg3 >>> 0, arg4, arg5 >>> 0); + }; + imports.wbg.__wbg_resolve_6a311e8bb26423ab = function(arg0) { + const ret = Promise.resolve(arg0); + return ret; + }; + imports.wbg.__wbg_revokeObjectURL_3e4ad6d46a9a93f1 = function() { return handleError(function (arg0, arg1) { + URL.revokeObjectURL(getStringFromWasm0(arg0, arg1)); + }, arguments) }; + imports.wbg.__wbg_samplerParameterf_a9708333dc0df03e = function(arg0, arg1, arg2, arg3) { + arg0.samplerParameterf(arg1, arg2 >>> 0, arg3); + }; + imports.wbg.__wbg_samplerParameteri_6011eca3eaa96ac6 = function(arg0, arg1, arg2, arg3) { + arg0.samplerParameteri(arg1, arg2 >>> 0, arg3); + }; + imports.wbg.__wbg_scheduler_10edeee35a76c7c6 = function(arg0) { + const ret = arg0.scheduler; + return ret; + }; + imports.wbg.__wbg_scheduler_6d71128f17fbca34 = function(arg0) { + const ret = arg0.scheduler; + return ret; + }; + imports.wbg.__wbg_scissor_4c06926fa8af817c = function(arg0, arg1, arg2, arg3, arg4) { + arg0.scissor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_scissor_608c4f610141e6df = function(arg0, arg1, arg2, arg3, arg4) { + arg0.scissor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_search_4c8c4c416a168e55 = function() { return handleError(function (arg0, arg1) { + const ret = arg1.search; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_self_ac4343e4047b83cc = function() { return handleError(function () { + const ret = self.self; + return ret; + }, arguments) }; + imports.wbg.__wbg_setAttribute_e5d83ecaf7f586d5 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { + arg0.setAttribute(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4)); + }, arguments) }; + imports.wbg.__wbg_setBindGroup_62a3045b0921e429 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setBindGroup(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4), arg5, arg6 >>> 0); + }; + imports.wbg.__wbg_setBindGroup_6c0fd18e9a53a945 = function(arg0, arg1, arg2) { + arg0.setBindGroup(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_setBindGroup_7f3b61f1f482133b = function(arg0, arg1, arg2) { + arg0.setBindGroup(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_setBindGroup_bf767a5aa46a33ce = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setBindGroup(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4), arg5, arg6 >>> 0); + }; + imports.wbg.__wbg_setBindGroup_c4aaff14063226b4 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setBindGroup(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4), arg5, arg6 >>> 0); + }; + imports.wbg.__wbg_setBindGroup_f82e771dc1b69093 = function(arg0, arg1, arg2) { + arg0.setBindGroup(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_setBlendConstant_016723821cfb3aa4 = function(arg0, arg1) { + arg0.setBlendConstant(arg1); + }; + imports.wbg.__wbg_setIndexBuffer_286a40afdff411b7 = function(arg0, arg1, arg2, arg3) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3); + }; + imports.wbg.__wbg_setIndexBuffer_7efd0b7a40c65fb9 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3, arg4); + }; + imports.wbg.__wbg_setIndexBuffer_e091a9673bb575e2 = function(arg0, arg1, arg2, arg3) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3); + }; + imports.wbg.__wbg_setIndexBuffer_f0759f00036f615f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3, arg4); + }; + imports.wbg.__wbg_setPipeline_ba92070b8ee81cf9 = function(arg0, arg1) { + arg0.setPipeline(arg1); + }; + imports.wbg.__wbg_setPipeline_c344f76bae58c4d6 = function(arg0, arg1) { + arg0.setPipeline(arg1); + }; + imports.wbg.__wbg_setPipeline_d76451c50a121598 = function(arg0, arg1) { + arg0.setPipeline(arg1); + }; + imports.wbg.__wbg_setPointerCapture_6b89bc3d20c408af = function() { return handleError(function (arg0, arg1) { + arg0.setPointerCapture(arg1); + }, arguments) }; + imports.wbg.__wbg_setProperty_b11b0bad191551d1 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { + arg0.setProperty(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4)); + }, arguments) }; + imports.wbg.__wbg_setScissorRect_0b6ee0852ef0b6b9 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setScissorRect(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_setStencilReference_34fd3d59673a5a9d = function(arg0, arg1) { + arg0.setStencilReference(arg1 >>> 0); + }; + imports.wbg.__wbg_setTimeout_11f3c7cad8433a4f = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.setTimeout(arg1, arg2); + return ret; + }, arguments) }; + imports.wbg.__wbg_setTimeout_15ba883433c836ab = function() { return handleError(function (arg0, arg1) { + const ret = arg0.setTimeout(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_setVertexBuffer_06a90dc78e1ad9c4 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_setVertexBuffer_1540e9118b6c451d = function(arg0, arg1, arg2, arg3) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_setVertexBuffer_5166eedc06450701 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_setVertexBuffer_8621784e5014065b = function(arg0, arg1, arg2, arg3) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_setViewport_731ad30abb13f744 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setViewport(arg1, arg2, arg3, arg4, arg5, arg6); + }; + imports.wbg.__wbg_set_421385e996a16e02 = function() { return handleError(function (arg0, arg1, arg2) { + const ret = Reflect.set(arg0, arg1, arg2); + return ret; + }, arguments) }; + imports.wbg.__wbg_set_7b70226104a82921 = function(arg0, arg1, arg2) { + arg0.set(arg1, arg2 >>> 0); + }; + imports.wbg.__wbg_setbox_f664fc1447c0b2bb = function(arg0, arg1) { + arg0.box = __wbindgen_enum_ResizeObserverBoxOptions[arg1]; + }; + imports.wbg.__wbg_setheight_4286b13b9186d39f = function(arg0, arg1) { + arg0.height = arg1 >>> 0; + }; + imports.wbg.__wbg_setheight_7632621fed149fd9 = function(arg0, arg1) { + arg0.height = arg1 >>> 0; + }; + imports.wbg.__wbg_setonmessage_1f177e6cba71d19d = function(arg0, arg1) { + arg0.onmessage = arg1; + }; + imports.wbg.__wbg_setonuncapturederror_19541466822d790b = function(arg0, arg1) { + arg0.onuncapturederror = arg1; + }; + imports.wbg.__wbg_settabIndex_bc37dd560b089902 = function(arg0, arg1) { + arg0.tabIndex = arg1; + }; + imports.wbg.__wbg_settype_202db174d92fe493 = function(arg0, arg1, arg2) { + arg0.type = getStringFromWasm0(arg1, arg2); + }; + imports.wbg.__wbg_setwidth_5e43e6e177d3e2ec = function(arg0, arg1) { + arg0.width = arg1 >>> 0; + }; + imports.wbg.__wbg_setwidth_db46810857c0f6bd = function(arg0, arg1) { + arg0.width = arg1 >>> 0; + }; + imports.wbg.__wbg_shaderSource_7d9e91c6b9aaf864 = function(arg0, arg1, arg2, arg3) { + arg0.shaderSource(arg1, getStringFromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_shaderSource_b7db90958962e1f7 = function(arg0, arg1, arg2, arg3) { + arg0.shaderSource(arg1, getStringFromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_shiftKey_570898b1142a9898 = function(arg0) { + const ret = arg0.shiftKey; + return ret; + }; + imports.wbg.__wbg_shiftKey_e90da27a3092777e = function(arg0) { + const ret = arg0.shiftKey; + return ret; + }; + imports.wbg.__wbg_signal_fd2d6d0644f16ad8 = function(arg0) { + const ret = arg0.signal; + return ret; + }; + imports.wbg.__wbg_size_661bddb3f9898121 = function(arg0) { + const ret = arg0.size; + return ret; + }; + imports.wbg.__wbg_stack_0ed75d68575b0f3c = function(arg0, arg1) { + const ret = arg1.stack; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_start_a00c28f297559e1d = function(arg0) { + arg0.start(); + }; + imports.wbg.__wbg_stencilFuncSeparate_903776516b404f1e = function(arg0, arg1, arg2, arg3, arg4) { + arg0.stencilFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3, arg4 >>> 0); + }; + imports.wbg.__wbg_stencilFuncSeparate_9987b0fe1f74adc3 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.stencilFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3, arg4 >>> 0); + }; + imports.wbg.__wbg_stencilMaskSeparate_24a5bad679d4896c = function(arg0, arg1, arg2) { + arg0.stencilMaskSeparate(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_stencilMaskSeparate_5ade706794e0ff10 = function(arg0, arg1, arg2) { + arg0.stencilMaskSeparate(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_stencilMask_8ccbc71e58e71b93 = function(arg0, arg1) { + arg0.stencilMask(arg1 >>> 0); + }; + imports.wbg.__wbg_stencilMask_e03561d8e6b7171a = function(arg0, arg1) { + arg0.stencilMask(arg1 >>> 0); + }; + imports.wbg.__wbg_stencilOpSeparate_13e313403862a2bc = function(arg0, arg1, arg2, arg3, arg4) { + arg0.stencilOpSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_stencilOpSeparate_e03fe45a6a83cf8f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.stencilOpSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_style_e7c4e0938a7565b2 = function(arg0) { + const ret = arg0.style; + return ret; + }; + imports.wbg.__wbg_submit_f635072bb3d05faa = function(arg0, arg1) { + arg0.submit(arg1); + }; + imports.wbg.__wbg_texImage2D_102612af3b3ea301 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texImage2D_38f7a3dc4dcf0183 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texImage3D_4828de4d80648b9d = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) { + arg0.texImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8 >>> 0, arg9 >>> 0, arg10); + }, arguments) }; + imports.wbg.__wbg_texParameteri_2cc96bb59a67d4c2 = function(arg0, arg1, arg2, arg3) { + arg0.texParameteri(arg1 >>> 0, arg2 >>> 0, arg3); + }; + imports.wbg.__wbg_texParameteri_8e4109b7fbd3b875 = function(arg0, arg1, arg2, arg3) { + arg0.texParameteri(arg1 >>> 0, arg2 >>> 0, arg3); + }; + imports.wbg.__wbg_texStorage2D_728b9632dbd913e2 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.texStorage2D(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_texStorage3D_04d10ef19e465ec2 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.texStorage3D(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5, arg6); + }; + imports.wbg.__wbg_texSubImage2D_0c095c30c73e34c0 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_3c9a9ceac3c27fe7 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_3dbb6fb895fd53a7 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_4e505a214a40fc20 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_7197aef4cdbc7d70 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_746d9e75d2dd12d1 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_ca1d7744b168aa02 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_da8455e8da280cee = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_82336f6100e3ef24 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_831e19830a791320 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_9623fc609df925f5 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_9a8cb5676fdf0b50 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_a18f6424082a9393 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_d127dad275801f75 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_ebd1f2b229a92c5d = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_then_5c6469c1e1da9e59 = function(arg0, arg1) { + const ret = arg0.then(arg1); + return ret; + }; + imports.wbg.__wbg_then_faeb8aed8c1629b7 = function(arg0, arg1, arg2) { + const ret = arg0.then(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_type_c0d5d83032e9858a = function(arg0) { + const ret = arg0.type; + return (__wbindgen_enum_GpuCompilationMessageType.indexOf(ret) + 1 || 4) - 1; + }; + imports.wbg.__wbg_uniform1f_163e6ffe0d9805a4 = function(arg0, arg1, arg2) { + arg0.uniform1f(arg1, arg2); + }; + imports.wbg.__wbg_uniform1f_bb85eb8ed9248e52 = function(arg0, arg1, arg2) { + arg0.uniform1f(arg1, arg2); + }; + imports.wbg.__wbg_uniform1i_9fe01b91ff85aa85 = function(arg0, arg1, arg2) { + arg0.uniform1i(arg1, arg2); + }; + imports.wbg.__wbg_uniform1i_da7c764279d55bb5 = function(arg0, arg1, arg2) { + arg0.uniform1i(arg1, arg2); + }; + imports.wbg.__wbg_uniform1ui_1cd8b5fee3b44787 = function(arg0, arg1, arg2) { + arg0.uniform1ui(arg1, arg2 >>> 0); + }; + imports.wbg.__wbg_uniform2fv_40e0cc0b3d7ab815 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform2fv_d7ec4f77d2282f77 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform2iv_6d1ed66fa019f1a6 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform2iv_b36969471f3bb8e2 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform2uiv_e5d292b09c7c2eb4 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2uiv(arg1, getArrayU32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3fv_4f40a7b75bcdeb91 = function(arg0, arg1, arg2, arg3) { + arg0.uniform3fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3fv_c6fea7086ffa568e = function(arg0, arg1, arg2, arg3) { + arg0.uniform3fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3iv_46cafa9a87333139 = function(arg0, arg1, arg2, arg3) { + arg0.uniform3iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3iv_c13167af320af60e = function(arg0, arg1, arg2, arg3) { + arg0.uniform3iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3uiv_7e60873d7a35f50b = function(arg0, arg1, arg2, arg3) { + arg0.uniform3uiv(arg1, getArrayU32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4f_2408c0a3b4a0941d = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.uniform4f(arg1, arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_uniform4f_4eebf85a05c60a16 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.uniform4f(arg1, arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_uniform4fv_7ecf41f27e0e71ec = function(arg0, arg1, arg2, arg3) { + arg0.uniform4fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4fv_c88b1733f9a40a7a = function(arg0, arg1, arg2, arg3) { + arg0.uniform4fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4iv_0ee5d566bd3880e4 = function(arg0, arg1, arg2, arg3) { + arg0.uniform4iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4iv_cd69e9451d767045 = function(arg0, arg1, arg2, arg3) { + arg0.uniform4iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4uiv_c55d0b6c672eaf59 = function(arg0, arg1, arg2, arg3) { + arg0.uniform4uiv(arg1, getArrayU32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniformBlockBinding_e646e98e7f5da8fa = function(arg0, arg1, arg2, arg3) { + arg0.uniformBlockBinding(arg1, arg2 >>> 0, arg3 >>> 0); + }; + imports.wbg.__wbg_uniformMatrix2fv_ae2d3b42477e00fd = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix2fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix2fv_d44126fac416e7e4 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix2fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix2x3fv_18d94e4451a372cc = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix2x3fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix2x4fv_c34a8a330e7c94bd = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix2x4fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix3fv_652493ea4042e14f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix3fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix3fv_a3b27e44f0ad7caa = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix3fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix3x2fv_1bc7685c610e2b46 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix3x2fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix3x4fv_c99cdce05d7ffca9 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix3x4fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix4fv_a5f6838f6e217418 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix4fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix4fv_bbdf3d84ccedee84 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix4fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix4x2fv_05ec6db042145650 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix4x2fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix4x3fv_c393892235ce0f8b = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix4x3fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_unmap_8c2e8131b2aaa844 = function(arg0) { + arg0.unmap(); + }; + imports.wbg.__wbg_unobserve_9198337c0c96042f = function(arg0, arg1) { + arg0.unobserve(arg1); + }; + imports.wbg.__wbg_usage_13caa02888040e9f = function(arg0) { + const ret = arg0.usage; + return ret; + }; + imports.wbg.__wbg_useProgram_795e70e5047fcb65 = function(arg0, arg1) { + arg0.useProgram(arg1); + }; + imports.wbg.__wbg_useProgram_e84b53bf74bbe9b3 = function(arg0, arg1) { + arg0.useProgram(arg1); + }; + imports.wbg.__wbg_userAgentData_5e600df9bb352050 = function(arg0) { + const ret = arg0.userAgentData; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_userAgent_bfd54e5c60738678 = function() { return handleError(function (arg0, arg1) { + const ret = arg1.userAgent; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_valueOf_a2728b52687d72b4 = function(arg0) { + const ret = arg0.valueOf(); + return ret; + }; + imports.wbg.__wbg_vertexAttribDivisorANGLE_78ad959056e0feb7 = function(arg0, arg1, arg2) { + arg0.vertexAttribDivisorANGLE(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_vertexAttribDivisor_bc3026299e814316 = function(arg0, arg1, arg2) { + arg0.vertexAttribDivisor(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_vertexAttribIPointer_4397ca04b895d127 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.vertexAttribIPointer(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_vertexAttribPointer_1738c34c1c0d57a0 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.vertexAttribPointer(arg1 >>> 0, arg2, arg3 >>> 0, arg4 !== 0, arg5, arg6); + }; + imports.wbg.__wbg_vertexAttribPointer_34a2b143ee35746f = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.vertexAttribPointer(arg1 >>> 0, arg2, arg3 >>> 0, arg4 !== 0, arg5, arg6); + }; + imports.wbg.__wbg_videoHeight_7d8449d4b1aad15d = function(arg0) { + const ret = arg0.videoHeight; + return ret; + }; + imports.wbg.__wbg_videoWidth_134d623b7b20f203 = function(arg0) { + const ret = arg0.videoWidth; + return ret; + }; + imports.wbg.__wbg_viewport_04c48fc077486d94 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.viewport(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_viewport_301bba26f65246ed = function(arg0, arg1, arg2, arg3, arg4) { + arg0.viewport(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_visibilityState_c2b01655a6777e68 = function(arg0) { + const ret = arg0.visibilityState; + return (__wbindgen_enum_VisibilityState.indexOf(ret) + 1 || 3) - 1; + }; + imports.wbg.__wbg_warn_a6963915e4da61f6 = function(arg0) { + console.warn(arg0); + }; + imports.wbg.__wbg_webkitFullscreenElement_0c4654cdfe6894e5 = function(arg0) { + const ret = arg0.webkitFullscreenElement; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_webkitRequestFullscreen_fe95241c4f21ea63 = function(arg0) { + arg0.webkitRequestFullscreen(); + }; + imports.wbg.__wbg_width_514dd9b3b0cff49c = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_551edb4bb900e3dd = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_826b25a505a0b357 = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_dfc6149b0c4d8821 = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_e9eedd46da897708 = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_ee6a46425045c0dd = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_window_1a23defd102c72f4 = function() { return handleError(function () { + const ret = window.window; + return ret; + }, arguments) }; + imports.wbg.__wbg_writeBuffer_5ca4981365eb5ac0 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.writeBuffer(arg1, arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_writeTexture_246118eb2f5a1592 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.writeTexture(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbindgen_boolean_get = function(arg0) { + const v = arg0; + const ret = typeof(v) === 'boolean' ? (v ? 1 : 0) : 2; + return ret; + }; + imports.wbg.__wbindgen_cb_drop = function(arg0) { + const obj = arg0.original; + if (obj.cnt-- == 1) { + obj.a = 0; + return true; + } + const ret = false; + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2730 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 352, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper4901 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 352, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper4907 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 352, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6318 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 352, __wbg_adapter_41); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6363 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 352, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6380 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 352, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6381 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 352, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6382 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 352, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6383 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 352, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6384 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 352, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6426 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 352, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6427 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 352, __wbg_adapter_58); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6428 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 352, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_debug_string = function(arg0, arg1) { + const ret = debugString(arg1); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_init_externref_table = function() { + const table = wasm.__wbindgen_export_1; + const offset = table.grow(4); + table.set(0, undefined); + table.set(offset + 0, undefined); + table.set(offset + 1, null); + table.set(offset + 2, true); + table.set(offset + 3, false); + ; + }; + imports.wbg.__wbindgen_is_function = function(arg0) { + const ret = typeof(arg0) === 'function'; + return ret; + }; + imports.wbg.__wbindgen_is_null = function(arg0) { + const ret = arg0 === null; + return ret; + }; + imports.wbg.__wbindgen_is_object = function(arg0) { + const val = arg0; + const ret = typeof(val) === 'object' && val !== null; + return ret; + }; + imports.wbg.__wbindgen_is_undefined = function(arg0) { + const ret = arg0 === undefined; + return ret; + }; + imports.wbg.__wbindgen_memory = function() { + const ret = wasm.memory; + return ret; + }; + imports.wbg.__wbindgen_number_get = function(arg0, arg1) { + const obj = arg1; + const ret = typeof(obj) === 'number' ? obj : undefined; + getDataViewMemory0().setFloat64(arg0 + 8 * 1, isLikeNone(ret) ? 0 : ret, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true); + }; + imports.wbg.__wbindgen_number_new = function(arg0) { + const ret = arg0; + return ret; + }; + imports.wbg.__wbindgen_string_get = function(arg0, arg1) { + const obj = arg1; + const ret = typeof(obj) === 'string' ? obj : undefined; + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_string_new = function(arg0, arg1) { + const ret = getStringFromWasm0(arg0, arg1); + return ret; + }; + imports.wbg.__wbindgen_throw = function(arg0, arg1) { + throw new Error(getStringFromWasm0(arg0, arg1)); + }; + imports['env'] = __wbg_star0; + + return imports; +} + +function __wbg_init_memory(imports, memory) { + +} + +function __wbg_finalize_init(instance, module) { + wasm = instance.exports; + __wbg_init.__wbindgen_wasm_module = module; + cachedDataViewMemory0 = null; + cachedFloat32ArrayMemory0 = null; + cachedInt32ArrayMemory0 = null; + cachedUint32ArrayMemory0 = null; + cachedUint8ArrayMemory0 = null; + + + wasm.__wbindgen_start(); + return wasm; +} + +function initSync(module) { + if (wasm !== undefined) return wasm; + + + if (typeof module !== 'undefined') { + if (Object.getPrototypeOf(module) === Object.prototype) { + ({module} = module) + } else { + console.warn('using deprecated parameters for `initSync()`; pass a single object instead') + } + } + + const imports = __wbg_get_imports(); + + __wbg_init_memory(imports); + + if (!(module instanceof WebAssembly.Module)) { + module = new WebAssembly.Module(module); + } + + const instance = new WebAssembly.Instance(module, imports); + + return __wbg_finalize_init(instance, module); +} + +async function __wbg_init(module_or_path) { + if (wasm !== undefined) return wasm; + + + if (typeof module_or_path !== 'undefined') { + if (Object.getPrototypeOf(module_or_path) === Object.prototype) { + ({module_or_path} = module_or_path) + } else { + console.warn('using deprecated parameters for the initialization function; pass a single object instead') + } + } + + if (typeof module_or_path === 'undefined') { + module_or_path = new URL('tutorial7-instancing_bg.wasm', import.meta.url); + } + const imports = __wbg_get_imports(); + + if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) { + module_or_path = fetch(module_or_path); + } + + __wbg_init_memory(imports); + + const { instance, module } = await __wbg_load(await module_or_path, imports); + + return __wbg_finalize_init(instance, module); +} + +export { initSync }; +export default __wbg_init; diff --git a/wasm/tutorial7-instancing_bg.wasm b/wasm/tutorial7-instancing_bg.wasm new file mode 100644 index 00000000..1ba2ad42 Binary files /dev/null and b/wasm/tutorial7-instancing_bg.wasm differ diff --git a/wasm/tutorial8-depth.js b/wasm/tutorial8-depth.js new file mode 100644 index 00000000..8cb8cfe8 --- /dev/null +++ b/wasm/tutorial8-depth.js @@ -0,0 +1,2593 @@ +import * as __wbg_star0 from 'env'; + +let wasm; + +function isLikeNone(x) { + return x === undefined || x === null; +} + +function addToExternrefTable0(obj) { + const idx = wasm.__externref_table_alloc(); + wasm.__wbindgen_export_1.set(idx, obj); + return idx; +} + +const cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : { decode: () => { throw Error('TextDecoder not available') } } ); + +if (typeof TextDecoder !== 'undefined') { cachedTextDecoder.decode(); }; + +let cachedUint8ArrayMemory0 = null; + +function getUint8ArrayMemory0() { + if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) { + cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer); + } + return cachedUint8ArrayMemory0; +} + +function getStringFromWasm0(ptr, len) { + ptr = ptr >>> 0; + return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len)); +} + +function handleError(f, args) { + try { + return f.apply(this, args); + } catch (e) { + const idx = addToExternrefTable0(e); + wasm.__wbindgen_exn_store(idx); + } +} + +let WASM_VECTOR_LEN = 0; + +const cachedTextEncoder = (typeof TextEncoder !== 'undefined' ? new TextEncoder('utf-8') : { encode: () => { throw Error('TextEncoder not available') } } ); + +const encodeString = (typeof cachedTextEncoder.encodeInto === 'function' + ? function (arg, view) { + return cachedTextEncoder.encodeInto(arg, view); +} + : function (arg, view) { + const buf = cachedTextEncoder.encode(arg); + view.set(buf); + return { + read: arg.length, + written: buf.length + }; +}); + +function passStringToWasm0(arg, malloc, realloc) { + + if (realloc === undefined) { + const buf = cachedTextEncoder.encode(arg); + const ptr = malloc(buf.length, 1) >>> 0; + getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf); + WASM_VECTOR_LEN = buf.length; + return ptr; + } + + let len = arg.length; + let ptr = malloc(len, 1) >>> 0; + + const mem = getUint8ArrayMemory0(); + + let offset = 0; + + for (; offset < len; offset++) { + const code = arg.charCodeAt(offset); + if (code > 0x7F) break; + mem[ptr + offset] = code; + } + + if (offset !== len) { + if (offset !== 0) { + arg = arg.slice(offset); + } + ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0; + const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len); + const ret = encodeString(arg, view); + + offset += ret.written; + ptr = realloc(ptr, len, offset, 1) >>> 0; + } + + WASM_VECTOR_LEN = offset; + return ptr; +} + +let cachedDataViewMemory0 = null; + +function getDataViewMemory0() { + if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) { + cachedDataViewMemory0 = new DataView(wasm.memory.buffer); + } + return cachedDataViewMemory0; +} + +let cachedFloat32ArrayMemory0 = null; + +function getFloat32ArrayMemory0() { + if (cachedFloat32ArrayMemory0 === null || cachedFloat32ArrayMemory0.byteLength === 0) { + cachedFloat32ArrayMemory0 = new Float32Array(wasm.memory.buffer); + } + return cachedFloat32ArrayMemory0; +} + +function getArrayF32FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getFloat32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len); +} + +let cachedInt32ArrayMemory0 = null; + +function getInt32ArrayMemory0() { + if (cachedInt32ArrayMemory0 === null || cachedInt32ArrayMemory0.byteLength === 0) { + cachedInt32ArrayMemory0 = new Int32Array(wasm.memory.buffer); + } + return cachedInt32ArrayMemory0; +} + +function getArrayI32FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getInt32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len); +} + +let cachedUint32ArrayMemory0 = null; + +function getUint32ArrayMemory0() { + if (cachedUint32ArrayMemory0 === null || cachedUint32ArrayMemory0.byteLength === 0) { + cachedUint32ArrayMemory0 = new Uint32Array(wasm.memory.buffer); + } + return cachedUint32ArrayMemory0; +} + +function getArrayU32FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getUint32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len); +} + +const CLOSURE_DTORS = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(state => { + wasm.__wbindgen_export_6.get(state.dtor)(state.a, state.b) +}); + +function makeMutClosure(arg0, arg1, dtor, f) { + const state = { a: arg0, b: arg1, cnt: 1, dtor }; + const real = (...args) => { + // First up with a closure we increment the internal reference + // count. This ensures that the Rust closure environment won't + // be deallocated while we're invoking it. + state.cnt++; + const a = state.a; + state.a = 0; + try { + return f(a, state.b, ...args); + } finally { + if (--state.cnt === 0) { + wasm.__wbindgen_export_6.get(state.dtor)(a, state.b); + CLOSURE_DTORS.unregister(state); + } else { + state.a = a; + } + } + }; + real.original = state; + CLOSURE_DTORS.register(real, state, state); + return real; +} + +function debugString(val) { + // primitive types + const type = typeof val; + if (type == 'number' || type == 'boolean' || val == null) { + return `${val}`; + } + if (type == 'string') { + return `"${val}"`; + } + if (type == 'symbol') { + const description = val.description; + if (description == null) { + return 'Symbol'; + } else { + return `Symbol(${description})`; + } + } + if (type == 'function') { + const name = val.name; + if (typeof name == 'string' && name.length > 0) { + return `Function(${name})`; + } else { + return 'Function'; + } + } + // objects + if (Array.isArray(val)) { + const length = val.length; + let debug = '['; + if (length > 0) { + debug += debugString(val[0]); + } + for(let i = 1; i < length; i++) { + debug += ', ' + debugString(val[i]); + } + debug += ']'; + return debug; + } + // Test for built-in + const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val)); + let className; + if (builtInMatches && builtInMatches.length > 1) { + className = builtInMatches[1]; + } else { + // Failed to match the standard '[object ClassName]' + return toString.call(val); + } + if (className == 'Object') { + // we're a user defined class or Object + // JSON.stringify avoids problems with cycles, and is generally much + // easier than looping through ownProperties of `val`. + try { + return 'Object(' + JSON.stringify(val) + ')'; + } catch (_) { + return 'Object'; + } + } + // errors + if (val instanceof Error) { + return `${val.name}: ${val.message}\n${val.stack}`; + } + // TODO we could test for more things here, like `Set`s and `Map`s. + return className; +} +function __wbg_adapter_34(arg0, arg1, arg2) { + wasm.closure355_externref_shim(arg0, arg1, arg2); +} + +function __wbg_adapter_41(arg0, arg1) { + wasm._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hc2a92dab5895dab9(arg0, arg1); +} + +function __wbg_adapter_58(arg0, arg1, arg2, arg3) { + wasm.closure861_externref_shim(arg0, arg1, arg2, arg3); +} + +const __wbindgen_enum_GpuCompilationMessageType = ["error", "warning", "info"]; + +const __wbindgen_enum_GpuDeviceLostReason = ["unknown", "destroyed"]; + +const __wbindgen_enum_GpuErrorFilter = ["validation", "out-of-memory", "internal"]; + +const __wbindgen_enum_GpuIndexFormat = ["uint16", "uint32"]; + +const __wbindgen_enum_GpuTextureFormat = ["r8unorm", "r8snorm", "r8uint", "r8sint", "r16uint", "r16sint", "r16float", "rg8unorm", "rg8snorm", "rg8uint", "rg8sint", "r32uint", "r32sint", "r32float", "rg16uint", "rg16sint", "rg16float", "rgba8unorm", "rgba8unorm-srgb", "rgba8snorm", "rgba8uint", "rgba8sint", "bgra8unorm", "bgra8unorm-srgb", "rgb9e5ufloat", "rgb10a2uint", "rgb10a2unorm", "rg11b10ufloat", "rg32uint", "rg32sint", "rg32float", "rgba16uint", "rgba16sint", "rgba16float", "rgba32uint", "rgba32sint", "rgba32float", "stencil8", "depth16unorm", "depth24plus", "depth24plus-stencil8", "depth32float", "depth32float-stencil8", "bc1-rgba-unorm", "bc1-rgba-unorm-srgb", "bc2-rgba-unorm", "bc2-rgba-unorm-srgb", "bc3-rgba-unorm", "bc3-rgba-unorm-srgb", "bc4-r-unorm", "bc4-r-snorm", "bc5-rg-unorm", "bc5-rg-snorm", "bc6h-rgb-ufloat", "bc6h-rgb-float", "bc7-rgba-unorm", "bc7-rgba-unorm-srgb", "etc2-rgb8unorm", "etc2-rgb8unorm-srgb", "etc2-rgb8a1unorm", "etc2-rgb8a1unorm-srgb", "etc2-rgba8unorm", "etc2-rgba8unorm-srgb", "eac-r11unorm", "eac-r11snorm", "eac-rg11unorm", "eac-rg11snorm", "astc-4x4-unorm", "astc-4x4-unorm-srgb", "astc-5x4-unorm", "astc-5x4-unorm-srgb", "astc-5x5-unorm", "astc-5x5-unorm-srgb", "astc-6x5-unorm", "astc-6x5-unorm-srgb", "astc-6x6-unorm", "astc-6x6-unorm-srgb", "astc-8x5-unorm", "astc-8x5-unorm-srgb", "astc-8x6-unorm", "astc-8x6-unorm-srgb", "astc-8x8-unorm", "astc-8x8-unorm-srgb", "astc-10x5-unorm", "astc-10x5-unorm-srgb", "astc-10x6-unorm", "astc-10x6-unorm-srgb", "astc-10x8-unorm", "astc-10x8-unorm-srgb", "astc-10x10-unorm", "astc-10x10-unorm-srgb", "astc-12x10-unorm", "astc-12x10-unorm-srgb", "astc-12x12-unorm", "astc-12x12-unorm-srgb"]; + +const __wbindgen_enum_ResizeObserverBoxOptions = ["border-box", "content-box", "device-pixel-content-box"]; + +const __wbindgen_enum_VisibilityState = ["hidden", "visible"]; + +async function __wbg_load(module, imports) { + if (typeof Response === 'function' && module instanceof Response) { + if (typeof WebAssembly.instantiateStreaming === 'function') { + try { + return await WebAssembly.instantiateStreaming(module, imports); + + } catch (e) { + if (module.headers.get('Content-Type') != 'application/wasm') { + console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e); + + } else { + throw e; + } + } + } + + const bytes = await module.arrayBuffer(); + return await WebAssembly.instantiate(bytes, imports); + + } else { + const instance = await WebAssembly.instantiate(module, imports); + + if (instance instanceof WebAssembly.Instance) { + return { instance, module }; + + } else { + return instance; + } + } +} + +function __wbg_get_imports() { + const imports = {}; + imports.wbg = {}; + imports.wbg.__wbg_Window_96e58b3552ce6bb1 = function(arg0) { + const ret = arg0.Window; + return ret; + }; + imports.wbg.__wbg_Window_cf5b693340a7c469 = function(arg0) { + const ret = arg0.Window; + return ret; + }; + imports.wbg.__wbg_WorkerGlobalScope_354364d1b0bd06e5 = function(arg0) { + const ret = arg0.WorkerGlobalScope; + return ret; + }; + imports.wbg.__wbg_abort_19de2f828ee0874a = function(arg0) { + arg0.abort(); + }; + imports.wbg.__wbg_activeElement_d1a1f2b334adf636 = function(arg0) { + const ret = arg0.activeElement; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_activeTexture_24b42b03041f3428 = function(arg0, arg1) { + arg0.activeTexture(arg1 >>> 0); + }; + imports.wbg.__wbg_activeTexture_47928613532be667 = function(arg0, arg1) { + arg0.activeTexture(arg1 >>> 0); + }; + imports.wbg.__wbg_addEventListener_e27053e488770e58 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + arg0.addEventListener(getStringFromWasm0(arg1, arg2), arg3); + }, arguments) }; + imports.wbg.__wbg_addListener_dca1ccc036e24997 = function() { return handleError(function (arg0, arg1) { + arg0.addListener(arg1); + }, arguments) }; + imports.wbg.__wbg_altKey_56dd0987e7ccbbf2 = function(arg0) { + const ret = arg0.altKey; + return ret; + }; + imports.wbg.__wbg_altKey_583c79ba3f4fce1e = function(arg0) { + const ret = arg0.altKey; + return ret; + }; + imports.wbg.__wbg_animate_310f1b8e5b1fdb56 = function(arg0, arg1, arg2) { + const ret = arg0.animate(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_appendChild_805222aed73feea9 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.appendChild(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_attachShader_81000b0c4da5b206 = function(arg0, arg1, arg2) { + arg0.attachShader(arg1, arg2); + }; + imports.wbg.__wbg_attachShader_ccc35921e866b2bf = function(arg0, arg1, arg2) { + arg0.attachShader(arg1, arg2); + }; + imports.wbg.__wbg_beginComputePass_90d5303e604970cb = function(arg0, arg1) { + const ret = arg0.beginComputePass(arg1); + return ret; + }; + imports.wbg.__wbg_beginQuery_4e54bbe77706fb3c = function(arg0, arg1, arg2) { + arg0.beginQuery(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_beginRenderPass_9739520c601001c3 = function(arg0, arg1) { + const ret = arg0.beginRenderPass(arg1); + return ret; + }; + imports.wbg.__wbg_bindAttribLocation_a08ae4fdf9b16e7d = function(arg0, arg1, arg2, arg3, arg4) { + arg0.bindAttribLocation(arg1, arg2 >>> 0, getStringFromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_bindAttribLocation_b53db53e1b134420 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.bindAttribLocation(arg1, arg2 >>> 0, getStringFromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_bindBufferRange_ce5a2827ed937112 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.bindBufferRange(arg1 >>> 0, arg2 >>> 0, arg3, arg4, arg5); + }; + imports.wbg.__wbg_bindBuffer_0fedb16582ffeee6 = function(arg0, arg1, arg2) { + arg0.bindBuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindBuffer_c6e5f29d60e90c01 = function(arg0, arg1, arg2) { + arg0.bindBuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindFramebuffer_87e15614ca3e9537 = function(arg0, arg1, arg2) { + arg0.bindFramebuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindFramebuffer_a0d602bd474dcbfb = function(arg0, arg1, arg2) { + arg0.bindFramebuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindRenderbuffer_3100396894cc2d72 = function(arg0, arg1, arg2) { + arg0.bindRenderbuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindRenderbuffer_fd3e47dad76906ea = function(arg0, arg1, arg2) { + arg0.bindRenderbuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindSampler_7614054a94f8e3d1 = function(arg0, arg1, arg2) { + arg0.bindSampler(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindTexture_6478edbb238b9c73 = function(arg0, arg1, arg2) { + arg0.bindTexture(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindTexture_9b177c97248ed4d9 = function(arg0, arg1, arg2) { + arg0.bindTexture(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindVertexArrayOES_e81fca007d08d0db = function(arg0, arg1) { + arg0.bindVertexArrayOES(arg1); + }; + imports.wbg.__wbg_bindVertexArray_d9082254ff3bcc13 = function(arg0, arg1) { + arg0.bindVertexArray(arg1); + }; + imports.wbg.__wbg_blendColor_075aa544f1fe84c5 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.blendColor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_blendColor_ed292080d5966f2c = function(arg0, arg1, arg2, arg3, arg4) { + arg0.blendColor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_blendEquationSeparate_3dbbe20b0a9fa818 = function(arg0, arg1, arg2) { + arg0.blendEquationSeparate(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_blendEquationSeparate_d360393d3b1557cd = function(arg0, arg1, arg2) { + arg0.blendEquationSeparate(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_blendEquation_41f4ed79f5ddd25c = function(arg0, arg1) { + arg0.blendEquation(arg1 >>> 0); + }; + imports.wbg.__wbg_blendEquation_8804e10c9ced3fc4 = function(arg0, arg1) { + arg0.blendEquation(arg1 >>> 0); + }; + imports.wbg.__wbg_blendFuncSeparate_2cc7ac2397290a15 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.blendFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_blendFuncSeparate_c6c035b0094bd58f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.blendFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_blendFunc_63aca14ff3252b59 = function(arg0, arg1, arg2) { + arg0.blendFunc(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_blendFunc_8e1cfba50a4eea89 = function(arg0, arg1, arg2) { + arg0.blendFunc(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_blitFramebuffer_171b9355e4e730c9 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) { + arg0.blitFramebuffer(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0); + }; + imports.wbg.__wbg_blockSize_e0006fb003814895 = function(arg0) { + const ret = arg0.blockSize; + return ret; + }; + imports.wbg.__wbg_body_83d4bc4961a422aa = function(arg0) { + const ret = arg0.body; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_brand_67e4f3d950154d0a = function(arg0, arg1) { + const ret = arg1.brand; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_brands_1ec54d613da9db02 = function(arg0) { + const ret = arg0.brands; + return ret; + }; + imports.wbg.__wbg_bufferData_2a747a2c2c3b23b5 = function(arg0, arg1, arg2, arg3) { + arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0); + }; + imports.wbg.__wbg_bufferData_5b85d77150f6520a = function(arg0, arg1, arg2, arg3) { + arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0); + }; + imports.wbg.__wbg_bufferData_b03654fb80052afe = function(arg0, arg1, arg2, arg3) { + arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0); + }; + imports.wbg.__wbg_bufferData_c2eb7dbb2ea2ab3f = function(arg0, arg1, arg2, arg3) { + arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0); + }; + imports.wbg.__wbg_bufferSubData_8a7d35c05111a120 = function(arg0, arg1, arg2, arg3) { + arg0.bufferSubData(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_bufferSubData_c4b11388b9eb4175 = function(arg0, arg1, arg2, arg3) { + arg0.bufferSubData(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_buffer_6e1d53ff183194fc = function(arg0) { + const ret = arg0.buffer; + return ret; + }; + imports.wbg.__wbg_buffer_ffdeb2ee67420f9e = function(arg0) { + const ret = arg0.buffer; + return ret; + }; + imports.wbg.__wbg_button_db48f93638c59f95 = function(arg0) { + const ret = arg0.button; + return ret; + }; + imports.wbg.__wbg_buttons_b962d6dc116cd1a5 = function(arg0) { + const ret = arg0.buttons; + return ret; + }; + imports.wbg.__wbg_call_3114932863209ca6 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.call(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_cancelAnimationFrame_f1ad512e269ea165 = function() { return handleError(function (arg0, arg1) { + arg0.cancelAnimationFrame(arg1); + }, arguments) }; + imports.wbg.__wbg_cancelIdleCallback_bcc2dc9be9de0744 = function(arg0, arg1) { + arg0.cancelIdleCallback(arg1 >>> 0); + }; + imports.wbg.__wbg_cancel_3b69067dcdf7ffb7 = function(arg0) { + arg0.cancel(); + }; + imports.wbg.__wbg_catch_9da7d002aa356f1d = function(arg0, arg1) { + const ret = arg0.catch(arg1); + return ret; + }; + imports.wbg.__wbg_clearBuffer_6164fc25d22b25cc = function(arg0, arg1, arg2, arg3) { + arg0.clearBuffer(arg1, arg2, arg3); + }; + imports.wbg.__wbg_clearBuffer_cfcaaf1fb2baa885 = function(arg0, arg1, arg2) { + arg0.clearBuffer(arg1, arg2); + }; + imports.wbg.__wbg_clearBufferfv_2cf04e18ef87ed90 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.clearBufferfv(arg1 >>> 0, arg2, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_clearBufferiv_b45be02e57957dad = function(arg0, arg1, arg2, arg3, arg4) { + arg0.clearBufferiv(arg1 >>> 0, arg2, getArrayI32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_clearBufferuiv_deca83038abb23d2 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.clearBufferuiv(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_clearDepth_14d34daa30215440 = function(arg0, arg1) { + arg0.clearDepth(arg1); + }; + imports.wbg.__wbg_clearDepth_1cdcb08d8a5afa49 = function(arg0, arg1) { + arg0.clearDepth(arg1); + }; + imports.wbg.__wbg_clearStencil_e2c8b1892d5e033d = function(arg0, arg1) { + arg0.clearStencil(arg1); + }; + imports.wbg.__wbg_clearStencil_f3138d2e338d1436 = function(arg0, arg1) { + arg0.clearStencil(arg1); + }; + imports.wbg.__wbg_clearTimeout_da4408c46e51bc7a = function(arg0, arg1) { + arg0.clearTimeout(arg1); + }; + imports.wbg.__wbg_clear_4e68091e616c29ad = function(arg0, arg1) { + arg0.clear(arg1 >>> 0); + }; + imports.wbg.__wbg_clear_af7641961d766f51 = function(arg0, arg1) { + arg0.clear(arg1 >>> 0); + }; + imports.wbg.__wbg_clientWaitSync_2c4c0bd3a8d3536b = function(arg0, arg1, arg2, arg3) { + const ret = arg0.clientWaitSync(arg1, arg2 >>> 0, arg3 >>> 0); + return ret; + }; + imports.wbg.__wbg_close_35d643897b189a00 = function(arg0) { + arg0.close(); + }; + imports.wbg.__wbg_code_d8226b2133366406 = function(arg0, arg1) { + const ret = arg1.code; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_colorMask_22d850d91e89df9f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.colorMask(arg1 !== 0, arg2 !== 0, arg3 !== 0, arg4 !== 0); + }; + imports.wbg.__wbg_colorMask_a6068fae89c17ceb = function(arg0, arg1, arg2, arg3, arg4) { + arg0.colorMask(arg1 !== 0, arg2 !== 0, arg3 !== 0, arg4 !== 0); + }; + imports.wbg.__wbg_compileShader_5e41ecd397194c21 = function(arg0, arg1) { + arg0.compileShader(arg1); + }; + imports.wbg.__wbg_compileShader_6868fa6a842f0911 = function(arg0, arg1) { + arg0.compileShader(arg1); + }; + imports.wbg.__wbg_compressedTexSubImage2D_216f6eec167da8d7 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + arg0.compressedTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8); + }; + imports.wbg.__wbg_compressedTexSubImage2D_4b50d2a94bf4ea60 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.compressedTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8, arg9); + }; + imports.wbg.__wbg_compressedTexSubImage2D_9b0c2c785026006a = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + arg0.compressedTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8); + }; + imports.wbg.__wbg_compressedTexSubImage3D_8102ea4403fef5ce = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) { + arg0.compressedTexSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10); + }; + imports.wbg.__wbg_compressedTexSubImage3D_bf2bdb940e26bc8c = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.compressedTexSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10, arg11); + }; + imports.wbg.__wbg_configure_2414aed971d368cd = function(arg0, arg1) { + arg0.configure(arg1); + }; + imports.wbg.__wbg_contains_6947e163e2a3c092 = function(arg0, arg1) { + const ret = arg0.contains(arg1); + return ret; + }; + imports.wbg.__wbg_contentRect_7aaa87e16fd2882d = function(arg0) { + const ret = arg0.contentRect; + return ret; + }; + imports.wbg.__wbg_copyBufferSubData_ff213d67aa3b1f82 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.copyBufferSubData(arg1 >>> 0, arg2 >>> 0, arg3, arg4, arg5); + }; + imports.wbg.__wbg_copyBufferToBuffer_1ba67191114656a1 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.copyBufferToBuffer(arg1, arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_copyBufferToTexture_878d31d479e48f28 = function(arg0, arg1, arg2, arg3) { + arg0.copyBufferToTexture(arg1, arg2, arg3); + }; + imports.wbg.__wbg_copyExternalImageToTexture_7878d196c0b60d39 = function(arg0, arg1, arg2, arg3) { + arg0.copyExternalImageToTexture(arg1, arg2, arg3); + }; + imports.wbg.__wbg_copyTexSubImage2D_4b37e79c31b798b1 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + arg0.copyTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + }; + imports.wbg.__wbg_copyTexSubImage2D_a29106dfb31dd17c = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + arg0.copyTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + }; + imports.wbg.__wbg_copyTexSubImage3D_f8350e268c143688 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.copyTexSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); + }; + imports.wbg.__wbg_copyTextureToBuffer_6a8fe0e90f0a663d = function(arg0, arg1, arg2, arg3) { + arg0.copyTextureToBuffer(arg1, arg2, arg3); + }; + imports.wbg.__wbg_copyTextureToTexture_0a06a393d6726b4a = function(arg0, arg1, arg2, arg3) { + arg0.copyTextureToTexture(arg1, arg2, arg3); + }; + imports.wbg.__wbg_createBindGroupLayout_1d93b6d41c87ba9d = function(arg0, arg1) { + const ret = arg0.createBindGroupLayout(arg1); + return ret; + }; + imports.wbg.__wbg_createBindGroup_61cd07ec9d423432 = function(arg0, arg1) { + const ret = arg0.createBindGroup(arg1); + return ret; + }; + imports.wbg.__wbg_createBuffer_1e646d14cebbb438 = function(arg0) { + const ret = arg0.createBuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createBuffer_2a696fb8c0d07970 = function(arg0) { + const ret = arg0.createBuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createBuffer_963aa00d5fe859e4 = function(arg0, arg1) { + const ret = arg0.createBuffer(arg1); + return ret; + }; + imports.wbg.__wbg_createCommandEncoder_f0e1613e9a2dc1eb = function(arg0, arg1) { + const ret = arg0.createCommandEncoder(arg1); + return ret; + }; + imports.wbg.__wbg_createComputePipeline_b9616b9fe2f4eb2f = function(arg0, arg1) { + const ret = arg0.createComputePipeline(arg1); + return ret; + }; + imports.wbg.__wbg_createElement_22b48bfb31a0c20e = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.createElement(getStringFromWasm0(arg1, arg2)); + return ret; + }, arguments) }; + imports.wbg.__wbg_createFramebuffer_163e192e1e53ec9b = function(arg0) { + const ret = arg0.createFramebuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createFramebuffer_1aa54479f7524ef5 = function(arg0) { + const ret = arg0.createFramebuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createObjectURL_06505af3e8787cc8 = function() { return handleError(function (arg0, arg1) { + const ret = URL.createObjectURL(arg1); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_createPipelineLayout_56c6cf983f892d2b = function(arg0, arg1) { + const ret = arg0.createPipelineLayout(arg1); + return ret; + }; + imports.wbg.__wbg_createProgram_5a5a92d23fdc2f1a = function(arg0) { + const ret = arg0.createProgram(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createProgram_b75025f0f1a4ef55 = function(arg0) { + const ret = arg0.createProgram(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createQuerySet_c14be802adf7c207 = function(arg0, arg1) { + const ret = arg0.createQuerySet(arg1); + return ret; + }; + imports.wbg.__wbg_createQuery_2816e95a473b5501 = function(arg0) { + const ret = arg0.createQuery(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createRenderBundleEncoder_8e4bdffea72f8c1f = function(arg0, arg1) { + const ret = arg0.createRenderBundleEncoder(arg1); + return ret; + }; + imports.wbg.__wbg_createRenderPipeline_079a88a0601fcce1 = function(arg0, arg1) { + const ret = arg0.createRenderPipeline(arg1); + return ret; + }; + imports.wbg.__wbg_createRenderbuffer_29e130c03bc689d3 = function(arg0) { + const ret = arg0.createRenderbuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createRenderbuffer_b10004ae18d38014 = function(arg0) { + const ret = arg0.createRenderbuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createSampler_50ae7c4dd1f9b066 = function(arg0) { + const ret = arg0.createSampler(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createSampler_ef5578990df3baf7 = function(arg0, arg1) { + const ret = arg0.createSampler(arg1); + return ret; + }; + imports.wbg.__wbg_createShaderModule_17f451ea25cae47c = function(arg0, arg1) { + const ret = arg0.createShaderModule(arg1); + return ret; + }; + imports.wbg.__wbg_createShader_29c8e06db7e7211f = function(arg0, arg1) { + const ret = arg0.createShader(arg1 >>> 0); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createShader_8c3053457f874cdd = function(arg0, arg1) { + const ret = arg0.createShader(arg1 >>> 0); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createTexture_01cc1cd2fea732d9 = function(arg0, arg1) { + const ret = arg0.createTexture(arg1); + return ret; + }; + imports.wbg.__wbg_createTexture_20f63b261993f581 = function(arg0) { + const ret = arg0.createTexture(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createTexture_facd2df68d8d0276 = function(arg0) { + const ret = arg0.createTexture(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createVertexArrayOES_89f45f4a4fde395f = function(arg0) { + const ret = arg0.createVertexArrayOES(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createVertexArray_70d7c4c62e00613d = function(arg0) { + const ret = arg0.createVertexArray(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createView_04701884291e1ccc = function(arg0, arg1) { + const ret = arg0.createView(arg1); + return ret; + }; + imports.wbg.__wbg_ctrlKey_60b29e015a543678 = function(arg0) { + const ret = arg0.ctrlKey; + return ret; + }; + imports.wbg.__wbg_ctrlKey_ab341328ab202d37 = function(arg0) { + const ret = arg0.ctrlKey; + return ret; + }; + imports.wbg.__wbg_cullFace_96a9dca4a5b1ca33 = function(arg0, arg1) { + arg0.cullFace(arg1 >>> 0); + }; + imports.wbg.__wbg_cullFace_99bb4e31c974596d = function(arg0, arg1) { + arg0.cullFace(arg1 >>> 0); + }; + imports.wbg.__wbg_debug_347b3d1f33e1c28e = function(arg0) { + console.debug(arg0); + }; + imports.wbg.__wbg_deleteBuffer_9d705222a7e77a7b = function(arg0, arg1) { + arg0.deleteBuffer(arg1); + }; + imports.wbg.__wbg_deleteBuffer_db0d7ecbaa97fa56 = function(arg0, arg1) { + arg0.deleteBuffer(arg1); + }; + imports.wbg.__wbg_deleteFramebuffer_69db238ea6b8a9a1 = function(arg0, arg1) { + arg0.deleteFramebuffer(arg1); + }; + imports.wbg.__wbg_deleteFramebuffer_ecf398bec452aaf9 = function(arg0, arg1) { + arg0.deleteFramebuffer(arg1); + }; + imports.wbg.__wbg_deleteProgram_cb18e0020d488bad = function(arg0, arg1) { + arg0.deleteProgram(arg1); + }; + imports.wbg.__wbg_deleteProgram_e1a6c4b922e202e3 = function(arg0, arg1) { + arg0.deleteProgram(arg1); + }; + imports.wbg.__wbg_deleteQuery_e083394da1710d6c = function(arg0, arg1) { + arg0.deleteQuery(arg1); + }; + imports.wbg.__wbg_deleteRenderbuffer_05fa7f35ea76cafd = function(arg0, arg1) { + arg0.deleteRenderbuffer(arg1); + }; + imports.wbg.__wbg_deleteRenderbuffer_2f1216e54aa2f248 = function(arg0, arg1) { + arg0.deleteRenderbuffer(arg1); + }; + imports.wbg.__wbg_deleteSampler_e5c61c85993f9a69 = function(arg0, arg1) { + arg0.deleteSampler(arg1); + }; + imports.wbg.__wbg_deleteShader_257caf93b24ac555 = function(arg0, arg1) { + arg0.deleteShader(arg1); + }; + imports.wbg.__wbg_deleteShader_fb86028e46cb069b = function(arg0, arg1) { + arg0.deleteShader(arg1); + }; + imports.wbg.__wbg_deleteSync_b5caedf06185d972 = function(arg0, arg1) { + arg0.deleteSync(arg1); + }; + imports.wbg.__wbg_deleteTexture_6913f682a09c8171 = function(arg0, arg1) { + arg0.deleteTexture(arg1); + }; + imports.wbg.__wbg_deleteTexture_a29655740b1cbe33 = function(arg0, arg1) { + arg0.deleteTexture(arg1); + }; + imports.wbg.__wbg_deleteVertexArrayOES_2def7ce37f8e89f2 = function(arg0, arg1) { + arg0.deleteVertexArrayOES(arg1); + }; + imports.wbg.__wbg_deleteVertexArray_a3bca8e15204ffed = function(arg0, arg1) { + arg0.deleteVertexArray(arg1); + }; + imports.wbg.__wbg_deltaMode_a4cc321212f87817 = function(arg0) { + const ret = arg0.deltaMode; + return ret; + }; + imports.wbg.__wbg_deltaX_27e2939a1af8c940 = function(arg0) { + const ret = arg0.deltaX; + return ret; + }; + imports.wbg.__wbg_deltaY_4bb52a4f0a7ad28b = function(arg0) { + const ret = arg0.deltaY; + return ret; + }; + imports.wbg.__wbg_depthFunc_657dd592930e7f2f = function(arg0, arg1) { + arg0.depthFunc(arg1 >>> 0); + }; + imports.wbg.__wbg_depthFunc_f9fd44a07ea8398e = function(arg0, arg1) { + arg0.depthFunc(arg1 >>> 0); + }; + imports.wbg.__wbg_depthMask_87195357e4f7df17 = function(arg0, arg1) { + arg0.depthMask(arg1 !== 0); + }; + imports.wbg.__wbg_depthMask_bac7f6b455b6ddeb = function(arg0, arg1) { + arg0.depthMask(arg1 !== 0); + }; + imports.wbg.__wbg_depthRange_d947e824a28dc9a1 = function(arg0, arg1, arg2) { + arg0.depthRange(arg1, arg2); + }; + imports.wbg.__wbg_depthRange_f71c79182f666e45 = function(arg0, arg1, arg2) { + arg0.depthRange(arg1, arg2); + }; + imports.wbg.__wbg_destroy_35f94012e5bb9c17 = function(arg0) { + arg0.destroy(); + }; + imports.wbg.__wbg_destroy_767d9dde1008e293 = function(arg0) { + arg0.destroy(); + }; + imports.wbg.__wbg_destroy_c6af4226dda95dbd = function(arg0) { + arg0.destroy(); + }; + imports.wbg.__wbg_devicePixelContentBoxSize_1ea2c6145730b8c0 = function(arg0) { + const ret = arg0.devicePixelContentBoxSize; + return ret; + }; + imports.wbg.__wbg_devicePixelRatio_f4eb7cbe3a812de0 = function(arg0) { + const ret = arg0.devicePixelRatio; + return ret; + }; + imports.wbg.__wbg_disableVertexAttribArray_c513f1fff3cb73f2 = function(arg0, arg1) { + arg0.disableVertexAttribArray(arg1 >>> 0); + }; + imports.wbg.__wbg_disableVertexAttribArray_e7ff41dc0c3eaf1f = function(arg0, arg1) { + arg0.disableVertexAttribArray(arg1 >>> 0); + }; + imports.wbg.__wbg_disable_4c1cedffa6646166 = function(arg0, arg1) { + arg0.disable(arg1 >>> 0); + }; + imports.wbg.__wbg_disable_5320561e5cb15f08 = function(arg0, arg1) { + arg0.disable(arg1 >>> 0); + }; + imports.wbg.__wbg_disconnect_8b7c928b6057719b = function(arg0) { + arg0.disconnect(); + }; + imports.wbg.__wbg_disconnect_c45e8044053eddf3 = function(arg0) { + arg0.disconnect(); + }; + imports.wbg.__wbg_dispatchWorkgroupsIndirect_8b25efab93a7a433 = function(arg0, arg1, arg2) { + arg0.dispatchWorkgroupsIndirect(arg1, arg2); + }; + imports.wbg.__wbg_dispatchWorkgroups_c102fa81b955935d = function(arg0, arg1, arg2, arg3) { + arg0.dispatchWorkgroups(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0); + }; + imports.wbg.__wbg_document_c488ca7509cc6938 = function(arg0) { + const ret = arg0.document; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_drawArraysInstancedANGLE_55c83db2758c6ab4 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.drawArraysInstancedANGLE(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_drawArraysInstanced_11f863da4daf24d0 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.drawArraysInstanced(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_drawArrays_87e9bb0e2fb3e0fa = function(arg0, arg1, arg2, arg3) { + arg0.drawArrays(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_drawArrays_f5b0f0a0dc392c3f = function(arg0, arg1, arg2, arg3) { + arg0.drawArrays(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_drawBuffersWEBGL_22730193cdce9696 = function(arg0, arg1) { + arg0.drawBuffersWEBGL(arg1); + }; + imports.wbg.__wbg_drawBuffers_f256d529aecd01f2 = function(arg0, arg1) { + arg0.drawBuffers(arg1); + }; + imports.wbg.__wbg_drawElementsInstancedANGLE_db0bafff77affb0d = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.drawElementsInstancedANGLE(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_drawElementsInstanced_e87f1c69165df984 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.drawElementsInstanced(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_drawIndexedIndirect_34484fc6227c7bc8 = function(arg0, arg1, arg2) { + arg0.drawIndexedIndirect(arg1, arg2); + }; + imports.wbg.__wbg_drawIndexedIndirect_5a7c30bb5f1d5b67 = function(arg0, arg1, arg2) { + arg0.drawIndexedIndirect(arg1, arg2); + }; + imports.wbg.__wbg_drawIndexed_115af1449b52a948 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.drawIndexed(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5 >>> 0); + }; + imports.wbg.__wbg_drawIndexed_a587cce4c317791f = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.drawIndexed(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5 >>> 0); + }; + imports.wbg.__wbg_drawIndirect_036d71498a21f1a3 = function(arg0, arg1, arg2) { + arg0.drawIndirect(arg1, arg2); + }; + imports.wbg.__wbg_drawIndirect_a1d7c5e893aa5756 = function(arg0, arg1, arg2) { + arg0.drawIndirect(arg1, arg2); + }; + imports.wbg.__wbg_draw_5351b12033166aca = function(arg0, arg1, arg2, arg3, arg4) { + arg0.draw(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_draw_e2a7c5d66fb2d244 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.draw(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_enableVertexAttribArray_0ce3052ae5f3f84a = function(arg0, arg1) { + arg0.enableVertexAttribArray(arg1 >>> 0); + }; + imports.wbg.__wbg_enableVertexAttribArray_2bb681a583bf0dbe = function(arg0, arg1) { + arg0.enableVertexAttribArray(arg1 >>> 0); + }; + imports.wbg.__wbg_enable_8d6ea7489b31dabd = function(arg0, arg1) { + arg0.enable(arg1 >>> 0); + }; + imports.wbg.__wbg_enable_bb868e19d5c88d56 = function(arg0, arg1) { + arg0.enable(arg1 >>> 0); + }; + imports.wbg.__wbg_endQuery_b4f2566f7afc4117 = function(arg0, arg1) { + arg0.endQuery(arg1 >>> 0); + }; + imports.wbg.__wbg_end_0ac71677a5c1717a = function(arg0) { + arg0.end(); + }; + imports.wbg.__wbg_end_6f776519f1faa582 = function(arg0) { + arg0.end(); + }; + imports.wbg.__wbg_error_2a6b93fdada7ff11 = function(arg0) { + console.error(arg0); + }; + imports.wbg.__wbg_error_7534b8e9a36f1ab4 = function(arg0, arg1) { + let deferred0_0; + let deferred0_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + console.error(getStringFromWasm0(arg0, arg1)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + } + }; + imports.wbg.__wbg_error_e98e6aadd08e0b94 = function(arg0) { + const ret = arg0.error; + return ret; + }; + imports.wbg.__wbg_error_f0dde81ae1e4cfea = function(arg0, arg1) { + console.error(arg0, arg1); + }; + imports.wbg.__wbg_executeBundles_8e6c0614da2805d4 = function(arg0, arg1) { + arg0.executeBundles(arg1); + }; + imports.wbg.__wbg_features_1b464383ea8a7691 = function(arg0) { + const ret = arg0.features; + return ret; + }; + imports.wbg.__wbg_features_e5fbbc2760867852 = function(arg0) { + const ret = arg0.features; + return ret; + }; + imports.wbg.__wbg_fenceSync_68dcf439f52decac = function(arg0, arg1, arg2) { + const ret = arg0.fenceSync(arg1 >>> 0, arg2 >>> 0); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_finish_20711371c58df61c = function(arg0) { + const ret = arg0.finish(); + return ret; + }; + imports.wbg.__wbg_finish_34b2c54329c8719f = function(arg0, arg1) { + const ret = arg0.finish(arg1); + return ret; + }; + imports.wbg.__wbg_finish_a9ab917e756ea00c = function(arg0, arg1) { + const ret = arg0.finish(arg1); + return ret; + }; + imports.wbg.__wbg_finish_e0a6c97c0622f843 = function(arg0) { + const ret = arg0.finish(); + return ret; + }; + imports.wbg.__wbg_focus_c71947fc3fe22147 = function() { return handleError(function (arg0) { + arg0.focus(); + }, arguments) }; + imports.wbg.__wbg_framebufferRenderbuffer_308ddbcaaed66ff2 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.framebufferRenderbuffer(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4); + }; + imports.wbg.__wbg_framebufferRenderbuffer_a23d035c46e3e192 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.framebufferRenderbuffer(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4); + }; + imports.wbg.__wbg_framebufferTexture2D_170b0f8c792e246f = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.framebufferTexture2D(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_framebufferTexture2D_5366ecb050293d09 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.framebufferTexture2D(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_framebufferTextureLayer_daccfb6fb9396578 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.framebufferTextureLayer(arg1 >>> 0, arg2 >>> 0, arg3, arg4, arg5); + }; + imports.wbg.__wbg_framebufferTextureMultiviewOVR_e2282e87fdf2564f = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.framebufferTextureMultiviewOVR(arg1 >>> 0, arg2 >>> 0, arg3, arg4, arg5, arg6); + }; + imports.wbg.__wbg_frontFace_7b469405c0e889ee = function(arg0, arg1) { + arg0.frontFace(arg1 >>> 0); + }; + imports.wbg.__wbg_frontFace_993e921eaef39c45 = function(arg0, arg1) { + arg0.frontFace(arg1 >>> 0); + }; + imports.wbg.__wbg_fullscreenElement_a613ad02fa918fb4 = function(arg0) { + const ret = arg0.fullscreenElement; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getBindGroupLayout_4a94df6108ac6667 = function(arg0, arg1) { + const ret = arg0.getBindGroupLayout(arg1 >>> 0); + return ret; + }; + imports.wbg.__wbg_getBindGroupLayout_80e803d942962f6a = function(arg0, arg1) { + const ret = arg0.getBindGroupLayout(arg1 >>> 0); + return ret; + }; + imports.wbg.__wbg_getBufferSubData_5102d8a217d0774c = function(arg0, arg1, arg2, arg3) { + arg0.getBufferSubData(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_getCoalescedEvents_1372a1922f78401a = function(arg0) { + const ret = arg0.getCoalescedEvents; + return ret; + }; + imports.wbg.__wbg_getCoalescedEvents_3736b5e5d63bed7b = function(arg0) { + const ret = arg0.getCoalescedEvents(); + return ret; + }; + imports.wbg.__wbg_getCompilationInfo_2af3ecdfeda551a3 = function(arg0) { + const ret = arg0.getCompilationInfo(); + return ret; + }; + imports.wbg.__wbg_getComputedStyle_c3a9de7674a38310 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.getComputedStyle(arg1); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getContext_02d86c7d9cfa709e = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.getContext(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getContext_24d4414b979c1bbd = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.getContext(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getContext_74e4f1560c2a2fae = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = arg0.getContext(getStringFromWasm0(arg1, arg2), arg3); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getContext_b22f05fca7ddb494 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = arg0.getContext(getStringFromWasm0(arg1, arg2), arg3); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getCurrentTexture_5a79cda2ff36e1ee = function(arg0) { + const ret = arg0.getCurrentTexture(); + return ret; + }; + imports.wbg.__wbg_getElementById_7b2db24a9b54f077 = function(arg0, arg1, arg2) { + const ret = arg0.getElementById(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getExtension_28666bdc87d23aca = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.getExtension(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getIndexedParameter_f9e7220a3bb8862c = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.getIndexedParameter(arg1 >>> 0, arg2 >>> 0); + return ret; + }, arguments) }; + imports.wbg.__wbg_getMappedRange_932dd043ae22ee0a = function(arg0, arg1, arg2) { + const ret = arg0.getMappedRange(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_getOwnPropertyDescriptor_c701b185423f5b7e = function(arg0, arg1) { + const ret = Object.getOwnPropertyDescriptor(arg0, arg1); + return ret; + }; + imports.wbg.__wbg_getParameter_304cffb9a759dc04 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.getParameter(arg1 >>> 0); + return ret; + }, arguments) }; + imports.wbg.__wbg_getParameter_fd65bc6ff1b0ffd9 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.getParameter(arg1 >>> 0); + return ret; + }, arguments) }; + imports.wbg.__wbg_getPreferredCanvasFormat_de73c02773a5209e = function(arg0) { + const ret = arg0.getPreferredCanvasFormat(); + return (__wbindgen_enum_GpuTextureFormat.indexOf(ret) + 1 || 96) - 1; + }; + imports.wbg.__wbg_getProgramInfoLog_032aac3e6f3a253c = function(arg0, arg1, arg2) { + const ret = arg1.getProgramInfoLog(arg2); + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_getProgramInfoLog_039168c2aed8d3fe = function(arg0, arg1, arg2) { + const ret = arg1.getProgramInfoLog(arg2); + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_getProgramParameter_70b22019524689fa = function(arg0, arg1, arg2) { + const ret = arg0.getProgramParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getProgramParameter_9b3bdf8d90159edb = function(arg0, arg1, arg2) { + const ret = arg0.getProgramParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getPropertyValue_e87121b8549f72d5 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = arg1.getPropertyValue(getStringFromWasm0(arg2, arg3)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_getQueryParameter_e7b02fe5fd64baa5 = function(arg0, arg1, arg2) { + const ret = arg0.getQueryParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getShaderInfoLog_5c7d45bafe3be3dd = function(arg0, arg1, arg2) { + const ret = arg1.getShaderInfoLog(arg2); + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_getShaderInfoLog_d2cc881ce343a733 = function(arg0, arg1, arg2) { + const ret = arg1.getShaderInfoLog(arg2); + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_getShaderParameter_6d0578dd9f58b684 = function(arg0, arg1, arg2) { + const ret = arg0.getShaderParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getShaderParameter_c50fbeadf9ef6879 = function(arg0, arg1, arg2) { + const ret = arg0.getShaderParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getSupportedExtensions_fca342bac23691db = function(arg0) { + const ret = arg0.getSupportedExtensions(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getSupportedProfiles_b2cc3aec569a65fa = function(arg0) { + const ret = arg0.getSupportedProfiles(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getSyncParameter_5688138f66b57b16 = function(arg0, arg1, arg2) { + const ret = arg0.getSyncParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getUniformBlockIndex_b53609b8ecff8b48 = function(arg0, arg1, arg2, arg3) { + const ret = arg0.getUniformBlockIndex(arg1, getStringFromWasm0(arg2, arg3)); + return ret; + }; + imports.wbg.__wbg_getUniformLocation_852fbe42afe106ff = function(arg0, arg1, arg2, arg3) { + const ret = arg0.getUniformLocation(arg1, getStringFromWasm0(arg2, arg3)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getUniformLocation_9d46a65011600cce = function(arg0, arg1, arg2, arg3) { + const ret = arg0.getUniformLocation(arg1, getStringFromWasm0(arg2, arg3)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_get_68aa371864aa301a = function(arg0, arg1) { + const ret = arg0[arg1 >>> 0]; + return ret; + }; + imports.wbg.__wbg_get_6b316bfdb1b95076 = function(arg0, arg1) { + const ret = arg0[arg1 >>> 0]; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_globalThis_1e2ac1d6eee845b3 = function() { return handleError(function () { + const ret = globalThis.globalThis; + return ret; + }, arguments) }; + imports.wbg.__wbg_global_f25a574ae080367c = function() { return handleError(function () { + const ret = global.global; + return ret; + }, arguments) }; + imports.wbg.__wbg_gpu_87871e8f7ace8fee = function(arg0) { + const ret = arg0.gpu; + return ret; + }; + imports.wbg.__wbg_has_624cbf0451d880e8 = function(arg0, arg1, arg2) { + const ret = arg0.has(getStringFromWasm0(arg1, arg2)); + return ret; + }; + imports.wbg.__wbg_height_4065e49e5ec4c4c1 = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_51a97623165c9beb = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_74bc8ec7548ff6b6 = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_a196a7b9b1d7e01c = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_cabc0c8a4c838304 = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_e509816ec3fdf5b1 = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_includes_959087f4155febdf = function(arg0, arg1, arg2) { + const ret = arg0.includes(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_info_b6bd3cb6471c2b4c = function(arg0) { + console.info(arg0); + }; + imports.wbg.__wbg_inlineSize_6f8d0983462c2919 = function(arg0) { + const ret = arg0.inlineSize; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuAdapter_0731153d2b08720b = function(arg0) { + let result; + try { + result = arg0 instanceof GPUAdapter; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuCanvasContext_d14121c7bd72fcef = function(arg0) { + let result; + try { + result = arg0 instanceof GPUCanvasContext; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuDeviceLostInfo_a3677ebb8241d800 = function(arg0) { + let result; + try { + result = arg0 instanceof GPUDeviceLostInfo; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuOutOfMemoryError_391d9a08edbfa04b = function(arg0) { + let result; + try { + result = arg0 instanceof GPUOutOfMemoryError; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuValidationError_f4d803c383da3c92 = function(arg0) { + let result; + try { + result = arg0 instanceof GPUValidationError; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_HtmlCanvasElement_9db0dfd54b2c5330 = function(arg0) { + let result; + try { + result = arg0 instanceof HTMLCanvasElement; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_Object_f0f57d6eeca1b81d = function(arg0) { + let result; + try { + result = arg0 instanceof Object; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_WebGl2RenderingContext_888701598b82d45d = function(arg0) { + let result; + try { + result = arg0 instanceof WebGL2RenderingContext; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_Window_a959820eb267fe22 = function(arg0) { + let result; + try { + result = arg0 instanceof Window; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_invalidateFramebuffer_f4a994f4a8535cca = function() { return handleError(function (arg0, arg1, arg2) { + arg0.invalidateFramebuffer(arg1 >>> 0, arg2); + }, arguments) }; + imports.wbg.__wbg_isIntersecting_9059d5bcaf29f415 = function(arg0) { + const ret = arg0.isIntersecting; + return ret; + }; + imports.wbg.__wbg_is_20768e55ad2a7c3f = function(arg0, arg1) { + const ret = Object.is(arg0, arg1); + return ret; + }; + imports.wbg.__wbg_key_02315cd3f595756b = function(arg0, arg1) { + const ret = arg1.key; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_label_2082ab37d2ad170d = function(arg0, arg1) { + const ret = arg1.label; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_length_2e63ba34c4121df5 = function(arg0) { + const ret = arg0.length; + return ret; + }; + imports.wbg.__wbg_length_9df32f7add647235 = function(arg0) { + const ret = arg0.length; + return ret; + }; + imports.wbg.__wbg_length_e74df4881604f1d9 = function(arg0) { + const ret = arg0.length; + return ret; + }; + imports.wbg.__wbg_limits_2dd632c891786ddf = function(arg0) { + const ret = arg0.limits; + return ret; + }; + imports.wbg.__wbg_limits_f6411f884b0b2d62 = function(arg0) { + const ret = arg0.limits; + return ret; + }; + imports.wbg.__wbg_lineNum_0246de1e072ffe19 = function(arg0) { + const ret = arg0.lineNum; + return ret; + }; + imports.wbg.__wbg_linkProgram_575f761eda0a14bc = function(arg0, arg1) { + arg0.linkProgram(arg1); + }; + imports.wbg.__wbg_linkProgram_5eee13e603e9af41 = function(arg0, arg1) { + arg0.linkProgram(arg1); + }; + imports.wbg.__wbg_location_54d35e8c85dcfb9c = function(arg0) { + const ret = arg0.location; + return ret; + }; + imports.wbg.__wbg_location_e9eba129bf0612a5 = function(arg0) { + const ret = arg0.location; + return ret; + }; + imports.wbg.__wbg_log_d818ca3cab23fc77 = function(arg0) { + console.log(arg0); + }; + imports.wbg.__wbg_lost_6e4d29847ce2a34a = function(arg0) { + const ret = arg0.lost; + return ret; + }; + imports.wbg.__wbg_mapAsync_37f5e03edf2e1352 = function(arg0, arg1, arg2, arg3) { + const ret = arg0.mapAsync(arg1 >>> 0, arg2, arg3); + return ret; + }; + imports.wbg.__wbg_matchMedia_0be65181eeae951c = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.matchMedia(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_matches_254463383aee4688 = function(arg0) { + const ret = arg0.matches; + return ret; + }; + imports.wbg.__wbg_maxBindGroups_768ca5e8623bf450 = function(arg0) { + const ret = arg0.maxBindGroups; + return ret; + }; + imports.wbg.__wbg_maxBindingsPerBindGroup_057972d600d69719 = function(arg0) { + const ret = arg0.maxBindingsPerBindGroup; + return ret; + }; + imports.wbg.__wbg_maxBufferSize_e237b44f19a5a62b = function(arg0) { + const ret = arg0.maxBufferSize; + return ret; + }; + imports.wbg.__wbg_maxColorAttachmentBytesPerSample_d6c7b4051d22c6d6 = function(arg0) { + const ret = arg0.maxColorAttachmentBytesPerSample; + return ret; + }; + imports.wbg.__wbg_maxColorAttachments_7a18ba24c05edcfd = function(arg0) { + const ret = arg0.maxColorAttachments; + return ret; + }; + imports.wbg.__wbg_maxComputeInvocationsPerWorkgroup_b99c2f3611633992 = function(arg0) { + const ret = arg0.maxComputeInvocationsPerWorkgroup; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupSizeX_adb26da9ed7f77f7 = function(arg0) { + const ret = arg0.maxComputeWorkgroupSizeX; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupSizeY_cc217559c98be33b = function(arg0) { + const ret = arg0.maxComputeWorkgroupSizeY; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupSizeZ_66606a80e2cf2309 = function(arg0) { + const ret = arg0.maxComputeWorkgroupSizeZ; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupStorageSize_cb6235497b8c4997 = function(arg0) { + const ret = arg0.maxComputeWorkgroupStorageSize; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupsPerDimension_6bf550b5f21d57cf = function(arg0) { + const ret = arg0.maxComputeWorkgroupsPerDimension; + return ret; + }; + imports.wbg.__wbg_maxDynamicStorageBuffersPerPipelineLayout_c6ac20334e328b47 = function(arg0) { + const ret = arg0.maxDynamicStorageBuffersPerPipelineLayout; + return ret; + }; + imports.wbg.__wbg_maxDynamicUniformBuffersPerPipelineLayout_aa8f14a74b440f01 = function(arg0) { + const ret = arg0.maxDynamicUniformBuffersPerPipelineLayout; + return ret; + }; + imports.wbg.__wbg_maxSampledTexturesPerShaderStage_db7c4922cc60144a = function(arg0) { + const ret = arg0.maxSampledTexturesPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxSamplersPerShaderStage_538705fe2263e710 = function(arg0) { + const ret = arg0.maxSamplersPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxStorageBufferBindingSize_32178c0f5f7f85cb = function(arg0) { + const ret = arg0.maxStorageBufferBindingSize; + return ret; + }; + imports.wbg.__wbg_maxStorageBuffersPerShaderStage_9f67e9eae0089f77 = function(arg0) { + const ret = arg0.maxStorageBuffersPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxStorageTexturesPerShaderStage_57239664936031cf = function(arg0) { + const ret = arg0.maxStorageTexturesPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxTextureArrayLayers_db5d4e486c78ae04 = function(arg0) { + const ret = arg0.maxTextureArrayLayers; + return ret; + }; + imports.wbg.__wbg_maxTextureDimension1D_3475085ffacabbdc = function(arg0) { + const ret = arg0.maxTextureDimension1D; + return ret; + }; + imports.wbg.__wbg_maxTextureDimension2D_7c8d5ecf09eb8519 = function(arg0) { + const ret = arg0.maxTextureDimension2D; + return ret; + }; + imports.wbg.__wbg_maxTextureDimension3D_8bd976677a0f91d4 = function(arg0) { + const ret = arg0.maxTextureDimension3D; + return ret; + }; + imports.wbg.__wbg_maxUniformBufferBindingSize_95b1a54e7e4a0f0f = function(arg0) { + const ret = arg0.maxUniformBufferBindingSize; + return ret; + }; + imports.wbg.__wbg_maxUniformBuffersPerShaderStage_5f475d9a453af14d = function(arg0) { + const ret = arg0.maxUniformBuffersPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxVertexAttributes_4c48ca2f5d32f860 = function(arg0) { + const ret = arg0.maxVertexAttributes; + return ret; + }; + imports.wbg.__wbg_maxVertexBufferArrayStride_2233f6933ecc5a16 = function(arg0) { + const ret = arg0.maxVertexBufferArrayStride; + return ret; + }; + imports.wbg.__wbg_maxVertexBuffers_c47e508cd7348554 = function(arg0) { + const ret = arg0.maxVertexBuffers; + return ret; + }; + imports.wbg.__wbg_message_0762358e59db7ed6 = function(arg0, arg1) { + const ret = arg1.message; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_message_7957ab09f64c6822 = function(arg0, arg1) { + const ret = arg1.message; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_message_b163994503433c9e = function(arg0, arg1) { + const ret = arg1.message; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_messages_da071582f72bc978 = function(arg0) { + const ret = arg0.messages; + return ret; + }; + imports.wbg.__wbg_metaKey_34d5658170ffb3ee = function(arg0) { + const ret = arg0.metaKey; + return ret; + }; + imports.wbg.__wbg_metaKey_6c8e9228e8dda152 = function(arg0) { + const ret = arg0.metaKey; + return ret; + }; + imports.wbg.__wbg_minStorageBufferOffsetAlignment_51b4801fac3a58de = function(arg0) { + const ret = arg0.minStorageBufferOffsetAlignment; + return ret; + }; + imports.wbg.__wbg_minUniformBufferOffsetAlignment_5d62a77924b2335f = function(arg0) { + const ret = arg0.minUniformBufferOffsetAlignment; + return ret; + }; + imports.wbg.__wbg_movementX_e32c342d96d1c701 = function(arg0) { + const ret = arg0.movementX; + return ret; + }; + imports.wbg.__wbg_movementY_136c6febb976ca3b = function(arg0) { + const ret = arg0.movementY; + return ret; + }; + imports.wbg.__wbg_navigator_2936a93ec3c6f4c5 = function(arg0) { + const ret = arg0.navigator; + return ret; + }; + imports.wbg.__wbg_navigator_da495c9e52e160b1 = function(arg0) { + const ret = arg0.navigator; + return ret; + }; + imports.wbg.__wbg_new_076cac58bb698dd4 = function() { + const ret = new Object(); + return ret; + }; + imports.wbg.__wbg_new_0c28e72025e00594 = function() { + const ret = new Array(); + return ret; + }; + imports.wbg.__wbg_new_23362fa370a0a372 = function(arg0) { + const ret = new Uint8Array(arg0); + return ret; + }; + imports.wbg.__wbg_new_238671e08bf4fcbb = function() { return handleError(function () { + const ret = new MessageChannel(); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_4b15073a88792687 = function() { return handleError(function (arg0) { + const ret = new ResizeObserver(arg0); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_8a6f238a6ece86ea = function() { + const ret = new Error(); + return ret; + }; + imports.wbg.__wbg_new_93cf40e4f48fe902 = function() { return handleError(function () { + const ret = new AbortController(); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_b4a18f0a618c89f2 = function() { return handleError(function (arg0, arg1) { + const ret = new Worker(getStringFromWasm0(arg0, arg1)); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_c94d990936d8ea5d = function() { return handleError(function (arg0) { + const ret = new IntersectionObserver(arg0); + return ret; + }, arguments) }; + imports.wbg.__wbg_newnoargs_19a249f4eceaaac3 = function(arg0, arg1) { + const ret = new Function(getStringFromWasm0(arg0, arg1)); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_24ff09a6b37a856f = function(arg0, arg1, arg2) { + const ret = new Int16Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_25d3cac011b6e2d5 = function(arg0, arg1, arg2) { + const ret = new Uint32Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_457c61bfe0fb7b8c = function(arg0, arg1, arg2) { + const ret = new Int32Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_9f48300371c8802a = function(arg0, arg1, arg2) { + const ret = new Uint16Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_a6087a94c7bfea61 = function(arg0, arg1, arg2) { + const ret = new Int8Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_c280c15b00e018cd = function(arg0, arg1, arg2) { + const ret = new Float32Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_ee8def7000b7b2be = function(arg0, arg1, arg2) { + const ret = new Uint8Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithstrsequenceandoptions_af096ce40d9d9ac8 = function() { return handleError(function (arg0, arg1) { + const ret = new Blob(arg0, arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_now_2c95c9de01293173 = function(arg0) { + const ret = arg0.now(); + return ret; + }; + imports.wbg.__wbg_observe_e2208b07fe315de7 = function(arg0, arg1) { + arg0.observe(arg1); + }; + imports.wbg.__wbg_observe_ec91d62599b7772b = function(arg0, arg1) { + arg0.observe(arg1); + }; + imports.wbg.__wbg_observe_fd48955513eca909 = function(arg0, arg1, arg2) { + arg0.observe(arg1, arg2); + }; + imports.wbg.__wbg_of_2f6232d86af7992c = function(arg0, arg1) { + const ret = Array.of(arg0, arg1); + return ret; + }; + imports.wbg.__wbg_of_5ae3a2d893e18853 = function(arg0) { + const ret = Array.of(arg0); + return ret; + }; + imports.wbg.__wbg_offsetX_d6957d052a0d4b11 = function(arg0) { + const ret = arg0.offsetX; + return ret; + }; + imports.wbg.__wbg_offsetY_076edde514bf80f4 = function(arg0) { + const ret = arg0.offsetY; + return ret; + }; + imports.wbg.__wbg_offset_336f14c993863b76 = function(arg0) { + const ret = arg0.offset; + return ret; + }; + imports.wbg.__wbg_performance_7a3ffd0b17f663ad = function(arg0) { + const ret = arg0.performance; + return ret; + }; + imports.wbg.__wbg_persisted_7e044507e52804d9 = function(arg0) { + const ret = arg0.persisted; + return ret; + }; + imports.wbg.__wbg_pixelStorei_198b92c3e346678a = function(arg0, arg1, arg2) { + arg0.pixelStorei(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_pixelStorei_9c4cb0a4b040b41d = function(arg0, arg1, arg2) { + arg0.pixelStorei(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_play_e7eb90a843114e0d = function(arg0) { + arg0.play(); + }; + imports.wbg.__wbg_pointerId_a2cbd2cdd6da90b2 = function(arg0) { + const ret = arg0.pointerId; + return ret; + }; + imports.wbg.__wbg_pointerType_1b74686427cdec29 = function(arg0, arg1) { + const ret = arg1.pointerType; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_polygonOffset_7ec31dee95d41171 = function(arg0, arg1, arg2) { + arg0.polygonOffset(arg1, arg2); + }; + imports.wbg.__wbg_polygonOffset_c6cbc8093770e840 = function(arg0, arg1, arg2) { + arg0.polygonOffset(arg1, arg2); + }; + imports.wbg.__wbg_popErrorScope_af0b22f136a861d6 = function(arg0) { + const ret = arg0.popErrorScope(); + return ret; + }; + imports.wbg.__wbg_port1_6f5b26fd23d19536 = function(arg0) { + const ret = arg0.port1; + return ret; + }; + imports.wbg.__wbg_port2_2eb4c961d6df5816 = function(arg0) { + const ret = arg0.port2; + return ret; + }; + imports.wbg.__wbg_postMessage_33dcf5caa3589c64 = function() { return handleError(function (arg0, arg1, arg2) { + arg0.postMessage(arg1, arg2); + }, arguments) }; + imports.wbg.__wbg_postMessage_3e7f3215320b4a9c = function() { return handleError(function (arg0, arg1) { + arg0.postMessage(arg1); + }, arguments) }; + imports.wbg.__wbg_postTask_9ba4c3cedae00b38 = function(arg0, arg1, arg2) { + const ret = arg0.postTask(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_pressure_8707a47b6fb1c1fd = function(arg0) { + const ret = arg0.pressure; + return ret; + }; + imports.wbg.__wbg_preventDefault_faafffcaad92972d = function(arg0) { + arg0.preventDefault(); + }; + imports.wbg.__wbg_prototype_0f68911d93450df4 = function() { + const ret = ResizeObserverEntry.prototype; + return ret; + }; + imports.wbg.__wbg_pushErrorScope_b52914ff10ba6ce3 = function(arg0, arg1) { + arg0.pushErrorScope(__wbindgen_enum_GpuErrorFilter[arg1]); + }; + imports.wbg.__wbg_push_3e9ce81246ef1d1b = function(arg0, arg1) { + const ret = arg0.push(arg1); + return ret; + }; + imports.wbg.__wbg_queryCounterEXT_6da4ab4ec9c37329 = function(arg0, arg1, arg2) { + arg0.queryCounterEXT(arg1, arg2 >>> 0); + }; + imports.wbg.__wbg_querySelectorAll_775f04e6f26ad643 = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.querySelectorAll(getStringFromWasm0(arg1, arg2)); + return ret; + }, arguments) }; + imports.wbg.__wbg_querySelector_473a7bd6647e7cbb = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.querySelector(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_queueMicrotask_3d422e1ba49c2500 = function(arg0) { + const ret = arg0.queueMicrotask; + return ret; + }; + imports.wbg.__wbg_queueMicrotask_5fc3e400ac3c03f4 = function(arg0) { + queueMicrotask(arg0); + }; + imports.wbg.__wbg_queueMicrotask_f301663ccadbb7d0 = function(arg0) { + queueMicrotask(arg0); + }; + imports.wbg.__wbg_queue_bea4017efaaf9904 = function(arg0) { + const ret = arg0.queue; + return ret; + }; + imports.wbg.__wbg_readBuffer_8fd1512f6bdfc8f0 = function(arg0, arg1) { + arg0.readBuffer(arg1 >>> 0); + }; + imports.wbg.__wbg_readPixels_48fc96a447cda9aa = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + arg0.readPixels(arg1, arg2, arg3, arg4, arg5 >>> 0, arg6 >>> 0, arg7); + }, arguments) }; + imports.wbg.__wbg_readPixels_7b1022930a9026d1 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + arg0.readPixels(arg1, arg2, arg3, arg4, arg5 >>> 0, arg6 >>> 0, arg7); + }, arguments) }; + imports.wbg.__wbg_readPixels_da6e94b84b4cfd41 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + arg0.readPixels(arg1, arg2, arg3, arg4, arg5 >>> 0, arg6 >>> 0, arg7); + }, arguments) }; + imports.wbg.__wbg_reason_43acd39cce242b50 = function(arg0) { + const ret = arg0.reason; + return (__wbindgen_enum_GpuDeviceLostReason.indexOf(ret) + 1 || 3) - 1; + }; + imports.wbg.__wbg_removeEventListener_d14a328308e427ba = function() { return handleError(function (arg0, arg1, arg2, arg3) { + arg0.removeEventListener(getStringFromWasm0(arg1, arg2), arg3); + }, arguments) }; + imports.wbg.__wbg_removeListener_aee72eb2e5fba09c = function() { return handleError(function (arg0, arg1) { + arg0.removeListener(arg1); + }, arguments) }; + imports.wbg.__wbg_removeProperty_902c73a4430b3e54 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = arg1.removeProperty(getStringFromWasm0(arg2, arg3)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_renderbufferStorageMultisample_abd1099fecb2e2a4 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.renderbufferStorageMultisample(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_renderbufferStorage_56c61eb0bb2718a9 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.renderbufferStorage(arg1 >>> 0, arg2 >>> 0, arg3, arg4); + }; + imports.wbg.__wbg_renderbufferStorage_aa4b58453d5aca0f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.renderbufferStorage(arg1 >>> 0, arg2 >>> 0, arg3, arg4); + }; + imports.wbg.__wbg_repeat_56fa20e30d00be95 = function(arg0) { + const ret = arg0.repeat; + return ret; + }; + imports.wbg.__wbg_requestAdapter_e6dcfac497cafa7a = function(arg0, arg1) { + const ret = arg0.requestAdapter(arg1); + return ret; + }; + imports.wbg.__wbg_requestAnimationFrame_e8ca543d07df528e = function() { return handleError(function (arg0, arg1) { + const ret = arg0.requestAnimationFrame(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_requestDevice_03b802707d5a382c = function(arg0, arg1) { + const ret = arg0.requestDevice(arg1); + return ret; + }; + imports.wbg.__wbg_requestFullscreen_e1ad8752a4e33f7e = function(arg0) { + const ret = arg0.requestFullscreen; + return ret; + }; + imports.wbg.__wbg_requestFullscreen_f727b1f250ebb10a = function(arg0) { + const ret = arg0.requestFullscreen(); + return ret; + }; + imports.wbg.__wbg_requestIdleCallback_773c554fc8c5a310 = function(arg0) { + const ret = arg0.requestIdleCallback; + return ret; + }; + imports.wbg.__wbg_requestIdleCallback_ba1f658c72e2140c = function() { return handleError(function (arg0, arg1) { + const ret = arg0.requestIdleCallback(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_resolveQuerySet_811661fb23f3b699 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.resolveQuerySet(arg1, arg2 >>> 0, arg3 >>> 0, arg4, arg5 >>> 0); + }; + imports.wbg.__wbg_resolve_6a311e8bb26423ab = function(arg0) { + const ret = Promise.resolve(arg0); + return ret; + }; + imports.wbg.__wbg_revokeObjectURL_3e4ad6d46a9a93f1 = function() { return handleError(function (arg0, arg1) { + URL.revokeObjectURL(getStringFromWasm0(arg0, arg1)); + }, arguments) }; + imports.wbg.__wbg_samplerParameterf_a9708333dc0df03e = function(arg0, arg1, arg2, arg3) { + arg0.samplerParameterf(arg1, arg2 >>> 0, arg3); + }; + imports.wbg.__wbg_samplerParameteri_6011eca3eaa96ac6 = function(arg0, arg1, arg2, arg3) { + arg0.samplerParameteri(arg1, arg2 >>> 0, arg3); + }; + imports.wbg.__wbg_scheduler_10edeee35a76c7c6 = function(arg0) { + const ret = arg0.scheduler; + return ret; + }; + imports.wbg.__wbg_scheduler_6d71128f17fbca34 = function(arg0) { + const ret = arg0.scheduler; + return ret; + }; + imports.wbg.__wbg_scissor_4c06926fa8af817c = function(arg0, arg1, arg2, arg3, arg4) { + arg0.scissor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_scissor_608c4f610141e6df = function(arg0, arg1, arg2, arg3, arg4) { + arg0.scissor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_search_4c8c4c416a168e55 = function() { return handleError(function (arg0, arg1) { + const ret = arg1.search; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_self_ac4343e4047b83cc = function() { return handleError(function () { + const ret = self.self; + return ret; + }, arguments) }; + imports.wbg.__wbg_setAttribute_e5d83ecaf7f586d5 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { + arg0.setAttribute(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4)); + }, arguments) }; + imports.wbg.__wbg_setBindGroup_62a3045b0921e429 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setBindGroup(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4), arg5, arg6 >>> 0); + }; + imports.wbg.__wbg_setBindGroup_6c0fd18e9a53a945 = function(arg0, arg1, arg2) { + arg0.setBindGroup(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_setBindGroup_7f3b61f1f482133b = function(arg0, arg1, arg2) { + arg0.setBindGroup(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_setBindGroup_bf767a5aa46a33ce = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setBindGroup(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4), arg5, arg6 >>> 0); + }; + imports.wbg.__wbg_setBindGroup_c4aaff14063226b4 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setBindGroup(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4), arg5, arg6 >>> 0); + }; + imports.wbg.__wbg_setBindGroup_f82e771dc1b69093 = function(arg0, arg1, arg2) { + arg0.setBindGroup(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_setBlendConstant_016723821cfb3aa4 = function(arg0, arg1) { + arg0.setBlendConstant(arg1); + }; + imports.wbg.__wbg_setIndexBuffer_286a40afdff411b7 = function(arg0, arg1, arg2, arg3) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3); + }; + imports.wbg.__wbg_setIndexBuffer_7efd0b7a40c65fb9 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3, arg4); + }; + imports.wbg.__wbg_setIndexBuffer_e091a9673bb575e2 = function(arg0, arg1, arg2, arg3) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3); + }; + imports.wbg.__wbg_setIndexBuffer_f0759f00036f615f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3, arg4); + }; + imports.wbg.__wbg_setPipeline_ba92070b8ee81cf9 = function(arg0, arg1) { + arg0.setPipeline(arg1); + }; + imports.wbg.__wbg_setPipeline_c344f76bae58c4d6 = function(arg0, arg1) { + arg0.setPipeline(arg1); + }; + imports.wbg.__wbg_setPipeline_d76451c50a121598 = function(arg0, arg1) { + arg0.setPipeline(arg1); + }; + imports.wbg.__wbg_setPointerCapture_6b89bc3d20c408af = function() { return handleError(function (arg0, arg1) { + arg0.setPointerCapture(arg1); + }, arguments) }; + imports.wbg.__wbg_setProperty_b11b0bad191551d1 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { + arg0.setProperty(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4)); + }, arguments) }; + imports.wbg.__wbg_setScissorRect_0b6ee0852ef0b6b9 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setScissorRect(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_setStencilReference_34fd3d59673a5a9d = function(arg0, arg1) { + arg0.setStencilReference(arg1 >>> 0); + }; + imports.wbg.__wbg_setTimeout_11f3c7cad8433a4f = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.setTimeout(arg1, arg2); + return ret; + }, arguments) }; + imports.wbg.__wbg_setTimeout_15ba883433c836ab = function() { return handleError(function (arg0, arg1) { + const ret = arg0.setTimeout(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_setVertexBuffer_06a90dc78e1ad9c4 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_setVertexBuffer_1540e9118b6c451d = function(arg0, arg1, arg2, arg3) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_setVertexBuffer_5166eedc06450701 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_setVertexBuffer_8621784e5014065b = function(arg0, arg1, arg2, arg3) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_setViewport_731ad30abb13f744 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setViewport(arg1, arg2, arg3, arg4, arg5, arg6); + }; + imports.wbg.__wbg_set_421385e996a16e02 = function() { return handleError(function (arg0, arg1, arg2) { + const ret = Reflect.set(arg0, arg1, arg2); + return ret; + }, arguments) }; + imports.wbg.__wbg_set_7b70226104a82921 = function(arg0, arg1, arg2) { + arg0.set(arg1, arg2 >>> 0); + }; + imports.wbg.__wbg_setbox_f664fc1447c0b2bb = function(arg0, arg1) { + arg0.box = __wbindgen_enum_ResizeObserverBoxOptions[arg1]; + }; + imports.wbg.__wbg_setheight_4286b13b9186d39f = function(arg0, arg1) { + arg0.height = arg1 >>> 0; + }; + imports.wbg.__wbg_setheight_7632621fed149fd9 = function(arg0, arg1) { + arg0.height = arg1 >>> 0; + }; + imports.wbg.__wbg_setonmessage_1f177e6cba71d19d = function(arg0, arg1) { + arg0.onmessage = arg1; + }; + imports.wbg.__wbg_setonuncapturederror_19541466822d790b = function(arg0, arg1) { + arg0.onuncapturederror = arg1; + }; + imports.wbg.__wbg_settabIndex_bc37dd560b089902 = function(arg0, arg1) { + arg0.tabIndex = arg1; + }; + imports.wbg.__wbg_settype_202db174d92fe493 = function(arg0, arg1, arg2) { + arg0.type = getStringFromWasm0(arg1, arg2); + }; + imports.wbg.__wbg_setwidth_5e43e6e177d3e2ec = function(arg0, arg1) { + arg0.width = arg1 >>> 0; + }; + imports.wbg.__wbg_setwidth_db46810857c0f6bd = function(arg0, arg1) { + arg0.width = arg1 >>> 0; + }; + imports.wbg.__wbg_shaderSource_7d9e91c6b9aaf864 = function(arg0, arg1, arg2, arg3) { + arg0.shaderSource(arg1, getStringFromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_shaderSource_b7db90958962e1f7 = function(arg0, arg1, arg2, arg3) { + arg0.shaderSource(arg1, getStringFromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_shiftKey_570898b1142a9898 = function(arg0) { + const ret = arg0.shiftKey; + return ret; + }; + imports.wbg.__wbg_shiftKey_e90da27a3092777e = function(arg0) { + const ret = arg0.shiftKey; + return ret; + }; + imports.wbg.__wbg_signal_fd2d6d0644f16ad8 = function(arg0) { + const ret = arg0.signal; + return ret; + }; + imports.wbg.__wbg_size_661bddb3f9898121 = function(arg0) { + const ret = arg0.size; + return ret; + }; + imports.wbg.__wbg_stack_0ed75d68575b0f3c = function(arg0, arg1) { + const ret = arg1.stack; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_start_a00c28f297559e1d = function(arg0) { + arg0.start(); + }; + imports.wbg.__wbg_stencilFuncSeparate_903776516b404f1e = function(arg0, arg1, arg2, arg3, arg4) { + arg0.stencilFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3, arg4 >>> 0); + }; + imports.wbg.__wbg_stencilFuncSeparate_9987b0fe1f74adc3 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.stencilFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3, arg4 >>> 0); + }; + imports.wbg.__wbg_stencilMaskSeparate_24a5bad679d4896c = function(arg0, arg1, arg2) { + arg0.stencilMaskSeparate(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_stencilMaskSeparate_5ade706794e0ff10 = function(arg0, arg1, arg2) { + arg0.stencilMaskSeparate(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_stencilMask_8ccbc71e58e71b93 = function(arg0, arg1) { + arg0.stencilMask(arg1 >>> 0); + }; + imports.wbg.__wbg_stencilMask_e03561d8e6b7171a = function(arg0, arg1) { + arg0.stencilMask(arg1 >>> 0); + }; + imports.wbg.__wbg_stencilOpSeparate_13e313403862a2bc = function(arg0, arg1, arg2, arg3, arg4) { + arg0.stencilOpSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_stencilOpSeparate_e03fe45a6a83cf8f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.stencilOpSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_style_e7c4e0938a7565b2 = function(arg0) { + const ret = arg0.style; + return ret; + }; + imports.wbg.__wbg_submit_f635072bb3d05faa = function(arg0, arg1) { + arg0.submit(arg1); + }; + imports.wbg.__wbg_texImage2D_102612af3b3ea301 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texImage2D_38f7a3dc4dcf0183 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texImage3D_4828de4d80648b9d = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) { + arg0.texImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8 >>> 0, arg9 >>> 0, arg10); + }, arguments) }; + imports.wbg.__wbg_texParameteri_2cc96bb59a67d4c2 = function(arg0, arg1, arg2, arg3) { + arg0.texParameteri(arg1 >>> 0, arg2 >>> 0, arg3); + }; + imports.wbg.__wbg_texParameteri_8e4109b7fbd3b875 = function(arg0, arg1, arg2, arg3) { + arg0.texParameteri(arg1 >>> 0, arg2 >>> 0, arg3); + }; + imports.wbg.__wbg_texStorage2D_728b9632dbd913e2 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.texStorage2D(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_texStorage3D_04d10ef19e465ec2 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.texStorage3D(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5, arg6); + }; + imports.wbg.__wbg_texSubImage2D_0c095c30c73e34c0 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_3c9a9ceac3c27fe7 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_3dbb6fb895fd53a7 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_4e505a214a40fc20 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_7197aef4cdbc7d70 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_746d9e75d2dd12d1 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_ca1d7744b168aa02 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_da8455e8da280cee = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_82336f6100e3ef24 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_831e19830a791320 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_9623fc609df925f5 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_9a8cb5676fdf0b50 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_a18f6424082a9393 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_d127dad275801f75 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_ebd1f2b229a92c5d = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_then_5c6469c1e1da9e59 = function(arg0, arg1) { + const ret = arg0.then(arg1); + return ret; + }; + imports.wbg.__wbg_then_faeb8aed8c1629b7 = function(arg0, arg1, arg2) { + const ret = arg0.then(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_type_c0d5d83032e9858a = function(arg0) { + const ret = arg0.type; + return (__wbindgen_enum_GpuCompilationMessageType.indexOf(ret) + 1 || 4) - 1; + }; + imports.wbg.__wbg_uniform1f_163e6ffe0d9805a4 = function(arg0, arg1, arg2) { + arg0.uniform1f(arg1, arg2); + }; + imports.wbg.__wbg_uniform1f_bb85eb8ed9248e52 = function(arg0, arg1, arg2) { + arg0.uniform1f(arg1, arg2); + }; + imports.wbg.__wbg_uniform1i_9fe01b91ff85aa85 = function(arg0, arg1, arg2) { + arg0.uniform1i(arg1, arg2); + }; + imports.wbg.__wbg_uniform1i_da7c764279d55bb5 = function(arg0, arg1, arg2) { + arg0.uniform1i(arg1, arg2); + }; + imports.wbg.__wbg_uniform1ui_1cd8b5fee3b44787 = function(arg0, arg1, arg2) { + arg0.uniform1ui(arg1, arg2 >>> 0); + }; + imports.wbg.__wbg_uniform2fv_40e0cc0b3d7ab815 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform2fv_d7ec4f77d2282f77 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform2iv_6d1ed66fa019f1a6 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform2iv_b36969471f3bb8e2 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform2uiv_e5d292b09c7c2eb4 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2uiv(arg1, getArrayU32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3fv_4f40a7b75bcdeb91 = function(arg0, arg1, arg2, arg3) { + arg0.uniform3fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3fv_c6fea7086ffa568e = function(arg0, arg1, arg2, arg3) { + arg0.uniform3fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3iv_46cafa9a87333139 = function(arg0, arg1, arg2, arg3) { + arg0.uniform3iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3iv_c13167af320af60e = function(arg0, arg1, arg2, arg3) { + arg0.uniform3iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3uiv_7e60873d7a35f50b = function(arg0, arg1, arg2, arg3) { + arg0.uniform3uiv(arg1, getArrayU32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4f_2408c0a3b4a0941d = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.uniform4f(arg1, arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_uniform4f_4eebf85a05c60a16 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.uniform4f(arg1, arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_uniform4fv_7ecf41f27e0e71ec = function(arg0, arg1, arg2, arg3) { + arg0.uniform4fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4fv_c88b1733f9a40a7a = function(arg0, arg1, arg2, arg3) { + arg0.uniform4fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4iv_0ee5d566bd3880e4 = function(arg0, arg1, arg2, arg3) { + arg0.uniform4iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4iv_cd69e9451d767045 = function(arg0, arg1, arg2, arg3) { + arg0.uniform4iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4uiv_c55d0b6c672eaf59 = function(arg0, arg1, arg2, arg3) { + arg0.uniform4uiv(arg1, getArrayU32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniformBlockBinding_e646e98e7f5da8fa = function(arg0, arg1, arg2, arg3) { + arg0.uniformBlockBinding(arg1, arg2 >>> 0, arg3 >>> 0); + }; + imports.wbg.__wbg_uniformMatrix2fv_ae2d3b42477e00fd = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix2fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix2fv_d44126fac416e7e4 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix2fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix2x3fv_18d94e4451a372cc = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix2x3fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix2x4fv_c34a8a330e7c94bd = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix2x4fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix3fv_652493ea4042e14f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix3fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix3fv_a3b27e44f0ad7caa = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix3fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix3x2fv_1bc7685c610e2b46 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix3x2fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix3x4fv_c99cdce05d7ffca9 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix3x4fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix4fv_a5f6838f6e217418 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix4fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix4fv_bbdf3d84ccedee84 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix4fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix4x2fv_05ec6db042145650 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix4x2fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix4x3fv_c393892235ce0f8b = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix4x3fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_unmap_8c2e8131b2aaa844 = function(arg0) { + arg0.unmap(); + }; + imports.wbg.__wbg_unobserve_9198337c0c96042f = function(arg0, arg1) { + arg0.unobserve(arg1); + }; + imports.wbg.__wbg_usage_13caa02888040e9f = function(arg0) { + const ret = arg0.usage; + return ret; + }; + imports.wbg.__wbg_useProgram_795e70e5047fcb65 = function(arg0, arg1) { + arg0.useProgram(arg1); + }; + imports.wbg.__wbg_useProgram_e84b53bf74bbe9b3 = function(arg0, arg1) { + arg0.useProgram(arg1); + }; + imports.wbg.__wbg_userAgentData_5e600df9bb352050 = function(arg0) { + const ret = arg0.userAgentData; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_userAgent_bfd54e5c60738678 = function() { return handleError(function (arg0, arg1) { + const ret = arg1.userAgent; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_valueOf_a2728b52687d72b4 = function(arg0) { + const ret = arg0.valueOf(); + return ret; + }; + imports.wbg.__wbg_vertexAttribDivisorANGLE_78ad959056e0feb7 = function(arg0, arg1, arg2) { + arg0.vertexAttribDivisorANGLE(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_vertexAttribDivisor_bc3026299e814316 = function(arg0, arg1, arg2) { + arg0.vertexAttribDivisor(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_vertexAttribIPointer_4397ca04b895d127 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.vertexAttribIPointer(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_vertexAttribPointer_1738c34c1c0d57a0 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.vertexAttribPointer(arg1 >>> 0, arg2, arg3 >>> 0, arg4 !== 0, arg5, arg6); + }; + imports.wbg.__wbg_vertexAttribPointer_34a2b143ee35746f = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.vertexAttribPointer(arg1 >>> 0, arg2, arg3 >>> 0, arg4 !== 0, arg5, arg6); + }; + imports.wbg.__wbg_videoHeight_7d8449d4b1aad15d = function(arg0) { + const ret = arg0.videoHeight; + return ret; + }; + imports.wbg.__wbg_videoWidth_134d623b7b20f203 = function(arg0) { + const ret = arg0.videoWidth; + return ret; + }; + imports.wbg.__wbg_viewport_04c48fc077486d94 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.viewport(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_viewport_301bba26f65246ed = function(arg0, arg1, arg2, arg3, arg4) { + arg0.viewport(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_visibilityState_c2b01655a6777e68 = function(arg0) { + const ret = arg0.visibilityState; + return (__wbindgen_enum_VisibilityState.indexOf(ret) + 1 || 3) - 1; + }; + imports.wbg.__wbg_warn_a6963915e4da61f6 = function(arg0) { + console.warn(arg0); + }; + imports.wbg.__wbg_webkitFullscreenElement_0c4654cdfe6894e5 = function(arg0) { + const ret = arg0.webkitFullscreenElement; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_webkitRequestFullscreen_fe95241c4f21ea63 = function(arg0) { + arg0.webkitRequestFullscreen(); + }; + imports.wbg.__wbg_width_514dd9b3b0cff49c = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_551edb4bb900e3dd = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_826b25a505a0b357 = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_dfc6149b0c4d8821 = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_e9eedd46da897708 = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_ee6a46425045c0dd = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_window_1a23defd102c72f4 = function() { return handleError(function () { + const ret = window.window; + return ret; + }, arguments) }; + imports.wbg.__wbg_writeBuffer_5ca4981365eb5ac0 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.writeBuffer(arg1, arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_writeTexture_246118eb2f5a1592 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.writeTexture(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbindgen_boolean_get = function(arg0) { + const v = arg0; + const ret = typeof(v) === 'boolean' ? (v ? 1 : 0) : 2; + return ret; + }; + imports.wbg.__wbindgen_cb_drop = function(arg0) { + const obj = arg0.original; + if (obj.cnt-- == 1) { + obj.a = 0; + return true; + } + const ret = false; + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2737 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 356, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper4904 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 356, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper4910 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 356, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6321 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 356, __wbg_adapter_41); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6366 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 356, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6383 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 356, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6384 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 356, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6385 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 356, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6386 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 356, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6387 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 356, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6429 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 356, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6430 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 356, __wbg_adapter_58); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6431 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 356, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_debug_string = function(arg0, arg1) { + const ret = debugString(arg1); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_init_externref_table = function() { + const table = wasm.__wbindgen_export_1; + const offset = table.grow(4); + table.set(0, undefined); + table.set(offset + 0, undefined); + table.set(offset + 1, null); + table.set(offset + 2, true); + table.set(offset + 3, false); + ; + }; + imports.wbg.__wbindgen_is_function = function(arg0) { + const ret = typeof(arg0) === 'function'; + return ret; + }; + imports.wbg.__wbindgen_is_null = function(arg0) { + const ret = arg0 === null; + return ret; + }; + imports.wbg.__wbindgen_is_object = function(arg0) { + const val = arg0; + const ret = typeof(val) === 'object' && val !== null; + return ret; + }; + imports.wbg.__wbindgen_is_undefined = function(arg0) { + const ret = arg0 === undefined; + return ret; + }; + imports.wbg.__wbindgen_memory = function() { + const ret = wasm.memory; + return ret; + }; + imports.wbg.__wbindgen_number_get = function(arg0, arg1) { + const obj = arg1; + const ret = typeof(obj) === 'number' ? obj : undefined; + getDataViewMemory0().setFloat64(arg0 + 8 * 1, isLikeNone(ret) ? 0 : ret, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true); + }; + imports.wbg.__wbindgen_number_new = function(arg0) { + const ret = arg0; + return ret; + }; + imports.wbg.__wbindgen_string_get = function(arg0, arg1) { + const obj = arg1; + const ret = typeof(obj) === 'string' ? obj : undefined; + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_string_new = function(arg0, arg1) { + const ret = getStringFromWasm0(arg0, arg1); + return ret; + }; + imports.wbg.__wbindgen_throw = function(arg0, arg1) { + throw new Error(getStringFromWasm0(arg0, arg1)); + }; + imports['env'] = __wbg_star0; + + return imports; +} + +function __wbg_init_memory(imports, memory) { + +} + +function __wbg_finalize_init(instance, module) { + wasm = instance.exports; + __wbg_init.__wbindgen_wasm_module = module; + cachedDataViewMemory0 = null; + cachedFloat32ArrayMemory0 = null; + cachedInt32ArrayMemory0 = null; + cachedUint32ArrayMemory0 = null; + cachedUint8ArrayMemory0 = null; + + + wasm.__wbindgen_start(); + return wasm; +} + +function initSync(module) { + if (wasm !== undefined) return wasm; + + + if (typeof module !== 'undefined') { + if (Object.getPrototypeOf(module) === Object.prototype) { + ({module} = module) + } else { + console.warn('using deprecated parameters for `initSync()`; pass a single object instead') + } + } + + const imports = __wbg_get_imports(); + + __wbg_init_memory(imports); + + if (!(module instanceof WebAssembly.Module)) { + module = new WebAssembly.Module(module); + } + + const instance = new WebAssembly.Instance(module, imports); + + return __wbg_finalize_init(instance, module); +} + +async function __wbg_init(module_or_path) { + if (wasm !== undefined) return wasm; + + + if (typeof module_or_path !== 'undefined') { + if (Object.getPrototypeOf(module_or_path) === Object.prototype) { + ({module_or_path} = module_or_path) + } else { + console.warn('using deprecated parameters for the initialization function; pass a single object instead') + } + } + + if (typeof module_or_path === 'undefined') { + module_or_path = new URL('tutorial8-depth_bg.wasm', import.meta.url); + } + const imports = __wbg_get_imports(); + + if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) { + module_or_path = fetch(module_or_path); + } + + __wbg_init_memory(imports); + + const { instance, module } = await __wbg_load(await module_or_path, imports); + + return __wbg_finalize_init(instance, module); +} + +export { initSync }; +export default __wbg_init; diff --git a/wasm/tutorial8-depth_bg.wasm b/wasm/tutorial8-depth_bg.wasm new file mode 100644 index 00000000..4ea71ad6 Binary files /dev/null and b/wasm/tutorial8-depth_bg.wasm differ diff --git a/wasm/tutorial9-models.js b/wasm/tutorial9-models.js new file mode 100644 index 00000000..e41268dc --- /dev/null +++ b/wasm/tutorial9-models.js @@ -0,0 +1,2752 @@ +import * as __wbg_star0 from 'env'; + +let wasm; + +function isLikeNone(x) { + return x === undefined || x === null; +} + +function addToExternrefTable0(obj) { + const idx = wasm.__externref_table_alloc(); + wasm.__wbindgen_export_1.set(idx, obj); + return idx; +} + +const cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : { decode: () => { throw Error('TextDecoder not available') } } ); + +if (typeof TextDecoder !== 'undefined') { cachedTextDecoder.decode(); }; + +let cachedUint8ArrayMemory0 = null; + +function getUint8ArrayMemory0() { + if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) { + cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer); + } + return cachedUint8ArrayMemory0; +} + +function getStringFromWasm0(ptr, len) { + ptr = ptr >>> 0; + return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len)); +} + +function handleError(f, args) { + try { + return f.apply(this, args); + } catch (e) { + const idx = addToExternrefTable0(e); + wasm.__wbindgen_exn_store(idx); + } +} + +let WASM_VECTOR_LEN = 0; + +const cachedTextEncoder = (typeof TextEncoder !== 'undefined' ? new TextEncoder('utf-8') : { encode: () => { throw Error('TextEncoder not available') } } ); + +const encodeString = (typeof cachedTextEncoder.encodeInto === 'function' + ? function (arg, view) { + return cachedTextEncoder.encodeInto(arg, view); +} + : function (arg, view) { + const buf = cachedTextEncoder.encode(arg); + view.set(buf); + return { + read: arg.length, + written: buf.length + }; +}); + +function passStringToWasm0(arg, malloc, realloc) { + + if (realloc === undefined) { + const buf = cachedTextEncoder.encode(arg); + const ptr = malloc(buf.length, 1) >>> 0; + getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf); + WASM_VECTOR_LEN = buf.length; + return ptr; + } + + let len = arg.length; + let ptr = malloc(len, 1) >>> 0; + + const mem = getUint8ArrayMemory0(); + + let offset = 0; + + for (; offset < len; offset++) { + const code = arg.charCodeAt(offset); + if (code > 0x7F) break; + mem[ptr + offset] = code; + } + + if (offset !== len) { + if (offset !== 0) { + arg = arg.slice(offset); + } + ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0; + const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len); + const ret = encodeString(arg, view); + + offset += ret.written; + ptr = realloc(ptr, len, offset, 1) >>> 0; + } + + WASM_VECTOR_LEN = offset; + return ptr; +} + +let cachedDataViewMemory0 = null; + +function getDataViewMemory0() { + if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) { + cachedDataViewMemory0 = new DataView(wasm.memory.buffer); + } + return cachedDataViewMemory0; +} + +let cachedFloat32ArrayMemory0 = null; + +function getFloat32ArrayMemory0() { + if (cachedFloat32ArrayMemory0 === null || cachedFloat32ArrayMemory0.byteLength === 0) { + cachedFloat32ArrayMemory0 = new Float32Array(wasm.memory.buffer); + } + return cachedFloat32ArrayMemory0; +} + +function getArrayF32FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getFloat32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len); +} + +let cachedInt32ArrayMemory0 = null; + +function getInt32ArrayMemory0() { + if (cachedInt32ArrayMemory0 === null || cachedInt32ArrayMemory0.byteLength === 0) { + cachedInt32ArrayMemory0 = new Int32Array(wasm.memory.buffer); + } + return cachedInt32ArrayMemory0; +} + +function getArrayI32FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getInt32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len); +} + +let cachedUint32ArrayMemory0 = null; + +function getUint32ArrayMemory0() { + if (cachedUint32ArrayMemory0 === null || cachedUint32ArrayMemory0.byteLength === 0) { + cachedUint32ArrayMemory0 = new Uint32Array(wasm.memory.buffer); + } + return cachedUint32ArrayMemory0; +} + +function getArrayU32FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getUint32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len); +} + +const CLOSURE_DTORS = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(state => { + wasm.__wbindgen_export_6.get(state.dtor)(state.a, state.b) +}); + +function makeMutClosure(arg0, arg1, dtor, f) { + const state = { a: arg0, b: arg1, cnt: 1, dtor }; + const real = (...args) => { + // First up with a closure we increment the internal reference + // count. This ensures that the Rust closure environment won't + // be deallocated while we're invoking it. + state.cnt++; + const a = state.a; + state.a = 0; + try { + return f(a, state.b, ...args); + } finally { + if (--state.cnt === 0) { + wasm.__wbindgen_export_6.get(state.dtor)(a, state.b); + CLOSURE_DTORS.unregister(state); + } else { + state.a = a; + } + } + }; + real.original = state; + CLOSURE_DTORS.register(real, state, state); + return real; +} + +function debugString(val) { + // primitive types + const type = typeof val; + if (type == 'number' || type == 'boolean' || val == null) { + return `${val}`; + } + if (type == 'string') { + return `"${val}"`; + } + if (type == 'symbol') { + const description = val.description; + if (description == null) { + return 'Symbol'; + } else { + return `Symbol(${description})`; + } + } + if (type == 'function') { + const name = val.name; + if (typeof name == 'string' && name.length > 0) { + return `Function(${name})`; + } else { + return 'Function'; + } + } + // objects + if (Array.isArray(val)) { + const length = val.length; + let debug = '['; + if (length > 0) { + debug += debugString(val[0]); + } + for(let i = 1; i < length; i++) { + debug += ', ' + debugString(val[i]); + } + debug += ']'; + return debug; + } + // Test for built-in + const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val)); + let className; + if (builtInMatches && builtInMatches.length > 1) { + className = builtInMatches[1]; + } else { + // Failed to match the standard '[object ClassName]' + return toString.call(val); + } + if (className == 'Object') { + // we're a user defined class or Object + // JSON.stringify avoids problems with cycles, and is generally much + // easier than looping through ownProperties of `val`. + try { + return 'Object(' + JSON.stringify(val) + ')'; + } catch (_) { + return 'Object'; + } + } + // errors + if (val instanceof Error) { + return `${val.name}: ${val.message}\n${val.stack}`; + } + // TODO we could test for more things here, like `Set`s and `Map`s. + return className; +} +function __wbg_adapter_36(arg0, arg1, arg2) { + wasm.closure382_externref_shim(arg0, arg1, arg2); +} + +function __wbg_adapter_43(arg0, arg1) { + wasm._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hc2a92dab5895dab9(arg0, arg1); +} + +function __wbg_adapter_60(arg0, arg1, arg2, arg3) { + wasm.closure885_externref_shim(arg0, arg1, arg2, arg3); +} + +const __wbindgen_enum_GpuCompilationMessageType = ["error", "warning", "info"]; + +const __wbindgen_enum_GpuDeviceLostReason = ["unknown", "destroyed"]; + +const __wbindgen_enum_GpuErrorFilter = ["validation", "out-of-memory", "internal"]; + +const __wbindgen_enum_GpuIndexFormat = ["uint16", "uint32"]; + +const __wbindgen_enum_GpuTextureFormat = ["r8unorm", "r8snorm", "r8uint", "r8sint", "r16uint", "r16sint", "r16float", "rg8unorm", "rg8snorm", "rg8uint", "rg8sint", "r32uint", "r32sint", "r32float", "rg16uint", "rg16sint", "rg16float", "rgba8unorm", "rgba8unorm-srgb", "rgba8snorm", "rgba8uint", "rgba8sint", "bgra8unorm", "bgra8unorm-srgb", "rgb9e5ufloat", "rgb10a2uint", "rgb10a2unorm", "rg11b10ufloat", "rg32uint", "rg32sint", "rg32float", "rgba16uint", "rgba16sint", "rgba16float", "rgba32uint", "rgba32sint", "rgba32float", "stencil8", "depth16unorm", "depth24plus", "depth24plus-stencil8", "depth32float", "depth32float-stencil8", "bc1-rgba-unorm", "bc1-rgba-unorm-srgb", "bc2-rgba-unorm", "bc2-rgba-unorm-srgb", "bc3-rgba-unorm", "bc3-rgba-unorm-srgb", "bc4-r-unorm", "bc4-r-snorm", "bc5-rg-unorm", "bc5-rg-snorm", "bc6h-rgb-ufloat", "bc6h-rgb-float", "bc7-rgba-unorm", "bc7-rgba-unorm-srgb", "etc2-rgb8unorm", "etc2-rgb8unorm-srgb", "etc2-rgb8a1unorm", "etc2-rgb8a1unorm-srgb", "etc2-rgba8unorm", "etc2-rgba8unorm-srgb", "eac-r11unorm", "eac-r11snorm", "eac-rg11unorm", "eac-rg11snorm", "astc-4x4-unorm", "astc-4x4-unorm-srgb", "astc-5x4-unorm", "astc-5x4-unorm-srgb", "astc-5x5-unorm", "astc-5x5-unorm-srgb", "astc-6x5-unorm", "astc-6x5-unorm-srgb", "astc-6x6-unorm", "astc-6x6-unorm-srgb", "astc-8x5-unorm", "astc-8x5-unorm-srgb", "astc-8x6-unorm", "astc-8x6-unorm-srgb", "astc-8x8-unorm", "astc-8x8-unorm-srgb", "astc-10x5-unorm", "astc-10x5-unorm-srgb", "astc-10x6-unorm", "astc-10x6-unorm-srgb", "astc-10x8-unorm", "astc-10x8-unorm-srgb", "astc-10x10-unorm", "astc-10x10-unorm-srgb", "astc-12x10-unorm", "astc-12x10-unorm-srgb", "astc-12x12-unorm", "astc-12x12-unorm-srgb"]; + +const __wbindgen_enum_RequestCredentials = ["omit", "same-origin", "include"]; + +const __wbindgen_enum_RequestMode = ["same-origin", "no-cors", "cors", "navigate"]; + +const __wbindgen_enum_ResizeObserverBoxOptions = ["border-box", "content-box", "device-pixel-content-box"]; + +const __wbindgen_enum_VisibilityState = ["hidden", "visible"]; + +async function __wbg_load(module, imports) { + if (typeof Response === 'function' && module instanceof Response) { + if (typeof WebAssembly.instantiateStreaming === 'function') { + try { + return await WebAssembly.instantiateStreaming(module, imports); + + } catch (e) { + if (module.headers.get('Content-Type') != 'application/wasm') { + console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e); + + } else { + throw e; + } + } + } + + const bytes = await module.arrayBuffer(); + return await WebAssembly.instantiate(bytes, imports); + + } else { + const instance = await WebAssembly.instantiate(module, imports); + + if (instance instanceof WebAssembly.Instance) { + return { instance, module }; + + } else { + return instance; + } + } +} + +function __wbg_get_imports() { + const imports = {}; + imports.wbg = {}; + imports.wbg.__wbg_Window_96e58b3552ce6bb1 = function(arg0) { + const ret = arg0.Window; + return ret; + }; + imports.wbg.__wbg_Window_cf5b693340a7c469 = function(arg0) { + const ret = arg0.Window; + return ret; + }; + imports.wbg.__wbg_WorkerGlobalScope_354364d1b0bd06e5 = function(arg0) { + const ret = arg0.WorkerGlobalScope; + return ret; + }; + imports.wbg.__wbg_abort_19de2f828ee0874a = function(arg0) { + arg0.abort(); + }; + imports.wbg.__wbg_activeElement_d1a1f2b334adf636 = function(arg0) { + const ret = arg0.activeElement; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_activeTexture_24b42b03041f3428 = function(arg0, arg1) { + arg0.activeTexture(arg1 >>> 0); + }; + imports.wbg.__wbg_activeTexture_47928613532be667 = function(arg0, arg1) { + arg0.activeTexture(arg1 >>> 0); + }; + imports.wbg.__wbg_addEventListener_e27053e488770e58 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + arg0.addEventListener(getStringFromWasm0(arg1, arg2), arg3); + }, arguments) }; + imports.wbg.__wbg_addListener_dca1ccc036e24997 = function() { return handleError(function (arg0, arg1) { + arg0.addListener(arg1); + }, arguments) }; + imports.wbg.__wbg_altKey_56dd0987e7ccbbf2 = function(arg0) { + const ret = arg0.altKey; + return ret; + }; + imports.wbg.__wbg_altKey_583c79ba3f4fce1e = function(arg0) { + const ret = arg0.altKey; + return ret; + }; + imports.wbg.__wbg_animate_310f1b8e5b1fdb56 = function(arg0, arg1, arg2) { + const ret = arg0.animate(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_appendChild_805222aed73feea9 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.appendChild(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_append_daea8d1dbe91d314 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { + arg0.append(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4)); + }, arguments) }; + imports.wbg.__wbg_arrayBuffer_d004045654bdb712 = function() { return handleError(function (arg0) { + const ret = arg0.arrayBuffer(); + return ret; + }, arguments) }; + imports.wbg.__wbg_attachShader_81000b0c4da5b206 = function(arg0, arg1, arg2) { + arg0.attachShader(arg1, arg2); + }; + imports.wbg.__wbg_attachShader_ccc35921e866b2bf = function(arg0, arg1, arg2) { + arg0.attachShader(arg1, arg2); + }; + imports.wbg.__wbg_beginComputePass_90d5303e604970cb = function(arg0, arg1) { + const ret = arg0.beginComputePass(arg1); + return ret; + }; + imports.wbg.__wbg_beginQuery_4e54bbe77706fb3c = function(arg0, arg1, arg2) { + arg0.beginQuery(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_beginRenderPass_9739520c601001c3 = function(arg0, arg1) { + const ret = arg0.beginRenderPass(arg1); + return ret; + }; + imports.wbg.__wbg_bindAttribLocation_a08ae4fdf9b16e7d = function(arg0, arg1, arg2, arg3, arg4) { + arg0.bindAttribLocation(arg1, arg2 >>> 0, getStringFromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_bindAttribLocation_b53db53e1b134420 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.bindAttribLocation(arg1, arg2 >>> 0, getStringFromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_bindBufferRange_ce5a2827ed937112 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.bindBufferRange(arg1 >>> 0, arg2 >>> 0, arg3, arg4, arg5); + }; + imports.wbg.__wbg_bindBuffer_0fedb16582ffeee6 = function(arg0, arg1, arg2) { + arg0.bindBuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindBuffer_c6e5f29d60e90c01 = function(arg0, arg1, arg2) { + arg0.bindBuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindFramebuffer_87e15614ca3e9537 = function(arg0, arg1, arg2) { + arg0.bindFramebuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindFramebuffer_a0d602bd474dcbfb = function(arg0, arg1, arg2) { + arg0.bindFramebuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindRenderbuffer_3100396894cc2d72 = function(arg0, arg1, arg2) { + arg0.bindRenderbuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindRenderbuffer_fd3e47dad76906ea = function(arg0, arg1, arg2) { + arg0.bindRenderbuffer(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindSampler_7614054a94f8e3d1 = function(arg0, arg1, arg2) { + arg0.bindSampler(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindTexture_6478edbb238b9c73 = function(arg0, arg1, arg2) { + arg0.bindTexture(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindTexture_9b177c97248ed4d9 = function(arg0, arg1, arg2) { + arg0.bindTexture(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_bindVertexArrayOES_e81fca007d08d0db = function(arg0, arg1) { + arg0.bindVertexArrayOES(arg1); + }; + imports.wbg.__wbg_bindVertexArray_d9082254ff3bcc13 = function(arg0, arg1) { + arg0.bindVertexArray(arg1); + }; + imports.wbg.__wbg_blendColor_075aa544f1fe84c5 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.blendColor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_blendColor_ed292080d5966f2c = function(arg0, arg1, arg2, arg3, arg4) { + arg0.blendColor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_blendEquationSeparate_3dbbe20b0a9fa818 = function(arg0, arg1, arg2) { + arg0.blendEquationSeparate(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_blendEquationSeparate_d360393d3b1557cd = function(arg0, arg1, arg2) { + arg0.blendEquationSeparate(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_blendEquation_41f4ed79f5ddd25c = function(arg0, arg1) { + arg0.blendEquation(arg1 >>> 0); + }; + imports.wbg.__wbg_blendEquation_8804e10c9ced3fc4 = function(arg0, arg1) { + arg0.blendEquation(arg1 >>> 0); + }; + imports.wbg.__wbg_blendFuncSeparate_2cc7ac2397290a15 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.blendFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_blendFuncSeparate_c6c035b0094bd58f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.blendFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_blendFunc_63aca14ff3252b59 = function(arg0, arg1, arg2) { + arg0.blendFunc(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_blendFunc_8e1cfba50a4eea89 = function(arg0, arg1, arg2) { + arg0.blendFunc(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_blitFramebuffer_171b9355e4e730c9 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) { + arg0.blitFramebuffer(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0); + }; + imports.wbg.__wbg_blockSize_e0006fb003814895 = function(arg0) { + const ret = arg0.blockSize; + return ret; + }; + imports.wbg.__wbg_body_83d4bc4961a422aa = function(arg0) { + const ret = arg0.body; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_brand_67e4f3d950154d0a = function(arg0, arg1) { + const ret = arg1.brand; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_brands_1ec54d613da9db02 = function(arg0) { + const ret = arg0.brands; + return ret; + }; + imports.wbg.__wbg_bufferData_2a747a2c2c3b23b5 = function(arg0, arg1, arg2, arg3) { + arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0); + }; + imports.wbg.__wbg_bufferData_5b85d77150f6520a = function(arg0, arg1, arg2, arg3) { + arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0); + }; + imports.wbg.__wbg_bufferData_b03654fb80052afe = function(arg0, arg1, arg2, arg3) { + arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0); + }; + imports.wbg.__wbg_bufferData_c2eb7dbb2ea2ab3f = function(arg0, arg1, arg2, arg3) { + arg0.bufferData(arg1 >>> 0, arg2, arg3 >>> 0); + }; + imports.wbg.__wbg_bufferSubData_8a7d35c05111a120 = function(arg0, arg1, arg2, arg3) { + arg0.bufferSubData(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_bufferSubData_c4b11388b9eb4175 = function(arg0, arg1, arg2, arg3) { + arg0.bufferSubData(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_buffer_6e1d53ff183194fc = function(arg0) { + const ret = arg0.buffer; + return ret; + }; + imports.wbg.__wbg_buffer_ffdeb2ee67420f9e = function(arg0) { + const ret = arg0.buffer; + return ret; + }; + imports.wbg.__wbg_button_db48f93638c59f95 = function(arg0) { + const ret = arg0.button; + return ret; + }; + imports.wbg.__wbg_buttons_b962d6dc116cd1a5 = function(arg0) { + const ret = arg0.buttons; + return ret; + }; + imports.wbg.__wbg_call_0411c0c3c424db9a = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.call(arg1, arg2); + return ret; + }, arguments) }; + imports.wbg.__wbg_call_3114932863209ca6 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.call(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_cancelAnimationFrame_f1ad512e269ea165 = function() { return handleError(function (arg0, arg1) { + arg0.cancelAnimationFrame(arg1); + }, arguments) }; + imports.wbg.__wbg_cancelIdleCallback_bcc2dc9be9de0744 = function(arg0, arg1) { + arg0.cancelIdleCallback(arg1 >>> 0); + }; + imports.wbg.__wbg_cancel_3b69067dcdf7ffb7 = function(arg0) { + arg0.cancel(); + }; + imports.wbg.__wbg_catch_9da7d002aa356f1d = function(arg0, arg1) { + const ret = arg0.catch(arg1); + return ret; + }; + imports.wbg.__wbg_clearBuffer_6164fc25d22b25cc = function(arg0, arg1, arg2, arg3) { + arg0.clearBuffer(arg1, arg2, arg3); + }; + imports.wbg.__wbg_clearBuffer_cfcaaf1fb2baa885 = function(arg0, arg1, arg2) { + arg0.clearBuffer(arg1, arg2); + }; + imports.wbg.__wbg_clearBufferfv_2cf04e18ef87ed90 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.clearBufferfv(arg1 >>> 0, arg2, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_clearBufferiv_b45be02e57957dad = function(arg0, arg1, arg2, arg3, arg4) { + arg0.clearBufferiv(arg1 >>> 0, arg2, getArrayI32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_clearBufferuiv_deca83038abb23d2 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.clearBufferuiv(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_clearDepth_14d34daa30215440 = function(arg0, arg1) { + arg0.clearDepth(arg1); + }; + imports.wbg.__wbg_clearDepth_1cdcb08d8a5afa49 = function(arg0, arg1) { + arg0.clearDepth(arg1); + }; + imports.wbg.__wbg_clearStencil_e2c8b1892d5e033d = function(arg0, arg1) { + arg0.clearStencil(arg1); + }; + imports.wbg.__wbg_clearStencil_f3138d2e338d1436 = function(arg0, arg1) { + arg0.clearStencil(arg1); + }; + imports.wbg.__wbg_clearTimeout_da4408c46e51bc7a = function(arg0, arg1) { + arg0.clearTimeout(arg1); + }; + imports.wbg.__wbg_clear_4e68091e616c29ad = function(arg0, arg1) { + arg0.clear(arg1 >>> 0); + }; + imports.wbg.__wbg_clear_af7641961d766f51 = function(arg0, arg1) { + arg0.clear(arg1 >>> 0); + }; + imports.wbg.__wbg_clientWaitSync_2c4c0bd3a8d3536b = function(arg0, arg1, arg2, arg3) { + const ret = arg0.clientWaitSync(arg1, arg2 >>> 0, arg3 >>> 0); + return ret; + }; + imports.wbg.__wbg_close_35d643897b189a00 = function(arg0) { + arg0.close(); + }; + imports.wbg.__wbg_code_d8226b2133366406 = function(arg0, arg1) { + const ret = arg1.code; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_colorMask_22d850d91e89df9f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.colorMask(arg1 !== 0, arg2 !== 0, arg3 !== 0, arg4 !== 0); + }; + imports.wbg.__wbg_colorMask_a6068fae89c17ceb = function(arg0, arg1, arg2, arg3, arg4) { + arg0.colorMask(arg1 !== 0, arg2 !== 0, arg3 !== 0, arg4 !== 0); + }; + imports.wbg.__wbg_compileShader_5e41ecd397194c21 = function(arg0, arg1) { + arg0.compileShader(arg1); + }; + imports.wbg.__wbg_compileShader_6868fa6a842f0911 = function(arg0, arg1) { + arg0.compileShader(arg1); + }; + imports.wbg.__wbg_compressedTexSubImage2D_216f6eec167da8d7 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + arg0.compressedTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8); + }; + imports.wbg.__wbg_compressedTexSubImage2D_4b50d2a94bf4ea60 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.compressedTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8, arg9); + }; + imports.wbg.__wbg_compressedTexSubImage2D_9b0c2c785026006a = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + arg0.compressedTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8); + }; + imports.wbg.__wbg_compressedTexSubImage3D_8102ea4403fef5ce = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) { + arg0.compressedTexSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10); + }; + imports.wbg.__wbg_compressedTexSubImage3D_bf2bdb940e26bc8c = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.compressedTexSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10, arg11); + }; + imports.wbg.__wbg_configure_2414aed971d368cd = function(arg0, arg1) { + arg0.configure(arg1); + }; + imports.wbg.__wbg_contains_6947e163e2a3c092 = function(arg0, arg1) { + const ret = arg0.contains(arg1); + return ret; + }; + imports.wbg.__wbg_contentRect_7aaa87e16fd2882d = function(arg0) { + const ret = arg0.contentRect; + return ret; + }; + imports.wbg.__wbg_copyBufferSubData_ff213d67aa3b1f82 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.copyBufferSubData(arg1 >>> 0, arg2 >>> 0, arg3, arg4, arg5); + }; + imports.wbg.__wbg_copyBufferToBuffer_1ba67191114656a1 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.copyBufferToBuffer(arg1, arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_copyBufferToTexture_878d31d479e48f28 = function(arg0, arg1, arg2, arg3) { + arg0.copyBufferToTexture(arg1, arg2, arg3); + }; + imports.wbg.__wbg_copyExternalImageToTexture_7878d196c0b60d39 = function(arg0, arg1, arg2, arg3) { + arg0.copyExternalImageToTexture(arg1, arg2, arg3); + }; + imports.wbg.__wbg_copyTexSubImage2D_4b37e79c31b798b1 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + arg0.copyTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + }; + imports.wbg.__wbg_copyTexSubImage2D_a29106dfb31dd17c = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { + arg0.copyTexSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + }; + imports.wbg.__wbg_copyTexSubImage3D_f8350e268c143688 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.copyTexSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); + }; + imports.wbg.__wbg_copyTextureToBuffer_6a8fe0e90f0a663d = function(arg0, arg1, arg2, arg3) { + arg0.copyTextureToBuffer(arg1, arg2, arg3); + }; + imports.wbg.__wbg_copyTextureToTexture_0a06a393d6726b4a = function(arg0, arg1, arg2, arg3) { + arg0.copyTextureToTexture(arg1, arg2, arg3); + }; + imports.wbg.__wbg_createBindGroupLayout_1d93b6d41c87ba9d = function(arg0, arg1) { + const ret = arg0.createBindGroupLayout(arg1); + return ret; + }; + imports.wbg.__wbg_createBindGroup_61cd07ec9d423432 = function(arg0, arg1) { + const ret = arg0.createBindGroup(arg1); + return ret; + }; + imports.wbg.__wbg_createBuffer_1e646d14cebbb438 = function(arg0) { + const ret = arg0.createBuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createBuffer_2a696fb8c0d07970 = function(arg0) { + const ret = arg0.createBuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createBuffer_963aa00d5fe859e4 = function(arg0, arg1) { + const ret = arg0.createBuffer(arg1); + return ret; + }; + imports.wbg.__wbg_createCommandEncoder_f0e1613e9a2dc1eb = function(arg0, arg1) { + const ret = arg0.createCommandEncoder(arg1); + return ret; + }; + imports.wbg.__wbg_createComputePipeline_b9616b9fe2f4eb2f = function(arg0, arg1) { + const ret = arg0.createComputePipeline(arg1); + return ret; + }; + imports.wbg.__wbg_createElement_22b48bfb31a0c20e = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.createElement(getStringFromWasm0(arg1, arg2)); + return ret; + }, arguments) }; + imports.wbg.__wbg_createFramebuffer_163e192e1e53ec9b = function(arg0) { + const ret = arg0.createFramebuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createFramebuffer_1aa54479f7524ef5 = function(arg0) { + const ret = arg0.createFramebuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createObjectURL_06505af3e8787cc8 = function() { return handleError(function (arg0, arg1) { + const ret = URL.createObjectURL(arg1); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_createPipelineLayout_56c6cf983f892d2b = function(arg0, arg1) { + const ret = arg0.createPipelineLayout(arg1); + return ret; + }; + imports.wbg.__wbg_createProgram_5a5a92d23fdc2f1a = function(arg0) { + const ret = arg0.createProgram(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createProgram_b75025f0f1a4ef55 = function(arg0) { + const ret = arg0.createProgram(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createQuerySet_c14be802adf7c207 = function(arg0, arg1) { + const ret = arg0.createQuerySet(arg1); + return ret; + }; + imports.wbg.__wbg_createQuery_2816e95a473b5501 = function(arg0) { + const ret = arg0.createQuery(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createRenderBundleEncoder_8e4bdffea72f8c1f = function(arg0, arg1) { + const ret = arg0.createRenderBundleEncoder(arg1); + return ret; + }; + imports.wbg.__wbg_createRenderPipeline_079a88a0601fcce1 = function(arg0, arg1) { + const ret = arg0.createRenderPipeline(arg1); + return ret; + }; + imports.wbg.__wbg_createRenderbuffer_29e130c03bc689d3 = function(arg0) { + const ret = arg0.createRenderbuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createRenderbuffer_b10004ae18d38014 = function(arg0) { + const ret = arg0.createRenderbuffer(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createSampler_50ae7c4dd1f9b066 = function(arg0) { + const ret = arg0.createSampler(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createSampler_ef5578990df3baf7 = function(arg0, arg1) { + const ret = arg0.createSampler(arg1); + return ret; + }; + imports.wbg.__wbg_createShaderModule_17f451ea25cae47c = function(arg0, arg1) { + const ret = arg0.createShaderModule(arg1); + return ret; + }; + imports.wbg.__wbg_createShader_29c8e06db7e7211f = function(arg0, arg1) { + const ret = arg0.createShader(arg1 >>> 0); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createShader_8c3053457f874cdd = function(arg0, arg1) { + const ret = arg0.createShader(arg1 >>> 0); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createTexture_01cc1cd2fea732d9 = function(arg0, arg1) { + const ret = arg0.createTexture(arg1); + return ret; + }; + imports.wbg.__wbg_createTexture_20f63b261993f581 = function(arg0) { + const ret = arg0.createTexture(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createTexture_facd2df68d8d0276 = function(arg0) { + const ret = arg0.createTexture(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createVertexArrayOES_89f45f4a4fde395f = function(arg0) { + const ret = arg0.createVertexArrayOES(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createVertexArray_70d7c4c62e00613d = function(arg0) { + const ret = arg0.createVertexArray(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_createView_04701884291e1ccc = function(arg0, arg1) { + const ret = arg0.createView(arg1); + return ret; + }; + imports.wbg.__wbg_crypto_ed58b8e10a292839 = function(arg0) { + const ret = arg0.crypto; + return ret; + }; + imports.wbg.__wbg_ctrlKey_60b29e015a543678 = function(arg0) { + const ret = arg0.ctrlKey; + return ret; + }; + imports.wbg.__wbg_ctrlKey_ab341328ab202d37 = function(arg0) { + const ret = arg0.ctrlKey; + return ret; + }; + imports.wbg.__wbg_cullFace_96a9dca4a5b1ca33 = function(arg0, arg1) { + arg0.cullFace(arg1 >>> 0); + }; + imports.wbg.__wbg_cullFace_99bb4e31c974596d = function(arg0, arg1) { + arg0.cullFace(arg1 >>> 0); + }; + imports.wbg.__wbg_debug_347b3d1f33e1c28e = function(arg0) { + console.debug(arg0); + }; + imports.wbg.__wbg_deleteBuffer_9d705222a7e77a7b = function(arg0, arg1) { + arg0.deleteBuffer(arg1); + }; + imports.wbg.__wbg_deleteBuffer_db0d7ecbaa97fa56 = function(arg0, arg1) { + arg0.deleteBuffer(arg1); + }; + imports.wbg.__wbg_deleteFramebuffer_69db238ea6b8a9a1 = function(arg0, arg1) { + arg0.deleteFramebuffer(arg1); + }; + imports.wbg.__wbg_deleteFramebuffer_ecf398bec452aaf9 = function(arg0, arg1) { + arg0.deleteFramebuffer(arg1); + }; + imports.wbg.__wbg_deleteProgram_cb18e0020d488bad = function(arg0, arg1) { + arg0.deleteProgram(arg1); + }; + imports.wbg.__wbg_deleteProgram_e1a6c4b922e202e3 = function(arg0, arg1) { + arg0.deleteProgram(arg1); + }; + imports.wbg.__wbg_deleteQuery_e083394da1710d6c = function(arg0, arg1) { + arg0.deleteQuery(arg1); + }; + imports.wbg.__wbg_deleteRenderbuffer_05fa7f35ea76cafd = function(arg0, arg1) { + arg0.deleteRenderbuffer(arg1); + }; + imports.wbg.__wbg_deleteRenderbuffer_2f1216e54aa2f248 = function(arg0, arg1) { + arg0.deleteRenderbuffer(arg1); + }; + imports.wbg.__wbg_deleteSampler_e5c61c85993f9a69 = function(arg0, arg1) { + arg0.deleteSampler(arg1); + }; + imports.wbg.__wbg_deleteShader_257caf93b24ac555 = function(arg0, arg1) { + arg0.deleteShader(arg1); + }; + imports.wbg.__wbg_deleteShader_fb86028e46cb069b = function(arg0, arg1) { + arg0.deleteShader(arg1); + }; + imports.wbg.__wbg_deleteSync_b5caedf06185d972 = function(arg0, arg1) { + arg0.deleteSync(arg1); + }; + imports.wbg.__wbg_deleteTexture_6913f682a09c8171 = function(arg0, arg1) { + arg0.deleteTexture(arg1); + }; + imports.wbg.__wbg_deleteTexture_a29655740b1cbe33 = function(arg0, arg1) { + arg0.deleteTexture(arg1); + }; + imports.wbg.__wbg_deleteVertexArrayOES_2def7ce37f8e89f2 = function(arg0, arg1) { + arg0.deleteVertexArrayOES(arg1); + }; + imports.wbg.__wbg_deleteVertexArray_a3bca8e15204ffed = function(arg0, arg1) { + arg0.deleteVertexArray(arg1); + }; + imports.wbg.__wbg_deltaMode_a4cc321212f87817 = function(arg0) { + const ret = arg0.deltaMode; + return ret; + }; + imports.wbg.__wbg_deltaX_27e2939a1af8c940 = function(arg0) { + const ret = arg0.deltaX; + return ret; + }; + imports.wbg.__wbg_deltaY_4bb52a4f0a7ad28b = function(arg0) { + const ret = arg0.deltaY; + return ret; + }; + imports.wbg.__wbg_depthFunc_657dd592930e7f2f = function(arg0, arg1) { + arg0.depthFunc(arg1 >>> 0); + }; + imports.wbg.__wbg_depthFunc_f9fd44a07ea8398e = function(arg0, arg1) { + arg0.depthFunc(arg1 >>> 0); + }; + imports.wbg.__wbg_depthMask_87195357e4f7df17 = function(arg0, arg1) { + arg0.depthMask(arg1 !== 0); + }; + imports.wbg.__wbg_depthMask_bac7f6b455b6ddeb = function(arg0, arg1) { + arg0.depthMask(arg1 !== 0); + }; + imports.wbg.__wbg_depthRange_d947e824a28dc9a1 = function(arg0, arg1, arg2) { + arg0.depthRange(arg1, arg2); + }; + imports.wbg.__wbg_depthRange_f71c79182f666e45 = function(arg0, arg1, arg2) { + arg0.depthRange(arg1, arg2); + }; + imports.wbg.__wbg_destroy_35f94012e5bb9c17 = function(arg0) { + arg0.destroy(); + }; + imports.wbg.__wbg_destroy_767d9dde1008e293 = function(arg0) { + arg0.destroy(); + }; + imports.wbg.__wbg_destroy_c6af4226dda95dbd = function(arg0) { + arg0.destroy(); + }; + imports.wbg.__wbg_devicePixelContentBoxSize_1ea2c6145730b8c0 = function(arg0) { + const ret = arg0.devicePixelContentBoxSize; + return ret; + }; + imports.wbg.__wbg_devicePixelRatio_f4eb7cbe3a812de0 = function(arg0) { + const ret = arg0.devicePixelRatio; + return ret; + }; + imports.wbg.__wbg_disableVertexAttribArray_c513f1fff3cb73f2 = function(arg0, arg1) { + arg0.disableVertexAttribArray(arg1 >>> 0); + }; + imports.wbg.__wbg_disableVertexAttribArray_e7ff41dc0c3eaf1f = function(arg0, arg1) { + arg0.disableVertexAttribArray(arg1 >>> 0); + }; + imports.wbg.__wbg_disable_4c1cedffa6646166 = function(arg0, arg1) { + arg0.disable(arg1 >>> 0); + }; + imports.wbg.__wbg_disable_5320561e5cb15f08 = function(arg0, arg1) { + arg0.disable(arg1 >>> 0); + }; + imports.wbg.__wbg_disconnect_8b7c928b6057719b = function(arg0) { + arg0.disconnect(); + }; + imports.wbg.__wbg_disconnect_c45e8044053eddf3 = function(arg0) { + arg0.disconnect(); + }; + imports.wbg.__wbg_dispatchWorkgroupsIndirect_8b25efab93a7a433 = function(arg0, arg1, arg2) { + arg0.dispatchWorkgroupsIndirect(arg1, arg2); + }; + imports.wbg.__wbg_dispatchWorkgroups_c102fa81b955935d = function(arg0, arg1, arg2, arg3) { + arg0.dispatchWorkgroups(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0); + }; + imports.wbg.__wbg_document_c488ca7509cc6938 = function(arg0) { + const ret = arg0.document; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_done_adfd3f40364def50 = function(arg0) { + const ret = arg0.done; + return ret; + }; + imports.wbg.__wbg_drawArraysInstancedANGLE_55c83db2758c6ab4 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.drawArraysInstancedANGLE(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_drawArraysInstanced_11f863da4daf24d0 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.drawArraysInstanced(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_drawArrays_87e9bb0e2fb3e0fa = function(arg0, arg1, arg2, arg3) { + arg0.drawArrays(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_drawArrays_f5b0f0a0dc392c3f = function(arg0, arg1, arg2, arg3) { + arg0.drawArrays(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_drawBuffersWEBGL_22730193cdce9696 = function(arg0, arg1) { + arg0.drawBuffersWEBGL(arg1); + }; + imports.wbg.__wbg_drawBuffers_f256d529aecd01f2 = function(arg0, arg1) { + arg0.drawBuffers(arg1); + }; + imports.wbg.__wbg_drawElementsInstancedANGLE_db0bafff77affb0d = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.drawElementsInstancedANGLE(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_drawElementsInstanced_e87f1c69165df984 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.drawElementsInstanced(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_drawIndexedIndirect_34484fc6227c7bc8 = function(arg0, arg1, arg2) { + arg0.drawIndexedIndirect(arg1, arg2); + }; + imports.wbg.__wbg_drawIndexedIndirect_5a7c30bb5f1d5b67 = function(arg0, arg1, arg2) { + arg0.drawIndexedIndirect(arg1, arg2); + }; + imports.wbg.__wbg_drawIndexed_115af1449b52a948 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.drawIndexed(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5 >>> 0); + }; + imports.wbg.__wbg_drawIndexed_a587cce4c317791f = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.drawIndexed(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5 >>> 0); + }; + imports.wbg.__wbg_drawIndirect_036d71498a21f1a3 = function(arg0, arg1, arg2) { + arg0.drawIndirect(arg1, arg2); + }; + imports.wbg.__wbg_drawIndirect_a1d7c5e893aa5756 = function(arg0, arg1, arg2) { + arg0.drawIndirect(arg1, arg2); + }; + imports.wbg.__wbg_draw_5351b12033166aca = function(arg0, arg1, arg2, arg3, arg4) { + arg0.draw(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_draw_e2a7c5d66fb2d244 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.draw(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_enableVertexAttribArray_0ce3052ae5f3f84a = function(arg0, arg1) { + arg0.enableVertexAttribArray(arg1 >>> 0); + }; + imports.wbg.__wbg_enableVertexAttribArray_2bb681a583bf0dbe = function(arg0, arg1) { + arg0.enableVertexAttribArray(arg1 >>> 0); + }; + imports.wbg.__wbg_enable_8d6ea7489b31dabd = function(arg0, arg1) { + arg0.enable(arg1 >>> 0); + }; + imports.wbg.__wbg_enable_bb868e19d5c88d56 = function(arg0, arg1) { + arg0.enable(arg1 >>> 0); + }; + imports.wbg.__wbg_endQuery_b4f2566f7afc4117 = function(arg0, arg1) { + arg0.endQuery(arg1 >>> 0); + }; + imports.wbg.__wbg_end_0ac71677a5c1717a = function(arg0) { + arg0.end(); + }; + imports.wbg.__wbg_end_6f776519f1faa582 = function(arg0) { + arg0.end(); + }; + imports.wbg.__wbg_error_2a6b93fdada7ff11 = function(arg0) { + console.error(arg0); + }; + imports.wbg.__wbg_error_7534b8e9a36f1ab4 = function(arg0, arg1) { + let deferred0_0; + let deferred0_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + console.error(getStringFromWasm0(arg0, arg1)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + } + }; + imports.wbg.__wbg_error_e98e6aadd08e0b94 = function(arg0) { + const ret = arg0.error; + return ret; + }; + imports.wbg.__wbg_error_f0dde81ae1e4cfea = function(arg0, arg1) { + console.error(arg0, arg1); + }; + imports.wbg.__wbg_executeBundles_8e6c0614da2805d4 = function(arg0, arg1) { + arg0.executeBundles(arg1); + }; + imports.wbg.__wbg_features_1b464383ea8a7691 = function(arg0) { + const ret = arg0.features; + return ret; + }; + imports.wbg.__wbg_features_e5fbbc2760867852 = function(arg0) { + const ret = arg0.features; + return ret; + }; + imports.wbg.__wbg_fenceSync_68dcf439f52decac = function(arg0, arg1, arg2) { + const ret = arg0.fenceSync(arg1 >>> 0, arg2 >>> 0); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_fetch_2367a4a7762e7c4a = function(arg0, arg1) { + const ret = arg0.fetch(arg1); + return ret; + }; + imports.wbg.__wbg_fetch_f1856afdb49415d1 = function(arg0) { + const ret = fetch(arg0); + return ret; + }; + imports.wbg.__wbg_finish_20711371c58df61c = function(arg0) { + const ret = arg0.finish(); + return ret; + }; + imports.wbg.__wbg_finish_34b2c54329c8719f = function(arg0, arg1) { + const ret = arg0.finish(arg1); + return ret; + }; + imports.wbg.__wbg_finish_a9ab917e756ea00c = function(arg0, arg1) { + const ret = arg0.finish(arg1); + return ret; + }; + imports.wbg.__wbg_finish_e0a6c97c0622f843 = function(arg0) { + const ret = arg0.finish(); + return ret; + }; + imports.wbg.__wbg_focus_c71947fc3fe22147 = function() { return handleError(function (arg0) { + arg0.focus(); + }, arguments) }; + imports.wbg.__wbg_framebufferRenderbuffer_308ddbcaaed66ff2 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.framebufferRenderbuffer(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4); + }; + imports.wbg.__wbg_framebufferRenderbuffer_a23d035c46e3e192 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.framebufferRenderbuffer(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4); + }; + imports.wbg.__wbg_framebufferTexture2D_170b0f8c792e246f = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.framebufferTexture2D(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_framebufferTexture2D_5366ecb050293d09 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.framebufferTexture2D(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_framebufferTextureLayer_daccfb6fb9396578 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.framebufferTextureLayer(arg1 >>> 0, arg2 >>> 0, arg3, arg4, arg5); + }; + imports.wbg.__wbg_framebufferTextureMultiviewOVR_e2282e87fdf2564f = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.framebufferTextureMultiviewOVR(arg1 >>> 0, arg2 >>> 0, arg3, arg4, arg5, arg6); + }; + imports.wbg.__wbg_frontFace_7b469405c0e889ee = function(arg0, arg1) { + arg0.frontFace(arg1 >>> 0); + }; + imports.wbg.__wbg_frontFace_993e921eaef39c45 = function(arg0, arg1) { + arg0.frontFace(arg1 >>> 0); + }; + imports.wbg.__wbg_fullscreenElement_a613ad02fa918fb4 = function(arg0) { + const ret = arg0.fullscreenElement; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getBindGroupLayout_4a94df6108ac6667 = function(arg0, arg1) { + const ret = arg0.getBindGroupLayout(arg1 >>> 0); + return ret; + }; + imports.wbg.__wbg_getBindGroupLayout_80e803d942962f6a = function(arg0, arg1) { + const ret = arg0.getBindGroupLayout(arg1 >>> 0); + return ret; + }; + imports.wbg.__wbg_getBufferSubData_5102d8a217d0774c = function(arg0, arg1, arg2, arg3) { + arg0.getBufferSubData(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_getCoalescedEvents_1372a1922f78401a = function(arg0) { + const ret = arg0.getCoalescedEvents; + return ret; + }; + imports.wbg.__wbg_getCoalescedEvents_3736b5e5d63bed7b = function(arg0) { + const ret = arg0.getCoalescedEvents(); + return ret; + }; + imports.wbg.__wbg_getCompilationInfo_2af3ecdfeda551a3 = function(arg0) { + const ret = arg0.getCompilationInfo(); + return ret; + }; + imports.wbg.__wbg_getComputedStyle_c3a9de7674a38310 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.getComputedStyle(arg1); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getContext_02d86c7d9cfa709e = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.getContext(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getContext_24d4414b979c1bbd = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.getContext(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getContext_74e4f1560c2a2fae = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = arg0.getContext(getStringFromWasm0(arg1, arg2), arg3); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getContext_b22f05fca7ddb494 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = arg0.getContext(getStringFromWasm0(arg1, arg2), arg3); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getCurrentTexture_5a79cda2ff36e1ee = function(arg0) { + const ret = arg0.getCurrentTexture(); + return ret; + }; + imports.wbg.__wbg_getElementById_7b2db24a9b54f077 = function(arg0, arg1, arg2) { + const ret = arg0.getElementById(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getExtension_28666bdc87d23aca = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.getExtension(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getIndexedParameter_f9e7220a3bb8862c = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.getIndexedParameter(arg1 >>> 0, arg2 >>> 0); + return ret; + }, arguments) }; + imports.wbg.__wbg_getMappedRange_932dd043ae22ee0a = function(arg0, arg1, arg2) { + const ret = arg0.getMappedRange(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_getOwnPropertyDescriptor_c701b185423f5b7e = function(arg0, arg1) { + const ret = Object.getOwnPropertyDescriptor(arg0, arg1); + return ret; + }; + imports.wbg.__wbg_getParameter_304cffb9a759dc04 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.getParameter(arg1 >>> 0); + return ret; + }, arguments) }; + imports.wbg.__wbg_getParameter_fd65bc6ff1b0ffd9 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.getParameter(arg1 >>> 0); + return ret; + }, arguments) }; + imports.wbg.__wbg_getPreferredCanvasFormat_de73c02773a5209e = function(arg0) { + const ret = arg0.getPreferredCanvasFormat(); + return (__wbindgen_enum_GpuTextureFormat.indexOf(ret) + 1 || 96) - 1; + }; + imports.wbg.__wbg_getProgramInfoLog_032aac3e6f3a253c = function(arg0, arg1, arg2) { + const ret = arg1.getProgramInfoLog(arg2); + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_getProgramInfoLog_039168c2aed8d3fe = function(arg0, arg1, arg2) { + const ret = arg1.getProgramInfoLog(arg2); + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_getProgramParameter_70b22019524689fa = function(arg0, arg1, arg2) { + const ret = arg0.getProgramParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getProgramParameter_9b3bdf8d90159edb = function(arg0, arg1, arg2) { + const ret = arg0.getProgramParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getPropertyValue_e87121b8549f72d5 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = arg1.getPropertyValue(getStringFromWasm0(arg2, arg3)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_getQueryParameter_e7b02fe5fd64baa5 = function(arg0, arg1, arg2) { + const ret = arg0.getQueryParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getRandomValues_bcb4912f16000dc4 = function() { return handleError(function (arg0, arg1) { + arg0.getRandomValues(arg1); + }, arguments) }; + imports.wbg.__wbg_getShaderInfoLog_5c7d45bafe3be3dd = function(arg0, arg1, arg2) { + const ret = arg1.getShaderInfoLog(arg2); + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_getShaderInfoLog_d2cc881ce343a733 = function(arg0, arg1, arg2) { + const ret = arg1.getShaderInfoLog(arg2); + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_getShaderParameter_6d0578dd9f58b684 = function(arg0, arg1, arg2) { + const ret = arg0.getShaderParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getShaderParameter_c50fbeadf9ef6879 = function(arg0, arg1, arg2) { + const ret = arg0.getShaderParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getSupportedExtensions_fca342bac23691db = function(arg0) { + const ret = arg0.getSupportedExtensions(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getSupportedProfiles_b2cc3aec569a65fa = function(arg0) { + const ret = arg0.getSupportedProfiles(); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getSyncParameter_5688138f66b57b16 = function(arg0, arg1, arg2) { + const ret = arg0.getSyncParameter(arg1, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_getUniformBlockIndex_b53609b8ecff8b48 = function(arg0, arg1, arg2, arg3) { + const ret = arg0.getUniformBlockIndex(arg1, getStringFromWasm0(arg2, arg3)); + return ret; + }; + imports.wbg.__wbg_getUniformLocation_852fbe42afe106ff = function(arg0, arg1, arg2, arg3) { + const ret = arg0.getUniformLocation(arg1, getStringFromWasm0(arg2, arg3)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getUniformLocation_9d46a65011600cce = function(arg0, arg1, arg2, arg3) { + const ret = arg0.getUniformLocation(arg1, getStringFromWasm0(arg2, arg3)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_get_68aa371864aa301a = function(arg0, arg1) { + const ret = arg0[arg1 >>> 0]; + return ret; + }; + imports.wbg.__wbg_get_6b316bfdb1b95076 = function(arg0, arg1) { + const ret = arg0[arg1 >>> 0]; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_get_92a4780a3beb5fe9 = function() { return handleError(function (arg0, arg1) { + const ret = Reflect.get(arg0, arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_globalThis_1e2ac1d6eee845b3 = function() { return handleError(function () { + const ret = globalThis.globalThis; + return ret; + }, arguments) }; + imports.wbg.__wbg_global_f25a574ae080367c = function() { return handleError(function () { + const ret = global.global; + return ret; + }, arguments) }; + imports.wbg.__wbg_gpu_87871e8f7ace8fee = function(arg0) { + const ret = arg0.gpu; + return ret; + }; + imports.wbg.__wbg_has_38b228962f492b9b = function() { return handleError(function (arg0, arg1) { + const ret = Reflect.has(arg0, arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_has_624cbf0451d880e8 = function(arg0, arg1, arg2) { + const ret = arg0.has(getStringFromWasm0(arg1, arg2)); + return ret; + }; + imports.wbg.__wbg_headers_a5edfea2425875b2 = function(arg0) { + const ret = arg0.headers; + return ret; + }; + imports.wbg.__wbg_height_4065e49e5ec4c4c1 = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_51a97623165c9beb = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_74bc8ec7548ff6b6 = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_a196a7b9b1d7e01c = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_cabc0c8a4c838304 = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_e509816ec3fdf5b1 = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_includes_959087f4155febdf = function(arg0, arg1, arg2) { + const ret = arg0.includes(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_info_b6bd3cb6471c2b4c = function(arg0) { + console.info(arg0); + }; + imports.wbg.__wbg_inlineSize_6f8d0983462c2919 = function(arg0) { + const ret = arg0.inlineSize; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuAdapter_0731153d2b08720b = function(arg0) { + let result; + try { + result = arg0 instanceof GPUAdapter; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuCanvasContext_d14121c7bd72fcef = function(arg0) { + let result; + try { + result = arg0 instanceof GPUCanvasContext; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuDeviceLostInfo_a3677ebb8241d800 = function(arg0) { + let result; + try { + result = arg0 instanceof GPUDeviceLostInfo; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuOutOfMemoryError_391d9a08edbfa04b = function(arg0) { + let result; + try { + result = arg0 instanceof GPUOutOfMemoryError; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuValidationError_f4d803c383da3c92 = function(arg0) { + let result; + try { + result = arg0 instanceof GPUValidationError; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_HtmlCanvasElement_9db0dfd54b2c5330 = function(arg0) { + let result; + try { + result = arg0 instanceof HTMLCanvasElement; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_Object_f0f57d6eeca1b81d = function(arg0) { + let result; + try { + result = arg0 instanceof Object; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_Response_0ec26bd2f8a75ca2 = function(arg0) { + let result; + try { + result = arg0 instanceof Response; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_WebGl2RenderingContext_888701598b82d45d = function(arg0) { + let result; + try { + result = arg0 instanceof WebGL2RenderingContext; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_Window_a959820eb267fe22 = function(arg0) { + let result; + try { + result = arg0 instanceof Window; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_invalidateFramebuffer_f4a994f4a8535cca = function() { return handleError(function (arg0, arg1, arg2) { + arg0.invalidateFramebuffer(arg1 >>> 0, arg2); + }, arguments) }; + imports.wbg.__wbg_isIntersecting_9059d5bcaf29f415 = function(arg0) { + const ret = arg0.isIntersecting; + return ret; + }; + imports.wbg.__wbg_is_20768e55ad2a7c3f = function(arg0, arg1) { + const ret = Object.is(arg0, arg1); + return ret; + }; + imports.wbg.__wbg_iterator_7a20c20ce22add0f = function() { + const ret = Symbol.iterator; + return ret; + }; + imports.wbg.__wbg_key_02315cd3f595756b = function(arg0, arg1) { + const ret = arg1.key; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_label_2082ab37d2ad170d = function(arg0, arg1) { + const ret = arg1.label; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_length_2e63ba34c4121df5 = function(arg0) { + const ret = arg0.length; + return ret; + }; + imports.wbg.__wbg_length_9df32f7add647235 = function(arg0) { + const ret = arg0.length; + return ret; + }; + imports.wbg.__wbg_length_e74df4881604f1d9 = function(arg0) { + const ret = arg0.length; + return ret; + }; + imports.wbg.__wbg_limits_2dd632c891786ddf = function(arg0) { + const ret = arg0.limits; + return ret; + }; + imports.wbg.__wbg_limits_f6411f884b0b2d62 = function(arg0) { + const ret = arg0.limits; + return ret; + }; + imports.wbg.__wbg_lineNum_0246de1e072ffe19 = function(arg0) { + const ret = arg0.lineNum; + return ret; + }; + imports.wbg.__wbg_linkProgram_575f761eda0a14bc = function(arg0, arg1) { + arg0.linkProgram(arg1); + }; + imports.wbg.__wbg_linkProgram_5eee13e603e9af41 = function(arg0, arg1) { + arg0.linkProgram(arg1); + }; + imports.wbg.__wbg_location_54d35e8c85dcfb9c = function(arg0) { + const ret = arg0.location; + return ret; + }; + imports.wbg.__wbg_location_e9eba129bf0612a5 = function(arg0) { + const ret = arg0.location; + return ret; + }; + imports.wbg.__wbg_log_d818ca3cab23fc77 = function(arg0) { + console.log(arg0); + }; + imports.wbg.__wbg_lost_6e4d29847ce2a34a = function(arg0) { + const ret = arg0.lost; + return ret; + }; + imports.wbg.__wbg_mapAsync_37f5e03edf2e1352 = function(arg0, arg1, arg2, arg3) { + const ret = arg0.mapAsync(arg1 >>> 0, arg2, arg3); + return ret; + }; + imports.wbg.__wbg_matchMedia_0be65181eeae951c = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.matchMedia(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_matches_254463383aee4688 = function(arg0) { + const ret = arg0.matches; + return ret; + }; + imports.wbg.__wbg_maxBindGroups_768ca5e8623bf450 = function(arg0) { + const ret = arg0.maxBindGroups; + return ret; + }; + imports.wbg.__wbg_maxBindingsPerBindGroup_057972d600d69719 = function(arg0) { + const ret = arg0.maxBindingsPerBindGroup; + return ret; + }; + imports.wbg.__wbg_maxBufferSize_e237b44f19a5a62b = function(arg0) { + const ret = arg0.maxBufferSize; + return ret; + }; + imports.wbg.__wbg_maxColorAttachmentBytesPerSample_d6c7b4051d22c6d6 = function(arg0) { + const ret = arg0.maxColorAttachmentBytesPerSample; + return ret; + }; + imports.wbg.__wbg_maxColorAttachments_7a18ba24c05edcfd = function(arg0) { + const ret = arg0.maxColorAttachments; + return ret; + }; + imports.wbg.__wbg_maxComputeInvocationsPerWorkgroup_b99c2f3611633992 = function(arg0) { + const ret = arg0.maxComputeInvocationsPerWorkgroup; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupSizeX_adb26da9ed7f77f7 = function(arg0) { + const ret = arg0.maxComputeWorkgroupSizeX; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupSizeY_cc217559c98be33b = function(arg0) { + const ret = arg0.maxComputeWorkgroupSizeY; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupSizeZ_66606a80e2cf2309 = function(arg0) { + const ret = arg0.maxComputeWorkgroupSizeZ; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupStorageSize_cb6235497b8c4997 = function(arg0) { + const ret = arg0.maxComputeWorkgroupStorageSize; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupsPerDimension_6bf550b5f21d57cf = function(arg0) { + const ret = arg0.maxComputeWorkgroupsPerDimension; + return ret; + }; + imports.wbg.__wbg_maxDynamicStorageBuffersPerPipelineLayout_c6ac20334e328b47 = function(arg0) { + const ret = arg0.maxDynamicStorageBuffersPerPipelineLayout; + return ret; + }; + imports.wbg.__wbg_maxDynamicUniformBuffersPerPipelineLayout_aa8f14a74b440f01 = function(arg0) { + const ret = arg0.maxDynamicUniformBuffersPerPipelineLayout; + return ret; + }; + imports.wbg.__wbg_maxSampledTexturesPerShaderStage_db7c4922cc60144a = function(arg0) { + const ret = arg0.maxSampledTexturesPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxSamplersPerShaderStage_538705fe2263e710 = function(arg0) { + const ret = arg0.maxSamplersPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxStorageBufferBindingSize_32178c0f5f7f85cb = function(arg0) { + const ret = arg0.maxStorageBufferBindingSize; + return ret; + }; + imports.wbg.__wbg_maxStorageBuffersPerShaderStage_9f67e9eae0089f77 = function(arg0) { + const ret = arg0.maxStorageBuffersPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxStorageTexturesPerShaderStage_57239664936031cf = function(arg0) { + const ret = arg0.maxStorageTexturesPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxTextureArrayLayers_db5d4e486c78ae04 = function(arg0) { + const ret = arg0.maxTextureArrayLayers; + return ret; + }; + imports.wbg.__wbg_maxTextureDimension1D_3475085ffacabbdc = function(arg0) { + const ret = arg0.maxTextureDimension1D; + return ret; + }; + imports.wbg.__wbg_maxTextureDimension2D_7c8d5ecf09eb8519 = function(arg0) { + const ret = arg0.maxTextureDimension2D; + return ret; + }; + imports.wbg.__wbg_maxTextureDimension3D_8bd976677a0f91d4 = function(arg0) { + const ret = arg0.maxTextureDimension3D; + return ret; + }; + imports.wbg.__wbg_maxUniformBufferBindingSize_95b1a54e7e4a0f0f = function(arg0) { + const ret = arg0.maxUniformBufferBindingSize; + return ret; + }; + imports.wbg.__wbg_maxUniformBuffersPerShaderStage_5f475d9a453af14d = function(arg0) { + const ret = arg0.maxUniformBuffersPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxVertexAttributes_4c48ca2f5d32f860 = function(arg0) { + const ret = arg0.maxVertexAttributes; + return ret; + }; + imports.wbg.__wbg_maxVertexBufferArrayStride_2233f6933ecc5a16 = function(arg0) { + const ret = arg0.maxVertexBufferArrayStride; + return ret; + }; + imports.wbg.__wbg_maxVertexBuffers_c47e508cd7348554 = function(arg0) { + const ret = arg0.maxVertexBuffers; + return ret; + }; + imports.wbg.__wbg_message_0762358e59db7ed6 = function(arg0, arg1) { + const ret = arg1.message; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_message_7957ab09f64c6822 = function(arg0, arg1) { + const ret = arg1.message; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_message_b163994503433c9e = function(arg0, arg1) { + const ret = arg1.message; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_messages_da071582f72bc978 = function(arg0) { + const ret = arg0.messages; + return ret; + }; + imports.wbg.__wbg_metaKey_34d5658170ffb3ee = function(arg0) { + const ret = arg0.metaKey; + return ret; + }; + imports.wbg.__wbg_metaKey_6c8e9228e8dda152 = function(arg0) { + const ret = arg0.metaKey; + return ret; + }; + imports.wbg.__wbg_minStorageBufferOffsetAlignment_51b4801fac3a58de = function(arg0) { + const ret = arg0.minStorageBufferOffsetAlignment; + return ret; + }; + imports.wbg.__wbg_minUniformBufferOffsetAlignment_5d62a77924b2335f = function(arg0) { + const ret = arg0.minUniformBufferOffsetAlignment; + return ret; + }; + imports.wbg.__wbg_movementX_e32c342d96d1c701 = function(arg0) { + const ret = arg0.movementX; + return ret; + }; + imports.wbg.__wbg_movementY_136c6febb976ca3b = function(arg0) { + const ret = arg0.movementY; + return ret; + }; + imports.wbg.__wbg_msCrypto_0a36e2ec3a343d26 = function(arg0) { + const ret = arg0.msCrypto; + return ret; + }; + imports.wbg.__wbg_navigator_2936a93ec3c6f4c5 = function(arg0) { + const ret = arg0.navigator; + return ret; + }; + imports.wbg.__wbg_navigator_da495c9e52e160b1 = function(arg0) { + const ret = arg0.navigator; + return ret; + }; + imports.wbg.__wbg_new_076cac58bb698dd4 = function() { + const ret = new Object(); + return ret; + }; + imports.wbg.__wbg_new_0c28e72025e00594 = function() { + const ret = new Array(); + return ret; + }; + imports.wbg.__wbg_new_23362fa370a0a372 = function(arg0) { + const ret = new Uint8Array(arg0); + return ret; + }; + imports.wbg.__wbg_new_238671e08bf4fcbb = function() { return handleError(function () { + const ret = new MessageChannel(); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_4b15073a88792687 = function() { return handleError(function (arg0) { + const ret = new ResizeObserver(arg0); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_8a6f238a6ece86ea = function() { + const ret = new Error(); + return ret; + }; + imports.wbg.__wbg_new_93cf40e4f48fe902 = function() { return handleError(function () { + const ret = new AbortController(); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_b4a18f0a618c89f2 = function() { return handleError(function (arg0, arg1) { + const ret = new Worker(getStringFromWasm0(arg0, arg1)); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_c94d990936d8ea5d = function() { return handleError(function (arg0) { + const ret = new IntersectionObserver(arg0); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_e2ec18a02bb844cb = function() { return handleError(function () { + const ret = new Headers(); + return ret; + }, arguments) }; + imports.wbg.__wbg_newnoargs_19a249f4eceaaac3 = function(arg0, arg1) { + const ret = new Function(getStringFromWasm0(arg0, arg1)); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_24ff09a6b37a856f = function(arg0, arg1, arg2) { + const ret = new Int16Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_25d3cac011b6e2d5 = function(arg0, arg1, arg2) { + const ret = new Uint32Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_457c61bfe0fb7b8c = function(arg0, arg1, arg2) { + const ret = new Int32Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_9f48300371c8802a = function(arg0, arg1, arg2) { + const ret = new Uint16Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_a6087a94c7bfea61 = function(arg0, arg1, arg2) { + const ret = new Int8Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_c280c15b00e018cd = function(arg0, arg1, arg2) { + const ret = new Float32Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_ee8def7000b7b2be = function(arg0, arg1, arg2) { + const ret = new Uint8Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithlength_91de49dea5643c87 = function(arg0) { + const ret = new Uint8Array(arg0 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithstrandinit_ee1418802d8d481c = function() { return handleError(function (arg0, arg1, arg2) { + const ret = new Request(getStringFromWasm0(arg0, arg1), arg2); + return ret; + }, arguments) }; + imports.wbg.__wbg_newwithstrsequenceandoptions_af096ce40d9d9ac8 = function() { return handleError(function (arg0, arg1) { + const ret = new Blob(arg0, arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_next_c591766a7286b02a = function() { return handleError(function (arg0) { + const ret = arg0.next(); + return ret; + }, arguments) }; + imports.wbg.__wbg_next_f387ecc56a94ba00 = function(arg0) { + const ret = arg0.next; + return ret; + }; + imports.wbg.__wbg_node_02999533c4ea02e3 = function(arg0) { + const ret = arg0.node; + return ret; + }; + imports.wbg.__wbg_now_2c95c9de01293173 = function(arg0) { + const ret = arg0.now(); + return ret; + }; + imports.wbg.__wbg_observe_e2208b07fe315de7 = function(arg0, arg1) { + arg0.observe(arg1); + }; + imports.wbg.__wbg_observe_ec91d62599b7772b = function(arg0, arg1) { + arg0.observe(arg1); + }; + imports.wbg.__wbg_observe_fd48955513eca909 = function(arg0, arg1, arg2) { + arg0.observe(arg1, arg2); + }; + imports.wbg.__wbg_of_2f6232d86af7992c = function(arg0, arg1) { + const ret = Array.of(arg0, arg1); + return ret; + }; + imports.wbg.__wbg_of_5ae3a2d893e18853 = function(arg0) { + const ret = Array.of(arg0); + return ret; + }; + imports.wbg.__wbg_offsetX_d6957d052a0d4b11 = function(arg0) { + const ret = arg0.offsetX; + return ret; + }; + imports.wbg.__wbg_offsetY_076edde514bf80f4 = function(arg0) { + const ret = arg0.offsetY; + return ret; + }; + imports.wbg.__wbg_offset_336f14c993863b76 = function(arg0) { + const ret = arg0.offset; + return ret; + }; + imports.wbg.__wbg_origin_e6426cdc04ec89f8 = function() { return handleError(function (arg0, arg1) { + const ret = arg1.origin; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_performance_7a3ffd0b17f663ad = function(arg0) { + const ret = arg0.performance; + return ret; + }; + imports.wbg.__wbg_persisted_7e044507e52804d9 = function(arg0) { + const ret = arg0.persisted; + return ret; + }; + imports.wbg.__wbg_pixelStorei_198b92c3e346678a = function(arg0, arg1, arg2) { + arg0.pixelStorei(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_pixelStorei_9c4cb0a4b040b41d = function(arg0, arg1, arg2) { + arg0.pixelStorei(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_play_e7eb90a843114e0d = function(arg0) { + arg0.play(); + }; + imports.wbg.__wbg_pointerId_a2cbd2cdd6da90b2 = function(arg0) { + const ret = arg0.pointerId; + return ret; + }; + imports.wbg.__wbg_pointerType_1b74686427cdec29 = function(arg0, arg1) { + const ret = arg1.pointerType; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_polygonOffset_7ec31dee95d41171 = function(arg0, arg1, arg2) { + arg0.polygonOffset(arg1, arg2); + }; + imports.wbg.__wbg_polygonOffset_c6cbc8093770e840 = function(arg0, arg1, arg2) { + arg0.polygonOffset(arg1, arg2); + }; + imports.wbg.__wbg_popErrorScope_af0b22f136a861d6 = function(arg0) { + const ret = arg0.popErrorScope(); + return ret; + }; + imports.wbg.__wbg_port1_6f5b26fd23d19536 = function(arg0) { + const ret = arg0.port1; + return ret; + }; + imports.wbg.__wbg_port2_2eb4c961d6df5816 = function(arg0) { + const ret = arg0.port2; + return ret; + }; + imports.wbg.__wbg_postMessage_33dcf5caa3589c64 = function() { return handleError(function (arg0, arg1, arg2) { + arg0.postMessage(arg1, arg2); + }, arguments) }; + imports.wbg.__wbg_postMessage_3e7f3215320b4a9c = function() { return handleError(function (arg0, arg1) { + arg0.postMessage(arg1); + }, arguments) }; + imports.wbg.__wbg_postTask_9ba4c3cedae00b38 = function(arg0, arg1, arg2) { + const ret = arg0.postTask(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_pressure_8707a47b6fb1c1fd = function(arg0) { + const ret = arg0.pressure; + return ret; + }; + imports.wbg.__wbg_preventDefault_faafffcaad92972d = function(arg0) { + arg0.preventDefault(); + }; + imports.wbg.__wbg_process_5c1d670bc53614b8 = function(arg0) { + const ret = arg0.process; + return ret; + }; + imports.wbg.__wbg_prototype_0f68911d93450df4 = function() { + const ret = ResizeObserverEntry.prototype; + return ret; + }; + imports.wbg.__wbg_pushErrorScope_b52914ff10ba6ce3 = function(arg0, arg1) { + arg0.pushErrorScope(__wbindgen_enum_GpuErrorFilter[arg1]); + }; + imports.wbg.__wbg_push_3e9ce81246ef1d1b = function(arg0, arg1) { + const ret = arg0.push(arg1); + return ret; + }; + imports.wbg.__wbg_queryCounterEXT_6da4ab4ec9c37329 = function(arg0, arg1, arg2) { + arg0.queryCounterEXT(arg1, arg2 >>> 0); + }; + imports.wbg.__wbg_querySelectorAll_775f04e6f26ad643 = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.querySelectorAll(getStringFromWasm0(arg1, arg2)); + return ret; + }, arguments) }; + imports.wbg.__wbg_querySelector_473a7bd6647e7cbb = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.querySelector(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_queueMicrotask_3d422e1ba49c2500 = function(arg0) { + const ret = arg0.queueMicrotask; + return ret; + }; + imports.wbg.__wbg_queueMicrotask_5fc3e400ac3c03f4 = function(arg0) { + queueMicrotask(arg0); + }; + imports.wbg.__wbg_queueMicrotask_f301663ccadbb7d0 = function(arg0) { + queueMicrotask(arg0); + }; + imports.wbg.__wbg_queue_bea4017efaaf9904 = function(arg0) { + const ret = arg0.queue; + return ret; + }; + imports.wbg.__wbg_randomFillSync_ab2cfe79ebbf2740 = function() { return handleError(function (arg0, arg1) { + arg0.randomFillSync(arg1); + }, arguments) }; + imports.wbg.__wbg_readBuffer_8fd1512f6bdfc8f0 = function(arg0, arg1) { + arg0.readBuffer(arg1 >>> 0); + }; + imports.wbg.__wbg_readPixels_48fc96a447cda9aa = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + arg0.readPixels(arg1, arg2, arg3, arg4, arg5 >>> 0, arg6 >>> 0, arg7); + }, arguments) }; + imports.wbg.__wbg_readPixels_7b1022930a9026d1 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + arg0.readPixels(arg1, arg2, arg3, arg4, arg5 >>> 0, arg6 >>> 0, arg7); + }, arguments) }; + imports.wbg.__wbg_readPixels_da6e94b84b4cfd41 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + arg0.readPixels(arg1, arg2, arg3, arg4, arg5 >>> 0, arg6 >>> 0, arg7); + }, arguments) }; + imports.wbg.__wbg_reason_43acd39cce242b50 = function(arg0) { + const ret = arg0.reason; + return (__wbindgen_enum_GpuDeviceLostReason.indexOf(ret) + 1 || 3) - 1; + }; + imports.wbg.__wbg_removeEventListener_d14a328308e427ba = function() { return handleError(function (arg0, arg1, arg2, arg3) { + arg0.removeEventListener(getStringFromWasm0(arg1, arg2), arg3); + }, arguments) }; + imports.wbg.__wbg_removeListener_aee72eb2e5fba09c = function() { return handleError(function (arg0, arg1) { + arg0.removeListener(arg1); + }, arguments) }; + imports.wbg.__wbg_removeProperty_902c73a4430b3e54 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = arg1.removeProperty(getStringFromWasm0(arg2, arg3)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_renderbufferStorageMultisample_abd1099fecb2e2a4 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.renderbufferStorageMultisample(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_renderbufferStorage_56c61eb0bb2718a9 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.renderbufferStorage(arg1 >>> 0, arg2 >>> 0, arg3, arg4); + }; + imports.wbg.__wbg_renderbufferStorage_aa4b58453d5aca0f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.renderbufferStorage(arg1 >>> 0, arg2 >>> 0, arg3, arg4); + }; + imports.wbg.__wbg_repeat_56fa20e30d00be95 = function(arg0) { + const ret = arg0.repeat; + return ret; + }; + imports.wbg.__wbg_requestAdapter_e6dcfac497cafa7a = function(arg0, arg1) { + const ret = arg0.requestAdapter(arg1); + return ret; + }; + imports.wbg.__wbg_requestAnimationFrame_e8ca543d07df528e = function() { return handleError(function (arg0, arg1) { + const ret = arg0.requestAnimationFrame(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_requestDevice_03b802707d5a382c = function(arg0, arg1) { + const ret = arg0.requestDevice(arg1); + return ret; + }; + imports.wbg.__wbg_requestFullscreen_e1ad8752a4e33f7e = function(arg0) { + const ret = arg0.requestFullscreen; + return ret; + }; + imports.wbg.__wbg_requestFullscreen_f727b1f250ebb10a = function(arg0) { + const ret = arg0.requestFullscreen(); + return ret; + }; + imports.wbg.__wbg_requestIdleCallback_773c554fc8c5a310 = function(arg0) { + const ret = arg0.requestIdleCallback; + return ret; + }; + imports.wbg.__wbg_requestIdleCallback_ba1f658c72e2140c = function() { return handleError(function (arg0, arg1) { + const ret = arg0.requestIdleCallback(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_require_79b1e9274cde3c87 = function() { return handleError(function () { + const ret = module.require; + return ret; + }, arguments) }; + imports.wbg.__wbg_resolveQuerySet_811661fb23f3b699 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.resolveQuerySet(arg1, arg2 >>> 0, arg3 >>> 0, arg4, arg5 >>> 0); + }; + imports.wbg.__wbg_resolve_6a311e8bb26423ab = function(arg0) { + const ret = Promise.resolve(arg0); + return ret; + }; + imports.wbg.__wbg_revokeObjectURL_3e4ad6d46a9a93f1 = function() { return handleError(function (arg0, arg1) { + URL.revokeObjectURL(getStringFromWasm0(arg0, arg1)); + }, arguments) }; + imports.wbg.__wbg_samplerParameterf_a9708333dc0df03e = function(arg0, arg1, arg2, arg3) { + arg0.samplerParameterf(arg1, arg2 >>> 0, arg3); + }; + imports.wbg.__wbg_samplerParameteri_6011eca3eaa96ac6 = function(arg0, arg1, arg2, arg3) { + arg0.samplerParameteri(arg1, arg2 >>> 0, arg3); + }; + imports.wbg.__wbg_scheduler_10edeee35a76c7c6 = function(arg0) { + const ret = arg0.scheduler; + return ret; + }; + imports.wbg.__wbg_scheduler_6d71128f17fbca34 = function(arg0) { + const ret = arg0.scheduler; + return ret; + }; + imports.wbg.__wbg_scissor_4c06926fa8af817c = function(arg0, arg1, arg2, arg3, arg4) { + arg0.scissor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_scissor_608c4f610141e6df = function(arg0, arg1, arg2, arg3, arg4) { + arg0.scissor(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_search_4c8c4c416a168e55 = function() { return handleError(function (arg0, arg1) { + const ret = arg1.search; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_self_ac4343e4047b83cc = function() { return handleError(function () { + const ret = self.self; + return ret; + }, arguments) }; + imports.wbg.__wbg_setAttribute_e5d83ecaf7f586d5 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { + arg0.setAttribute(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4)); + }, arguments) }; + imports.wbg.__wbg_setBindGroup_62a3045b0921e429 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setBindGroup(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4), arg5, arg6 >>> 0); + }; + imports.wbg.__wbg_setBindGroup_6c0fd18e9a53a945 = function(arg0, arg1, arg2) { + arg0.setBindGroup(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_setBindGroup_7f3b61f1f482133b = function(arg0, arg1, arg2) { + arg0.setBindGroup(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_setBindGroup_bf767a5aa46a33ce = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setBindGroup(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4), arg5, arg6 >>> 0); + }; + imports.wbg.__wbg_setBindGroup_c4aaff14063226b4 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setBindGroup(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4), arg5, arg6 >>> 0); + }; + imports.wbg.__wbg_setBindGroup_f82e771dc1b69093 = function(arg0, arg1, arg2) { + arg0.setBindGroup(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_setBlendConstant_016723821cfb3aa4 = function(arg0, arg1) { + arg0.setBlendConstant(arg1); + }; + imports.wbg.__wbg_setIndexBuffer_286a40afdff411b7 = function(arg0, arg1, arg2, arg3) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3); + }; + imports.wbg.__wbg_setIndexBuffer_7efd0b7a40c65fb9 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3, arg4); + }; + imports.wbg.__wbg_setIndexBuffer_e091a9673bb575e2 = function(arg0, arg1, arg2, arg3) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3); + }; + imports.wbg.__wbg_setIndexBuffer_f0759f00036f615f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3, arg4); + }; + imports.wbg.__wbg_setPipeline_ba92070b8ee81cf9 = function(arg0, arg1) { + arg0.setPipeline(arg1); + }; + imports.wbg.__wbg_setPipeline_c344f76bae58c4d6 = function(arg0, arg1) { + arg0.setPipeline(arg1); + }; + imports.wbg.__wbg_setPipeline_d76451c50a121598 = function(arg0, arg1) { + arg0.setPipeline(arg1); + }; + imports.wbg.__wbg_setPointerCapture_6b89bc3d20c408af = function() { return handleError(function (arg0, arg1) { + arg0.setPointerCapture(arg1); + }, arguments) }; + imports.wbg.__wbg_setProperty_b11b0bad191551d1 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { + arg0.setProperty(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4)); + }, arguments) }; + imports.wbg.__wbg_setScissorRect_0b6ee0852ef0b6b9 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setScissorRect(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_setStencilReference_34fd3d59673a5a9d = function(arg0, arg1) { + arg0.setStencilReference(arg1 >>> 0); + }; + imports.wbg.__wbg_setTimeout_11f3c7cad8433a4f = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.setTimeout(arg1, arg2); + return ret; + }, arguments) }; + imports.wbg.__wbg_setTimeout_15ba883433c836ab = function() { return handleError(function (arg0, arg1) { + const ret = arg0.setTimeout(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_setVertexBuffer_06a90dc78e1ad9c4 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_setVertexBuffer_1540e9118b6c451d = function(arg0, arg1, arg2, arg3) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_setVertexBuffer_5166eedc06450701 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_setVertexBuffer_8621784e5014065b = function(arg0, arg1, arg2, arg3) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_setViewport_731ad30abb13f744 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setViewport(arg1, arg2, arg3, arg4, arg5, arg6); + }; + imports.wbg.__wbg_set_421385e996a16e02 = function() { return handleError(function (arg0, arg1, arg2) { + const ret = Reflect.set(arg0, arg1, arg2); + return ret; + }, arguments) }; + imports.wbg.__wbg_set_7b70226104a82921 = function(arg0, arg1, arg2) { + arg0.set(arg1, arg2 >>> 0); + }; + imports.wbg.__wbg_setbody_a548052400c35526 = function(arg0, arg1) { + arg0.body = arg1; + }; + imports.wbg.__wbg_setbox_f664fc1447c0b2bb = function(arg0, arg1) { + arg0.box = __wbindgen_enum_ResizeObserverBoxOptions[arg1]; + }; + imports.wbg.__wbg_setcredentials_6ae5f65d7ad22ffc = function(arg0, arg1) { + arg0.credentials = __wbindgen_enum_RequestCredentials[arg1]; + }; + imports.wbg.__wbg_setheaders_1f2d4c08004f4227 = function(arg0, arg1) { + arg0.headers = arg1; + }; + imports.wbg.__wbg_setheight_4286b13b9186d39f = function(arg0, arg1) { + arg0.height = arg1 >>> 0; + }; + imports.wbg.__wbg_setheight_7632621fed149fd9 = function(arg0, arg1) { + arg0.height = arg1 >>> 0; + }; + imports.wbg.__wbg_setmethod_c704d56d480d8580 = function(arg0, arg1, arg2) { + arg0.method = getStringFromWasm0(arg1, arg2); + }; + imports.wbg.__wbg_setmode_26f3e7a9f55ddb2d = function(arg0, arg1) { + arg0.mode = __wbindgen_enum_RequestMode[arg1]; + }; + imports.wbg.__wbg_setonmessage_1f177e6cba71d19d = function(arg0, arg1) { + arg0.onmessage = arg1; + }; + imports.wbg.__wbg_setonuncapturederror_19541466822d790b = function(arg0, arg1) { + arg0.onuncapturederror = arg1; + }; + imports.wbg.__wbg_setsignal_de26efe32c2e413d = function(arg0, arg1) { + arg0.signal = arg1; + }; + imports.wbg.__wbg_settabIndex_bc37dd560b089902 = function(arg0, arg1) { + arg0.tabIndex = arg1; + }; + imports.wbg.__wbg_settype_202db174d92fe493 = function(arg0, arg1, arg2) { + arg0.type = getStringFromWasm0(arg1, arg2); + }; + imports.wbg.__wbg_setwidth_5e43e6e177d3e2ec = function(arg0, arg1) { + arg0.width = arg1 >>> 0; + }; + imports.wbg.__wbg_setwidth_db46810857c0f6bd = function(arg0, arg1) { + arg0.width = arg1 >>> 0; + }; + imports.wbg.__wbg_shaderSource_7d9e91c6b9aaf864 = function(arg0, arg1, arg2, arg3) { + arg0.shaderSource(arg1, getStringFromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_shaderSource_b7db90958962e1f7 = function(arg0, arg1, arg2, arg3) { + arg0.shaderSource(arg1, getStringFromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_shiftKey_570898b1142a9898 = function(arg0) { + const ret = arg0.shiftKey; + return ret; + }; + imports.wbg.__wbg_shiftKey_e90da27a3092777e = function(arg0) { + const ret = arg0.shiftKey; + return ret; + }; + imports.wbg.__wbg_signal_fd2d6d0644f16ad8 = function(arg0) { + const ret = arg0.signal; + return ret; + }; + imports.wbg.__wbg_size_661bddb3f9898121 = function(arg0) { + const ret = arg0.size; + return ret; + }; + imports.wbg.__wbg_stack_0ed75d68575b0f3c = function(arg0, arg1) { + const ret = arg1.stack; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_start_a00c28f297559e1d = function(arg0) { + arg0.start(); + }; + imports.wbg.__wbg_status_5f9868b7ed8dd175 = function(arg0) { + const ret = arg0.status; + return ret; + }; + imports.wbg.__wbg_stencilFuncSeparate_903776516b404f1e = function(arg0, arg1, arg2, arg3, arg4) { + arg0.stencilFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3, arg4 >>> 0); + }; + imports.wbg.__wbg_stencilFuncSeparate_9987b0fe1f74adc3 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.stencilFuncSeparate(arg1 >>> 0, arg2 >>> 0, arg3, arg4 >>> 0); + }; + imports.wbg.__wbg_stencilMaskSeparate_24a5bad679d4896c = function(arg0, arg1, arg2) { + arg0.stencilMaskSeparate(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_stencilMaskSeparate_5ade706794e0ff10 = function(arg0, arg1, arg2) { + arg0.stencilMaskSeparate(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_stencilMask_8ccbc71e58e71b93 = function(arg0, arg1) { + arg0.stencilMask(arg1 >>> 0); + }; + imports.wbg.__wbg_stencilMask_e03561d8e6b7171a = function(arg0, arg1) { + arg0.stencilMask(arg1 >>> 0); + }; + imports.wbg.__wbg_stencilOpSeparate_13e313403862a2bc = function(arg0, arg1, arg2, arg3, arg4) { + arg0.stencilOpSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_stencilOpSeparate_e03fe45a6a83cf8f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.stencilOpSeparate(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_stringify_f5476f15b5654a07 = function() { return handleError(function (arg0) { + const ret = JSON.stringify(arg0); + return ret; + }, arguments) }; + imports.wbg.__wbg_style_e7c4e0938a7565b2 = function(arg0) { + const ret = arg0.style; + return ret; + }; + imports.wbg.__wbg_subarray_b4e9772c34a7f5ba = function(arg0, arg1, arg2) { + const ret = arg0.subarray(arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_submit_f635072bb3d05faa = function(arg0, arg1) { + arg0.submit(arg1); + }; + imports.wbg.__wbg_texImage2D_102612af3b3ea301 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texImage2D_38f7a3dc4dcf0183 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texImage3D_4828de4d80648b9d = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) { + arg0.texImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8 >>> 0, arg9 >>> 0, arg10); + }, arguments) }; + imports.wbg.__wbg_texParameteri_2cc96bb59a67d4c2 = function(arg0, arg1, arg2, arg3) { + arg0.texParameteri(arg1 >>> 0, arg2 >>> 0, arg3); + }; + imports.wbg.__wbg_texParameteri_8e4109b7fbd3b875 = function(arg0, arg1, arg2, arg3) { + arg0.texParameteri(arg1 >>> 0, arg2 >>> 0, arg3); + }; + imports.wbg.__wbg_texStorage2D_728b9632dbd913e2 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.texStorage2D(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_texStorage3D_04d10ef19e465ec2 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.texStorage3D(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5, arg6); + }; + imports.wbg.__wbg_texSubImage2D_0c095c30c73e34c0 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_3c9a9ceac3c27fe7 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_3dbb6fb895fd53a7 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_4e505a214a40fc20 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_7197aef4cdbc7d70 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_746d9e75d2dd12d1 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_ca1d7744b168aa02 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage2D_da8455e8da280cee = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) { + arg0.texSubImage2D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7 >>> 0, arg8 >>> 0, arg9); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_82336f6100e3ef24 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_831e19830a791320 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_9623fc609df925f5 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_9a8cb5676fdf0b50 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_a18f6424082a9393 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_d127dad275801f75 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_texSubImage3D_ebd1f2b229a92c5d = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) { + arg0.texSubImage3D(arg1 >>> 0, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 >>> 0, arg10 >>> 0, arg11); + }, arguments) }; + imports.wbg.__wbg_text_693c6c8a197588c7 = function() { return handleError(function (arg0) { + const ret = arg0.text(); + return ret; + }, arguments) }; + imports.wbg.__wbg_then_5c6469c1e1da9e59 = function(arg0, arg1) { + const ret = arg0.then(arg1); + return ret; + }; + imports.wbg.__wbg_then_faeb8aed8c1629b7 = function(arg0, arg1, arg2) { + const ret = arg0.then(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_type_c0d5d83032e9858a = function(arg0) { + const ret = arg0.type; + return (__wbindgen_enum_GpuCompilationMessageType.indexOf(ret) + 1 || 4) - 1; + }; + imports.wbg.__wbg_uniform1f_163e6ffe0d9805a4 = function(arg0, arg1, arg2) { + arg0.uniform1f(arg1, arg2); + }; + imports.wbg.__wbg_uniform1f_bb85eb8ed9248e52 = function(arg0, arg1, arg2) { + arg0.uniform1f(arg1, arg2); + }; + imports.wbg.__wbg_uniform1i_9fe01b91ff85aa85 = function(arg0, arg1, arg2) { + arg0.uniform1i(arg1, arg2); + }; + imports.wbg.__wbg_uniform1i_da7c764279d55bb5 = function(arg0, arg1, arg2) { + arg0.uniform1i(arg1, arg2); + }; + imports.wbg.__wbg_uniform1ui_1cd8b5fee3b44787 = function(arg0, arg1, arg2) { + arg0.uniform1ui(arg1, arg2 >>> 0); + }; + imports.wbg.__wbg_uniform2fv_40e0cc0b3d7ab815 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform2fv_d7ec4f77d2282f77 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform2iv_6d1ed66fa019f1a6 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform2iv_b36969471f3bb8e2 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform2uiv_e5d292b09c7c2eb4 = function(arg0, arg1, arg2, arg3) { + arg0.uniform2uiv(arg1, getArrayU32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3fv_4f40a7b75bcdeb91 = function(arg0, arg1, arg2, arg3) { + arg0.uniform3fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3fv_c6fea7086ffa568e = function(arg0, arg1, arg2, arg3) { + arg0.uniform3fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3iv_46cafa9a87333139 = function(arg0, arg1, arg2, arg3) { + arg0.uniform3iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3iv_c13167af320af60e = function(arg0, arg1, arg2, arg3) { + arg0.uniform3iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform3uiv_7e60873d7a35f50b = function(arg0, arg1, arg2, arg3) { + arg0.uniform3uiv(arg1, getArrayU32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4f_2408c0a3b4a0941d = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.uniform4f(arg1, arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_uniform4f_4eebf85a05c60a16 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.uniform4f(arg1, arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_uniform4fv_7ecf41f27e0e71ec = function(arg0, arg1, arg2, arg3) { + arg0.uniform4fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4fv_c88b1733f9a40a7a = function(arg0, arg1, arg2, arg3) { + arg0.uniform4fv(arg1, getArrayF32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4iv_0ee5d566bd3880e4 = function(arg0, arg1, arg2, arg3) { + arg0.uniform4iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4iv_cd69e9451d767045 = function(arg0, arg1, arg2, arg3) { + arg0.uniform4iv(arg1, getArrayI32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniform4uiv_c55d0b6c672eaf59 = function(arg0, arg1, arg2, arg3) { + arg0.uniform4uiv(arg1, getArrayU32FromWasm0(arg2, arg3)); + }; + imports.wbg.__wbg_uniformBlockBinding_e646e98e7f5da8fa = function(arg0, arg1, arg2, arg3) { + arg0.uniformBlockBinding(arg1, arg2 >>> 0, arg3 >>> 0); + }; + imports.wbg.__wbg_uniformMatrix2fv_ae2d3b42477e00fd = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix2fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix2fv_d44126fac416e7e4 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix2fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix2x3fv_18d94e4451a372cc = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix2x3fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix2x4fv_c34a8a330e7c94bd = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix2x4fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix3fv_652493ea4042e14f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix3fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix3fv_a3b27e44f0ad7caa = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix3fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix3x2fv_1bc7685c610e2b46 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix3x2fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix3x4fv_c99cdce05d7ffca9 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix3x4fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix4fv_a5f6838f6e217418 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix4fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix4fv_bbdf3d84ccedee84 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix4fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix4x2fv_05ec6db042145650 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix4x2fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_uniformMatrix4x3fv_c393892235ce0f8b = function(arg0, arg1, arg2, arg3, arg4) { + arg0.uniformMatrix4x3fv(arg1, arg2 !== 0, getArrayF32FromWasm0(arg3, arg4)); + }; + imports.wbg.__wbg_unmap_8c2e8131b2aaa844 = function(arg0) { + arg0.unmap(); + }; + imports.wbg.__wbg_unobserve_9198337c0c96042f = function(arg0, arg1) { + arg0.unobserve(arg1); + }; + imports.wbg.__wbg_url_ba6c16bbafb59895 = function(arg0, arg1) { + const ret = arg1.url; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_usage_13caa02888040e9f = function(arg0) { + const ret = arg0.usage; + return ret; + }; + imports.wbg.__wbg_useProgram_795e70e5047fcb65 = function(arg0, arg1) { + arg0.useProgram(arg1); + }; + imports.wbg.__wbg_useProgram_e84b53bf74bbe9b3 = function(arg0, arg1) { + arg0.useProgram(arg1); + }; + imports.wbg.__wbg_userAgentData_5e600df9bb352050 = function(arg0) { + const ret = arg0.userAgentData; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_userAgent_bfd54e5c60738678 = function() { return handleError(function (arg0, arg1) { + const ret = arg1.userAgent; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_valueOf_a2728b52687d72b4 = function(arg0) { + const ret = arg0.valueOf(); + return ret; + }; + imports.wbg.__wbg_value_30db1d77772f3236 = function(arg0) { + const ret = arg0.value; + return ret; + }; + imports.wbg.__wbg_versions_c71aa1626a93e0a1 = function(arg0) { + const ret = arg0.versions; + return ret; + }; + imports.wbg.__wbg_vertexAttribDivisorANGLE_78ad959056e0feb7 = function(arg0, arg1, arg2) { + arg0.vertexAttribDivisorANGLE(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_vertexAttribDivisor_bc3026299e814316 = function(arg0, arg1, arg2) { + arg0.vertexAttribDivisor(arg1 >>> 0, arg2 >>> 0); + }; + imports.wbg.__wbg_vertexAttribIPointer_4397ca04b895d127 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.vertexAttribIPointer(arg1 >>> 0, arg2, arg3 >>> 0, arg4, arg5); + }; + imports.wbg.__wbg_vertexAttribPointer_1738c34c1c0d57a0 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.vertexAttribPointer(arg1 >>> 0, arg2, arg3 >>> 0, arg4 !== 0, arg5, arg6); + }; + imports.wbg.__wbg_vertexAttribPointer_34a2b143ee35746f = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.vertexAttribPointer(arg1 >>> 0, arg2, arg3 >>> 0, arg4 !== 0, arg5, arg6); + }; + imports.wbg.__wbg_videoHeight_7d8449d4b1aad15d = function(arg0) { + const ret = arg0.videoHeight; + return ret; + }; + imports.wbg.__wbg_videoWidth_134d623b7b20f203 = function(arg0) { + const ret = arg0.videoWidth; + return ret; + }; + imports.wbg.__wbg_viewport_04c48fc077486d94 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.viewport(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_viewport_301bba26f65246ed = function(arg0, arg1, arg2, arg3, arg4) { + arg0.viewport(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbg_visibilityState_c2b01655a6777e68 = function(arg0) { + const ret = arg0.visibilityState; + return (__wbindgen_enum_VisibilityState.indexOf(ret) + 1 || 3) - 1; + }; + imports.wbg.__wbg_warn_a6963915e4da61f6 = function(arg0) { + console.warn(arg0); + }; + imports.wbg.__wbg_webkitFullscreenElement_0c4654cdfe6894e5 = function(arg0) { + const ret = arg0.webkitFullscreenElement; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_webkitRequestFullscreen_fe95241c4f21ea63 = function(arg0) { + arg0.webkitRequestFullscreen(); + }; + imports.wbg.__wbg_width_514dd9b3b0cff49c = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_551edb4bb900e3dd = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_826b25a505a0b357 = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_dfc6149b0c4d8821 = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_e9eedd46da897708 = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_ee6a46425045c0dd = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_window_1a23defd102c72f4 = function() { return handleError(function () { + const ret = window.window; + return ret; + }, arguments) }; + imports.wbg.__wbg_writeBuffer_5ca4981365eb5ac0 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.writeBuffer(arg1, arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_writeTexture_246118eb2f5a1592 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.writeTexture(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbindgen_boolean_get = function(arg0) { + const v = arg0; + const ret = typeof(v) === 'boolean' ? (v ? 1 : 0) : 2; + return ret; + }; + imports.wbg.__wbindgen_cb_drop = function(arg0) { + const obj = arg0.original; + if (obj.cnt-- == 1) { + obj.a = 0; + return true; + } + const ret = false; + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper3081 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 383, __wbg_adapter_36); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper5247 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 383, __wbg_adapter_36); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper5253 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 383, __wbg_adapter_36); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6660 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 383, __wbg_adapter_43); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6705 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 383, __wbg_adapter_36); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6722 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 383, __wbg_adapter_36); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6723 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 383, __wbg_adapter_36); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6724 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 383, __wbg_adapter_36); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6725 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 383, __wbg_adapter_36); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6726 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 383, __wbg_adapter_36); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6768 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 383, __wbg_adapter_36); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6769 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 383, __wbg_adapter_60); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper6770 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 383, __wbg_adapter_36); + return ret; + }; + imports.wbg.__wbindgen_debug_string = function(arg0, arg1) { + const ret = debugString(arg1); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_init_externref_table = function() { + const table = wasm.__wbindgen_export_1; + const offset = table.grow(4); + table.set(0, undefined); + table.set(offset + 0, undefined); + table.set(offset + 1, null); + table.set(offset + 2, true); + table.set(offset + 3, false); + ; + }; + imports.wbg.__wbindgen_is_function = function(arg0) { + const ret = typeof(arg0) === 'function'; + return ret; + }; + imports.wbg.__wbindgen_is_null = function(arg0) { + const ret = arg0 === null; + return ret; + }; + imports.wbg.__wbindgen_is_object = function(arg0) { + const val = arg0; + const ret = typeof(val) === 'object' && val !== null; + return ret; + }; + imports.wbg.__wbindgen_is_string = function(arg0) { + const ret = typeof(arg0) === 'string'; + return ret; + }; + imports.wbg.__wbindgen_is_undefined = function(arg0) { + const ret = arg0 === undefined; + return ret; + }; + imports.wbg.__wbindgen_memory = function() { + const ret = wasm.memory; + return ret; + }; + imports.wbg.__wbindgen_number_get = function(arg0, arg1) { + const obj = arg1; + const ret = typeof(obj) === 'number' ? obj : undefined; + getDataViewMemory0().setFloat64(arg0 + 8 * 1, isLikeNone(ret) ? 0 : ret, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true); + }; + imports.wbg.__wbindgen_number_new = function(arg0) { + const ret = arg0; + return ret; + }; + imports.wbg.__wbindgen_string_get = function(arg0, arg1) { + const obj = arg1; + const ret = typeof(obj) === 'string' ? obj : undefined; + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_string_new = function(arg0, arg1) { + const ret = getStringFromWasm0(arg0, arg1); + return ret; + }; + imports.wbg.__wbindgen_throw = function(arg0, arg1) { + throw new Error(getStringFromWasm0(arg0, arg1)); + }; + imports['env'] = __wbg_star0; + + return imports; +} + +function __wbg_init_memory(imports, memory) { + +} + +function __wbg_finalize_init(instance, module) { + wasm = instance.exports; + __wbg_init.__wbindgen_wasm_module = module; + cachedDataViewMemory0 = null; + cachedFloat32ArrayMemory0 = null; + cachedInt32ArrayMemory0 = null; + cachedUint32ArrayMemory0 = null; + cachedUint8ArrayMemory0 = null; + + + wasm.__wbindgen_start(); + return wasm; +} + +function initSync(module) { + if (wasm !== undefined) return wasm; + + + if (typeof module !== 'undefined') { + if (Object.getPrototypeOf(module) === Object.prototype) { + ({module} = module) + } else { + console.warn('using deprecated parameters for `initSync()`; pass a single object instead') + } + } + + const imports = __wbg_get_imports(); + + __wbg_init_memory(imports); + + if (!(module instanceof WebAssembly.Module)) { + module = new WebAssembly.Module(module); + } + + const instance = new WebAssembly.Instance(module, imports); + + return __wbg_finalize_init(instance, module); +} + +async function __wbg_init(module_or_path) { + if (wasm !== undefined) return wasm; + + + if (typeof module_or_path !== 'undefined') { + if (Object.getPrototypeOf(module_or_path) === Object.prototype) { + ({module_or_path} = module_or_path) + } else { + console.warn('using deprecated parameters for the initialization function; pass a single object instead') + } + } + + if (typeof module_or_path === 'undefined') { + module_or_path = new URL('tutorial9-models_bg.wasm', import.meta.url); + } + const imports = __wbg_get_imports(); + + if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) { + module_or_path = fetch(module_or_path); + } + + __wbg_init_memory(imports); + + const { instance, module } = await __wbg_load(await module_or_path, imports); + + return __wbg_finalize_init(instance, module); +} + +export { initSync }; +export default __wbg_init; diff --git a/wasm/tutorial9-models_bg.wasm b/wasm/tutorial9-models_bg.wasm new file mode 100644 index 00000000..e3d33614 Binary files /dev/null and b/wasm/tutorial9-models_bg.wasm differ diff --git a/wasm/vertex-animation.js b/wasm/vertex-animation.js new file mode 100644 index 00000000..f37ee31e --- /dev/null +++ b/wasm/vertex-animation.js @@ -0,0 +1,1718 @@ +import * as __wbg_star0 from 'env'; + +let wasm; + +function isLikeNone(x) { + return x === undefined || x === null; +} + +function addToExternrefTable0(obj) { + const idx = wasm.__externref_table_alloc(); + wasm.__wbindgen_export_1.set(idx, obj); + return idx; +} + +const cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : { decode: () => { throw Error('TextDecoder not available') } } ); + +if (typeof TextDecoder !== 'undefined') { cachedTextDecoder.decode(); }; + +let cachedUint8ArrayMemory0 = null; + +function getUint8ArrayMemory0() { + if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) { + cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer); + } + return cachedUint8ArrayMemory0; +} + +function getStringFromWasm0(ptr, len) { + ptr = ptr >>> 0; + return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len)); +} + +function handleError(f, args) { + try { + return f.apply(this, args); + } catch (e) { + const idx = addToExternrefTable0(e); + wasm.__wbindgen_exn_store(idx); + } +} + +let WASM_VECTOR_LEN = 0; + +const cachedTextEncoder = (typeof TextEncoder !== 'undefined' ? new TextEncoder('utf-8') : { encode: () => { throw Error('TextEncoder not available') } } ); + +const encodeString = (typeof cachedTextEncoder.encodeInto === 'function' + ? function (arg, view) { + return cachedTextEncoder.encodeInto(arg, view); +} + : function (arg, view) { + const buf = cachedTextEncoder.encode(arg); + view.set(buf); + return { + read: arg.length, + written: buf.length + }; +}); + +function passStringToWasm0(arg, malloc, realloc) { + + if (realloc === undefined) { + const buf = cachedTextEncoder.encode(arg); + const ptr = malloc(buf.length, 1) >>> 0; + getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf); + WASM_VECTOR_LEN = buf.length; + return ptr; + } + + let len = arg.length; + let ptr = malloc(len, 1) >>> 0; + + const mem = getUint8ArrayMemory0(); + + let offset = 0; + + for (; offset < len; offset++) { + const code = arg.charCodeAt(offset); + if (code > 0x7F) break; + mem[ptr + offset] = code; + } + + if (offset !== len) { + if (offset !== 0) { + arg = arg.slice(offset); + } + ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0; + const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len); + const ret = encodeString(arg, view); + + offset += ret.written; + ptr = realloc(ptr, len, offset, 1) >>> 0; + } + + WASM_VECTOR_LEN = offset; + return ptr; +} + +let cachedDataViewMemory0 = null; + +function getDataViewMemory0() { + if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) { + cachedDataViewMemory0 = new DataView(wasm.memory.buffer); + } + return cachedDataViewMemory0; +} + +let cachedUint32ArrayMemory0 = null; + +function getUint32ArrayMemory0() { + if (cachedUint32ArrayMemory0 === null || cachedUint32ArrayMemory0.byteLength === 0) { + cachedUint32ArrayMemory0 = new Uint32Array(wasm.memory.buffer); + } + return cachedUint32ArrayMemory0; +} + +function getArrayU32FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getUint32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len); +} + +const CLOSURE_DTORS = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(state => { + wasm.__wbindgen_export_6.get(state.dtor)(state.a, state.b) +}); + +function makeMutClosure(arg0, arg1, dtor, f) { + const state = { a: arg0, b: arg1, cnt: 1, dtor }; + const real = (...args) => { + // First up with a closure we increment the internal reference + // count. This ensures that the Rust closure environment won't + // be deallocated while we're invoking it. + state.cnt++; + const a = state.a; + state.a = 0; + try { + return f(a, state.b, ...args); + } finally { + if (--state.cnt === 0) { + wasm.__wbindgen_export_6.get(state.dtor)(a, state.b); + CLOSURE_DTORS.unregister(state); + } else { + state.a = a; + } + } + }; + real.original = state; + CLOSURE_DTORS.register(real, state, state); + return real; +} + +function debugString(val) { + // primitive types + const type = typeof val; + if (type == 'number' || type == 'boolean' || val == null) { + return `${val}`; + } + if (type == 'string') { + return `"${val}"`; + } + if (type == 'symbol') { + const description = val.description; + if (description == null) { + return 'Symbol'; + } else { + return `Symbol(${description})`; + } + } + if (type == 'function') { + const name = val.name; + if (typeof name == 'string' && name.length > 0) { + return `Function(${name})`; + } else { + return 'Function'; + } + } + // objects + if (Array.isArray(val)) { + const length = val.length; + let debug = '['; + if (length > 0) { + debug += debugString(val[0]); + } + for(let i = 1; i < length; i++) { + debug += ', ' + debugString(val[i]); + } + debug += ']'; + return debug; + } + // Test for built-in + const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val)); + let className; + if (builtInMatches && builtInMatches.length > 1) { + className = builtInMatches[1]; + } else { + // Failed to match the standard '[object ClassName]' + return toString.call(val); + } + if (className == 'Object') { + // we're a user defined class or Object + // JSON.stringify avoids problems with cycles, and is generally much + // easier than looping through ownProperties of `val`. + try { + return 'Object(' + JSON.stringify(val) + ')'; + } catch (_) { + return 'Object'; + } + } + // errors + if (val instanceof Error) { + return `${val.name}: ${val.message}\n${val.stack}`; + } + // TODO we could test for more things here, like `Set`s and `Map`s. + return className; +} +function __wbg_adapter_32(arg0, arg1, arg2) { + wasm.closure107_externref_shim(arg0, arg1, arg2); +} + +function __wbg_adapter_39(arg0, arg1) { + wasm._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hc519b4bd8e5dee38(arg0, arg1); +} + +function __wbg_adapter_56(arg0, arg1, arg2, arg3) { + wasm.closure140_externref_shim(arg0, arg1, arg2, arg3); +} + +const __wbindgen_enum_GpuCompilationMessageType = ["error", "warning", "info"]; + +const __wbindgen_enum_GpuDeviceLostReason = ["unknown", "destroyed"]; + +const __wbindgen_enum_GpuErrorFilter = ["validation", "out-of-memory", "internal"]; + +const __wbindgen_enum_GpuIndexFormat = ["uint16", "uint32"]; + +const __wbindgen_enum_GpuTextureFormat = ["r8unorm", "r8snorm", "r8uint", "r8sint", "r16uint", "r16sint", "r16float", "rg8unorm", "rg8snorm", "rg8uint", "rg8sint", "r32uint", "r32sint", "r32float", "rg16uint", "rg16sint", "rg16float", "rgba8unorm", "rgba8unorm-srgb", "rgba8snorm", "rgba8uint", "rgba8sint", "bgra8unorm", "bgra8unorm-srgb", "rgb9e5ufloat", "rgb10a2uint", "rgb10a2unorm", "rg11b10ufloat", "rg32uint", "rg32sint", "rg32float", "rgba16uint", "rgba16sint", "rgba16float", "rgba32uint", "rgba32sint", "rgba32float", "stencil8", "depth16unorm", "depth24plus", "depth24plus-stencil8", "depth32float", "depth32float-stencil8", "bc1-rgba-unorm", "bc1-rgba-unorm-srgb", "bc2-rgba-unorm", "bc2-rgba-unorm-srgb", "bc3-rgba-unorm", "bc3-rgba-unorm-srgb", "bc4-r-unorm", "bc4-r-snorm", "bc5-rg-unorm", "bc5-rg-snorm", "bc6h-rgb-ufloat", "bc6h-rgb-float", "bc7-rgba-unorm", "bc7-rgba-unorm-srgb", "etc2-rgb8unorm", "etc2-rgb8unorm-srgb", "etc2-rgb8a1unorm", "etc2-rgb8a1unorm-srgb", "etc2-rgba8unorm", "etc2-rgba8unorm-srgb", "eac-r11unorm", "eac-r11snorm", "eac-rg11unorm", "eac-rg11snorm", "astc-4x4-unorm", "astc-4x4-unorm-srgb", "astc-5x4-unorm", "astc-5x4-unorm-srgb", "astc-5x5-unorm", "astc-5x5-unorm-srgb", "astc-6x5-unorm", "astc-6x5-unorm-srgb", "astc-6x6-unorm", "astc-6x6-unorm-srgb", "astc-8x5-unorm", "astc-8x5-unorm-srgb", "astc-8x6-unorm", "astc-8x6-unorm-srgb", "astc-8x8-unorm", "astc-8x8-unorm-srgb", "astc-10x5-unorm", "astc-10x5-unorm-srgb", "astc-10x6-unorm", "astc-10x6-unorm-srgb", "astc-10x8-unorm", "astc-10x8-unorm-srgb", "astc-10x10-unorm", "astc-10x10-unorm-srgb", "astc-12x10-unorm", "astc-12x10-unorm-srgb", "astc-12x12-unorm", "astc-12x12-unorm-srgb"]; + +const __wbindgen_enum_ResizeObserverBoxOptions = ["border-box", "content-box", "device-pixel-content-box"]; + +const __wbindgen_enum_VisibilityState = ["hidden", "visible"]; + +async function __wbg_load(module, imports) { + if (typeof Response === 'function' && module instanceof Response) { + if (typeof WebAssembly.instantiateStreaming === 'function') { + try { + return await WebAssembly.instantiateStreaming(module, imports); + + } catch (e) { + if (module.headers.get('Content-Type') != 'application/wasm') { + console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e); + + } else { + throw e; + } + } + } + + const bytes = await module.arrayBuffer(); + return await WebAssembly.instantiate(bytes, imports); + + } else { + const instance = await WebAssembly.instantiate(module, imports); + + if (instance instanceof WebAssembly.Instance) { + return { instance, module }; + + } else { + return instance; + } + } +} + +function __wbg_get_imports() { + const imports = {}; + imports.wbg = {}; + imports.wbg.__wbg_Window_96e58b3552ce6bb1 = function(arg0) { + const ret = arg0.Window; + return ret; + }; + imports.wbg.__wbg_Window_cf5b693340a7c469 = function(arg0) { + const ret = arg0.Window; + return ret; + }; + imports.wbg.__wbg_WorkerGlobalScope_354364d1b0bd06e5 = function(arg0) { + const ret = arg0.WorkerGlobalScope; + return ret; + }; + imports.wbg.__wbg_abort_19de2f828ee0874a = function(arg0) { + arg0.abort(); + }; + imports.wbg.__wbg_activeElement_d1a1f2b334adf636 = function(arg0) { + const ret = arg0.activeElement; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_addEventListener_e27053e488770e58 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + arg0.addEventListener(getStringFromWasm0(arg1, arg2), arg3); + }, arguments) }; + imports.wbg.__wbg_addListener_dca1ccc036e24997 = function() { return handleError(function (arg0, arg1) { + arg0.addListener(arg1); + }, arguments) }; + imports.wbg.__wbg_altKey_56dd0987e7ccbbf2 = function(arg0) { + const ret = arg0.altKey; + return ret; + }; + imports.wbg.__wbg_altKey_583c79ba3f4fce1e = function(arg0) { + const ret = arg0.altKey; + return ret; + }; + imports.wbg.__wbg_animate_310f1b8e5b1fdb56 = function(arg0, arg1, arg2) { + const ret = arg0.animate(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_appendChild_805222aed73feea9 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.appendChild(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_beginComputePass_90d5303e604970cb = function(arg0, arg1) { + const ret = arg0.beginComputePass(arg1); + return ret; + }; + imports.wbg.__wbg_beginRenderPass_9739520c601001c3 = function(arg0, arg1) { + const ret = arg0.beginRenderPass(arg1); + return ret; + }; + imports.wbg.__wbg_blockSize_e0006fb003814895 = function(arg0) { + const ret = arg0.blockSize; + return ret; + }; + imports.wbg.__wbg_body_83d4bc4961a422aa = function(arg0) { + const ret = arg0.body; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_brand_67e4f3d950154d0a = function(arg0, arg1) { + const ret = arg1.brand; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_brands_1ec54d613da9db02 = function(arg0) { + const ret = arg0.brands; + return ret; + }; + imports.wbg.__wbg_buffer_6e1d53ff183194fc = function(arg0) { + const ret = arg0.buffer; + return ret; + }; + imports.wbg.__wbg_buffer_ffdeb2ee67420f9e = function(arg0) { + const ret = arg0.buffer; + return ret; + }; + imports.wbg.__wbg_button_db48f93638c59f95 = function(arg0) { + const ret = arg0.button; + return ret; + }; + imports.wbg.__wbg_buttons_b962d6dc116cd1a5 = function(arg0) { + const ret = arg0.buttons; + return ret; + }; + imports.wbg.__wbg_call_0411c0c3c424db9a = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.call(arg1, arg2); + return ret; + }, arguments) }; + imports.wbg.__wbg_call_3114932863209ca6 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.call(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_cancelAnimationFrame_f1ad512e269ea165 = function() { return handleError(function (arg0, arg1) { + arg0.cancelAnimationFrame(arg1); + }, arguments) }; + imports.wbg.__wbg_cancelIdleCallback_bcc2dc9be9de0744 = function(arg0, arg1) { + arg0.cancelIdleCallback(arg1 >>> 0); + }; + imports.wbg.__wbg_cancel_3b69067dcdf7ffb7 = function(arg0) { + arg0.cancel(); + }; + imports.wbg.__wbg_catch_9da7d002aa356f1d = function(arg0, arg1) { + const ret = arg0.catch(arg1); + return ret; + }; + imports.wbg.__wbg_clearBuffer_6164fc25d22b25cc = function(arg0, arg1, arg2, arg3) { + arg0.clearBuffer(arg1, arg2, arg3); + }; + imports.wbg.__wbg_clearBuffer_cfcaaf1fb2baa885 = function(arg0, arg1, arg2) { + arg0.clearBuffer(arg1, arg2); + }; + imports.wbg.__wbg_clearTimeout_da4408c46e51bc7a = function(arg0, arg1) { + arg0.clearTimeout(arg1); + }; + imports.wbg.__wbg_close_35d643897b189a00 = function(arg0) { + arg0.close(); + }; + imports.wbg.__wbg_code_d8226b2133366406 = function(arg0, arg1) { + const ret = arg1.code; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_configure_2414aed971d368cd = function(arg0, arg1) { + arg0.configure(arg1); + }; + imports.wbg.__wbg_contains_6947e163e2a3c092 = function(arg0, arg1) { + const ret = arg0.contains(arg1); + return ret; + }; + imports.wbg.__wbg_contentRect_7aaa87e16fd2882d = function(arg0) { + const ret = arg0.contentRect; + return ret; + }; + imports.wbg.__wbg_copyBufferToBuffer_1ba67191114656a1 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.copyBufferToBuffer(arg1, arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_copyBufferToTexture_878d31d479e48f28 = function(arg0, arg1, arg2, arg3) { + arg0.copyBufferToTexture(arg1, arg2, arg3); + }; + imports.wbg.__wbg_copyExternalImageToTexture_7878d196c0b60d39 = function(arg0, arg1, arg2, arg3) { + arg0.copyExternalImageToTexture(arg1, arg2, arg3); + }; + imports.wbg.__wbg_copyTextureToBuffer_6a8fe0e90f0a663d = function(arg0, arg1, arg2, arg3) { + arg0.copyTextureToBuffer(arg1, arg2, arg3); + }; + imports.wbg.__wbg_copyTextureToTexture_0a06a393d6726b4a = function(arg0, arg1, arg2, arg3) { + arg0.copyTextureToTexture(arg1, arg2, arg3); + }; + imports.wbg.__wbg_createBindGroupLayout_1d93b6d41c87ba9d = function(arg0, arg1) { + const ret = arg0.createBindGroupLayout(arg1); + return ret; + }; + imports.wbg.__wbg_createBindGroup_61cd07ec9d423432 = function(arg0, arg1) { + const ret = arg0.createBindGroup(arg1); + return ret; + }; + imports.wbg.__wbg_createBuffer_963aa00d5fe859e4 = function(arg0, arg1) { + const ret = arg0.createBuffer(arg1); + return ret; + }; + imports.wbg.__wbg_createCommandEncoder_f0e1613e9a2dc1eb = function(arg0, arg1) { + const ret = arg0.createCommandEncoder(arg1); + return ret; + }; + imports.wbg.__wbg_createComputePipeline_b9616b9fe2f4eb2f = function(arg0, arg1) { + const ret = arg0.createComputePipeline(arg1); + return ret; + }; + imports.wbg.__wbg_createElement_22b48bfb31a0c20e = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.createElement(getStringFromWasm0(arg1, arg2)); + return ret; + }, arguments) }; + imports.wbg.__wbg_createObjectURL_06505af3e8787cc8 = function() { return handleError(function (arg0, arg1) { + const ret = URL.createObjectURL(arg1); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_createPipelineLayout_56c6cf983f892d2b = function(arg0, arg1) { + const ret = arg0.createPipelineLayout(arg1); + return ret; + }; + imports.wbg.__wbg_createQuerySet_c14be802adf7c207 = function(arg0, arg1) { + const ret = arg0.createQuerySet(arg1); + return ret; + }; + imports.wbg.__wbg_createRenderBundleEncoder_8e4bdffea72f8c1f = function(arg0, arg1) { + const ret = arg0.createRenderBundleEncoder(arg1); + return ret; + }; + imports.wbg.__wbg_createRenderPipeline_079a88a0601fcce1 = function(arg0, arg1) { + const ret = arg0.createRenderPipeline(arg1); + return ret; + }; + imports.wbg.__wbg_createSampler_ef5578990df3baf7 = function(arg0, arg1) { + const ret = arg0.createSampler(arg1); + return ret; + }; + imports.wbg.__wbg_createShaderModule_17f451ea25cae47c = function(arg0, arg1) { + const ret = arg0.createShaderModule(arg1); + return ret; + }; + imports.wbg.__wbg_createTexture_01cc1cd2fea732d9 = function(arg0, arg1) { + const ret = arg0.createTexture(arg1); + return ret; + }; + imports.wbg.__wbg_createView_04701884291e1ccc = function(arg0, arg1) { + const ret = arg0.createView(arg1); + return ret; + }; + imports.wbg.__wbg_crypto_ed58b8e10a292839 = function(arg0) { + const ret = arg0.crypto; + return ret; + }; + imports.wbg.__wbg_ctrlKey_60b29e015a543678 = function(arg0) { + const ret = arg0.ctrlKey; + return ret; + }; + imports.wbg.__wbg_ctrlKey_ab341328ab202d37 = function(arg0) { + const ret = arg0.ctrlKey; + return ret; + }; + imports.wbg.__wbg_debug_347b3d1f33e1c28e = function(arg0) { + console.debug(arg0); + }; + imports.wbg.__wbg_deltaMode_a4cc321212f87817 = function(arg0) { + const ret = arg0.deltaMode; + return ret; + }; + imports.wbg.__wbg_deltaX_27e2939a1af8c940 = function(arg0) { + const ret = arg0.deltaX; + return ret; + }; + imports.wbg.__wbg_deltaY_4bb52a4f0a7ad28b = function(arg0) { + const ret = arg0.deltaY; + return ret; + }; + imports.wbg.__wbg_destroy_35f94012e5bb9c17 = function(arg0) { + arg0.destroy(); + }; + imports.wbg.__wbg_destroy_767d9dde1008e293 = function(arg0) { + arg0.destroy(); + }; + imports.wbg.__wbg_destroy_c6af4226dda95dbd = function(arg0) { + arg0.destroy(); + }; + imports.wbg.__wbg_devicePixelContentBoxSize_1ea2c6145730b8c0 = function(arg0) { + const ret = arg0.devicePixelContentBoxSize; + return ret; + }; + imports.wbg.__wbg_devicePixelRatio_f4eb7cbe3a812de0 = function(arg0) { + const ret = arg0.devicePixelRatio; + return ret; + }; + imports.wbg.__wbg_disconnect_8b7c928b6057719b = function(arg0) { + arg0.disconnect(); + }; + imports.wbg.__wbg_disconnect_c45e8044053eddf3 = function(arg0) { + arg0.disconnect(); + }; + imports.wbg.__wbg_dispatchWorkgroupsIndirect_8b25efab93a7a433 = function(arg0, arg1, arg2) { + arg0.dispatchWorkgroupsIndirect(arg1, arg2); + }; + imports.wbg.__wbg_dispatchWorkgroups_c102fa81b955935d = function(arg0, arg1, arg2, arg3) { + arg0.dispatchWorkgroups(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0); + }; + imports.wbg.__wbg_document_c488ca7509cc6938 = function(arg0) { + const ret = arg0.document; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_drawIndexedIndirect_34484fc6227c7bc8 = function(arg0, arg1, arg2) { + arg0.drawIndexedIndirect(arg1, arg2); + }; + imports.wbg.__wbg_drawIndexedIndirect_5a7c30bb5f1d5b67 = function(arg0, arg1, arg2) { + arg0.drawIndexedIndirect(arg1, arg2); + }; + imports.wbg.__wbg_drawIndexed_115af1449b52a948 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.drawIndexed(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5 >>> 0); + }; + imports.wbg.__wbg_drawIndexed_a587cce4c317791f = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.drawIndexed(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5 >>> 0); + }; + imports.wbg.__wbg_drawIndirect_036d71498a21f1a3 = function(arg0, arg1, arg2) { + arg0.drawIndirect(arg1, arg2); + }; + imports.wbg.__wbg_drawIndirect_a1d7c5e893aa5756 = function(arg0, arg1, arg2) { + arg0.drawIndirect(arg1, arg2); + }; + imports.wbg.__wbg_draw_5351b12033166aca = function(arg0, arg1, arg2, arg3, arg4) { + arg0.draw(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_draw_e2a7c5d66fb2d244 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.draw(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_end_0ac71677a5c1717a = function(arg0) { + arg0.end(); + }; + imports.wbg.__wbg_end_6f776519f1faa582 = function(arg0) { + arg0.end(); + }; + imports.wbg.__wbg_error_2a6b93fdada7ff11 = function(arg0) { + console.error(arg0); + }; + imports.wbg.__wbg_error_7534b8e9a36f1ab4 = function(arg0, arg1) { + let deferred0_0; + let deferred0_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + console.error(getStringFromWasm0(arg0, arg1)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + } + }; + imports.wbg.__wbg_error_e98e6aadd08e0b94 = function(arg0) { + const ret = arg0.error; + return ret; + }; + imports.wbg.__wbg_error_f0dde81ae1e4cfea = function(arg0, arg1) { + console.error(arg0, arg1); + }; + imports.wbg.__wbg_executeBundles_8e6c0614da2805d4 = function(arg0, arg1) { + arg0.executeBundles(arg1); + }; + imports.wbg.__wbg_features_1b464383ea8a7691 = function(arg0) { + const ret = arg0.features; + return ret; + }; + imports.wbg.__wbg_features_e5fbbc2760867852 = function(arg0) { + const ret = arg0.features; + return ret; + }; + imports.wbg.__wbg_finish_20711371c58df61c = function(arg0) { + const ret = arg0.finish(); + return ret; + }; + imports.wbg.__wbg_finish_34b2c54329c8719f = function(arg0, arg1) { + const ret = arg0.finish(arg1); + return ret; + }; + imports.wbg.__wbg_finish_a9ab917e756ea00c = function(arg0, arg1) { + const ret = arg0.finish(arg1); + return ret; + }; + imports.wbg.__wbg_finish_e0a6c97c0622f843 = function(arg0) { + const ret = arg0.finish(); + return ret; + }; + imports.wbg.__wbg_focus_c71947fc3fe22147 = function() { return handleError(function (arg0) { + arg0.focus(); + }, arguments) }; + imports.wbg.__wbg_fullscreenElement_a613ad02fa918fb4 = function(arg0) { + const ret = arg0.fullscreenElement; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getBindGroupLayout_4a94df6108ac6667 = function(arg0, arg1) { + const ret = arg0.getBindGroupLayout(arg1 >>> 0); + return ret; + }; + imports.wbg.__wbg_getBindGroupLayout_80e803d942962f6a = function(arg0, arg1) { + const ret = arg0.getBindGroupLayout(arg1 >>> 0); + return ret; + }; + imports.wbg.__wbg_getCoalescedEvents_1372a1922f78401a = function(arg0) { + const ret = arg0.getCoalescedEvents; + return ret; + }; + imports.wbg.__wbg_getCoalescedEvents_3736b5e5d63bed7b = function(arg0) { + const ret = arg0.getCoalescedEvents(); + return ret; + }; + imports.wbg.__wbg_getCompilationInfo_2af3ecdfeda551a3 = function(arg0) { + const ret = arg0.getCompilationInfo(); + return ret; + }; + imports.wbg.__wbg_getComputedStyle_c3a9de7674a38310 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.getComputedStyle(arg1); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getContext_02d86c7d9cfa709e = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.getContext(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getContext_24d4414b979c1bbd = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.getContext(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getCurrentTexture_5a79cda2ff36e1ee = function(arg0) { + const ret = arg0.getCurrentTexture(); + return ret; + }; + imports.wbg.__wbg_getElementById_7b2db24a9b54f077 = function(arg0, arg1, arg2) { + const ret = arg0.getElementById(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getMappedRange_932dd043ae22ee0a = function(arg0, arg1, arg2) { + const ret = arg0.getMappedRange(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_getOwnPropertyDescriptor_c701b185423f5b7e = function(arg0, arg1) { + const ret = Object.getOwnPropertyDescriptor(arg0, arg1); + return ret; + }; + imports.wbg.__wbg_getPreferredCanvasFormat_de73c02773a5209e = function(arg0) { + const ret = arg0.getPreferredCanvasFormat(); + return (__wbindgen_enum_GpuTextureFormat.indexOf(ret) + 1 || 96) - 1; + }; + imports.wbg.__wbg_getPropertyValue_e87121b8549f72d5 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = arg1.getPropertyValue(getStringFromWasm0(arg2, arg3)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_getRandomValues_bcb4912f16000dc4 = function() { return handleError(function (arg0, arg1) { + arg0.getRandomValues(arg1); + }, arguments) }; + imports.wbg.__wbg_get_68aa371864aa301a = function(arg0, arg1) { + const ret = arg0[arg1 >>> 0]; + return ret; + }; + imports.wbg.__wbg_get_6b316bfdb1b95076 = function(arg0, arg1) { + const ret = arg0[arg1 >>> 0]; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_globalThis_1e2ac1d6eee845b3 = function() { return handleError(function () { + const ret = globalThis.globalThis; + return ret; + }, arguments) }; + imports.wbg.__wbg_global_f25a574ae080367c = function() { return handleError(function () { + const ret = global.global; + return ret; + }, arguments) }; + imports.wbg.__wbg_gpu_87871e8f7ace8fee = function(arg0) { + const ret = arg0.gpu; + return ret; + }; + imports.wbg.__wbg_has_624cbf0451d880e8 = function(arg0, arg1, arg2) { + const ret = arg0.has(getStringFromWasm0(arg1, arg2)); + return ret; + }; + imports.wbg.__wbg_height_e509816ec3fdf5b1 = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_info_b6bd3cb6471c2b4c = function(arg0) { + console.info(arg0); + }; + imports.wbg.__wbg_inlineSize_6f8d0983462c2919 = function(arg0) { + const ret = arg0.inlineSize; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuAdapter_0731153d2b08720b = function(arg0) { + let result; + try { + result = arg0 instanceof GPUAdapter; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuCanvasContext_d14121c7bd72fcef = function(arg0) { + let result; + try { + result = arg0 instanceof GPUCanvasContext; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuDeviceLostInfo_a3677ebb8241d800 = function(arg0) { + let result; + try { + result = arg0 instanceof GPUDeviceLostInfo; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuOutOfMemoryError_391d9a08edbfa04b = function(arg0) { + let result; + try { + result = arg0 instanceof GPUOutOfMemoryError; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuValidationError_f4d803c383da3c92 = function(arg0) { + let result; + try { + result = arg0 instanceof GPUValidationError; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_Object_f0f57d6eeca1b81d = function(arg0) { + let result; + try { + result = arg0 instanceof Object; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_Window_a959820eb267fe22 = function(arg0) { + let result; + try { + result = arg0 instanceof Window; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_isIntersecting_9059d5bcaf29f415 = function(arg0) { + const ret = arg0.isIntersecting; + return ret; + }; + imports.wbg.__wbg_is_20768e55ad2a7c3f = function(arg0, arg1) { + const ret = Object.is(arg0, arg1); + return ret; + }; + imports.wbg.__wbg_key_02315cd3f595756b = function(arg0, arg1) { + const ret = arg1.key; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_label_2082ab37d2ad170d = function(arg0, arg1) { + const ret = arg1.label; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_length_2e63ba34c4121df5 = function(arg0) { + const ret = arg0.length; + return ret; + }; + imports.wbg.__wbg_length_9df32f7add647235 = function(arg0) { + const ret = arg0.length; + return ret; + }; + imports.wbg.__wbg_length_e74df4881604f1d9 = function(arg0) { + const ret = arg0.length; + return ret; + }; + imports.wbg.__wbg_limits_2dd632c891786ddf = function(arg0) { + const ret = arg0.limits; + return ret; + }; + imports.wbg.__wbg_limits_f6411f884b0b2d62 = function(arg0) { + const ret = arg0.limits; + return ret; + }; + imports.wbg.__wbg_lineNum_0246de1e072ffe19 = function(arg0) { + const ret = arg0.lineNum; + return ret; + }; + imports.wbg.__wbg_location_54d35e8c85dcfb9c = function(arg0) { + const ret = arg0.location; + return ret; + }; + imports.wbg.__wbg_location_e9eba129bf0612a5 = function(arg0) { + const ret = arg0.location; + return ret; + }; + imports.wbg.__wbg_log_d818ca3cab23fc77 = function(arg0) { + console.log(arg0); + }; + imports.wbg.__wbg_lost_6e4d29847ce2a34a = function(arg0) { + const ret = arg0.lost; + return ret; + }; + imports.wbg.__wbg_mapAsync_37f5e03edf2e1352 = function(arg0, arg1, arg2, arg3) { + const ret = arg0.mapAsync(arg1 >>> 0, arg2, arg3); + return ret; + }; + imports.wbg.__wbg_matchMedia_0be65181eeae951c = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.matchMedia(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_matches_254463383aee4688 = function(arg0) { + const ret = arg0.matches; + return ret; + }; + imports.wbg.__wbg_maxBindGroups_768ca5e8623bf450 = function(arg0) { + const ret = arg0.maxBindGroups; + return ret; + }; + imports.wbg.__wbg_maxBindingsPerBindGroup_057972d600d69719 = function(arg0) { + const ret = arg0.maxBindingsPerBindGroup; + return ret; + }; + imports.wbg.__wbg_maxBufferSize_e237b44f19a5a62b = function(arg0) { + const ret = arg0.maxBufferSize; + return ret; + }; + imports.wbg.__wbg_maxColorAttachmentBytesPerSample_d6c7b4051d22c6d6 = function(arg0) { + const ret = arg0.maxColorAttachmentBytesPerSample; + return ret; + }; + imports.wbg.__wbg_maxColorAttachments_7a18ba24c05edcfd = function(arg0) { + const ret = arg0.maxColorAttachments; + return ret; + }; + imports.wbg.__wbg_maxComputeInvocationsPerWorkgroup_b99c2f3611633992 = function(arg0) { + const ret = arg0.maxComputeInvocationsPerWorkgroup; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupSizeX_adb26da9ed7f77f7 = function(arg0) { + const ret = arg0.maxComputeWorkgroupSizeX; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupSizeY_cc217559c98be33b = function(arg0) { + const ret = arg0.maxComputeWorkgroupSizeY; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupSizeZ_66606a80e2cf2309 = function(arg0) { + const ret = arg0.maxComputeWorkgroupSizeZ; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupStorageSize_cb6235497b8c4997 = function(arg0) { + const ret = arg0.maxComputeWorkgroupStorageSize; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupsPerDimension_6bf550b5f21d57cf = function(arg0) { + const ret = arg0.maxComputeWorkgroupsPerDimension; + return ret; + }; + imports.wbg.__wbg_maxDynamicStorageBuffersPerPipelineLayout_c6ac20334e328b47 = function(arg0) { + const ret = arg0.maxDynamicStorageBuffersPerPipelineLayout; + return ret; + }; + imports.wbg.__wbg_maxDynamicUniformBuffersPerPipelineLayout_aa8f14a74b440f01 = function(arg0) { + const ret = arg0.maxDynamicUniformBuffersPerPipelineLayout; + return ret; + }; + imports.wbg.__wbg_maxSampledTexturesPerShaderStage_db7c4922cc60144a = function(arg0) { + const ret = arg0.maxSampledTexturesPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxSamplersPerShaderStage_538705fe2263e710 = function(arg0) { + const ret = arg0.maxSamplersPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxStorageBufferBindingSize_32178c0f5f7f85cb = function(arg0) { + const ret = arg0.maxStorageBufferBindingSize; + return ret; + }; + imports.wbg.__wbg_maxStorageBuffersPerShaderStage_9f67e9eae0089f77 = function(arg0) { + const ret = arg0.maxStorageBuffersPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxStorageTexturesPerShaderStage_57239664936031cf = function(arg0) { + const ret = arg0.maxStorageTexturesPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxTextureArrayLayers_db5d4e486c78ae04 = function(arg0) { + const ret = arg0.maxTextureArrayLayers; + return ret; + }; + imports.wbg.__wbg_maxTextureDimension1D_3475085ffacabbdc = function(arg0) { + const ret = arg0.maxTextureDimension1D; + return ret; + }; + imports.wbg.__wbg_maxTextureDimension2D_7c8d5ecf09eb8519 = function(arg0) { + const ret = arg0.maxTextureDimension2D; + return ret; + }; + imports.wbg.__wbg_maxTextureDimension3D_8bd976677a0f91d4 = function(arg0) { + const ret = arg0.maxTextureDimension3D; + return ret; + }; + imports.wbg.__wbg_maxUniformBufferBindingSize_95b1a54e7e4a0f0f = function(arg0) { + const ret = arg0.maxUniformBufferBindingSize; + return ret; + }; + imports.wbg.__wbg_maxUniformBuffersPerShaderStage_5f475d9a453af14d = function(arg0) { + const ret = arg0.maxUniformBuffersPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxVertexAttributes_4c48ca2f5d32f860 = function(arg0) { + const ret = arg0.maxVertexAttributes; + return ret; + }; + imports.wbg.__wbg_maxVertexBufferArrayStride_2233f6933ecc5a16 = function(arg0) { + const ret = arg0.maxVertexBufferArrayStride; + return ret; + }; + imports.wbg.__wbg_maxVertexBuffers_c47e508cd7348554 = function(arg0) { + const ret = arg0.maxVertexBuffers; + return ret; + }; + imports.wbg.__wbg_message_0762358e59db7ed6 = function(arg0, arg1) { + const ret = arg1.message; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_message_7957ab09f64c6822 = function(arg0, arg1) { + const ret = arg1.message; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_message_b163994503433c9e = function(arg0, arg1) { + const ret = arg1.message; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_messages_da071582f72bc978 = function(arg0) { + const ret = arg0.messages; + return ret; + }; + imports.wbg.__wbg_metaKey_34d5658170ffb3ee = function(arg0) { + const ret = arg0.metaKey; + return ret; + }; + imports.wbg.__wbg_metaKey_6c8e9228e8dda152 = function(arg0) { + const ret = arg0.metaKey; + return ret; + }; + imports.wbg.__wbg_minStorageBufferOffsetAlignment_51b4801fac3a58de = function(arg0) { + const ret = arg0.minStorageBufferOffsetAlignment; + return ret; + }; + imports.wbg.__wbg_minUniformBufferOffsetAlignment_5d62a77924b2335f = function(arg0) { + const ret = arg0.minUniformBufferOffsetAlignment; + return ret; + }; + imports.wbg.__wbg_movementX_e32c342d96d1c701 = function(arg0) { + const ret = arg0.movementX; + return ret; + }; + imports.wbg.__wbg_movementY_136c6febb976ca3b = function(arg0) { + const ret = arg0.movementY; + return ret; + }; + imports.wbg.__wbg_msCrypto_0a36e2ec3a343d26 = function(arg0) { + const ret = arg0.msCrypto; + return ret; + }; + imports.wbg.__wbg_navigator_2936a93ec3c6f4c5 = function(arg0) { + const ret = arg0.navigator; + return ret; + }; + imports.wbg.__wbg_navigator_da495c9e52e160b1 = function(arg0) { + const ret = arg0.navigator; + return ret; + }; + imports.wbg.__wbg_new_076cac58bb698dd4 = function() { + const ret = new Object(); + return ret; + }; + imports.wbg.__wbg_new_0c28e72025e00594 = function() { + const ret = new Array(); + return ret; + }; + imports.wbg.__wbg_new_23362fa370a0a372 = function(arg0) { + const ret = new Uint8Array(arg0); + return ret; + }; + imports.wbg.__wbg_new_238671e08bf4fcbb = function() { return handleError(function () { + const ret = new MessageChannel(); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_4b15073a88792687 = function() { return handleError(function (arg0) { + const ret = new ResizeObserver(arg0); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_8a6f238a6ece86ea = function() { + const ret = new Error(); + return ret; + }; + imports.wbg.__wbg_new_93cf40e4f48fe902 = function() { return handleError(function () { + const ret = new AbortController(); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_b4a18f0a618c89f2 = function() { return handleError(function (arg0, arg1) { + const ret = new Worker(getStringFromWasm0(arg0, arg1)); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_c94d990936d8ea5d = function() { return handleError(function (arg0) { + const ret = new IntersectionObserver(arg0); + return ret; + }, arguments) }; + imports.wbg.__wbg_newnoargs_19a249f4eceaaac3 = function(arg0, arg1) { + const ret = new Function(getStringFromWasm0(arg0, arg1)); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_ee8def7000b7b2be = function(arg0, arg1, arg2) { + const ret = new Uint8Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithlength_91de49dea5643c87 = function(arg0) { + const ret = new Uint8Array(arg0 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithstrsequenceandoptions_af096ce40d9d9ac8 = function() { return handleError(function (arg0, arg1) { + const ret = new Blob(arg0, arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_node_02999533c4ea02e3 = function(arg0) { + const ret = arg0.node; + return ret; + }; + imports.wbg.__wbg_now_2c95c9de01293173 = function(arg0) { + const ret = arg0.now(); + return ret; + }; + imports.wbg.__wbg_observe_e2208b07fe315de7 = function(arg0, arg1) { + arg0.observe(arg1); + }; + imports.wbg.__wbg_observe_ec91d62599b7772b = function(arg0, arg1) { + arg0.observe(arg1); + }; + imports.wbg.__wbg_observe_fd48955513eca909 = function(arg0, arg1, arg2) { + arg0.observe(arg1, arg2); + }; + imports.wbg.__wbg_of_2f6232d86af7992c = function(arg0, arg1) { + const ret = Array.of(arg0, arg1); + return ret; + }; + imports.wbg.__wbg_of_5ae3a2d893e18853 = function(arg0) { + const ret = Array.of(arg0); + return ret; + }; + imports.wbg.__wbg_offsetX_d6957d052a0d4b11 = function(arg0) { + const ret = arg0.offsetX; + return ret; + }; + imports.wbg.__wbg_offsetY_076edde514bf80f4 = function(arg0) { + const ret = arg0.offsetY; + return ret; + }; + imports.wbg.__wbg_offset_336f14c993863b76 = function(arg0) { + const ret = arg0.offset; + return ret; + }; + imports.wbg.__wbg_performance_7a3ffd0b17f663ad = function(arg0) { + const ret = arg0.performance; + return ret; + }; + imports.wbg.__wbg_persisted_7e044507e52804d9 = function(arg0) { + const ret = arg0.persisted; + return ret; + }; + imports.wbg.__wbg_play_e7eb90a843114e0d = function(arg0) { + arg0.play(); + }; + imports.wbg.__wbg_pointerId_a2cbd2cdd6da90b2 = function(arg0) { + const ret = arg0.pointerId; + return ret; + }; + imports.wbg.__wbg_pointerType_1b74686427cdec29 = function(arg0, arg1) { + const ret = arg1.pointerType; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_popErrorScope_af0b22f136a861d6 = function(arg0) { + const ret = arg0.popErrorScope(); + return ret; + }; + imports.wbg.__wbg_port1_6f5b26fd23d19536 = function(arg0) { + const ret = arg0.port1; + return ret; + }; + imports.wbg.__wbg_port2_2eb4c961d6df5816 = function(arg0) { + const ret = arg0.port2; + return ret; + }; + imports.wbg.__wbg_postMessage_33dcf5caa3589c64 = function() { return handleError(function (arg0, arg1, arg2) { + arg0.postMessage(arg1, arg2); + }, arguments) }; + imports.wbg.__wbg_postMessage_3e7f3215320b4a9c = function() { return handleError(function (arg0, arg1) { + arg0.postMessage(arg1); + }, arguments) }; + imports.wbg.__wbg_postTask_9ba4c3cedae00b38 = function(arg0, arg1, arg2) { + const ret = arg0.postTask(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_pressure_8707a47b6fb1c1fd = function(arg0) { + const ret = arg0.pressure; + return ret; + }; + imports.wbg.__wbg_preventDefault_faafffcaad92972d = function(arg0) { + arg0.preventDefault(); + }; + imports.wbg.__wbg_process_5c1d670bc53614b8 = function(arg0) { + const ret = arg0.process; + return ret; + }; + imports.wbg.__wbg_prototype_0f68911d93450df4 = function() { + const ret = ResizeObserverEntry.prototype; + return ret; + }; + imports.wbg.__wbg_pushErrorScope_b52914ff10ba6ce3 = function(arg0, arg1) { + arg0.pushErrorScope(__wbindgen_enum_GpuErrorFilter[arg1]); + }; + imports.wbg.__wbg_push_3e9ce81246ef1d1b = function(arg0, arg1) { + const ret = arg0.push(arg1); + return ret; + }; + imports.wbg.__wbg_querySelectorAll_775f04e6f26ad643 = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.querySelectorAll(getStringFromWasm0(arg1, arg2)); + return ret; + }, arguments) }; + imports.wbg.__wbg_queueMicrotask_3d422e1ba49c2500 = function(arg0) { + const ret = arg0.queueMicrotask; + return ret; + }; + imports.wbg.__wbg_queueMicrotask_5fc3e400ac3c03f4 = function(arg0) { + queueMicrotask(arg0); + }; + imports.wbg.__wbg_queueMicrotask_f301663ccadbb7d0 = function(arg0) { + queueMicrotask(arg0); + }; + imports.wbg.__wbg_queue_bea4017efaaf9904 = function(arg0) { + const ret = arg0.queue; + return ret; + }; + imports.wbg.__wbg_randomFillSync_ab2cfe79ebbf2740 = function() { return handleError(function (arg0, arg1) { + arg0.randomFillSync(arg1); + }, arguments) }; + imports.wbg.__wbg_reason_43acd39cce242b50 = function(arg0) { + const ret = arg0.reason; + return (__wbindgen_enum_GpuDeviceLostReason.indexOf(ret) + 1 || 3) - 1; + }; + imports.wbg.__wbg_removeEventListener_d14a328308e427ba = function() { return handleError(function (arg0, arg1, arg2, arg3) { + arg0.removeEventListener(getStringFromWasm0(arg1, arg2), arg3); + }, arguments) }; + imports.wbg.__wbg_removeListener_aee72eb2e5fba09c = function() { return handleError(function (arg0, arg1) { + arg0.removeListener(arg1); + }, arguments) }; + imports.wbg.__wbg_removeProperty_902c73a4430b3e54 = function() { return handleError(function (arg0, arg1, arg2, arg3) { + const ret = arg1.removeProperty(getStringFromWasm0(arg2, arg3)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_repeat_56fa20e30d00be95 = function(arg0) { + const ret = arg0.repeat; + return ret; + }; + imports.wbg.__wbg_requestAdapter_e6dcfac497cafa7a = function(arg0, arg1) { + const ret = arg0.requestAdapter(arg1); + return ret; + }; + imports.wbg.__wbg_requestAnimationFrame_e8ca543d07df528e = function() { return handleError(function (arg0, arg1) { + const ret = arg0.requestAnimationFrame(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_requestDevice_03b802707d5a382c = function(arg0, arg1) { + const ret = arg0.requestDevice(arg1); + return ret; + }; + imports.wbg.__wbg_requestFullscreen_e1ad8752a4e33f7e = function(arg0) { + const ret = arg0.requestFullscreen; + return ret; + }; + imports.wbg.__wbg_requestFullscreen_f727b1f250ebb10a = function(arg0) { + const ret = arg0.requestFullscreen(); + return ret; + }; + imports.wbg.__wbg_requestIdleCallback_773c554fc8c5a310 = function(arg0) { + const ret = arg0.requestIdleCallback; + return ret; + }; + imports.wbg.__wbg_requestIdleCallback_ba1f658c72e2140c = function() { return handleError(function (arg0, arg1) { + const ret = arg0.requestIdleCallback(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_require_79b1e9274cde3c87 = function() { return handleError(function () { + const ret = module.require; + return ret; + }, arguments) }; + imports.wbg.__wbg_resolveQuerySet_811661fb23f3b699 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.resolveQuerySet(arg1, arg2 >>> 0, arg3 >>> 0, arg4, arg5 >>> 0); + }; + imports.wbg.__wbg_resolve_6a311e8bb26423ab = function(arg0) { + const ret = Promise.resolve(arg0); + return ret; + }; + imports.wbg.__wbg_revokeObjectURL_3e4ad6d46a9a93f1 = function() { return handleError(function (arg0, arg1) { + URL.revokeObjectURL(getStringFromWasm0(arg0, arg1)); + }, arguments) }; + imports.wbg.__wbg_scheduler_10edeee35a76c7c6 = function(arg0) { + const ret = arg0.scheduler; + return ret; + }; + imports.wbg.__wbg_scheduler_6d71128f17fbca34 = function(arg0) { + const ret = arg0.scheduler; + return ret; + }; + imports.wbg.__wbg_search_4c8c4c416a168e55 = function() { return handleError(function (arg0, arg1) { + const ret = arg1.search; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_self_ac4343e4047b83cc = function() { return handleError(function () { + const ret = self.self; + return ret; + }, arguments) }; + imports.wbg.__wbg_setAttribute_e5d83ecaf7f586d5 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { + arg0.setAttribute(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4)); + }, arguments) }; + imports.wbg.__wbg_setBindGroup_62a3045b0921e429 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setBindGroup(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4), arg5, arg6 >>> 0); + }; + imports.wbg.__wbg_setBindGroup_6c0fd18e9a53a945 = function(arg0, arg1, arg2) { + arg0.setBindGroup(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_setBindGroup_7f3b61f1f482133b = function(arg0, arg1, arg2) { + arg0.setBindGroup(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_setBindGroup_bf767a5aa46a33ce = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setBindGroup(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4), arg5, arg6 >>> 0); + }; + imports.wbg.__wbg_setBindGroup_c4aaff14063226b4 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setBindGroup(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4), arg5, arg6 >>> 0); + }; + imports.wbg.__wbg_setBindGroup_f82e771dc1b69093 = function(arg0, arg1, arg2) { + arg0.setBindGroup(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_setBlendConstant_016723821cfb3aa4 = function(arg0, arg1) { + arg0.setBlendConstant(arg1); + }; + imports.wbg.__wbg_setIndexBuffer_286a40afdff411b7 = function(arg0, arg1, arg2, arg3) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3); + }; + imports.wbg.__wbg_setIndexBuffer_7efd0b7a40c65fb9 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3, arg4); + }; + imports.wbg.__wbg_setIndexBuffer_e091a9673bb575e2 = function(arg0, arg1, arg2, arg3) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3); + }; + imports.wbg.__wbg_setIndexBuffer_f0759f00036f615f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3, arg4); + }; + imports.wbg.__wbg_setPipeline_ba92070b8ee81cf9 = function(arg0, arg1) { + arg0.setPipeline(arg1); + }; + imports.wbg.__wbg_setPipeline_c344f76bae58c4d6 = function(arg0, arg1) { + arg0.setPipeline(arg1); + }; + imports.wbg.__wbg_setPipeline_d76451c50a121598 = function(arg0, arg1) { + arg0.setPipeline(arg1); + }; + imports.wbg.__wbg_setPointerCapture_6b89bc3d20c408af = function() { return handleError(function (arg0, arg1) { + arg0.setPointerCapture(arg1); + }, arguments) }; + imports.wbg.__wbg_setProperty_b11b0bad191551d1 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { + arg0.setProperty(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4)); + }, arguments) }; + imports.wbg.__wbg_setScissorRect_0b6ee0852ef0b6b9 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setScissorRect(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_setStencilReference_34fd3d59673a5a9d = function(arg0, arg1) { + arg0.setStencilReference(arg1 >>> 0); + }; + imports.wbg.__wbg_setTimeout_11f3c7cad8433a4f = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.setTimeout(arg1, arg2); + return ret; + }, arguments) }; + imports.wbg.__wbg_setTimeout_15ba883433c836ab = function() { return handleError(function (arg0, arg1) { + const ret = arg0.setTimeout(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_setVertexBuffer_06a90dc78e1ad9c4 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_setVertexBuffer_1540e9118b6c451d = function(arg0, arg1, arg2, arg3) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_setVertexBuffer_5166eedc06450701 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_setVertexBuffer_8621784e5014065b = function(arg0, arg1, arg2, arg3) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_setViewport_731ad30abb13f744 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setViewport(arg1, arg2, arg3, arg4, arg5, arg6); + }; + imports.wbg.__wbg_set_421385e996a16e02 = function() { return handleError(function (arg0, arg1, arg2) { + const ret = Reflect.set(arg0, arg1, arg2); + return ret; + }, arguments) }; + imports.wbg.__wbg_set_7b70226104a82921 = function(arg0, arg1, arg2) { + arg0.set(arg1, arg2 >>> 0); + }; + imports.wbg.__wbg_setbox_f664fc1447c0b2bb = function(arg0, arg1) { + arg0.box = __wbindgen_enum_ResizeObserverBoxOptions[arg1]; + }; + imports.wbg.__wbg_setheight_4286b13b9186d39f = function(arg0, arg1) { + arg0.height = arg1 >>> 0; + }; + imports.wbg.__wbg_setheight_7632621fed149fd9 = function(arg0, arg1) { + arg0.height = arg1 >>> 0; + }; + imports.wbg.__wbg_setonmessage_1f177e6cba71d19d = function(arg0, arg1) { + arg0.onmessage = arg1; + }; + imports.wbg.__wbg_setonuncapturederror_19541466822d790b = function(arg0, arg1) { + arg0.onuncapturederror = arg1; + }; + imports.wbg.__wbg_settabIndex_bc37dd560b089902 = function(arg0, arg1) { + arg0.tabIndex = arg1; + }; + imports.wbg.__wbg_settype_202db174d92fe493 = function(arg0, arg1, arg2) { + arg0.type = getStringFromWasm0(arg1, arg2); + }; + imports.wbg.__wbg_setwidth_5e43e6e177d3e2ec = function(arg0, arg1) { + arg0.width = arg1 >>> 0; + }; + imports.wbg.__wbg_setwidth_db46810857c0f6bd = function(arg0, arg1) { + arg0.width = arg1 >>> 0; + }; + imports.wbg.__wbg_shiftKey_570898b1142a9898 = function(arg0) { + const ret = arg0.shiftKey; + return ret; + }; + imports.wbg.__wbg_shiftKey_e90da27a3092777e = function(arg0) { + const ret = arg0.shiftKey; + return ret; + }; + imports.wbg.__wbg_signal_fd2d6d0644f16ad8 = function(arg0) { + const ret = arg0.signal; + return ret; + }; + imports.wbg.__wbg_size_661bddb3f9898121 = function(arg0) { + const ret = arg0.size; + return ret; + }; + imports.wbg.__wbg_stack_0ed75d68575b0f3c = function(arg0, arg1) { + const ret = arg1.stack; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_start_a00c28f297559e1d = function(arg0) { + arg0.start(); + }; + imports.wbg.__wbg_style_e7c4e0938a7565b2 = function(arg0) { + const ret = arg0.style; + return ret; + }; + imports.wbg.__wbg_subarray_b4e9772c34a7f5ba = function(arg0, arg1, arg2) { + const ret = arg0.subarray(arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_submit_f635072bb3d05faa = function(arg0, arg1) { + arg0.submit(arg1); + }; + imports.wbg.__wbg_then_5c6469c1e1da9e59 = function(arg0, arg1) { + const ret = arg0.then(arg1); + return ret; + }; + imports.wbg.__wbg_then_faeb8aed8c1629b7 = function(arg0, arg1, arg2) { + const ret = arg0.then(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_type_c0d5d83032e9858a = function(arg0) { + const ret = arg0.type; + return (__wbindgen_enum_GpuCompilationMessageType.indexOf(ret) + 1 || 4) - 1; + }; + imports.wbg.__wbg_unmap_8c2e8131b2aaa844 = function(arg0) { + arg0.unmap(); + }; + imports.wbg.__wbg_unobserve_9198337c0c96042f = function(arg0, arg1) { + arg0.unobserve(arg1); + }; + imports.wbg.__wbg_usage_13caa02888040e9f = function(arg0) { + const ret = arg0.usage; + return ret; + }; + imports.wbg.__wbg_userAgentData_5e600df9bb352050 = function(arg0) { + const ret = arg0.userAgentData; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_userAgent_bfd54e5c60738678 = function() { return handleError(function (arg0, arg1) { + const ret = arg1.userAgent; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_valueOf_a2728b52687d72b4 = function(arg0) { + const ret = arg0.valueOf(); + return ret; + }; + imports.wbg.__wbg_versions_c71aa1626a93e0a1 = function(arg0) { + const ret = arg0.versions; + return ret; + }; + imports.wbg.__wbg_visibilityState_c2b01655a6777e68 = function(arg0) { + const ret = arg0.visibilityState; + return (__wbindgen_enum_VisibilityState.indexOf(ret) + 1 || 3) - 1; + }; + imports.wbg.__wbg_warn_a6963915e4da61f6 = function(arg0) { + console.warn(arg0); + }; + imports.wbg.__wbg_webkitFullscreenElement_0c4654cdfe6894e5 = function(arg0) { + const ret = arg0.webkitFullscreenElement; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_webkitRequestFullscreen_fe95241c4f21ea63 = function(arg0) { + arg0.webkitRequestFullscreen(); + }; + imports.wbg.__wbg_width_dfc6149b0c4d8821 = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_window_1a23defd102c72f4 = function() { return handleError(function () { + const ret = window.window; + return ret; + }, arguments) }; + imports.wbg.__wbg_writeBuffer_5ca4981365eb5ac0 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.writeBuffer(arg1, arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_writeTexture_246118eb2f5a1592 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.writeTexture(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbindgen_cb_drop = function(arg0) { + const obj = arg0.original; + if (obj.cnt-- == 1) { + obj.a = 0; + return true; + } + const ret = false; + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper1375 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 108, __wbg_adapter_32); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2139 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 108, __wbg_adapter_32); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2145 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 108, __wbg_adapter_32); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2627 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 108, __wbg_adapter_39); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2672 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 108, __wbg_adapter_32); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2692 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 108, __wbg_adapter_32); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2693 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 108, __wbg_adapter_32); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2694 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 108, __wbg_adapter_32); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2695 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 108, __wbg_adapter_32); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2696 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 108, __wbg_adapter_32); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2739 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 108, __wbg_adapter_32); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2740 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 108, __wbg_adapter_56); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2741 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 108, __wbg_adapter_32); + return ret; + }; + imports.wbg.__wbindgen_debug_string = function(arg0, arg1) { + const ret = debugString(arg1); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_init_externref_table = function() { + const table = wasm.__wbindgen_export_1; + const offset = table.grow(4); + table.set(0, undefined); + table.set(offset + 0, undefined); + table.set(offset + 1, null); + table.set(offset + 2, true); + table.set(offset + 3, false); + ; + }; + imports.wbg.__wbindgen_is_function = function(arg0) { + const ret = typeof(arg0) === 'function'; + return ret; + }; + imports.wbg.__wbindgen_is_null = function(arg0) { + const ret = arg0 === null; + return ret; + }; + imports.wbg.__wbindgen_is_object = function(arg0) { + const val = arg0; + const ret = typeof(val) === 'object' && val !== null; + return ret; + }; + imports.wbg.__wbindgen_is_string = function(arg0) { + const ret = typeof(arg0) === 'string'; + return ret; + }; + imports.wbg.__wbindgen_is_undefined = function(arg0) { + const ret = arg0 === undefined; + return ret; + }; + imports.wbg.__wbindgen_memory = function() { + const ret = wasm.memory; + return ret; + }; + imports.wbg.__wbindgen_number_new = function(arg0) { + const ret = arg0; + return ret; + }; + imports.wbg.__wbindgen_string_get = function(arg0, arg1) { + const obj = arg1; + const ret = typeof(obj) === 'string' ? obj : undefined; + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_string_new = function(arg0, arg1) { + const ret = getStringFromWasm0(arg0, arg1); + return ret; + }; + imports.wbg.__wbindgen_throw = function(arg0, arg1) { + throw new Error(getStringFromWasm0(arg0, arg1)); + }; + imports['env'] = __wbg_star0; + + return imports; +} + +function __wbg_init_memory(imports, memory) { + +} + +function __wbg_finalize_init(instance, module) { + wasm = instance.exports; + __wbg_init.__wbindgen_wasm_module = module; + cachedDataViewMemory0 = null; + cachedUint32ArrayMemory0 = null; + cachedUint8ArrayMemory0 = null; + + + wasm.__wbindgen_start(); + return wasm; +} + +function initSync(module) { + if (wasm !== undefined) return wasm; + + + if (typeof module !== 'undefined') { + if (Object.getPrototypeOf(module) === Object.prototype) { + ({module} = module) + } else { + console.warn('using deprecated parameters for `initSync()`; pass a single object instead') + } + } + + const imports = __wbg_get_imports(); + + __wbg_init_memory(imports); + + if (!(module instanceof WebAssembly.Module)) { + module = new WebAssembly.Module(module); + } + + const instance = new WebAssembly.Instance(module, imports); + + return __wbg_finalize_init(instance, module); +} + +async function __wbg_init(module_or_path) { + if (wasm !== undefined) return wasm; + + + if (typeof module_or_path !== 'undefined') { + if (Object.getPrototypeOf(module_or_path) === Object.prototype) { + ({module_or_path} = module_or_path) + } else { + console.warn('using deprecated parameters for the initialization function; pass a single object instead') + } + } + + if (typeof module_or_path === 'undefined') { + module_or_path = new URL('vertex-animation_bg.wasm', import.meta.url); + } + const imports = __wbg_get_imports(); + + if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) { + module_or_path = fetch(module_or_path); + } + + __wbg_init_memory(imports); + + const { instance, module } = await __wbg_load(await module_or_path, imports); + + return __wbg_finalize_init(instance, module); +} + +export { initSync }; +export default __wbg_init; diff --git a/wasm/vertex-animation_bg.wasm b/wasm/vertex-animation_bg.wasm new file mode 100644 index 00000000..60835bdc Binary files /dev/null and b/wasm/vertex-animation_bg.wasm differ diff --git a/wasm/wgpu-in-web.js b/wasm/wgpu-in-web.js new file mode 100644 index 00000000..6df92ecc --- /dev/null +++ b/wasm/wgpu-in-web.js @@ -0,0 +1,1442 @@ +let wasm; + +const cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : { decode: () => { throw Error('TextDecoder not available') } } ); + +if (typeof TextDecoder !== 'undefined') { cachedTextDecoder.decode(); }; + +let cachedUint8ArrayMemory0 = null; + +function getUint8ArrayMemory0() { + if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) { + cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer); + } + return cachedUint8ArrayMemory0; +} + +function getStringFromWasm0(ptr, len) { + ptr = ptr >>> 0; + return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len)); +} + +function addToExternrefTable0(obj) { + const idx = wasm.__externref_table_alloc(); + wasm.__wbindgen_export_2.set(idx, obj); + return idx; +} + +function handleError(f, args) { + try { + return f.apply(this, args); + } catch (e) { + const idx = addToExternrefTable0(e); + wasm.__wbindgen_exn_store(idx); + } +} + +function isLikeNone(x) { + return x === undefined || x === null; +} + +let WASM_VECTOR_LEN = 0; + +const cachedTextEncoder = (typeof TextEncoder !== 'undefined' ? new TextEncoder('utf-8') : { encode: () => { throw Error('TextEncoder not available') } } ); + +const encodeString = (typeof cachedTextEncoder.encodeInto === 'function' + ? function (arg, view) { + return cachedTextEncoder.encodeInto(arg, view); +} + : function (arg, view) { + const buf = cachedTextEncoder.encode(arg); + view.set(buf); + return { + read: arg.length, + written: buf.length + }; +}); + +function passStringToWasm0(arg, malloc, realloc) { + + if (realloc === undefined) { + const buf = cachedTextEncoder.encode(arg); + const ptr = malloc(buf.length, 1) >>> 0; + getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf); + WASM_VECTOR_LEN = buf.length; + return ptr; + } + + let len = arg.length; + let ptr = malloc(len, 1) >>> 0; + + const mem = getUint8ArrayMemory0(); + + let offset = 0; + + for (; offset < len; offset++) { + const code = arg.charCodeAt(offset); + if (code > 0x7F) break; + mem[ptr + offset] = code; + } + + if (offset !== len) { + if (offset !== 0) { + arg = arg.slice(offset); + } + ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0; + const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len); + const ret = encodeString(arg, view); + + offset += ret.written; + ptr = realloc(ptr, len, offset, 1) >>> 0; + } + + WASM_VECTOR_LEN = offset; + return ptr; +} + +let cachedDataViewMemory0 = null; + +function getDataViewMemory0() { + if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) { + cachedDataViewMemory0 = new DataView(wasm.memory.buffer); + } + return cachedDataViewMemory0; +} + +let cachedUint32ArrayMemory0 = null; + +function getUint32ArrayMemory0() { + if (cachedUint32ArrayMemory0 === null || cachedUint32ArrayMemory0.byteLength === 0) { + cachedUint32ArrayMemory0 = new Uint32Array(wasm.memory.buffer); + } + return cachedUint32ArrayMemory0; +} + +function getArrayU32FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getUint32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len); +} + +const CLOSURE_DTORS = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(state => { + wasm.__wbindgen_export_6.get(state.dtor)(state.a, state.b) +}); + +function makeMutClosure(arg0, arg1, dtor, f) { + const state = { a: arg0, b: arg1, cnt: 1, dtor }; + const real = (...args) => { + // First up with a closure we increment the internal reference + // count. This ensures that the Rust closure environment won't + // be deallocated while we're invoking it. + state.cnt++; + const a = state.a; + state.a = 0; + try { + return f(a, state.b, ...args); + } finally { + if (--state.cnt === 0) { + wasm.__wbindgen_export_6.get(state.dtor)(a, state.b); + CLOSURE_DTORS.unregister(state); + } else { + state.a = a; + } + } + }; + real.original = state; + CLOSURE_DTORS.register(real, state, state); + return real; +} + +function debugString(val) { + // primitive types + const type = typeof val; + if (type == 'number' || type == 'boolean' || val == null) { + return `${val}`; + } + if (type == 'string') { + return `"${val}"`; + } + if (type == 'symbol') { + const description = val.description; + if (description == null) { + return 'Symbol'; + } else { + return `Symbol(${description})`; + } + } + if (type == 'function') { + const name = val.name; + if (typeof name == 'string' && name.length > 0) { + return `Function(${name})`; + } else { + return 'Function'; + } + } + // objects + if (Array.isArray(val)) { + const length = val.length; + let debug = '['; + if (length > 0) { + debug += debugString(val[0]); + } + for(let i = 1; i < length; i++) { + debug += ', ' + debugString(val[i]); + } + debug += ']'; + return debug; + } + // Test for built-in + const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val)); + let className; + if (builtInMatches && builtInMatches.length > 1) { + className = builtInMatches[1]; + } else { + // Failed to match the standard '[object ClassName]' + return toString.call(val); + } + if (className == 'Object') { + // we're a user defined class or Object + // JSON.stringify avoids problems with cycles, and is generally much + // easier than looping through ownProperties of `val`. + try { + return 'Object(' + JSON.stringify(val) + ')'; + } catch (_) { + return 'Object'; + } + } + // errors + if (val instanceof Error) { + return `${val.name}: ${val.message}\n${val.stack}`; + } + // TODO we could test for more things here, like `Set`s and `Map`s. + return className; +} +/** + * @param {string} canvas_id + * @param {number} handle + * @returns {Promise} + */ +export function create_wgpu_app(canvas_id, handle) { + const ptr0 = passStringToWasm0(canvas_id, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + const ret = wasm.create_wgpu_app(ptr0, len0, handle); + return ret; +} + +/** + * 帧绘制 + * @param {bigint} ptr + */ +export function enter_frame(ptr) { + wasm.enter_frame(ptr); +} + +/** + * canvas size 改变 + * @param {bigint} ptr + * @param {number} width + * @param {number} height + */ +export function resize_app(ptr, width, height) { + wasm.resize_app(ptr, width, height); +} + +/** + * 鼠标移动 + * @param {bigint} ptr + * @param {number} x + * @param {number} y + */ +export function on_mouse_move(ptr, x, y) { + wasm.on_mouse_move(ptr, x, y); +} + +/** + * 销毁 WgpuApp 实例 + * @param {bigint} ptr + */ +export function drop_wgpu_app(ptr) { + wasm.drop_wgpu_app(ptr); +} + +function __wbg_adapter_34(arg0, arg1, arg2) { + wasm.closure108_externref_shim(arg0, arg1, arg2); +} + +function __wbg_adapter_101(arg0, arg1, arg2, arg3) { + wasm.closure68_externref_shim(arg0, arg1, arg2, arg3); +} + +const __wbindgen_enum_GpuCompilationMessageType = ["error", "warning", "info"]; + +const __wbindgen_enum_GpuDeviceLostReason = ["unknown", "destroyed"]; + +const __wbindgen_enum_GpuErrorFilter = ["validation", "out-of-memory", "internal"]; + +const __wbindgen_enum_GpuIndexFormat = ["uint16", "uint32"]; + +const __wbindgen_enum_GpuTextureFormat = ["r8unorm", "r8snorm", "r8uint", "r8sint", "r16uint", "r16sint", "r16float", "rg8unorm", "rg8snorm", "rg8uint", "rg8sint", "r32uint", "r32sint", "r32float", "rg16uint", "rg16sint", "rg16float", "rgba8unorm", "rgba8unorm-srgb", "rgba8snorm", "rgba8uint", "rgba8sint", "bgra8unorm", "bgra8unorm-srgb", "rgb9e5ufloat", "rgb10a2uint", "rgb10a2unorm", "rg11b10ufloat", "rg32uint", "rg32sint", "rg32float", "rgba16uint", "rgba16sint", "rgba16float", "rgba32uint", "rgba32sint", "rgba32float", "stencil8", "depth16unorm", "depth24plus", "depth24plus-stencil8", "depth32float", "depth32float-stencil8", "bc1-rgba-unorm", "bc1-rgba-unorm-srgb", "bc2-rgba-unorm", "bc2-rgba-unorm-srgb", "bc3-rgba-unorm", "bc3-rgba-unorm-srgb", "bc4-r-unorm", "bc4-r-snorm", "bc5-rg-unorm", "bc5-rg-snorm", "bc6h-rgb-ufloat", "bc6h-rgb-float", "bc7-rgba-unorm", "bc7-rgba-unorm-srgb", "etc2-rgb8unorm", "etc2-rgb8unorm-srgb", "etc2-rgb8a1unorm", "etc2-rgb8a1unorm-srgb", "etc2-rgba8unorm", "etc2-rgba8unorm-srgb", "eac-r11unorm", "eac-r11snorm", "eac-rg11unorm", "eac-rg11snorm", "astc-4x4-unorm", "astc-4x4-unorm-srgb", "astc-5x4-unorm", "astc-5x4-unorm-srgb", "astc-5x5-unorm", "astc-5x5-unorm-srgb", "astc-6x5-unorm", "astc-6x5-unorm-srgb", "astc-6x6-unorm", "astc-6x6-unorm-srgb", "astc-8x5-unorm", "astc-8x5-unorm-srgb", "astc-8x6-unorm", "astc-8x6-unorm-srgb", "astc-8x8-unorm", "astc-8x8-unorm-srgb", "astc-10x5-unorm", "astc-10x5-unorm-srgb", "astc-10x6-unorm", "astc-10x6-unorm-srgb", "astc-10x8-unorm", "astc-10x8-unorm-srgb", "astc-10x10-unorm", "astc-10x10-unorm-srgb", "astc-12x10-unorm", "astc-12x10-unorm-srgb", "astc-12x12-unorm", "astc-12x12-unorm-srgb"]; + +const __wbindgen_enum_RequestCredentials = ["omit", "same-origin", "include"]; + +const __wbindgen_enum_RequestMode = ["same-origin", "no-cors", "cors", "navigate"]; + +async function __wbg_load(module, imports) { + if (typeof Response === 'function' && module instanceof Response) { + if (typeof WebAssembly.instantiateStreaming === 'function') { + try { + return await WebAssembly.instantiateStreaming(module, imports); + + } catch (e) { + if (module.headers.get('Content-Type') != 'application/wasm') { + console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e); + + } else { + throw e; + } + } + } + + const bytes = await module.arrayBuffer(); + return await WebAssembly.instantiate(bytes, imports); + + } else { + const instance = await WebAssembly.instantiate(module, imports); + + if (instance instanceof WebAssembly.Instance) { + return { instance, module }; + + } else { + return instance; + } + } +} + +function __wbg_get_imports() { + const imports = {}; + imports.wbg = {}; + imports.wbg.__wbg_Window_cf5b693340a7c469 = function(arg0) { + const ret = arg0.Window; + return ret; + }; + imports.wbg.__wbg_WorkerGlobalScope_354364d1b0bd06e5 = function(arg0) { + const ret = arg0.WorkerGlobalScope; + return ret; + }; + imports.wbg.__wbg_abort_19de2f828ee0874a = function(arg0) { + arg0.abort(); + }; + imports.wbg.__wbg_append_daea8d1dbe91d314 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { + arg0.append(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4)); + }, arguments) }; + imports.wbg.__wbg_arrayBuffer_d004045654bdb712 = function() { return handleError(function (arg0) { + const ret = arg0.arrayBuffer(); + return ret; + }, arguments) }; + imports.wbg.__wbg_beginComputePass_90d5303e604970cb = function(arg0, arg1) { + const ret = arg0.beginComputePass(arg1); + return ret; + }; + imports.wbg.__wbg_beginRenderPass_9739520c601001c3 = function(arg0, arg1) { + const ret = arg0.beginRenderPass(arg1); + return ret; + }; + imports.wbg.__wbg_buffer_6e1d53ff183194fc = function(arg0) { + const ret = arg0.buffer; + return ret; + }; + imports.wbg.__wbg_buffer_ffdeb2ee67420f9e = function(arg0) { + const ret = arg0.buffer; + return ret; + }; + imports.wbg.__wbg_call_0411c0c3c424db9a = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.call(arg1, arg2); + return ret; + }, arguments) }; + imports.wbg.__wbg_call_3114932863209ca6 = function() { return handleError(function (arg0, arg1) { + const ret = arg0.call(arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_clearBuffer_6164fc25d22b25cc = function(arg0, arg1, arg2, arg3) { + arg0.clearBuffer(arg1, arg2, arg3); + }; + imports.wbg.__wbg_clearBuffer_cfcaaf1fb2baa885 = function(arg0, arg1, arg2) { + arg0.clearBuffer(arg1, arg2); + }; + imports.wbg.__wbg_configure_2414aed971d368cd = function(arg0, arg1) { + arg0.configure(arg1); + }; + imports.wbg.__wbg_copyBufferToBuffer_1ba67191114656a1 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.copyBufferToBuffer(arg1, arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_copyBufferToTexture_878d31d479e48f28 = function(arg0, arg1, arg2, arg3) { + arg0.copyBufferToTexture(arg1, arg2, arg3); + }; + imports.wbg.__wbg_copyExternalImageToTexture_7878d196c0b60d39 = function(arg0, arg1, arg2, arg3) { + arg0.copyExternalImageToTexture(arg1, arg2, arg3); + }; + imports.wbg.__wbg_copyTextureToBuffer_6a8fe0e90f0a663d = function(arg0, arg1, arg2, arg3) { + arg0.copyTextureToBuffer(arg1, arg2, arg3); + }; + imports.wbg.__wbg_copyTextureToTexture_0a06a393d6726b4a = function(arg0, arg1, arg2, arg3) { + arg0.copyTextureToTexture(arg1, arg2, arg3); + }; + imports.wbg.__wbg_createBindGroupLayout_1d93b6d41c87ba9d = function(arg0, arg1) { + const ret = arg0.createBindGroupLayout(arg1); + return ret; + }; + imports.wbg.__wbg_createBindGroup_61cd07ec9d423432 = function(arg0, arg1) { + const ret = arg0.createBindGroup(arg1); + return ret; + }; + imports.wbg.__wbg_createBuffer_963aa00d5fe859e4 = function(arg0, arg1) { + const ret = arg0.createBuffer(arg1); + return ret; + }; + imports.wbg.__wbg_createCommandEncoder_f0e1613e9a2dc1eb = function(arg0, arg1) { + const ret = arg0.createCommandEncoder(arg1); + return ret; + }; + imports.wbg.__wbg_createComputePipeline_b9616b9fe2f4eb2f = function(arg0, arg1) { + const ret = arg0.createComputePipeline(arg1); + return ret; + }; + imports.wbg.__wbg_createPipelineLayout_56c6cf983f892d2b = function(arg0, arg1) { + const ret = arg0.createPipelineLayout(arg1); + return ret; + }; + imports.wbg.__wbg_createQuerySet_c14be802adf7c207 = function(arg0, arg1) { + const ret = arg0.createQuerySet(arg1); + return ret; + }; + imports.wbg.__wbg_createRenderBundleEncoder_8e4bdffea72f8c1f = function(arg0, arg1) { + const ret = arg0.createRenderBundleEncoder(arg1); + return ret; + }; + imports.wbg.__wbg_createRenderPipeline_079a88a0601fcce1 = function(arg0, arg1) { + const ret = arg0.createRenderPipeline(arg1); + return ret; + }; + imports.wbg.__wbg_createSampler_ef5578990df3baf7 = function(arg0, arg1) { + const ret = arg0.createSampler(arg1); + return ret; + }; + imports.wbg.__wbg_createShaderModule_17f451ea25cae47c = function(arg0, arg1) { + const ret = arg0.createShaderModule(arg1); + return ret; + }; + imports.wbg.__wbg_createTexture_01cc1cd2fea732d9 = function(arg0, arg1) { + const ret = arg0.createTexture(arg1); + return ret; + }; + imports.wbg.__wbg_createView_04701884291e1ccc = function(arg0, arg1) { + const ret = arg0.createView(arg1); + return ret; + }; + imports.wbg.__wbg_crypto_ed58b8e10a292839 = function(arg0) { + const ret = arg0.crypto; + return ret; + }; + imports.wbg.__wbg_debug_347b3d1f33e1c28e = function(arg0) { + console.debug(arg0); + }; + imports.wbg.__wbg_destroy_35f94012e5bb9c17 = function(arg0) { + arg0.destroy(); + }; + imports.wbg.__wbg_destroy_767d9dde1008e293 = function(arg0) { + arg0.destroy(); + }; + imports.wbg.__wbg_destroy_c6af4226dda95dbd = function(arg0) { + arg0.destroy(); + }; + imports.wbg.__wbg_devicePixelRatio_f4eb7cbe3a812de0 = function(arg0) { + const ret = arg0.devicePixelRatio; + return ret; + }; + imports.wbg.__wbg_dispatchWorkgroupsIndirect_8b25efab93a7a433 = function(arg0, arg1, arg2) { + arg0.dispatchWorkgroupsIndirect(arg1, arg2); + }; + imports.wbg.__wbg_dispatchWorkgroups_c102fa81b955935d = function(arg0, arg1, arg2, arg3) { + arg0.dispatchWorkgroups(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0); + }; + imports.wbg.__wbg_document_c488ca7509cc6938 = function(arg0) { + const ret = arg0.document; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_done_adfd3f40364def50 = function(arg0) { + const ret = arg0.done; + return ret; + }; + imports.wbg.__wbg_drawIndexedIndirect_34484fc6227c7bc8 = function(arg0, arg1, arg2) { + arg0.drawIndexedIndirect(arg1, arg2); + }; + imports.wbg.__wbg_drawIndexedIndirect_5a7c30bb5f1d5b67 = function(arg0, arg1, arg2) { + arg0.drawIndexedIndirect(arg1, arg2); + }; + imports.wbg.__wbg_drawIndexed_115af1449b52a948 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.drawIndexed(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5 >>> 0); + }; + imports.wbg.__wbg_drawIndexed_a587cce4c317791f = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.drawIndexed(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4, arg5 >>> 0); + }; + imports.wbg.__wbg_drawIndirect_036d71498a21f1a3 = function(arg0, arg1, arg2) { + arg0.drawIndirect(arg1, arg2); + }; + imports.wbg.__wbg_drawIndirect_a1d7c5e893aa5756 = function(arg0, arg1, arg2) { + arg0.drawIndirect(arg1, arg2); + }; + imports.wbg.__wbg_draw_5351b12033166aca = function(arg0, arg1, arg2, arg3, arg4) { + arg0.draw(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_draw_e2a7c5d66fb2d244 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.draw(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_end_0ac71677a5c1717a = function(arg0) { + arg0.end(); + }; + imports.wbg.__wbg_end_6f776519f1faa582 = function(arg0) { + arg0.end(); + }; + imports.wbg.__wbg_error_2a6b93fdada7ff11 = function(arg0) { + console.error(arg0); + }; + imports.wbg.__wbg_error_7534b8e9a36f1ab4 = function(arg0, arg1) { + let deferred0_0; + let deferred0_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + console.error(getStringFromWasm0(arg0, arg1)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + } + }; + imports.wbg.__wbg_error_e98e6aadd08e0b94 = function(arg0) { + const ret = arg0.error; + return ret; + }; + imports.wbg.__wbg_executeBundles_8e6c0614da2805d4 = function(arg0, arg1) { + arg0.executeBundles(arg1); + }; + imports.wbg.__wbg_features_1b464383ea8a7691 = function(arg0) { + const ret = arg0.features; + return ret; + }; + imports.wbg.__wbg_features_e5fbbc2760867852 = function(arg0) { + const ret = arg0.features; + return ret; + }; + imports.wbg.__wbg_fetch_2367a4a7762e7c4a = function(arg0, arg1) { + const ret = arg0.fetch(arg1); + return ret; + }; + imports.wbg.__wbg_fetch_f1856afdb49415d1 = function(arg0) { + const ret = fetch(arg0); + return ret; + }; + imports.wbg.__wbg_finish_20711371c58df61c = function(arg0) { + const ret = arg0.finish(); + return ret; + }; + imports.wbg.__wbg_finish_34b2c54329c8719f = function(arg0, arg1) { + const ret = arg0.finish(arg1); + return ret; + }; + imports.wbg.__wbg_finish_a9ab917e756ea00c = function(arg0, arg1) { + const ret = arg0.finish(arg1); + return ret; + }; + imports.wbg.__wbg_finish_e0a6c97c0622f843 = function(arg0) { + const ret = arg0.finish(); + return ret; + }; + imports.wbg.__wbg_getBindGroupLayout_4a94df6108ac6667 = function(arg0, arg1) { + const ret = arg0.getBindGroupLayout(arg1 >>> 0); + return ret; + }; + imports.wbg.__wbg_getBindGroupLayout_80e803d942962f6a = function(arg0, arg1) { + const ret = arg0.getBindGroupLayout(arg1 >>> 0); + return ret; + }; + imports.wbg.__wbg_getCompilationInfo_2af3ecdfeda551a3 = function(arg0) { + const ret = arg0.getCompilationInfo(); + return ret; + }; + imports.wbg.__wbg_getContext_02d86c7d9cfa709e = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.getContext(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getContext_24d4414b979c1bbd = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.getContext(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }, arguments) }; + imports.wbg.__wbg_getCurrentTexture_5a79cda2ff36e1ee = function(arg0) { + const ret = arg0.getCurrentTexture(); + return ret; + }; + imports.wbg.__wbg_getElementById_7b2db24a9b54f077 = function(arg0, arg1, arg2) { + const ret = arg0.getElementById(getStringFromWasm0(arg1, arg2)); + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_getMappedRange_932dd043ae22ee0a = function(arg0, arg1, arg2) { + const ret = arg0.getMappedRange(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_getPreferredCanvasFormat_de73c02773a5209e = function(arg0) { + const ret = arg0.getPreferredCanvasFormat(); + return (__wbindgen_enum_GpuTextureFormat.indexOf(ret) + 1 || 96) - 1; + }; + imports.wbg.__wbg_getRandomValues_bcb4912f16000dc4 = function() { return handleError(function (arg0, arg1) { + arg0.getRandomValues(arg1); + }, arguments) }; + imports.wbg.__wbg_get_68aa371864aa301a = function(arg0, arg1) { + const ret = arg0[arg1 >>> 0]; + return ret; + }; + imports.wbg.__wbg_get_6b316bfdb1b95076 = function(arg0, arg1) { + const ret = arg0[arg1 >>> 0]; + return isLikeNone(ret) ? 0 : addToExternrefTable0(ret); + }; + imports.wbg.__wbg_get_92a4780a3beb5fe9 = function() { return handleError(function (arg0, arg1) { + const ret = Reflect.get(arg0, arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_globalThis_1e2ac1d6eee845b3 = function() { return handleError(function () { + const ret = globalThis.globalThis; + return ret; + }, arguments) }; + imports.wbg.__wbg_global_f25a574ae080367c = function() { return handleError(function () { + const ret = global.global; + return ret; + }, arguments) }; + imports.wbg.__wbg_gpu_87871e8f7ace8fee = function(arg0) { + const ret = arg0.gpu; + return ret; + }; + imports.wbg.__wbg_has_38b228962f492b9b = function() { return handleError(function (arg0, arg1) { + const ret = Reflect.has(arg0, arg1); + return ret; + }, arguments) }; + imports.wbg.__wbg_has_624cbf0451d880e8 = function(arg0, arg1, arg2) { + const ret = arg0.has(getStringFromWasm0(arg1, arg2)); + return ret; + }; + imports.wbg.__wbg_headers_a5edfea2425875b2 = function(arg0) { + const ret = arg0.headers; + return ret; + }; + imports.wbg.__wbg_height_4065e49e5ec4c4c1 = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_height_74bc8ec7548ff6b6 = function(arg0) { + const ret = arg0.height; + return ret; + }; + imports.wbg.__wbg_host_7b8d981c6ad88028 = function() { return handleError(function (arg0, arg1) { + const ret = arg1.host; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_href_e702fa00b4409c7a = function() { return handleError(function (arg0, arg1) { + const ret = arg1.href; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_info_b6bd3cb6471c2b4c = function(arg0) { + console.info(arg0); + }; + imports.wbg.__wbg_instanceof_GpuAdapter_0731153d2b08720b = function(arg0) { + let result; + try { + result = arg0 instanceof GPUAdapter; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuCanvasContext_d14121c7bd72fcef = function(arg0) { + let result; + try { + result = arg0 instanceof GPUCanvasContext; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuDeviceLostInfo_a3677ebb8241d800 = function(arg0) { + let result; + try { + result = arg0 instanceof GPUDeviceLostInfo; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuOutOfMemoryError_391d9a08edbfa04b = function(arg0) { + let result; + try { + result = arg0 instanceof GPUOutOfMemoryError; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_GpuValidationError_f4d803c383da3c92 = function(arg0) { + let result; + try { + result = arg0 instanceof GPUValidationError; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_HtmlCanvasElement_9db0dfd54b2c5330 = function(arg0) { + let result; + try { + result = arg0 instanceof HTMLCanvasElement; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_Object_f0f57d6eeca1b81d = function(arg0) { + let result; + try { + result = arg0 instanceof Object; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_Response_0ec26bd2f8a75ca2 = function(arg0) { + let result; + try { + result = arg0 instanceof Response; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_instanceof_Window_a959820eb267fe22 = function(arg0) { + let result; + try { + result = arg0 instanceof Window; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_iterator_7a20c20ce22add0f = function() { + const ret = Symbol.iterator; + return ret; + }; + imports.wbg.__wbg_label_2082ab37d2ad170d = function(arg0, arg1) { + const ret = arg1.label; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_length_2e63ba34c4121df5 = function(arg0) { + const ret = arg0.length; + return ret; + }; + imports.wbg.__wbg_length_9df32f7add647235 = function(arg0) { + const ret = arg0.length; + return ret; + }; + imports.wbg.__wbg_length_e74df4881604f1d9 = function(arg0) { + const ret = arg0.length; + return ret; + }; + imports.wbg.__wbg_limits_2dd632c891786ddf = function(arg0) { + const ret = arg0.limits; + return ret; + }; + imports.wbg.__wbg_limits_f6411f884b0b2d62 = function(arg0) { + const ret = arg0.limits; + return ret; + }; + imports.wbg.__wbg_lineNum_0246de1e072ffe19 = function(arg0) { + const ret = arg0.lineNum; + return ret; + }; + imports.wbg.__wbg_location_54d35e8c85dcfb9c = function(arg0) { + const ret = arg0.location; + return ret; + }; + imports.wbg.__wbg_log_d818ca3cab23fc77 = function(arg0) { + console.log(arg0); + }; + imports.wbg.__wbg_lost_6e4d29847ce2a34a = function(arg0) { + const ret = arg0.lost; + return ret; + }; + imports.wbg.__wbg_mapAsync_37f5e03edf2e1352 = function(arg0, arg1, arg2, arg3) { + const ret = arg0.mapAsync(arg1 >>> 0, arg2, arg3); + return ret; + }; + imports.wbg.__wbg_maxBindGroups_768ca5e8623bf450 = function(arg0) { + const ret = arg0.maxBindGroups; + return ret; + }; + imports.wbg.__wbg_maxBindingsPerBindGroup_057972d600d69719 = function(arg0) { + const ret = arg0.maxBindingsPerBindGroup; + return ret; + }; + imports.wbg.__wbg_maxBufferSize_e237b44f19a5a62b = function(arg0) { + const ret = arg0.maxBufferSize; + return ret; + }; + imports.wbg.__wbg_maxColorAttachmentBytesPerSample_d6c7b4051d22c6d6 = function(arg0) { + const ret = arg0.maxColorAttachmentBytesPerSample; + return ret; + }; + imports.wbg.__wbg_maxColorAttachments_7a18ba24c05edcfd = function(arg0) { + const ret = arg0.maxColorAttachments; + return ret; + }; + imports.wbg.__wbg_maxComputeInvocationsPerWorkgroup_b99c2f3611633992 = function(arg0) { + const ret = arg0.maxComputeInvocationsPerWorkgroup; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupSizeX_adb26da9ed7f77f7 = function(arg0) { + const ret = arg0.maxComputeWorkgroupSizeX; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupSizeY_cc217559c98be33b = function(arg0) { + const ret = arg0.maxComputeWorkgroupSizeY; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupSizeZ_66606a80e2cf2309 = function(arg0) { + const ret = arg0.maxComputeWorkgroupSizeZ; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupStorageSize_cb6235497b8c4997 = function(arg0) { + const ret = arg0.maxComputeWorkgroupStorageSize; + return ret; + }; + imports.wbg.__wbg_maxComputeWorkgroupsPerDimension_6bf550b5f21d57cf = function(arg0) { + const ret = arg0.maxComputeWorkgroupsPerDimension; + return ret; + }; + imports.wbg.__wbg_maxDynamicStorageBuffersPerPipelineLayout_c6ac20334e328b47 = function(arg0) { + const ret = arg0.maxDynamicStorageBuffersPerPipelineLayout; + return ret; + }; + imports.wbg.__wbg_maxDynamicUniformBuffersPerPipelineLayout_aa8f14a74b440f01 = function(arg0) { + const ret = arg0.maxDynamicUniformBuffersPerPipelineLayout; + return ret; + }; + imports.wbg.__wbg_maxSampledTexturesPerShaderStage_db7c4922cc60144a = function(arg0) { + const ret = arg0.maxSampledTexturesPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxSamplersPerShaderStage_538705fe2263e710 = function(arg0) { + const ret = arg0.maxSamplersPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxStorageBufferBindingSize_32178c0f5f7f85cb = function(arg0) { + const ret = arg0.maxStorageBufferBindingSize; + return ret; + }; + imports.wbg.__wbg_maxStorageBuffersPerShaderStage_9f67e9eae0089f77 = function(arg0) { + const ret = arg0.maxStorageBuffersPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxStorageTexturesPerShaderStage_57239664936031cf = function(arg0) { + const ret = arg0.maxStorageTexturesPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxTextureArrayLayers_db5d4e486c78ae04 = function(arg0) { + const ret = arg0.maxTextureArrayLayers; + return ret; + }; + imports.wbg.__wbg_maxTextureDimension1D_3475085ffacabbdc = function(arg0) { + const ret = arg0.maxTextureDimension1D; + return ret; + }; + imports.wbg.__wbg_maxTextureDimension2D_7c8d5ecf09eb8519 = function(arg0) { + const ret = arg0.maxTextureDimension2D; + return ret; + }; + imports.wbg.__wbg_maxTextureDimension3D_8bd976677a0f91d4 = function(arg0) { + const ret = arg0.maxTextureDimension3D; + return ret; + }; + imports.wbg.__wbg_maxUniformBufferBindingSize_95b1a54e7e4a0f0f = function(arg0) { + const ret = arg0.maxUniformBufferBindingSize; + return ret; + }; + imports.wbg.__wbg_maxUniformBuffersPerShaderStage_5f475d9a453af14d = function(arg0) { + const ret = arg0.maxUniformBuffersPerShaderStage; + return ret; + }; + imports.wbg.__wbg_maxVertexAttributes_4c48ca2f5d32f860 = function(arg0) { + const ret = arg0.maxVertexAttributes; + return ret; + }; + imports.wbg.__wbg_maxVertexBufferArrayStride_2233f6933ecc5a16 = function(arg0) { + const ret = arg0.maxVertexBufferArrayStride; + return ret; + }; + imports.wbg.__wbg_maxVertexBuffers_c47e508cd7348554 = function(arg0) { + const ret = arg0.maxVertexBuffers; + return ret; + }; + imports.wbg.__wbg_message_0762358e59db7ed6 = function(arg0, arg1) { + const ret = arg1.message; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_message_7957ab09f64c6822 = function(arg0, arg1) { + const ret = arg1.message; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_message_b163994503433c9e = function(arg0, arg1) { + const ret = arg1.message; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_messages_da071582f72bc978 = function(arg0) { + const ret = arg0.messages; + return ret; + }; + imports.wbg.__wbg_minStorageBufferOffsetAlignment_51b4801fac3a58de = function(arg0) { + const ret = arg0.minStorageBufferOffsetAlignment; + return ret; + }; + imports.wbg.__wbg_minUniformBufferOffsetAlignment_5d62a77924b2335f = function(arg0) { + const ret = arg0.minUniformBufferOffsetAlignment; + return ret; + }; + imports.wbg.__wbg_msCrypto_0a36e2ec3a343d26 = function(arg0) { + const ret = arg0.msCrypto; + return ret; + }; + imports.wbg.__wbg_navigator_2936a93ec3c6f4c5 = function(arg0) { + const ret = arg0.navigator; + return ret; + }; + imports.wbg.__wbg_navigator_da495c9e52e160b1 = function(arg0) { + const ret = arg0.navigator; + return ret; + }; + imports.wbg.__wbg_new_076cac58bb698dd4 = function() { + const ret = new Object(); + return ret; + }; + imports.wbg.__wbg_new_0c28e72025e00594 = function() { + const ret = new Array(); + return ret; + }; + imports.wbg.__wbg_new_1e8ca58d170d6ad0 = function(arg0, arg1) { + try { + var state0 = {a: arg0, b: arg1}; + var cb0 = (arg0, arg1) => { + const a = state0.a; + state0.a = 0; + try { + return __wbg_adapter_101(a, state0.b, arg0, arg1); + } finally { + state0.a = a; + } + }; + const ret = new Promise(cb0); + return ret; + } finally { + state0.a = state0.b = 0; + } + }; + imports.wbg.__wbg_new_23362fa370a0a372 = function(arg0) { + const ret = new Uint8Array(arg0); + return ret; + }; + imports.wbg.__wbg_new_8a6f238a6ece86ea = function() { + const ret = new Error(); + return ret; + }; + imports.wbg.__wbg_new_93cf40e4f48fe902 = function() { return handleError(function () { + const ret = new AbortController(); + return ret; + }, arguments) }; + imports.wbg.__wbg_new_e2ec18a02bb844cb = function() { return handleError(function () { + const ret = new Headers(); + return ret; + }, arguments) }; + imports.wbg.__wbg_newnoargs_19a249f4eceaaac3 = function(arg0, arg1) { + const ret = new Function(getStringFromWasm0(arg0, arg1)); + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_ee8def7000b7b2be = function(arg0, arg1, arg2) { + const ret = new Uint8Array(arg0, arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithlength_91de49dea5643c87 = function(arg0) { + const ret = new Uint8Array(arg0 >>> 0); + return ret; + }; + imports.wbg.__wbg_newwithstrandinit_ee1418802d8d481c = function() { return handleError(function (arg0, arg1, arg2) { + const ret = new Request(getStringFromWasm0(arg0, arg1), arg2); + return ret; + }, arguments) }; + imports.wbg.__wbg_next_c591766a7286b02a = function() { return handleError(function (arg0) { + const ret = arg0.next(); + return ret; + }, arguments) }; + imports.wbg.__wbg_next_f387ecc56a94ba00 = function(arg0) { + const ret = arg0.next; + return ret; + }; + imports.wbg.__wbg_node_02999533c4ea02e3 = function(arg0) { + const ret = arg0.node; + return ret; + }; + imports.wbg.__wbg_offset_336f14c993863b76 = function(arg0) { + const ret = arg0.offset; + return ret; + }; + imports.wbg.__wbg_popErrorScope_af0b22f136a861d6 = function(arg0) { + const ret = arg0.popErrorScope(); + return ret; + }; + imports.wbg.__wbg_process_5c1d670bc53614b8 = function(arg0) { + const ret = arg0.process; + return ret; + }; + imports.wbg.__wbg_pushErrorScope_b52914ff10ba6ce3 = function(arg0, arg1) { + arg0.pushErrorScope(__wbindgen_enum_GpuErrorFilter[arg1]); + }; + imports.wbg.__wbg_push_3e9ce81246ef1d1b = function(arg0, arg1) { + const ret = arg0.push(arg1); + return ret; + }; + imports.wbg.__wbg_querySelectorAll_775f04e6f26ad643 = function() { return handleError(function (arg0, arg1, arg2) { + const ret = arg0.querySelectorAll(getStringFromWasm0(arg1, arg2)); + return ret; + }, arguments) }; + imports.wbg.__wbg_queueMicrotask_3d422e1ba49c2500 = function(arg0) { + const ret = arg0.queueMicrotask; + return ret; + }; + imports.wbg.__wbg_queueMicrotask_f301663ccadbb7d0 = function(arg0) { + queueMicrotask(arg0); + }; + imports.wbg.__wbg_queue_bea4017efaaf9904 = function(arg0) { + const ret = arg0.queue; + return ret; + }; + imports.wbg.__wbg_randomFillSync_ab2cfe79ebbf2740 = function() { return handleError(function (arg0, arg1) { + arg0.randomFillSync(arg1); + }, arguments) }; + imports.wbg.__wbg_reason_43acd39cce242b50 = function(arg0) { + const ret = arg0.reason; + return (__wbindgen_enum_GpuDeviceLostReason.indexOf(ret) + 1 || 3) - 1; + }; + imports.wbg.__wbg_requestAdapter_e6dcfac497cafa7a = function(arg0, arg1) { + const ret = arg0.requestAdapter(arg1); + return ret; + }; + imports.wbg.__wbg_requestDevice_03b802707d5a382c = function(arg0, arg1) { + const ret = arg0.requestDevice(arg1); + return ret; + }; + imports.wbg.__wbg_require_79b1e9274cde3c87 = function() { return handleError(function () { + const ret = module.require; + return ret; + }, arguments) }; + imports.wbg.__wbg_resolveQuerySet_811661fb23f3b699 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.resolveQuerySet(arg1, arg2 >>> 0, arg3 >>> 0, arg4, arg5 >>> 0); + }; + imports.wbg.__wbg_resolve_6a311e8bb26423ab = function(arg0) { + const ret = Promise.resolve(arg0); + return ret; + }; + imports.wbg.__wbg_search_4c8c4c416a168e55 = function() { return handleError(function (arg0, arg1) { + const ret = arg1.search; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }, arguments) }; + imports.wbg.__wbg_self_ac4343e4047b83cc = function() { return handleError(function () { + const ret = self.self; + return ret; + }, arguments) }; + imports.wbg.__wbg_setAttribute_e5d83ecaf7f586d5 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { + arg0.setAttribute(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4)); + }, arguments) }; + imports.wbg.__wbg_setBindGroup_62a3045b0921e429 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setBindGroup(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4), arg5, arg6 >>> 0); + }; + imports.wbg.__wbg_setBindGroup_6c0fd18e9a53a945 = function(arg0, arg1, arg2) { + arg0.setBindGroup(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_setBindGroup_7f3b61f1f482133b = function(arg0, arg1, arg2) { + arg0.setBindGroup(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_setBindGroup_bf767a5aa46a33ce = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setBindGroup(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4), arg5, arg6 >>> 0); + }; + imports.wbg.__wbg_setBindGroup_c4aaff14063226b4 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setBindGroup(arg1 >>> 0, arg2, getArrayU32FromWasm0(arg3, arg4), arg5, arg6 >>> 0); + }; + imports.wbg.__wbg_setBindGroup_f82e771dc1b69093 = function(arg0, arg1, arg2) { + arg0.setBindGroup(arg1 >>> 0, arg2); + }; + imports.wbg.__wbg_setBlendConstant_016723821cfb3aa4 = function(arg0, arg1) { + arg0.setBlendConstant(arg1); + }; + imports.wbg.__wbg_setIndexBuffer_286a40afdff411b7 = function(arg0, arg1, arg2, arg3) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3); + }; + imports.wbg.__wbg_setIndexBuffer_7efd0b7a40c65fb9 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3, arg4); + }; + imports.wbg.__wbg_setIndexBuffer_e091a9673bb575e2 = function(arg0, arg1, arg2, arg3) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3); + }; + imports.wbg.__wbg_setIndexBuffer_f0759f00036f615f = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setIndexBuffer(arg1, __wbindgen_enum_GpuIndexFormat[arg2], arg3, arg4); + }; + imports.wbg.__wbg_setPipeline_ba92070b8ee81cf9 = function(arg0, arg1) { + arg0.setPipeline(arg1); + }; + imports.wbg.__wbg_setPipeline_c344f76bae58c4d6 = function(arg0, arg1) { + arg0.setPipeline(arg1); + }; + imports.wbg.__wbg_setPipeline_d76451c50a121598 = function(arg0, arg1) { + arg0.setPipeline(arg1); + }; + imports.wbg.__wbg_setScissorRect_0b6ee0852ef0b6b9 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setScissorRect(arg1 >>> 0, arg2 >>> 0, arg3 >>> 0, arg4 >>> 0); + }; + imports.wbg.__wbg_setStencilReference_34fd3d59673a5a9d = function(arg0, arg1) { + arg0.setStencilReference(arg1 >>> 0); + }; + imports.wbg.__wbg_setVertexBuffer_06a90dc78e1ad9c4 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_setVertexBuffer_1540e9118b6c451d = function(arg0, arg1, arg2, arg3) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_setVertexBuffer_5166eedc06450701 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3, arg4); + }; + imports.wbg.__wbg_setVertexBuffer_8621784e5014065b = function(arg0, arg1, arg2, arg3) { + arg0.setVertexBuffer(arg1 >>> 0, arg2, arg3); + }; + imports.wbg.__wbg_setViewport_731ad30abb13f744 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { + arg0.setViewport(arg1, arg2, arg3, arg4, arg5, arg6); + }; + imports.wbg.__wbg_set_421385e996a16e02 = function() { return handleError(function (arg0, arg1, arg2) { + const ret = Reflect.set(arg0, arg1, arg2); + return ret; + }, arguments) }; + imports.wbg.__wbg_set_7b70226104a82921 = function(arg0, arg1, arg2) { + arg0.set(arg1, arg2 >>> 0); + }; + imports.wbg.__wbg_setbody_a548052400c35526 = function(arg0, arg1) { + arg0.body = arg1; + }; + imports.wbg.__wbg_setcredentials_6ae5f65d7ad22ffc = function(arg0, arg1) { + arg0.credentials = __wbindgen_enum_RequestCredentials[arg1]; + }; + imports.wbg.__wbg_setheaders_1f2d4c08004f4227 = function(arg0, arg1) { + arg0.headers = arg1; + }; + imports.wbg.__wbg_setheight_4286b13b9186d39f = function(arg0, arg1) { + arg0.height = arg1 >>> 0; + }; + imports.wbg.__wbg_setheight_7632621fed149fd9 = function(arg0, arg1) { + arg0.height = arg1 >>> 0; + }; + imports.wbg.__wbg_setmethod_c704d56d480d8580 = function(arg0, arg1, arg2) { + arg0.method = getStringFromWasm0(arg1, arg2); + }; + imports.wbg.__wbg_setmode_26f3e7a9f55ddb2d = function(arg0, arg1) { + arg0.mode = __wbindgen_enum_RequestMode[arg1]; + }; + imports.wbg.__wbg_setonuncapturederror_19541466822d790b = function(arg0, arg1) { + arg0.onuncapturederror = arg1; + }; + imports.wbg.__wbg_setsignal_de26efe32c2e413d = function(arg0, arg1) { + arg0.signal = arg1; + }; + imports.wbg.__wbg_setwidth_5e43e6e177d3e2ec = function(arg0, arg1) { + arg0.width = arg1 >>> 0; + }; + imports.wbg.__wbg_setwidth_db46810857c0f6bd = function(arg0, arg1) { + arg0.width = arg1 >>> 0; + }; + imports.wbg.__wbg_signal_fd2d6d0644f16ad8 = function(arg0) { + const ret = arg0.signal; + return ret; + }; + imports.wbg.__wbg_size_661bddb3f9898121 = function(arg0) { + const ret = arg0.size; + return ret; + }; + imports.wbg.__wbg_stack_0ed75d68575b0f3c = function(arg0, arg1) { + const ret = arg1.stack; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_status_5f9868b7ed8dd175 = function(arg0) { + const ret = arg0.status; + return ret; + }; + imports.wbg.__wbg_stringify_f5476f15b5654a07 = function() { return handleError(function (arg0) { + const ret = JSON.stringify(arg0); + return ret; + }, arguments) }; + imports.wbg.__wbg_subarray_b4e9772c34a7f5ba = function(arg0, arg1, arg2) { + const ret = arg0.subarray(arg1 >>> 0, arg2 >>> 0); + return ret; + }; + imports.wbg.__wbg_submit_f635072bb3d05faa = function(arg0, arg1) { + arg0.submit(arg1); + }; + imports.wbg.__wbg_then_5c6469c1e1da9e59 = function(arg0, arg1) { + const ret = arg0.then(arg1); + return ret; + }; + imports.wbg.__wbg_then_faeb8aed8c1629b7 = function(arg0, arg1, arg2) { + const ret = arg0.then(arg1, arg2); + return ret; + }; + imports.wbg.__wbg_type_c0d5d83032e9858a = function(arg0) { + const ret = arg0.type; + return (__wbindgen_enum_GpuCompilationMessageType.indexOf(ret) + 1 || 4) - 1; + }; + imports.wbg.__wbg_unmap_8c2e8131b2aaa844 = function(arg0) { + arg0.unmap(); + }; + imports.wbg.__wbg_url_ba6c16bbafb59895 = function(arg0, arg1) { + const ret = arg1.url; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_usage_13caa02888040e9f = function(arg0) { + const ret = arg0.usage; + return ret; + }; + imports.wbg.__wbg_valueOf_a2728b52687d72b4 = function(arg0) { + const ret = arg0.valueOf(); + return ret; + }; + imports.wbg.__wbg_value_30db1d77772f3236 = function(arg0) { + const ret = arg0.value; + return ret; + }; + imports.wbg.__wbg_versions_c71aa1626a93e0a1 = function(arg0) { + const ret = arg0.versions; + return ret; + }; + imports.wbg.__wbg_warn_a6963915e4da61f6 = function(arg0) { + console.warn(arg0); + }; + imports.wbg.__wbg_width_514dd9b3b0cff49c = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_width_826b25a505a0b357 = function(arg0) { + const ret = arg0.width; + return ret; + }; + imports.wbg.__wbg_window_1a23defd102c72f4 = function() { return handleError(function () { + const ret = window.window; + return ret; + }, arguments) }; + imports.wbg.__wbg_writeBuffer_5ca4981365eb5ac0 = function(arg0, arg1, arg2, arg3, arg4, arg5) { + arg0.writeBuffer(arg1, arg2, arg3, arg4, arg5); + }; + imports.wbg.__wbg_writeTexture_246118eb2f5a1592 = function(arg0, arg1, arg2, arg3, arg4) { + arg0.writeTexture(arg1, arg2, arg3, arg4); + }; + imports.wbg.__wbindgen_bigint_from_u64 = function(arg0) { + const ret = BigInt.asUintN(64, arg0); + return ret; + }; + imports.wbg.__wbindgen_cb_drop = function(arg0) { + const obj = arg0.original; + if (obj.cnt-- == 1) { + obj.a = 0; + return true; + } + const ret = false; + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper1392 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 109, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2179 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 109, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_closure_wrapper2184 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 109, __wbg_adapter_34); + return ret; + }; + imports.wbg.__wbindgen_debug_string = function(arg0, arg1) { + const ret = debugString(arg1); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_init_externref_table = function() { + const table = wasm.__wbindgen_export_2; + const offset = table.grow(4); + table.set(0, undefined); + table.set(offset + 0, undefined); + table.set(offset + 1, null); + table.set(offset + 2, true); + table.set(offset + 3, false); + ; + }; + imports.wbg.__wbindgen_is_function = function(arg0) { + const ret = typeof(arg0) === 'function'; + return ret; + }; + imports.wbg.__wbindgen_is_null = function(arg0) { + const ret = arg0 === null; + return ret; + }; + imports.wbg.__wbindgen_is_object = function(arg0) { + const val = arg0; + const ret = typeof(val) === 'object' && val !== null; + return ret; + }; + imports.wbg.__wbindgen_is_string = function(arg0) { + const ret = typeof(arg0) === 'string'; + return ret; + }; + imports.wbg.__wbindgen_is_undefined = function(arg0) { + const ret = arg0 === undefined; + return ret; + }; + imports.wbg.__wbindgen_memory = function() { + const ret = wasm.memory; + return ret; + }; + imports.wbg.__wbindgen_number_new = function(arg0) { + const ret = arg0; + return ret; + }; + imports.wbg.__wbindgen_string_get = function(arg0, arg1) { + const obj = arg1; + const ret = typeof(obj) === 'string' ? obj : undefined; + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_string_new = function(arg0, arg1) { + const ret = getStringFromWasm0(arg0, arg1); + return ret; + }; + imports.wbg.__wbindgen_throw = function(arg0, arg1) { + throw new Error(getStringFromWasm0(arg0, arg1)); + }; + + return imports; +} + +function __wbg_init_memory(imports, memory) { + +} + +function __wbg_finalize_init(instance, module) { + wasm = instance.exports; + __wbg_init.__wbindgen_wasm_module = module; + cachedDataViewMemory0 = null; + cachedUint32ArrayMemory0 = null; + cachedUint8ArrayMemory0 = null; + + + wasm.__wbindgen_start(); + return wasm; +} + +function initSync(module) { + if (wasm !== undefined) return wasm; + + + if (typeof module !== 'undefined') { + if (Object.getPrototypeOf(module) === Object.prototype) { + ({module} = module) + } else { + console.warn('using deprecated parameters for `initSync()`; pass a single object instead') + } + } + + const imports = __wbg_get_imports(); + + __wbg_init_memory(imports); + + if (!(module instanceof WebAssembly.Module)) { + module = new WebAssembly.Module(module); + } + + const instance = new WebAssembly.Instance(module, imports); + + return __wbg_finalize_init(instance, module); +} + +async function __wbg_init(module_or_path) { + if (wasm !== undefined) return wasm; + + + if (typeof module_or_path !== 'undefined') { + if (Object.getPrototypeOf(module_or_path) === Object.prototype) { + ({module_or_path} = module_or_path) + } else { + console.warn('using deprecated parameters for the initialization function; pass a single object instead') + } + } + + if (typeof module_or_path === 'undefined') { + module_or_path = new URL('wgpu-in-web_bg.wasm', import.meta.url); + } + const imports = __wbg_get_imports(); + + if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) { + module_or_path = fetch(module_or_path); + } + + __wbg_init_memory(imports); + + const { instance, module } = await __wbg_load(await module_or_path, imports); + + return __wbg_finalize_init(instance, module); +} + +export { initSync }; +export default __wbg_init; diff --git a/wasm/wgpu-in-web_bg.wasm b/wasm/wgpu-in-web_bg.wasm new file mode 100644 index 00000000..8d9d4db9 Binary files /dev/null and b/wasm/wgpu-in-web_bg.wasm differ