diff --git a/.gitignore b/.gitignore
new file mode 100644
index 00000000..e21858a2
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+.idea/*
+target/*
+Cargo.lock
diff --git a/doc/implementors/core/clone/trait.Clone.js b/doc/implementors/core/clone/trait.Clone.js
index 6e315ab5..3b01ba78 100644
--- a/doc/implementors/core/clone/trait.Clone.js
+++ b/doc/implementors/core/clone/trait.Clone.js
@@ -1,5 +1,5 @@
(function() {var implementors = {};
-implementors["sfml_rust"] = [{text:"impl Clone for Vertex2D",synthetic:false,types:["sfml_rust::util::vertex_2d::Vertex2D"]},{text:"impl Clone for Vertex3D",synthetic:false,types:["sfml_rust::util::vertex_3d::Vertex3D"]},{text:"impl Clone for TextVertex3D",synthetic:false,types:["sfml_rust::util::vertex_3d::TextVertex3D"]},{text:"impl Clone for Sprite",synthetic:false,types:["sfml_rust::sprite::Sprite"]},{text:"impl Clone for Poly",synthetic:false,types:["sfml_rust::sprite::Poly"]},{text:"impl Clone for Text",synthetic:false,types:["sfml_rust::sprite::Text"]},{text:"impl Clone for CanvasState",synthetic:false,types:["sfml_rust::canvas::canvas_state::CanvasState"]},{text:"impl Clone for GlyphInstance",synthetic:false,types:["sfml_rust::canvas::managed::shader::text_shader::GlyphInstance"]},{text:"impl Clone for TextShader",synthetic:false,types:["sfml_rust::canvas::managed::shader::text_shader::TextShader"]},{text:"impl Clone for GenericShader",synthetic:false,types:["sfml_rust::canvas::managed::shader::generic_shader::GenericShader"]},{text:"impl Clone for RuntimeVertexDef",synthetic:false,types:["sfml_rust::canvas::managed::shader::dynamic_vertex::RuntimeVertexDef"]},{text:"impl Clone for ShaderType",synthetic:false,types:["sfml_rust::canvas::managed::shader::shader_common::ShaderType"]},{text:"impl Clone for CanvasFontHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasFontHandle"]},{text:"impl Clone for CanvasTextureHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasTextureHandle"]},{text:"impl Clone for CanvasImageHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasImageHandle"]},{text:"impl Clone for CanvasShaderHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasShaderHandle"]},{text:"impl Clone for CompiledGraphicsPipelineHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CompiledGraphicsPipelineHandle"]},{text:"impl Clone for CanvasTexture",synthetic:false,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasTexture"]},{text:"impl Clone for CanvasImage",synthetic:false,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasImage"]},{text:"impl Clone for CanvasFont",synthetic:false,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasFont"]},{text:"impl Clone for CompuBuffers",synthetic:false,types:["sfml_rust::compute::managed::compu_buffer::CompuBuffers"]},{text:"impl Clone for CompuKernel",synthetic:false,types:["sfml_rust::compute::managed::compu_kernel::CompuKernel"]},{text:"impl Clone for ComputeSpecializationConstants",synthetic:false,types:["sfml_rust::compute::managed::compu_kernel::ComputeSpecializationConstants"]},{text:"impl Clone for CompuBufferHandle",synthetic:false,types:["sfml_rust::compute::managed::handles::CompuBufferHandle"]},{text:"impl Clone for CompuKernelHandle",synthetic:false,types:["sfml_rust::compute::managed::handles::CompuKernelHandle"]},];
+implementors["sfml_rust"] = [{text:"impl Clone for TextureVertex2D",synthetic:false,types:["sfml_rust::util::vertex::TextureVertex2D"]},{text:"impl Clone for ColorVertex2D",synthetic:false,types:["sfml_rust::util::vertex::ColorVertex2D"]},{text:"impl Clone for ImageVertex2D",synthetic:false,types:["sfml_rust::util::vertex::ImageVertex2D"]},{text:"impl Clone for Vertex3D",synthetic:false,types:["sfml_rust::util::vertex::Vertex3D"]},{text:"impl Clone for TextVertex3D",synthetic:false,types:["sfml_rust::util::vertex::TextVertex3D"]},{text:"impl Clone for VertexTypes",synthetic:false,types:["sfml_rust::util::vertex::VertexTypes"]},{text:"impl Clone for CanvasFrameAllocation",synthetic:false,types:["sfml_rust::util::vertex::CanvasFrameAllocation"]},{text:"impl Clone for Sprite",synthetic:false,types:["sfml_rust::sprite::Sprite"]},{text:"impl Clone for CanvasState",synthetic:false,types:["sfml_rust::canvas::canvas_state::CanvasState"]},{text:"impl Clone for GlyphInstance",synthetic:false,types:["sfml_rust::canvas::managed::shader::text_shader::GlyphInstance"]},{text:"impl Clone for TextShader",synthetic:false,types:["sfml_rust::canvas::managed::shader::text_shader::TextShader"]},{text:"impl Clone for GenericShader",synthetic:false,types:["sfml_rust::canvas::managed::shader::generic_shader::GenericShader"]},{text:"impl Clone for RuntimeVertexDef",synthetic:false,types:["sfml_rust::canvas::managed::shader::dynamic_vertex::RuntimeVertexDef"]},{text:"impl Clone for ShaderType",synthetic:false,types:["sfml_rust::canvas::managed::shader::shader_common::ShaderType"]},{text:"impl Clone for CanvasFontHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasFontHandle"]},{text:"impl Clone for CanvasTextureHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasTextureHandle"]},{text:"impl Clone for CanvasImageHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasImageHandle"]},{text:"impl Clone for CompiledShaderHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CompiledShaderHandle"]},{text:"impl Clone for CanvasTexture",synthetic:false,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasTexture"]},{text:"impl Clone for CanvasImage",synthetic:false,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasImage"]},{text:"impl Clone for CanvasFont",synthetic:false,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasFont"]},{text:"impl Clone for CompuBuffers",synthetic:false,types:["sfml_rust::compute::managed::compu_buffer::CompuBuffers"]},{text:"impl Clone for CompuKernel",synthetic:false,types:["sfml_rust::compute::managed::compu_kernel::CompuKernel"]},{text:"impl Clone for ComputeSpecializationConstants",synthetic:false,types:["sfml_rust::compute::managed::compu_kernel::ComputeSpecializationConstants"]},{text:"impl Clone for CompuBufferHandle",synthetic:false,types:["sfml_rust::compute::managed::handles::CompuBufferHandle"]},{text:"impl Clone for CompuKernelHandle",synthetic:false,types:["sfml_rust::compute::managed::handles::CompuKernelHandle"]},];
if (window.register_implementors) {
window.register_implementors(implementors);
diff --git a/doc/implementors/core/cmp/trait.Eq.js b/doc/implementors/core/cmp/trait.Eq.js
index e0807120..c7cdc951 100644
--- a/doc/implementors/core/cmp/trait.Eq.js
+++ b/doc/implementors/core/cmp/trait.Eq.js
@@ -1,5 +1,5 @@
(function() {var implementors = {};
-implementors["sfml_rust"] = [{text:"impl Eq for ShaderType",synthetic:false,types:["sfml_rust::canvas::managed::shader::shader_common::ShaderType"]},{text:"impl Eq for CanvasFontHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasFontHandle"]},{text:"impl Eq for CanvasTextureHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasTextureHandle"]},{text:"impl Eq for CanvasImageHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasImageHandle"]},{text:"impl Eq for CanvasShaderHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasShaderHandle"]},{text:"impl Eq for CompiledGraphicsPipelineHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CompiledGraphicsPipelineHandle"]},{text:"impl Eq for CompuBufferHandle",synthetic:false,types:["sfml_rust::compute::managed::handles::CompuBufferHandle"]},{text:"impl Eq for CompuKernelHandle",synthetic:false,types:["sfml_rust::compute::managed::handles::CompuKernelHandle"]},];
+implementors["sfml_rust"] = [{text:"impl Eq for ShaderType",synthetic:false,types:["sfml_rust::canvas::managed::shader::shader_common::ShaderType"]},{text:"impl Eq for CanvasFontHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasFontHandle"]},{text:"impl Eq for CanvasTextureHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasTextureHandle"]},{text:"impl Eq for CanvasImageHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasImageHandle"]},{text:"impl Eq for CompiledShaderHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CompiledShaderHandle"]},{text:"impl Eq for CompuBufferHandle",synthetic:false,types:["sfml_rust::compute::managed::handles::CompuBufferHandle"]},{text:"impl Eq for CompuKernelHandle",synthetic:false,types:["sfml_rust::compute::managed::handles::CompuKernelHandle"]},];
if (window.register_implementors) {
window.register_implementors(implementors);
diff --git a/doc/implementors/core/cmp/trait.PartialEq.js b/doc/implementors/core/cmp/trait.PartialEq.js
index 0a5cfa44..919bd457 100644
--- a/doc/implementors/core/cmp/trait.PartialEq.js
+++ b/doc/implementors/core/cmp/trait.PartialEq.js
@@ -1,5 +1,5 @@
(function() {var implementors = {};
-implementors["sfml_rust"] = [{text:"impl PartialEq<ShaderType> for ShaderType",synthetic:false,types:["sfml_rust::canvas::managed::shader::shader_common::ShaderType"]},{text:"impl PartialEq<CanvasFontHandle> for CanvasFontHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasFontHandle"]},{text:"impl PartialEq<CanvasTextureHandle> for CanvasTextureHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasTextureHandle"]},{text:"impl PartialEq<CanvasImageHandle> for CanvasImageHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasImageHandle"]},{text:"impl PartialEq<CanvasShaderHandle> for CanvasShaderHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasShaderHandle"]},{text:"impl PartialEq<CompiledGraphicsPipelineHandle> for CompiledGraphicsPipelineHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CompiledGraphicsPipelineHandle"]},{text:"impl PartialEq<CompuBufferHandle> for CompuBufferHandle",synthetic:false,types:["sfml_rust::compute::managed::handles::CompuBufferHandle"]},{text:"impl PartialEq<CompuKernelHandle> for CompuKernelHandle",synthetic:false,types:["sfml_rust::compute::managed::handles::CompuKernelHandle"]},];
+implementors["sfml_rust"] = [{text:"impl PartialEq<ShaderType> for ShaderType",synthetic:false,types:["sfml_rust::canvas::managed::shader::shader_common::ShaderType"]},{text:"impl PartialEq<CanvasFontHandle> for CanvasFontHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasFontHandle"]},{text:"impl PartialEq<CanvasTextureHandle> for CanvasTextureHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasTextureHandle"]},{text:"impl PartialEq<CanvasImageHandle> for CanvasImageHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasImageHandle"]},{text:"impl PartialEq<CompiledShaderHandle> for CompiledShaderHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CompiledShaderHandle"]},{text:"impl PartialEq<CompuBufferHandle> for CompuBufferHandle",synthetic:false,types:["sfml_rust::compute::managed::handles::CompuBufferHandle"]},{text:"impl PartialEq<CompuKernelHandle> for CompuKernelHandle",synthetic:false,types:["sfml_rust::compute::managed::handles::CompuKernelHandle"]},];
if (window.register_implementors) {
window.register_implementors(implementors);
diff --git a/doc/implementors/core/default/trait.Default.js b/doc/implementors/core/default/trait.Default.js
index f04db817..1446078b 100644
--- a/doc/implementors/core/default/trait.Default.js
+++ b/doc/implementors/core/default/trait.Default.js
@@ -1,5 +1,5 @@
(function() {var implementors = {};
-implementors["sfml_rust"] = [{text:"impl Default for Vertex2D",synthetic:false,types:["sfml_rust::util::vertex_2d::Vertex2D"]},{text:"impl Default for Vertex3D",synthetic:false,types:["sfml_rust::util::vertex_3d::Vertex3D"]},{text:"impl Default for TextVertex3D",synthetic:false,types:["sfml_rust::util::vertex_3d::TextVertex3D"]},{text:"impl Default for GlyphInstance",synthetic:false,types:["sfml_rust::canvas::managed::shader::text_shader::GlyphInstance"]},{text:"impl Default for RuntimeVertexDef",synthetic:false,types:["sfml_rust::canvas::managed::shader::dynamic_vertex::RuntimeVertexDef"]},{text:"impl Default for CanvasFontHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasFontHandle"]},{text:"impl Default for CanvasTextureHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasTextureHandle"]},{text:"impl Default for CanvasImageHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasImageHandle"]},{text:"impl Default for CanvasShaderHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasShaderHandle"]},{text:"impl Default for CompiledGraphicsPipelineHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CompiledGraphicsPipelineHandle"]},{text:"impl Default for ComputeSpecializationConstants",synthetic:false,types:["sfml_rust::compute::managed::compu_kernel::ComputeSpecializationConstants"]},{text:"impl Default for CompuBufferHandle",synthetic:false,types:["sfml_rust::compute::managed::handles::CompuBufferHandle"]},{text:"impl Default for CompuKernelHandle",synthetic:false,types:["sfml_rust::compute::managed::handles::CompuKernelHandle"]},];
+implementors["sfml_rust"] = [{text:"impl Default for TextureVertex2D",synthetic:false,types:["sfml_rust::util::vertex::TextureVertex2D"]},{text:"impl Default for ColorVertex2D",synthetic:false,types:["sfml_rust::util::vertex::ColorVertex2D"]},{text:"impl Default for ImageVertex2D",synthetic:false,types:["sfml_rust::util::vertex::ImageVertex2D"]},{text:"impl Default for Vertex3D",synthetic:false,types:["sfml_rust::util::vertex::Vertex3D"]},{text:"impl Default for TextVertex3D",synthetic:false,types:["sfml_rust::util::vertex::TextVertex3D"]},{text:"impl Default for CanvasFrameTest",synthetic:false,types:["sfml_rust::canvas::canvas_frame::CanvasFrameTest"]},{text:"impl Default for GlyphInstance",synthetic:false,types:["sfml_rust::canvas::managed::shader::text_shader::GlyphInstance"]},{text:"impl Default for RuntimeVertexDef",synthetic:false,types:["sfml_rust::canvas::managed::shader::dynamic_vertex::RuntimeVertexDef"]},{text:"impl Default for CanvasFontHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasFontHandle"]},{text:"impl Default for CanvasTextureHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasTextureHandle"]},{text:"impl Default for CanvasImageHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasImageHandle"]},{text:"impl Default for CompiledShaderHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CompiledShaderHandle"]},{text:"impl Default for ComputeSpecializationConstants",synthetic:false,types:["sfml_rust::compute::managed::compu_kernel::ComputeSpecializationConstants"]},{text:"impl Default for CompuBufferHandle",synthetic:false,types:["sfml_rust::compute::managed::handles::CompuBufferHandle"]},{text:"impl Default for CompuKernelHandle",synthetic:false,types:["sfml_rust::compute::managed::handles::CompuKernelHandle"]},];
if (window.register_implementors) {
window.register_implementors(implementors);
diff --git a/doc/implementors/core/fmt/trait.Debug.js b/doc/implementors/core/fmt/trait.Debug.js
index 19cbbd30..c258fc4d 100644
--- a/doc/implementors/core/fmt/trait.Debug.js
+++ b/doc/implementors/core/fmt/trait.Debug.js
@@ -1,5 +1,5 @@
(function() {var implementors = {};
-implementors["sfml_rust"] = [{text:"impl Debug for Vertex2D",synthetic:false,types:["sfml_rust::util::vertex_2d::Vertex2D"]},{text:"impl Debug for Vertex3D",synthetic:false,types:["sfml_rust::util::vertex_3d::Vertex3D"]},{text:"impl Debug for TextVertex3D",synthetic:false,types:["sfml_rust::util::vertex_3d::TextVertex3D"]},{text:"impl Debug for Sprite",synthetic:false,types:["sfml_rust::sprite::Sprite"]},{text:"impl Debug for Poly",synthetic:false,types:["sfml_rust::sprite::Poly"]},{text:"impl Debug for Text",synthetic:false,types:["sfml_rust::sprite::Text"]},{text:"impl Debug for GlyphInstance",synthetic:false,types:["sfml_rust::canvas::managed::shader::text_shader::GlyphInstance"]},{text:"impl Debug for RuntimeVertexDef",synthetic:false,types:["sfml_rust::canvas::managed::shader::dynamic_vertex::RuntimeVertexDef"]},{text:"impl Debug for CanvasFontHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasFontHandle"]},{text:"impl Debug for CanvasTextureHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasTextureHandle"]},{text:"impl Debug for CanvasImageHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasImageHandle"]},{text:"impl Debug for CanvasShaderHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasShaderHandle"]},{text:"impl Debug for CompiledGraphicsPipelineHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CompiledGraphicsPipelineHandle"]},{text:"impl Debug for ComputeSpecializationConstants",synthetic:false,types:["sfml_rust::compute::managed::compu_kernel::ComputeSpecializationConstants"]},{text:"impl Debug for CompuBufferHandle",synthetic:false,types:["sfml_rust::compute::managed::handles::CompuBufferHandle"]},{text:"impl Debug for CompuKernelHandle",synthetic:false,types:["sfml_rust::compute::managed::handles::CompuKernelHandle"]},];
+implementors["sfml_rust"] = [{text:"impl Debug for TextureVertex2D",synthetic:false,types:["sfml_rust::util::vertex::TextureVertex2D"]},{text:"impl Debug for ColorVertex2D",synthetic:false,types:["sfml_rust::util::vertex::ColorVertex2D"]},{text:"impl Debug for ImageVertex2D",synthetic:false,types:["sfml_rust::util::vertex::ImageVertex2D"]},{text:"impl Debug for Vertex3D",synthetic:false,types:["sfml_rust::util::vertex::Vertex3D"]},{text:"impl Debug for TextVertex3D",synthetic:false,types:["sfml_rust::util::vertex::TextVertex3D"]},{text:"impl Debug for VertexTypes",synthetic:false,types:["sfml_rust::util::vertex::VertexTypes"]},{text:"impl Debug for Sprite",synthetic:false,types:["sfml_rust::sprite::Sprite"]},{text:"impl Debug for GlyphInstance",synthetic:false,types:["sfml_rust::canvas::managed::shader::text_shader::GlyphInstance"]},{text:"impl Debug for RuntimeVertexDef",synthetic:false,types:["sfml_rust::canvas::managed::shader::dynamic_vertex::RuntimeVertexDef"]},{text:"impl Debug for CanvasFontHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasFontHandle"]},{text:"impl Debug for CanvasTextureHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasTextureHandle"]},{text:"impl Debug for CanvasImageHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasImageHandle"]},{text:"impl Debug for CompiledShaderHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CompiledShaderHandle"]},{text:"impl Debug for ComputeSpecializationConstants",synthetic:false,types:["sfml_rust::compute::managed::compu_kernel::ComputeSpecializationConstants"]},{text:"impl Debug for CompuBufferHandle",synthetic:false,types:["sfml_rust::compute::managed::handles::CompuBufferHandle"]},{text:"impl Debug for CompuKernelHandle",synthetic:false,types:["sfml_rust::compute::managed::handles::CompuKernelHandle"]},];
if (window.register_implementors) {
window.register_implementors(implementors);
diff --git a/doc/implementors/core/hash/trait.Hash.js b/doc/implementors/core/hash/trait.Hash.js
index a211edf0..35a5a16d 100644
--- a/doc/implementors/core/hash/trait.Hash.js
+++ b/doc/implementors/core/hash/trait.Hash.js
@@ -1,5 +1,5 @@
(function() {var implementors = {};
-implementors["sfml_rust"] = [{text:"impl Hash for ShaderType",synthetic:false,types:["sfml_rust::canvas::managed::shader::shader_common::ShaderType"]},{text:"impl Hash for CanvasFontHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasFontHandle"]},{text:"impl Hash for CanvasTextureHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasTextureHandle"]},{text:"impl Hash for CanvasImageHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasImageHandle"]},{text:"impl Hash for CanvasShaderHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasShaderHandle"]},{text:"impl Hash for CompiledGraphicsPipelineHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CompiledGraphicsPipelineHandle"]},{text:"impl Hash for CompuBufferHandle",synthetic:false,types:["sfml_rust::compute::managed::handles::CompuBufferHandle"]},{text:"impl Hash for CompuKernelHandle",synthetic:false,types:["sfml_rust::compute::managed::handles::CompuKernelHandle"]},];
+implementors["sfml_rust"] = [{text:"impl Hash for ShaderType",synthetic:false,types:["sfml_rust::canvas::managed::shader::shader_common::ShaderType"]},{text:"impl Hash for CanvasFontHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasFontHandle"]},{text:"impl Hash for CanvasTextureHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasTextureHandle"]},{text:"impl Hash for CanvasImageHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CanvasImageHandle"]},{text:"impl Hash for CompiledShaderHandle",synthetic:false,types:["sfml_rust::canvas::managed::handles::CompiledShaderHandle"]},{text:"impl Hash for CompuBufferHandle",synthetic:false,types:["sfml_rust::compute::managed::handles::CompuBufferHandle"]},{text:"impl Hash for CompuKernelHandle",synthetic:false,types:["sfml_rust::compute::managed::handles::CompuKernelHandle"]},];
if (window.register_implementors) {
window.register_implementors(implementors);
diff --git a/doc/implementors/core/marker/trait.Copy.js b/doc/implementors/core/marker/trait.Copy.js
index 90d6b650..85501e4f 100644
--- a/doc/implementors/core/marker/trait.Copy.js
+++ b/doc/implementors/core/marker/trait.Copy.js
@@ -1,5 +1,5 @@
(function() {var implementors = {};
-implementors["sfml_rust"] = [{text:"impl Copy for Vertex2D",synthetic:false,types:["sfml_rust::util::vertex_2d::Vertex2D"]},{text:"impl Copy for Vertex3D",synthetic:false,types:["sfml_rust::util::vertex_3d::Vertex3D"]},{text:"impl Copy for TextVertex3D",synthetic:false,types:["sfml_rust::util::vertex_3d::TextVertex3D"]},{text:"impl Copy for GlyphInstance",synthetic:false,types:["sfml_rust::canvas::managed::shader::text_shader::GlyphInstance"]},];
+implementors["sfml_rust"] = [{text:"impl Copy for TextureVertex2D",synthetic:false,types:["sfml_rust::util::vertex::TextureVertex2D"]},{text:"impl Copy for ColorVertex2D",synthetic:false,types:["sfml_rust::util::vertex::ColorVertex2D"]},{text:"impl Copy for ImageVertex2D",synthetic:false,types:["sfml_rust::util::vertex::ImageVertex2D"]},{text:"impl Copy for Vertex3D",synthetic:false,types:["sfml_rust::util::vertex::Vertex3D"]},{text:"impl Copy for TextVertex3D",synthetic:false,types:["sfml_rust::util::vertex::TextVertex3D"]},{text:"impl Copy for GlyphInstance",synthetic:false,types:["sfml_rust::canvas::managed::shader::text_shader::GlyphInstance"]},];
if (window.register_implementors) {
window.register_implementors(implementors);
diff --git a/doc/implementors/core/marker/trait.Freeze.js b/doc/implementors/core/marker/trait.Freeze.js
index 3900f11c..3d55d777 100644
--- a/doc/implementors/core/marker/trait.Freeze.js
+++ b/doc/implementors/core/marker/trait.Freeze.js
@@ -1,5 +1,5 @@
(function() {var implementors = {};
-implementors["sfml_rust"] = [{text:"impl Freeze for Timer",synthetic:true,types:["sfml_rust::util::timer::Timer"]},{text:"impl Freeze for Vertex2D",synthetic:true,types:["sfml_rust::util::vertex_2d::Vertex2D"]},{text:"impl Freeze for Vertex3D",synthetic:true,types:["sfml_rust::util::vertex_3d::Vertex3D"]},{text:"impl Freeze for TextVertex3D",synthetic:true,types:["sfml_rust::util::vertex_3d::TextVertex3D"]},{text:"impl<'a> Freeze for VkProcessor<'a>",synthetic:true,types:["sfml_rust::vkprocessor::VkProcessor"]},{text:"impl Freeze for Sprite",synthetic:true,types:["sfml_rust::sprite::Sprite"]},{text:"impl Freeze for Poly",synthetic:true,types:["sfml_rust::sprite::Poly"]},{text:"impl Freeze for Text",synthetic:true,types:["sfml_rust::sprite::Text"]},{text:"impl Freeze for CanvasState",synthetic:true,types:["sfml_rust::canvas::canvas_state::CanvasState"]},{text:"impl Freeze for CanvasFrame",synthetic:true,types:["sfml_rust::canvas::canvas_frame::CanvasFrame"]},{text:"impl<H, V, In> Freeze for GenericCanvasFrame<H, V, In>",synthetic:true,types:["sfml_rust::canvas::canvas_frame::GenericCanvasFrame"]},{text:"impl Freeze for GlyphInstance",synthetic:true,types:["sfml_rust::canvas::managed::shader::text_shader::GlyphInstance"]},{text:"impl Freeze for TextShader",synthetic:true,types:["sfml_rust::canvas::managed::shader::text_shader::TextShader"]},{text:"impl Freeze for GenericShader",synthetic:true,types:["sfml_rust::canvas::managed::shader::generic_shader::GenericShader"]},{text:"impl Freeze for RuntimeVertexDef",synthetic:true,types:["sfml_rust::canvas::managed::shader::dynamic_vertex::RuntimeVertexDef"]},{text:"impl Freeze for ShaderType",synthetic:true,types:["sfml_rust::canvas::managed::shader::shader_common::ShaderType"]},{text:"impl Freeze for CanvasFontHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasFontHandle"]},{text:"impl Freeze for CanvasTextureHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasTextureHandle"]},{text:"impl Freeze for CanvasImageHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasImageHandle"]},{text:"impl Freeze for CanvasShaderHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasShaderHandle"]},{text:"impl Freeze for CompiledGraphicsPipelineHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CompiledGraphicsPipelineHandle"]},{text:"impl Freeze for CanvasTexture",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasTexture"]},{text:"impl Freeze for CanvasImage",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasImage"]},{text:"impl Freeze for CanvasFont",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasFont"]},{text:"impl Freeze for CompuFrame",synthetic:true,types:["sfml_rust::compute::compu_frame::CompuFrame"]},{text:"impl Freeze for CompuState",synthetic:true,types:["sfml_rust::compute::compu_state::CompuState"]},{text:"impl Freeze for CompuBuffers",synthetic:true,types:["sfml_rust::compute::managed::compu_buffer::CompuBuffers"]},{text:"impl Freeze for CompuSprite",synthetic:true,types:["sfml_rust::compute::managed::compu_sprite::CompuSprite"]},{text:"impl Freeze for CompuKernel",synthetic:true,types:["sfml_rust::compute::managed::compu_kernel::CompuKernel"]},{text:"impl Freeze for ComputeSpecializationConstants",synthetic:true,types:["sfml_rust::compute::managed::compu_kernel::ComputeSpecializationConstants"]},{text:"impl Freeze for CompuBufferHandle",synthetic:true,types:["sfml_rust::compute::managed::handles::CompuBufferHandle"]},{text:"impl Freeze for CompuKernelHandle",synthetic:true,types:["sfml_rust::compute::managed::handles::CompuKernelHandle"]},];
+implementors["sfml_rust"] = [{text:"impl Freeze for Timer",synthetic:true,types:["sfml_rust::util::timer::Timer"]},{text:"impl Freeze for TextureVertex2D",synthetic:true,types:["sfml_rust::util::vertex::TextureVertex2D"]},{text:"impl Freeze for ColorVertex2D",synthetic:true,types:["sfml_rust::util::vertex::ColorVertex2D"]},{text:"impl Freeze for ImageVertex2D",synthetic:true,types:["sfml_rust::util::vertex::ImageVertex2D"]},{text:"impl Freeze for Vertex3D",synthetic:true,types:["sfml_rust::util::vertex::Vertex3D"]},{text:"impl Freeze for TextVertex3D",synthetic:true,types:["sfml_rust::util::vertex::TextVertex3D"]},{text:"impl Freeze for CanvasFrameAllocation",synthetic:true,types:["sfml_rust::util::vertex::CanvasFrameAllocation"]},{text:"impl Freeze for VertexTypes",synthetic:true,types:["sfml_rust::util::vertex::VertexTypes"]},{text:"impl<'a> Freeze for VkProcessor<'a>",synthetic:true,types:["sfml_rust::vkprocessor::VkProcessor"]},{text:"impl Freeze for Sprite",synthetic:true,types:["sfml_rust::sprite::Sprite"]},{text:"impl Freeze for CanvasState",synthetic:true,types:["sfml_rust::canvas::canvas_state::CanvasState"]},{text:"impl Freeze for CanvasFrameTest",synthetic:true,types:["sfml_rust::canvas::canvas_frame::CanvasFrameTest"]},{text:"impl Freeze for GlyphInstance",synthetic:true,types:["sfml_rust::canvas::managed::shader::text_shader::GlyphInstance"]},{text:"impl Freeze for TextShader",synthetic:true,types:["sfml_rust::canvas::managed::shader::text_shader::TextShader"]},{text:"impl Freeze for GenericShader",synthetic:true,types:["sfml_rust::canvas::managed::shader::generic_shader::GenericShader"]},{text:"impl Freeze for RuntimeVertexDef",synthetic:true,types:["sfml_rust::canvas::managed::shader::dynamic_vertex::RuntimeVertexDef"]},{text:"impl Freeze for ShaderType",synthetic:true,types:["sfml_rust::canvas::managed::shader::shader_common::ShaderType"]},{text:"impl Freeze for CanvasFontHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasFontHandle"]},{text:"impl Freeze for CanvasTextureHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasTextureHandle"]},{text:"impl Freeze for CanvasImageHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasImageHandle"]},{text:"impl Freeze for CompiledShaderHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CompiledShaderHandle"]},{text:"impl Freeze for DrawableHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::DrawableHandle"]},{text:"impl Freeze for CanvasTexture",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasTexture"]},{text:"impl Freeze for CanvasImage",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasImage"]},{text:"impl Freeze for CanvasFont",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasFont"]},{text:"impl Freeze for CompuFrame",synthetic:true,types:["sfml_rust::compute::compu_frame::CompuFrame"]},{text:"impl Freeze for CompuState",synthetic:true,types:["sfml_rust::compute::compu_state::CompuState"]},{text:"impl Freeze for CompuBuffers",synthetic:true,types:["sfml_rust::compute::managed::compu_buffer::CompuBuffers"]},{text:"impl Freeze for CompuSprite",synthetic:true,types:["sfml_rust::compute::managed::compu_sprite::CompuSprite"]},{text:"impl Freeze for CompuKernel",synthetic:true,types:["sfml_rust::compute::managed::compu_kernel::CompuKernel"]},{text:"impl Freeze for ComputeSpecializationConstants",synthetic:true,types:["sfml_rust::compute::managed::compu_kernel::ComputeSpecializationConstants"]},{text:"impl Freeze for CompuBufferHandle",synthetic:true,types:["sfml_rust::compute::managed::handles::CompuBufferHandle"]},{text:"impl Freeze for CompuKernelHandle",synthetic:true,types:["sfml_rust::compute::managed::handles::CompuKernelHandle"]},];
if (window.register_implementors) {
window.register_implementors(implementors);
diff --git a/doc/implementors/core/marker/trait.Send.js b/doc/implementors/core/marker/trait.Send.js
index a36da931..ae776966 100644
--- a/doc/implementors/core/marker/trait.Send.js
+++ b/doc/implementors/core/marker/trait.Send.js
@@ -1,5 +1,5 @@
(function() {var implementors = {};
-implementors["sfml_rust"] = [{text:"impl Send for Timer",synthetic:true,types:["sfml_rust::util::timer::Timer"]},{text:"impl Send for Vertex2D",synthetic:true,types:["sfml_rust::util::vertex_2d::Vertex2D"]},{text:"impl Send for Vertex3D",synthetic:true,types:["sfml_rust::util::vertex_3d::Vertex3D"]},{text:"impl Send for TextVertex3D",synthetic:true,types:["sfml_rust::util::vertex_3d::TextVertex3D"]},{text:"impl<'a> !Send for VkProcessor<'a>",synthetic:true,types:["sfml_rust::vkprocessor::VkProcessor"]},{text:"impl Send for Sprite",synthetic:true,types:["sfml_rust::sprite::Sprite"]},{text:"impl Send for Poly",synthetic:true,types:["sfml_rust::sprite::Poly"]},{text:"impl Send for Text",synthetic:true,types:["sfml_rust::sprite::Text"]},{text:"impl !Send for CanvasState",synthetic:true,types:["sfml_rust::canvas::canvas_state::CanvasState"]},{text:"impl Send for CanvasFrame",synthetic:true,types:["sfml_rust::canvas::canvas_frame::CanvasFrame"]},{text:"impl<H, V, In> Send for GenericCanvasFrame<H, V, In> where H: Send, In: Send, V: Send, ",synthetic:true,types:["sfml_rust::canvas::canvas_frame::GenericCanvasFrame"]},{text:"impl Send for GlyphInstance",synthetic:true,types:["sfml_rust::canvas::managed::shader::text_shader::GlyphInstance"]},{text:"impl Send for TextShader",synthetic:true,types:["sfml_rust::canvas::managed::shader::text_shader::TextShader"]},{text:"impl Send for GenericShader",synthetic:true,types:["sfml_rust::canvas::managed::shader::generic_shader::GenericShader"]},{text:"impl Send for RuntimeVertexDef",synthetic:true,types:["sfml_rust::canvas::managed::shader::dynamic_vertex::RuntimeVertexDef"]},{text:"impl Send for ShaderType",synthetic:true,types:["sfml_rust::canvas::managed::shader::shader_common::ShaderType"]},{text:"impl Send for CanvasFontHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasFontHandle"]},{text:"impl Send for CanvasTextureHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasTextureHandle"]},{text:"impl Send for CanvasImageHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasImageHandle"]},{text:"impl Send for CanvasShaderHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasShaderHandle"]},{text:"impl Send for CompiledGraphicsPipelineHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CompiledGraphicsPipelineHandle"]},{text:"impl Send for CanvasTexture",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasTexture"]},{text:"impl Send for CanvasImage",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasImage"]},{text:"impl Send for CanvasFont",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasFont"]},{text:"impl Send for CompuFrame",synthetic:true,types:["sfml_rust::compute::compu_frame::CompuFrame"]},{text:"impl Send for CompuState",synthetic:true,types:["sfml_rust::compute::compu_state::CompuState"]},{text:"impl Send for CompuBuffers",synthetic:true,types:["sfml_rust::compute::managed::compu_buffer::CompuBuffers"]},{text:"impl Send for CompuSprite",synthetic:true,types:["sfml_rust::compute::managed::compu_sprite::CompuSprite"]},{text:"impl Send for CompuKernel",synthetic:true,types:["sfml_rust::compute::managed::compu_kernel::CompuKernel"]},{text:"impl Send for ComputeSpecializationConstants",synthetic:true,types:["sfml_rust::compute::managed::compu_kernel::ComputeSpecializationConstants"]},{text:"impl Send for CompuBufferHandle",synthetic:true,types:["sfml_rust::compute::managed::handles::CompuBufferHandle"]},{text:"impl Send for CompuKernelHandle",synthetic:true,types:["sfml_rust::compute::managed::handles::CompuKernelHandle"]},];
+implementors["sfml_rust"] = [{text:"impl Send for Timer",synthetic:true,types:["sfml_rust::util::timer::Timer"]},{text:"impl Send for TextureVertex2D",synthetic:true,types:["sfml_rust::util::vertex::TextureVertex2D"]},{text:"impl Send for ColorVertex2D",synthetic:true,types:["sfml_rust::util::vertex::ColorVertex2D"]},{text:"impl Send for ImageVertex2D",synthetic:true,types:["sfml_rust::util::vertex::ImageVertex2D"]},{text:"impl Send for Vertex3D",synthetic:true,types:["sfml_rust::util::vertex::Vertex3D"]},{text:"impl Send for TextVertex3D",synthetic:true,types:["sfml_rust::util::vertex::TextVertex3D"]},{text:"impl Send for CanvasFrameAllocation",synthetic:true,types:["sfml_rust::util::vertex::CanvasFrameAllocation"]},{text:"impl Send for VertexTypes",synthetic:true,types:["sfml_rust::util::vertex::VertexTypes"]},{text:"impl<'a> !Send for VkProcessor<'a>",synthetic:true,types:["sfml_rust::vkprocessor::VkProcessor"]},{text:"impl Send for Sprite",synthetic:true,types:["sfml_rust::sprite::Sprite"]},{text:"impl !Send for CanvasState",synthetic:true,types:["sfml_rust::canvas::canvas_state::CanvasState"]},{text:"impl Send for CanvasFrameTest",synthetic:true,types:["sfml_rust::canvas::canvas_frame::CanvasFrameTest"]},{text:"impl Send for GlyphInstance",synthetic:true,types:["sfml_rust::canvas::managed::shader::text_shader::GlyphInstance"]},{text:"impl Send for TextShader",synthetic:true,types:["sfml_rust::canvas::managed::shader::text_shader::TextShader"]},{text:"impl Send for GenericShader",synthetic:true,types:["sfml_rust::canvas::managed::shader::generic_shader::GenericShader"]},{text:"impl Send for RuntimeVertexDef",synthetic:true,types:["sfml_rust::canvas::managed::shader::dynamic_vertex::RuntimeVertexDef"]},{text:"impl Send for ShaderType",synthetic:true,types:["sfml_rust::canvas::managed::shader::shader_common::ShaderType"]},{text:"impl Send for CanvasFontHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasFontHandle"]},{text:"impl Send for CanvasTextureHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasTextureHandle"]},{text:"impl Send for CanvasImageHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasImageHandle"]},{text:"impl Send for CompiledShaderHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CompiledShaderHandle"]},{text:"impl Send for DrawableHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::DrawableHandle"]},{text:"impl Send for CanvasTexture",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasTexture"]},{text:"impl Send for CanvasImage",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasImage"]},{text:"impl Send for CanvasFont",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasFont"]},{text:"impl Send for CompuFrame",synthetic:true,types:["sfml_rust::compute::compu_frame::CompuFrame"]},{text:"impl Send for CompuState",synthetic:true,types:["sfml_rust::compute::compu_state::CompuState"]},{text:"impl Send for CompuBuffers",synthetic:true,types:["sfml_rust::compute::managed::compu_buffer::CompuBuffers"]},{text:"impl Send for CompuSprite",synthetic:true,types:["sfml_rust::compute::managed::compu_sprite::CompuSprite"]},{text:"impl Send for CompuKernel",synthetic:true,types:["sfml_rust::compute::managed::compu_kernel::CompuKernel"]},{text:"impl Send for ComputeSpecializationConstants",synthetic:true,types:["sfml_rust::compute::managed::compu_kernel::ComputeSpecializationConstants"]},{text:"impl Send for CompuBufferHandle",synthetic:true,types:["sfml_rust::compute::managed::handles::CompuBufferHandle"]},{text:"impl Send for CompuKernelHandle",synthetic:true,types:["sfml_rust::compute::managed::handles::CompuKernelHandle"]},];
if (window.register_implementors) {
window.register_implementors(implementors);
diff --git a/doc/implementors/core/marker/trait.Sync.js b/doc/implementors/core/marker/trait.Sync.js
index 1d7a2cb8..bd4be14f 100644
--- a/doc/implementors/core/marker/trait.Sync.js
+++ b/doc/implementors/core/marker/trait.Sync.js
@@ -1,5 +1,5 @@
(function() {var implementors = {};
-implementors["sfml_rust"] = [{text:"impl Sync for Timer",synthetic:true,types:["sfml_rust::util::timer::Timer"]},{text:"impl Sync for Vertex2D",synthetic:true,types:["sfml_rust::util::vertex_2d::Vertex2D"]},{text:"impl Sync for Vertex3D",synthetic:true,types:["sfml_rust::util::vertex_3d::Vertex3D"]},{text:"impl Sync for TextVertex3D",synthetic:true,types:["sfml_rust::util::vertex_3d::TextVertex3D"]},{text:"impl<'a> !Sync for VkProcessor<'a>",synthetic:true,types:["sfml_rust::vkprocessor::VkProcessor"]},{text:"impl Sync for Sprite",synthetic:true,types:["sfml_rust::sprite::Sprite"]},{text:"impl Sync for Poly",synthetic:true,types:["sfml_rust::sprite::Poly"]},{text:"impl Sync for Text",synthetic:true,types:["sfml_rust::sprite::Text"]},{text:"impl !Sync for CanvasState",synthetic:true,types:["sfml_rust::canvas::canvas_state::CanvasState"]},{text:"impl Sync for CanvasFrame",synthetic:true,types:["sfml_rust::canvas::canvas_frame::CanvasFrame"]},{text:"impl<H, V, In> Sync for GenericCanvasFrame<H, V, In> where H: Sync, In: Sync, V: Sync, ",synthetic:true,types:["sfml_rust::canvas::canvas_frame::GenericCanvasFrame"]},{text:"impl Sync for GlyphInstance",synthetic:true,types:["sfml_rust::canvas::managed::shader::text_shader::GlyphInstance"]},{text:"impl Sync for TextShader",synthetic:true,types:["sfml_rust::canvas::managed::shader::text_shader::TextShader"]},{text:"impl Sync for GenericShader",synthetic:true,types:["sfml_rust::canvas::managed::shader::generic_shader::GenericShader"]},{text:"impl Sync for RuntimeVertexDef",synthetic:true,types:["sfml_rust::canvas::managed::shader::dynamic_vertex::RuntimeVertexDef"]},{text:"impl Sync for ShaderType",synthetic:true,types:["sfml_rust::canvas::managed::shader::shader_common::ShaderType"]},{text:"impl Sync for CanvasFontHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasFontHandle"]},{text:"impl Sync for CanvasTextureHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasTextureHandle"]},{text:"impl Sync for CanvasImageHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasImageHandle"]},{text:"impl Sync for CanvasShaderHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasShaderHandle"]},{text:"impl Sync for CompiledGraphicsPipelineHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CompiledGraphicsPipelineHandle"]},{text:"impl Sync for CanvasTexture",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasTexture"]},{text:"impl Sync for CanvasImage",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasImage"]},{text:"impl Sync for CanvasFont",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasFont"]},{text:"impl Sync for CompuFrame",synthetic:true,types:["sfml_rust::compute::compu_frame::CompuFrame"]},{text:"impl Sync for CompuState",synthetic:true,types:["sfml_rust::compute::compu_state::CompuState"]},{text:"impl Sync for CompuBuffers",synthetic:true,types:["sfml_rust::compute::managed::compu_buffer::CompuBuffers"]},{text:"impl Sync for CompuSprite",synthetic:true,types:["sfml_rust::compute::managed::compu_sprite::CompuSprite"]},{text:"impl Sync for CompuKernel",synthetic:true,types:["sfml_rust::compute::managed::compu_kernel::CompuKernel"]},{text:"impl Sync for ComputeSpecializationConstants",synthetic:true,types:["sfml_rust::compute::managed::compu_kernel::ComputeSpecializationConstants"]},{text:"impl Sync for CompuBufferHandle",synthetic:true,types:["sfml_rust::compute::managed::handles::CompuBufferHandle"]},{text:"impl Sync for CompuKernelHandle",synthetic:true,types:["sfml_rust::compute::managed::handles::CompuKernelHandle"]},];
+implementors["sfml_rust"] = [{text:"impl Sync for Timer",synthetic:true,types:["sfml_rust::util::timer::Timer"]},{text:"impl Sync for TextureVertex2D",synthetic:true,types:["sfml_rust::util::vertex::TextureVertex2D"]},{text:"impl Sync for ColorVertex2D",synthetic:true,types:["sfml_rust::util::vertex::ColorVertex2D"]},{text:"impl Sync for ImageVertex2D",synthetic:true,types:["sfml_rust::util::vertex::ImageVertex2D"]},{text:"impl Sync for Vertex3D",synthetic:true,types:["sfml_rust::util::vertex::Vertex3D"]},{text:"impl Sync for TextVertex3D",synthetic:true,types:["sfml_rust::util::vertex::TextVertex3D"]},{text:"impl Sync for CanvasFrameAllocation",synthetic:true,types:["sfml_rust::util::vertex::CanvasFrameAllocation"]},{text:"impl Sync for VertexTypes",synthetic:true,types:["sfml_rust::util::vertex::VertexTypes"]},{text:"impl<'a> !Sync for VkProcessor<'a>",synthetic:true,types:["sfml_rust::vkprocessor::VkProcessor"]},{text:"impl Sync for Sprite",synthetic:true,types:["sfml_rust::sprite::Sprite"]},{text:"impl !Sync for CanvasState",synthetic:true,types:["sfml_rust::canvas::canvas_state::CanvasState"]},{text:"impl Sync for CanvasFrameTest",synthetic:true,types:["sfml_rust::canvas::canvas_frame::CanvasFrameTest"]},{text:"impl Sync for GlyphInstance",synthetic:true,types:["sfml_rust::canvas::managed::shader::text_shader::GlyphInstance"]},{text:"impl Sync for TextShader",synthetic:true,types:["sfml_rust::canvas::managed::shader::text_shader::TextShader"]},{text:"impl Sync for GenericShader",synthetic:true,types:["sfml_rust::canvas::managed::shader::generic_shader::GenericShader"]},{text:"impl Sync for RuntimeVertexDef",synthetic:true,types:["sfml_rust::canvas::managed::shader::dynamic_vertex::RuntimeVertexDef"]},{text:"impl Sync for ShaderType",synthetic:true,types:["sfml_rust::canvas::managed::shader::shader_common::ShaderType"]},{text:"impl Sync for CanvasFontHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasFontHandle"]},{text:"impl Sync for CanvasTextureHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasTextureHandle"]},{text:"impl Sync for CanvasImageHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasImageHandle"]},{text:"impl Sync for CompiledShaderHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CompiledShaderHandle"]},{text:"impl Sync for DrawableHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::DrawableHandle"]},{text:"impl Sync for CanvasTexture",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasTexture"]},{text:"impl Sync for CanvasImage",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasImage"]},{text:"impl Sync for CanvasFont",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasFont"]},{text:"impl Sync for CompuFrame",synthetic:true,types:["sfml_rust::compute::compu_frame::CompuFrame"]},{text:"impl Sync for CompuState",synthetic:true,types:["sfml_rust::compute::compu_state::CompuState"]},{text:"impl Sync for CompuBuffers",synthetic:true,types:["sfml_rust::compute::managed::compu_buffer::CompuBuffers"]},{text:"impl Sync for CompuSprite",synthetic:true,types:["sfml_rust::compute::managed::compu_sprite::CompuSprite"]},{text:"impl Sync for CompuKernel",synthetic:true,types:["sfml_rust::compute::managed::compu_kernel::CompuKernel"]},{text:"impl Sync for ComputeSpecializationConstants",synthetic:true,types:["sfml_rust::compute::managed::compu_kernel::ComputeSpecializationConstants"]},{text:"impl Sync for CompuBufferHandle",synthetic:true,types:["sfml_rust::compute::managed::handles::CompuBufferHandle"]},{text:"impl Sync for CompuKernelHandle",synthetic:true,types:["sfml_rust::compute::managed::handles::CompuKernelHandle"]},];
if (window.register_implementors) {
window.register_implementors(implementors);
diff --git a/doc/implementors/core/marker/trait.Unpin.js b/doc/implementors/core/marker/trait.Unpin.js
index 50a46898..d302b11c 100644
--- a/doc/implementors/core/marker/trait.Unpin.js
+++ b/doc/implementors/core/marker/trait.Unpin.js
@@ -1,5 +1,5 @@
(function() {var implementors = {};
-implementors["sfml_rust"] = [{text:"impl Unpin for Timer",synthetic:true,types:["sfml_rust::util::timer::Timer"]},{text:"impl Unpin for Vertex2D",synthetic:true,types:["sfml_rust::util::vertex_2d::Vertex2D"]},{text:"impl Unpin for Vertex3D",synthetic:true,types:["sfml_rust::util::vertex_3d::Vertex3D"]},{text:"impl Unpin for TextVertex3D",synthetic:true,types:["sfml_rust::util::vertex_3d::TextVertex3D"]},{text:"impl<'a> Unpin for VkProcessor<'a>",synthetic:true,types:["sfml_rust::vkprocessor::VkProcessor"]},{text:"impl Unpin for Sprite",synthetic:true,types:["sfml_rust::sprite::Sprite"]},{text:"impl Unpin for Poly",synthetic:true,types:["sfml_rust::sprite::Poly"]},{text:"impl Unpin for Text",synthetic:true,types:["sfml_rust::sprite::Text"]},{text:"impl Unpin for CanvasState",synthetic:true,types:["sfml_rust::canvas::canvas_state::CanvasState"]},{text:"impl Unpin for CanvasFrame",synthetic:true,types:["sfml_rust::canvas::canvas_frame::CanvasFrame"]},{text:"impl<H, V, In> Unpin for GenericCanvasFrame<H, V, In> where H: Unpin, In: Unpin, V: Unpin, ",synthetic:true,types:["sfml_rust::canvas::canvas_frame::GenericCanvasFrame"]},{text:"impl Unpin for GlyphInstance",synthetic:true,types:["sfml_rust::canvas::managed::shader::text_shader::GlyphInstance"]},{text:"impl Unpin for TextShader",synthetic:true,types:["sfml_rust::canvas::managed::shader::text_shader::TextShader"]},{text:"impl Unpin for GenericShader",synthetic:true,types:["sfml_rust::canvas::managed::shader::generic_shader::GenericShader"]},{text:"impl Unpin for RuntimeVertexDef",synthetic:true,types:["sfml_rust::canvas::managed::shader::dynamic_vertex::RuntimeVertexDef"]},{text:"impl Unpin for ShaderType",synthetic:true,types:["sfml_rust::canvas::managed::shader::shader_common::ShaderType"]},{text:"impl Unpin for CanvasFontHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasFontHandle"]},{text:"impl Unpin for CanvasTextureHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasTextureHandle"]},{text:"impl Unpin for CanvasImageHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasImageHandle"]},{text:"impl Unpin for CanvasShaderHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasShaderHandle"]},{text:"impl Unpin for CompiledGraphicsPipelineHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CompiledGraphicsPipelineHandle"]},{text:"impl Unpin for CanvasTexture",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasTexture"]},{text:"impl Unpin for CanvasImage",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasImage"]},{text:"impl Unpin for CanvasFont",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasFont"]},{text:"impl Unpin for CompuFrame",synthetic:true,types:["sfml_rust::compute::compu_frame::CompuFrame"]},{text:"impl Unpin for CompuState",synthetic:true,types:["sfml_rust::compute::compu_state::CompuState"]},{text:"impl Unpin for CompuBuffers",synthetic:true,types:["sfml_rust::compute::managed::compu_buffer::CompuBuffers"]},{text:"impl Unpin for CompuSprite",synthetic:true,types:["sfml_rust::compute::managed::compu_sprite::CompuSprite"]},{text:"impl Unpin for CompuKernel",synthetic:true,types:["sfml_rust::compute::managed::compu_kernel::CompuKernel"]},{text:"impl Unpin for ComputeSpecializationConstants",synthetic:true,types:["sfml_rust::compute::managed::compu_kernel::ComputeSpecializationConstants"]},{text:"impl Unpin for CompuBufferHandle",synthetic:true,types:["sfml_rust::compute::managed::handles::CompuBufferHandle"]},{text:"impl Unpin for CompuKernelHandle",synthetic:true,types:["sfml_rust::compute::managed::handles::CompuKernelHandle"]},];
+implementors["sfml_rust"] = [{text:"impl Unpin for Timer",synthetic:true,types:["sfml_rust::util::timer::Timer"]},{text:"impl Unpin for TextureVertex2D",synthetic:true,types:["sfml_rust::util::vertex::TextureVertex2D"]},{text:"impl Unpin for ColorVertex2D",synthetic:true,types:["sfml_rust::util::vertex::ColorVertex2D"]},{text:"impl Unpin for ImageVertex2D",synthetic:true,types:["sfml_rust::util::vertex::ImageVertex2D"]},{text:"impl Unpin for Vertex3D",synthetic:true,types:["sfml_rust::util::vertex::Vertex3D"]},{text:"impl Unpin for TextVertex3D",synthetic:true,types:["sfml_rust::util::vertex::TextVertex3D"]},{text:"impl Unpin for CanvasFrameAllocation",synthetic:true,types:["sfml_rust::util::vertex::CanvasFrameAllocation"]},{text:"impl Unpin for VertexTypes",synthetic:true,types:["sfml_rust::util::vertex::VertexTypes"]},{text:"impl<'a> Unpin for VkProcessor<'a>",synthetic:true,types:["sfml_rust::vkprocessor::VkProcessor"]},{text:"impl Unpin for Sprite",synthetic:true,types:["sfml_rust::sprite::Sprite"]},{text:"impl Unpin for CanvasState",synthetic:true,types:["sfml_rust::canvas::canvas_state::CanvasState"]},{text:"impl Unpin for CanvasFrameTest",synthetic:true,types:["sfml_rust::canvas::canvas_frame::CanvasFrameTest"]},{text:"impl Unpin for GlyphInstance",synthetic:true,types:["sfml_rust::canvas::managed::shader::text_shader::GlyphInstance"]},{text:"impl Unpin for TextShader",synthetic:true,types:["sfml_rust::canvas::managed::shader::text_shader::TextShader"]},{text:"impl Unpin for GenericShader",synthetic:true,types:["sfml_rust::canvas::managed::shader::generic_shader::GenericShader"]},{text:"impl Unpin for RuntimeVertexDef",synthetic:true,types:["sfml_rust::canvas::managed::shader::dynamic_vertex::RuntimeVertexDef"]},{text:"impl Unpin for ShaderType",synthetic:true,types:["sfml_rust::canvas::managed::shader::shader_common::ShaderType"]},{text:"impl Unpin for CanvasFontHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasFontHandle"]},{text:"impl Unpin for CanvasTextureHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasTextureHandle"]},{text:"impl Unpin for CanvasImageHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasImageHandle"]},{text:"impl Unpin for CompiledShaderHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CompiledShaderHandle"]},{text:"impl Unpin for DrawableHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::DrawableHandle"]},{text:"impl Unpin for CanvasTexture",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasTexture"]},{text:"impl Unpin for CanvasImage",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasImage"]},{text:"impl Unpin for CanvasFont",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasFont"]},{text:"impl Unpin for CompuFrame",synthetic:true,types:["sfml_rust::compute::compu_frame::CompuFrame"]},{text:"impl Unpin for CompuState",synthetic:true,types:["sfml_rust::compute::compu_state::CompuState"]},{text:"impl Unpin for CompuBuffers",synthetic:true,types:["sfml_rust::compute::managed::compu_buffer::CompuBuffers"]},{text:"impl Unpin for CompuSprite",synthetic:true,types:["sfml_rust::compute::managed::compu_sprite::CompuSprite"]},{text:"impl Unpin for CompuKernel",synthetic:true,types:["sfml_rust::compute::managed::compu_kernel::CompuKernel"]},{text:"impl Unpin for ComputeSpecializationConstants",synthetic:true,types:["sfml_rust::compute::managed::compu_kernel::ComputeSpecializationConstants"]},{text:"impl Unpin for CompuBufferHandle",synthetic:true,types:["sfml_rust::compute::managed::handles::CompuBufferHandle"]},{text:"impl Unpin for CompuKernelHandle",synthetic:true,types:["sfml_rust::compute::managed::handles::CompuKernelHandle"]},];
if (window.register_implementors) {
window.register_implementors(implementors);
diff --git a/doc/implementors/sfml_rust/canvas/canvas_state/trait.DrawableTest.js b/doc/implementors/sfml_rust/canvas/canvas_frame/trait.DrawableTest.js
similarity index 100%
rename from doc/implementors/sfml_rust/canvas/canvas_state/trait.DrawableTest.js
rename to doc/implementors/sfml_rust/canvas/canvas_frame/trait.DrawableTest.js
diff --git a/doc/implementors/sfml_rust/canvas/canvas_state/trait.Drawable.js b/doc/implementors/sfml_rust/canvas/canvas_state/trait.Drawable.js
deleted file mode 100644
index ab653396..00000000
--- a/doc/implementors/sfml_rust/canvas/canvas_state/trait.Drawable.js
+++ /dev/null
@@ -1,9 +0,0 @@
-(function() {var implementors = {};
-implementors["sfml_rust"] = [];
-
- if (window.register_implementors) {
- window.register_implementors(implementors);
- } else {
- window.pending_implementors = implementors;
- }
- })()
\ No newline at end of file
diff --git a/doc/implementors/std/panic/trait.RefUnwindSafe.js b/doc/implementors/std/panic/trait.RefUnwindSafe.js
index 52572231..db9b15eb 100644
--- a/doc/implementors/std/panic/trait.RefUnwindSafe.js
+++ b/doc/implementors/std/panic/trait.RefUnwindSafe.js
@@ -1,5 +1,5 @@
(function() {var implementors = {};
-implementors["sfml_rust"] = [{text:"impl RefUnwindSafe for Timer",synthetic:true,types:["sfml_rust::util::timer::Timer"]},{text:"impl RefUnwindSafe for Vertex2D",synthetic:true,types:["sfml_rust::util::vertex_2d::Vertex2D"]},{text:"impl RefUnwindSafe for Vertex3D",synthetic:true,types:["sfml_rust::util::vertex_3d::Vertex3D"]},{text:"impl RefUnwindSafe for TextVertex3D",synthetic:true,types:["sfml_rust::util::vertex_3d::TextVertex3D"]},{text:"impl<'a> !RefUnwindSafe for VkProcessor<'a>",synthetic:true,types:["sfml_rust::vkprocessor::VkProcessor"]},{text:"impl RefUnwindSafe for Sprite",synthetic:true,types:["sfml_rust::sprite::Sprite"]},{text:"impl RefUnwindSafe for Poly",synthetic:true,types:["sfml_rust::sprite::Poly"]},{text:"impl RefUnwindSafe for Text",synthetic:true,types:["sfml_rust::sprite::Text"]},{text:"impl !RefUnwindSafe for CanvasState",synthetic:true,types:["sfml_rust::canvas::canvas_state::CanvasState"]},{text:"impl RefUnwindSafe for CanvasFrame",synthetic:true,types:["sfml_rust::canvas::canvas_frame::CanvasFrame"]},{text:"impl<H, V, In> RefUnwindSafe for GenericCanvasFrame<H, V, In> where H: RefUnwindSafe, In: RefUnwindSafe, V: RefUnwindSafe, ",synthetic:true,types:["sfml_rust::canvas::canvas_frame::GenericCanvasFrame"]},{text:"impl RefUnwindSafe for GlyphInstance",synthetic:true,types:["sfml_rust::canvas::managed::shader::text_shader::GlyphInstance"]},{text:"impl !RefUnwindSafe for TextShader",synthetic:true,types:["sfml_rust::canvas::managed::shader::text_shader::TextShader"]},{text:"impl !RefUnwindSafe for GenericShader",synthetic:true,types:["sfml_rust::canvas::managed::shader::generic_shader::GenericShader"]},{text:"impl RefUnwindSafe for RuntimeVertexDef",synthetic:true,types:["sfml_rust::canvas::managed::shader::dynamic_vertex::RuntimeVertexDef"]},{text:"impl RefUnwindSafe for ShaderType",synthetic:true,types:["sfml_rust::canvas::managed::shader::shader_common::ShaderType"]},{text:"impl RefUnwindSafe for CanvasFontHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasFontHandle"]},{text:"impl RefUnwindSafe for CanvasTextureHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasTextureHandle"]},{text:"impl RefUnwindSafe for CanvasImageHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasImageHandle"]},{text:"impl RefUnwindSafe for CanvasShaderHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasShaderHandle"]},{text:"impl RefUnwindSafe for CompiledGraphicsPipelineHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CompiledGraphicsPipelineHandle"]},{text:"impl RefUnwindSafe for CanvasTexture",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasTexture"]},{text:"impl RefUnwindSafe for CanvasImage",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasImage"]},{text:"impl !RefUnwindSafe for CanvasFont",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasFont"]},{text:"impl RefUnwindSafe for CompuFrame",synthetic:true,types:["sfml_rust::compute::compu_frame::CompuFrame"]},{text:"impl RefUnwindSafe for CompuState",synthetic:true,types:["sfml_rust::compute::compu_state::CompuState"]},{text:"impl RefUnwindSafe for CompuBuffers",synthetic:true,types:["sfml_rust::compute::managed::compu_buffer::CompuBuffers"]},{text:"impl RefUnwindSafe for CompuSprite",synthetic:true,types:["sfml_rust::compute::managed::compu_sprite::CompuSprite"]},{text:"impl RefUnwindSafe for CompuKernel",synthetic:true,types:["sfml_rust::compute::managed::compu_kernel::CompuKernel"]},{text:"impl RefUnwindSafe for ComputeSpecializationConstants",synthetic:true,types:["sfml_rust::compute::managed::compu_kernel::ComputeSpecializationConstants"]},{text:"impl RefUnwindSafe for CompuBufferHandle",synthetic:true,types:["sfml_rust::compute::managed::handles::CompuBufferHandle"]},{text:"impl RefUnwindSafe for CompuKernelHandle",synthetic:true,types:["sfml_rust::compute::managed::handles::CompuKernelHandle"]},];
+implementors["sfml_rust"] = [{text:"impl RefUnwindSafe for Timer",synthetic:true,types:["sfml_rust::util::timer::Timer"]},{text:"impl RefUnwindSafe for TextureVertex2D",synthetic:true,types:["sfml_rust::util::vertex::TextureVertex2D"]},{text:"impl RefUnwindSafe for ColorVertex2D",synthetic:true,types:["sfml_rust::util::vertex::ColorVertex2D"]},{text:"impl RefUnwindSafe for ImageVertex2D",synthetic:true,types:["sfml_rust::util::vertex::ImageVertex2D"]},{text:"impl RefUnwindSafe for Vertex3D",synthetic:true,types:["sfml_rust::util::vertex::Vertex3D"]},{text:"impl RefUnwindSafe for TextVertex3D",synthetic:true,types:["sfml_rust::util::vertex::TextVertex3D"]},{text:"impl !RefUnwindSafe for CanvasFrameAllocation",synthetic:true,types:["sfml_rust::util::vertex::CanvasFrameAllocation"]},{text:"impl RefUnwindSafe for VertexTypes",synthetic:true,types:["sfml_rust::util::vertex::VertexTypes"]},{text:"impl<'a> !RefUnwindSafe for VkProcessor<'a>",synthetic:true,types:["sfml_rust::vkprocessor::VkProcessor"]},{text:"impl RefUnwindSafe for Sprite",synthetic:true,types:["sfml_rust::sprite::Sprite"]},{text:"impl !RefUnwindSafe for CanvasState",synthetic:true,types:["sfml_rust::canvas::canvas_state::CanvasState"]},{text:"impl RefUnwindSafe for CanvasFrameTest",synthetic:true,types:["sfml_rust::canvas::canvas_frame::CanvasFrameTest"]},{text:"impl RefUnwindSafe for GlyphInstance",synthetic:true,types:["sfml_rust::canvas::managed::shader::text_shader::GlyphInstance"]},{text:"impl !RefUnwindSafe for TextShader",synthetic:true,types:["sfml_rust::canvas::managed::shader::text_shader::TextShader"]},{text:"impl !RefUnwindSafe for GenericShader",synthetic:true,types:["sfml_rust::canvas::managed::shader::generic_shader::GenericShader"]},{text:"impl RefUnwindSafe for RuntimeVertexDef",synthetic:true,types:["sfml_rust::canvas::managed::shader::dynamic_vertex::RuntimeVertexDef"]},{text:"impl RefUnwindSafe for ShaderType",synthetic:true,types:["sfml_rust::canvas::managed::shader::shader_common::ShaderType"]},{text:"impl RefUnwindSafe for CanvasFontHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasFontHandle"]},{text:"impl RefUnwindSafe for CanvasTextureHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasTextureHandle"]},{text:"impl RefUnwindSafe for CanvasImageHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasImageHandle"]},{text:"impl RefUnwindSafe for CompiledShaderHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CompiledShaderHandle"]},{text:"impl RefUnwindSafe for DrawableHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::DrawableHandle"]},{text:"impl RefUnwindSafe for CanvasTexture",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasTexture"]},{text:"impl RefUnwindSafe for CanvasImage",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasImage"]},{text:"impl !RefUnwindSafe for CanvasFont",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasFont"]},{text:"impl RefUnwindSafe for CompuFrame",synthetic:true,types:["sfml_rust::compute::compu_frame::CompuFrame"]},{text:"impl RefUnwindSafe for CompuState",synthetic:true,types:["sfml_rust::compute::compu_state::CompuState"]},{text:"impl RefUnwindSafe for CompuBuffers",synthetic:true,types:["sfml_rust::compute::managed::compu_buffer::CompuBuffers"]},{text:"impl RefUnwindSafe for CompuSprite",synthetic:true,types:["sfml_rust::compute::managed::compu_sprite::CompuSprite"]},{text:"impl RefUnwindSafe for CompuKernel",synthetic:true,types:["sfml_rust::compute::managed::compu_kernel::CompuKernel"]},{text:"impl RefUnwindSafe for ComputeSpecializationConstants",synthetic:true,types:["sfml_rust::compute::managed::compu_kernel::ComputeSpecializationConstants"]},{text:"impl RefUnwindSafe for CompuBufferHandle",synthetic:true,types:["sfml_rust::compute::managed::handles::CompuBufferHandle"]},{text:"impl RefUnwindSafe for CompuKernelHandle",synthetic:true,types:["sfml_rust::compute::managed::handles::CompuKernelHandle"]},];
if (window.register_implementors) {
window.register_implementors(implementors);
diff --git a/doc/implementors/std/panic/trait.UnwindSafe.js b/doc/implementors/std/panic/trait.UnwindSafe.js
index 2e3fe86e..b8a30be7 100644
--- a/doc/implementors/std/panic/trait.UnwindSafe.js
+++ b/doc/implementors/std/panic/trait.UnwindSafe.js
@@ -1,5 +1,5 @@
(function() {var implementors = {};
-implementors["sfml_rust"] = [{text:"impl UnwindSafe for Timer",synthetic:true,types:["sfml_rust::util::timer::Timer"]},{text:"impl UnwindSafe for Vertex2D",synthetic:true,types:["sfml_rust::util::vertex_2d::Vertex2D"]},{text:"impl UnwindSafe for Vertex3D",synthetic:true,types:["sfml_rust::util::vertex_3d::Vertex3D"]},{text:"impl UnwindSafe for TextVertex3D",synthetic:true,types:["sfml_rust::util::vertex_3d::TextVertex3D"]},{text:"impl<'a> !UnwindSafe for VkProcessor<'a>",synthetic:true,types:["sfml_rust::vkprocessor::VkProcessor"]},{text:"impl UnwindSafe for Sprite",synthetic:true,types:["sfml_rust::sprite::Sprite"]},{text:"impl UnwindSafe for Poly",synthetic:true,types:["sfml_rust::sprite::Poly"]},{text:"impl UnwindSafe for Text",synthetic:true,types:["sfml_rust::sprite::Text"]},{text:"impl !UnwindSafe for CanvasState",synthetic:true,types:["sfml_rust::canvas::canvas_state::CanvasState"]},{text:"impl UnwindSafe for CanvasFrame",synthetic:true,types:["sfml_rust::canvas::canvas_frame::CanvasFrame"]},{text:"impl<H, V, In> UnwindSafe for GenericCanvasFrame<H, V, In> where H: UnwindSafe, In: UnwindSafe, V: UnwindSafe, ",synthetic:true,types:["sfml_rust::canvas::canvas_frame::GenericCanvasFrame"]},{text:"impl UnwindSafe for GlyphInstance",synthetic:true,types:["sfml_rust::canvas::managed::shader::text_shader::GlyphInstance"]},{text:"impl !UnwindSafe for TextShader",synthetic:true,types:["sfml_rust::canvas::managed::shader::text_shader::TextShader"]},{text:"impl !UnwindSafe for GenericShader",synthetic:true,types:["sfml_rust::canvas::managed::shader::generic_shader::GenericShader"]},{text:"impl UnwindSafe for RuntimeVertexDef",synthetic:true,types:["sfml_rust::canvas::managed::shader::dynamic_vertex::RuntimeVertexDef"]},{text:"impl UnwindSafe for ShaderType",synthetic:true,types:["sfml_rust::canvas::managed::shader::shader_common::ShaderType"]},{text:"impl UnwindSafe for CanvasFontHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasFontHandle"]},{text:"impl UnwindSafe for CanvasTextureHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasTextureHandle"]},{text:"impl UnwindSafe for CanvasImageHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasImageHandle"]},{text:"impl UnwindSafe for CanvasShaderHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasShaderHandle"]},{text:"impl UnwindSafe for CompiledGraphicsPipelineHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CompiledGraphicsPipelineHandle"]},{text:"impl UnwindSafe for CanvasTexture",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasTexture"]},{text:"impl UnwindSafe for CanvasImage",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasImage"]},{text:"impl !UnwindSafe for CanvasFont",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasFont"]},{text:"impl UnwindSafe for CompuFrame",synthetic:true,types:["sfml_rust::compute::compu_frame::CompuFrame"]},{text:"impl UnwindSafe for CompuState",synthetic:true,types:["sfml_rust::compute::compu_state::CompuState"]},{text:"impl UnwindSafe for CompuBuffers",synthetic:true,types:["sfml_rust::compute::managed::compu_buffer::CompuBuffers"]},{text:"impl UnwindSafe for CompuSprite",synthetic:true,types:["sfml_rust::compute::managed::compu_sprite::CompuSprite"]},{text:"impl UnwindSafe for CompuKernel",synthetic:true,types:["sfml_rust::compute::managed::compu_kernel::CompuKernel"]},{text:"impl UnwindSafe for ComputeSpecializationConstants",synthetic:true,types:["sfml_rust::compute::managed::compu_kernel::ComputeSpecializationConstants"]},{text:"impl UnwindSafe for CompuBufferHandle",synthetic:true,types:["sfml_rust::compute::managed::handles::CompuBufferHandle"]},{text:"impl UnwindSafe for CompuKernelHandle",synthetic:true,types:["sfml_rust::compute::managed::handles::CompuKernelHandle"]},];
+implementors["sfml_rust"] = [{text:"impl UnwindSafe for Timer",synthetic:true,types:["sfml_rust::util::timer::Timer"]},{text:"impl UnwindSafe for TextureVertex2D",synthetic:true,types:["sfml_rust::util::vertex::TextureVertex2D"]},{text:"impl UnwindSafe for ColorVertex2D",synthetic:true,types:["sfml_rust::util::vertex::ColorVertex2D"]},{text:"impl UnwindSafe for ImageVertex2D",synthetic:true,types:["sfml_rust::util::vertex::ImageVertex2D"]},{text:"impl UnwindSafe for Vertex3D",synthetic:true,types:["sfml_rust::util::vertex::Vertex3D"]},{text:"impl UnwindSafe for TextVertex3D",synthetic:true,types:["sfml_rust::util::vertex::TextVertex3D"]},{text:"impl !UnwindSafe for CanvasFrameAllocation",synthetic:true,types:["sfml_rust::util::vertex::CanvasFrameAllocation"]},{text:"impl UnwindSafe for VertexTypes",synthetic:true,types:["sfml_rust::util::vertex::VertexTypes"]},{text:"impl<'a> !UnwindSafe for VkProcessor<'a>",synthetic:true,types:["sfml_rust::vkprocessor::VkProcessor"]},{text:"impl UnwindSafe for Sprite",synthetic:true,types:["sfml_rust::sprite::Sprite"]},{text:"impl !UnwindSafe for CanvasState",synthetic:true,types:["sfml_rust::canvas::canvas_state::CanvasState"]},{text:"impl UnwindSafe for CanvasFrameTest",synthetic:true,types:["sfml_rust::canvas::canvas_frame::CanvasFrameTest"]},{text:"impl UnwindSafe for GlyphInstance",synthetic:true,types:["sfml_rust::canvas::managed::shader::text_shader::GlyphInstance"]},{text:"impl !UnwindSafe for TextShader",synthetic:true,types:["sfml_rust::canvas::managed::shader::text_shader::TextShader"]},{text:"impl !UnwindSafe for GenericShader",synthetic:true,types:["sfml_rust::canvas::managed::shader::generic_shader::GenericShader"]},{text:"impl UnwindSafe for RuntimeVertexDef",synthetic:true,types:["sfml_rust::canvas::managed::shader::dynamic_vertex::RuntimeVertexDef"]},{text:"impl UnwindSafe for ShaderType",synthetic:true,types:["sfml_rust::canvas::managed::shader::shader_common::ShaderType"]},{text:"impl UnwindSafe for CanvasFontHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasFontHandle"]},{text:"impl UnwindSafe for CanvasTextureHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasTextureHandle"]},{text:"impl UnwindSafe for CanvasImageHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CanvasImageHandle"]},{text:"impl UnwindSafe for CompiledShaderHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::CompiledShaderHandle"]},{text:"impl UnwindSafe for DrawableHandle",synthetic:true,types:["sfml_rust::canvas::managed::handles::DrawableHandle"]},{text:"impl UnwindSafe for CanvasTexture",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasTexture"]},{text:"impl UnwindSafe for CanvasImage",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasImage"]},{text:"impl !UnwindSafe for CanvasFont",synthetic:true,types:["sfml_rust::canvas::managed::gpu_buffers::CanvasFont"]},{text:"impl UnwindSafe for CompuFrame",synthetic:true,types:["sfml_rust::compute::compu_frame::CompuFrame"]},{text:"impl UnwindSafe for CompuState",synthetic:true,types:["sfml_rust::compute::compu_state::CompuState"]},{text:"impl UnwindSafe for CompuBuffers",synthetic:true,types:["sfml_rust::compute::managed::compu_buffer::CompuBuffers"]},{text:"impl UnwindSafe for CompuSprite",synthetic:true,types:["sfml_rust::compute::managed::compu_sprite::CompuSprite"]},{text:"impl UnwindSafe for CompuKernel",synthetic:true,types:["sfml_rust::compute::managed::compu_kernel::CompuKernel"]},{text:"impl UnwindSafe for ComputeSpecializationConstants",synthetic:true,types:["sfml_rust::compute::managed::compu_kernel::ComputeSpecializationConstants"]},{text:"impl UnwindSafe for CompuBufferHandle",synthetic:true,types:["sfml_rust::compute::managed::handles::CompuBufferHandle"]},{text:"impl UnwindSafe for CompuKernelHandle",synthetic:true,types:["sfml_rust::compute::managed::handles::CompuKernelHandle"]},];
if (window.register_implementors) {
window.register_implementors(implementors);
diff --git a/doc/implementors/vulkano/pipeline/vertex/vertex/trait.Vertex.js b/doc/implementors/vulkano/pipeline/vertex/vertex/trait.Vertex.js
index ee6ec642..7af46efa 100644
--- a/doc/implementors/vulkano/pipeline/vertex/vertex/trait.Vertex.js
+++ b/doc/implementors/vulkano/pipeline/vertex/vertex/trait.Vertex.js
@@ -1,5 +1,5 @@
(function() {var implementors = {};
-implementors["sfml_rust"] = [{text:"impl Vertex for Vertex2D",synthetic:false,types:["sfml_rust::util::vertex_2d::Vertex2D"]},{text:"impl Vertex for Vertex3D",synthetic:false,types:["sfml_rust::util::vertex_3d::Vertex3D"]},{text:"impl Vertex for TextVertex3D",synthetic:false,types:["sfml_rust::util::vertex_3d::TextVertex3D"]},{text:"impl Vertex for GlyphInstance",synthetic:false,types:["sfml_rust::canvas::managed::shader::text_shader::GlyphInstance"]},];
+implementors["sfml_rust"] = [{text:"impl Vertex for TextureVertex2D",synthetic:false,types:["sfml_rust::util::vertex::TextureVertex2D"]},{text:"impl Vertex for ColorVertex2D",synthetic:false,types:["sfml_rust::util::vertex::ColorVertex2D"]},{text:"impl Vertex for ImageVertex2D",synthetic:false,types:["sfml_rust::util::vertex::ImageVertex2D"]},{text:"impl Vertex for Vertex3D",synthetic:false,types:["sfml_rust::util::vertex::Vertex3D"]},{text:"impl Vertex for TextVertex3D",synthetic:false,types:["sfml_rust::util::vertex::TextVertex3D"]},{text:"impl Vertex for GlyphInstance",synthetic:false,types:["sfml_rust::canvas::managed::shader::text_shader::GlyphInstance"]},];
if (window.register_implementors) {
window.register_implementors(implementors);
diff --git a/doc/search-index.js b/doc/search-index.js
index 788100ed..1569b8d7 100644
--- a/doc/search-index.js
+++ b/doc/search-index.js
@@ -1,5 +1,5 @@
var N=null,E="",T="t",U="u",searchIndex={};
-var R=["sfml_rust::util","v_position","ti_position","sfml_rust","vkprocessor","string","option","canvasimagehandle","compubufferhandle","vertices","canvastexturehandle","new_with_color","canvasfonthandle","get_vertices","get_texture_handle","runtimevertexdef","attachmentimage","physicaldevice","capabilities","compiledgraphicspipelinehandle","Using the dimensions and suggested usage, load a…","get_shader_handle","get_font_handle","immutableimage","canvasframe","framebufferabstract","autocommandbufferbuilder","sfml_rust::canvas","sfml_rust::canvas::managed::shader","CanvasShader holds the pipeline and render pass for the…","device","shadertype","renderpassabstract","get_handle","graphicspipelineabstract","sfml_rust::canvas::managed","Typed wrapper for a u32 handle","descriptorset","get_descriptor_set","compuframe","compukernelhandle","sfml_rust::compute","new_compute_buffer","read_compute_buffer","write_compute_buffer","get_kernel_handle","canvasstate","computepipeline","persistentdescriptorset","cpuaccessiblebuffer","sfml_rust::compute::managed","compusprite","get_pipeline","pipelinelayout","get_name","sfml_rust::util::timer","sfml_rust::util::vertex_2d","try_from","try_into","borrow_mut","to_subset","is_in_subset","to_subset_unchecked","from_subset","ref_from_ptr","is_size_suitable","indiv_size","to_owned","sfml_rust::util::vertex_3d","clone_into","result","type_id","sfml_rust::vkprocessor","borrow","typeid","sfml_rust::sprite","sfml_rust::canvas::canvas_state","sfml_rust::canvas::canvas_frame","sfml_rust::canvas::managed::shader::text_shader","sfml_rust::canvas::managed::shader::generic_shader","sfml_rust::canvas::managed::shader::dynamic_vertex","incompatiblevertexdefinitionerror","sfml_rust::canvas::managed::shader::shader_common","sfml_rust::canvas::managed::handles","sfml_rust::canvas::managed::gpu_buffers","sfml_rust::compute::compu_frame","sfml_rust::compute::compu_state","sfml_rust::compute::managed::compu_buffer","sfml_rust::compute::managed::compu_sprite","sfml_rust::compute::managed::compu_kernel","sfml_rust::compute::managed::handles","vertex3d","get_instances","get_color","get_ti_coords","get_image_handle","get_renderpass","recompile","textshader","This will explode when the shader does not want to compile","genericshader","default","textvertex3d","glyphinstance","canvasshaderhandle","compubuffers","compukernel","computespecializationconstants","formatter","definition","vertexmemberinfo","TextVertex3D","VkProcessor","TextHandle","TextInstance","TextVertex","DrawableTest","CanvasState","CanvasFrame","GlyphInstance","RuntimeVertexDef","ShaderType","CompiledGraphicsPipelineResources","CompiledGraphicsPipeline","CanvasTexture","CanvasImage","CanvasFont","CompuFrame","CompuState","CompuBuffers","CompuSprite","CompuKernel","GenericCanvasFrame","TextShader","GenericShader","CanvasFontHandle","CanvasTextureHandle","CanvasImageHandle","CanvasShaderHandle","CompiledGraphicsPipelineHandle","ComputeSpecializationConstants","CompuBufferHandle","CompuKernelHandle"];
+var R=["sfml_rust::util","v_position","ti_position","sfml_rust","vkprocessor","string","option","canvasimagehandle","compubufferhandle","canvastexturehandle","attachmentimage","physicaldevice","capabilities","compiledshaderhandle","Using the dimensions and suggested usage, load a…","canvasfonthandle","get_texture_handle","get_shader_handle","get_font_handle","immutableimage","canvasframetest","framebufferabstract","canvasframeallocation","autocommandbufferbuilder","sfml_rust::canvas","sfml_rust::canvas::managed::shader","CanvasShader holds the pipeline and render pass for the…","shadertype","device","renderpassabstract","graphicspipelineabstract","sfml_rust::canvas::managed","Typed wrapper for a u32 handle","get_handle","descriptorset","get_descriptor_set","compuframe","compukernelhandle","sfml_rust::compute","new_compute_buffer","read_compute_buffer","write_compute_buffer","get_kernel_handle","canvasstate","computepipeline","persistentdescriptorset","cpuaccessiblebuffer","sfml_rust::compute::managed","compusprite","get_pipeline","pipelinelayout","get_name","sfml_rust::util::timer","sfml_rust::util::vertex","try_from","try_into","borrow_mut","to_subset","is_in_subset","to_subset_unchecked","from_subset","ref_from_ptr","is_size_suitable","indiv_size","to_owned","clone_into","result","type_id","borrow","typeid","sfml_rust::vkprocessor","sfml_rust::sprite","sfml_rust::canvas::canvas_state","sfml_rust::canvas::canvas_frame","sfml_rust::canvas::managed::shader::text_shader","sfml_rust::canvas::managed::shader::generic_shader","sfml_rust::canvas::managed::shader::dynamic_vertex","incompatiblevertexdefinitionerror","sfml_rust::canvas::managed::shader::shader_common","sfml_rust::canvas::managed::handles","sfml_rust::canvas::managed::gpu_buffers","sfml_rust::compute::compu_frame","sfml_rust::compute::compu_state","sfml_rust::compute::managed::compu_buffer","sfml_rust::compute::managed::compu_sprite","sfml_rust::compute::managed::compu_kernel","sfml_rust::compute::managed::handles","vertextypes","get_renderpass","recompile","textshader","This will explode when the shader does not want to compile","genericshader","default","runtimevertexdef","texturevertex2d","colorvertex2d","imagevertex2d","vertex3d","textvertex3d","glyphinstance","compubuffers","compukernel","computespecializationconstants","formatter","definition","vertexmemberinfo","TextureVertex2D","ColorVertex2D","ImageVertex2D","TextVertex3D","CanvasFrameAllocation","VertexTypes","VkProcessor","CanvasState","CanvasFrameTest","DrawableTest","GlyphInstance","RuntimeVertexDef","ShaderType","CompiledGraphicsPipelineResources","CompiledGraphicsPipeline","CanvasTextureHandle","DrawableHandle","CanvasTexture","CanvasImage","CanvasFont","CompuFrame","CompuState","CompuBuffers","CompuSprite","CompuKernel","TextShader","GenericShader","CanvasFontHandle","CanvasImageHandle","CompiledShaderHandle","ComputeSpecializationConstants","CompuBufferHandle","CompuKernelHandle"];
-searchIndex["sfml_rust"]={"doc":E,"i":[[5,"main",R[3],E,N,[[]]],[0,"util",E,E,N,N],[5,"load_raw",R[0],E,N,[[[R[5]]]]],[0,"timer",E,E,N,N],[3,"Timer",R[55],E,N,N],[11,"new",E,E,0,[[],["timer"]]],[11,"elap_time",E,E,0,[[["self"]],["f32"]]],[11,"frame_time",E,E,0,[[["self"]],["f32"]]],[0,"vertex_2d",R[0],E,N,N],[3,"Vertex2D",R[56],"Generic vertex 2d with vertex position, texture position…",N,N],[12,R[1],E,E,1,N],[12,"color",E,E,1,N],[12,R[2],E,E,1,N],[0,"vertex_3d",R[0],E,N,N],[3,"Vertex3D",R[68],"Generic vertex 3d with vertex position, texture position…",N,N],[12,R[1],E,E,2,N],[12,"color",E,E,2,N],[12,R[2],E,E,2,N],[3,R[111],E,"Text vertex 3d with vertex position",N,N],[12,"position",E,E,3,N],[0,R[4],R[3],E,N,N],[3,R[112],R[72],"VKProcessor holds the vulkan instance information, the…",N,N],[12,"instance",E,E,4,N],[12,"physical",E,E,4,N],[12,R[30],E,E,4,N],[12,"queues",E,E,4,N],[12,"queue",E,E,4,N],[12,"swapchain",E,E,4,N],[12,"swapchain_images",E,E,4,N],[11,"new",E,"Creates a new VkProcessor from an instance and surface…",4,[[["arc"],["arc"]],[R[4]]]],[11,"is_open",E,"VKProcessor controls the window. So it will let the main…",4,[[["self"]],["bool"]]],[11,"create_swapchain",E,"Using the surface, we calculate the surface capabilities…",4,[[["self"],["arc"]]]],[11,"recreate_swapchain",E,"On screen resizes, the swapchain and images must be…",4,[[["self"],["arc"]]]],[11,"preload_textures",E,"A hardcoded list of textures which can be preloaded from…",4,[[["self"]]]],[11,"preload_kernels",E,"A hardcoded list of kernels which can be preloaded from…",4,[[["self"]]]],[11,"preload_shaders",E,"A hardcoded list of shaders which can be preloaded from…",4,[[["self"]]]],[11,"preload_fonts",E,"A hardcoded list of shaders which can be proloaded from…",4,[[["self"]]]],[11,R[14],E,"O(n) Lookup for the matching texture string",4,[[["self"],[R[5]]],[[R[6],["arc"]],["arc",[R[10]]]]]],[11,R[45],E,"O(n) Lookup for the matching kernel string",4,[[["self"],[R[5]]],[[R[6],["arc"]],["arc",[R[40]]]]]],[11,R[21],E,"O(n) Lookup for the matching shader string",4,[[["self"],[R[5]]],[["arc",[R[19]]],[R[6],["arc"]]]]],[11,R[22],E,E,4,[[["self"],[R[5]]],[[R[6],["arc"]],["arc",[R[12]]]]]],[11,"new_swap_image",E,"Create a new image which has the transfer usage",4,[[["self"]],[["arc",[R[7]]],[R[7]]]]],[11,R[42],E,"Builds a compute buffer and returns it's handle",4,[[["self"],["u32"],["vec",["u8"]],["u8"]],[[R[8]],["arc",[R[8]]]]]],[11,R[43],E,"Takes a compute buffer handle and returns the read data",4,[[["self"],["arc",[R[8]]],[R[8]]],[["vec",["u8"]],["u8"]]]],[11,R[44],E,"Takes a compute buffer handle and writes the received data",4,[[["self"],[R[8]],["u8"],["vec",["u8"]],["arc",[R[8]]]]]],[11,"run",E,E,4,[[["self"],[R[24]],["arc"],[R[39]]]]],[0,"sprite",R[3],E,N,N],[3,"Sprite",R[75],E,N,N],[12,R[9],E,E,5,N],[12,R[2],E,E,5,N],[3,"Poly",E,E,N,N],[12,R[9],E,E,6,N],[12,R[2],E,E,6,N],[3,"Text",E,E,N,N],[8,R[113],E,E,N,N],[10,"do_nothing",E,E,7,[[],["u32"]]],[8,R[114],E,E,N,N],[10,"get_thing",E,E,8,[[],["vec"]]],[8,R[115],E,E,N,N],[10,R[13],E,E,9,[[],["vec"]]],[11,"new",E,E,5,[[],["sprite"]]],[11,R[11],E,E,5,[[["u32"]],["sprite"]]],[11,"new_with_texture",E,E,5,[[["u32"],[R[10]],["arc",[R[10]]]],["sprite"]]],[11,"new",E,E,6,[[],["poly"]]],[11,R[11],E,E,6,[[["u32"]],["poly"]]],[11,"new",E,E,10,[[[R[12]],["arc",[R[12]]]],["text"]]],[11,R[11],E,E,10,[[["u32"],[R[12]],["arc",[R[12]]]],["text"]]],[0,"canvas",R[3],E,N,N],[0,"canvas_state",R[27],E,N,N],[3,R[117],R[76],"Canvas state is used for storage of texture and image…",N,N],[8,R[116],E,E,N,N],[10,R[13],E,E,11,[[["self"]],["vec"]]],[10,R[92],E,E,11,[[["self"]],["vec"]]],[10,R[33],E,E,11,[[["self"]],["h"]]],[8,"Drawable",E,"A drawable object can be passed into a CanvasFrame to be…",N,N],[10,R[13],E,E,12,[[["self"]],["vec"]]],[10,R[93],E,E,12,[[["self"]]]],[10,R[94],E,E,12,[[["self"]],["vec"]]],[10,R[14],E,E,12,[[["self"]],[[R[6],["arc"]],["arc",[R[10]]]]]],[10,R[95],E,E,12,[[["self"]],[[R[6],["arc"]],["arc",[R[7]]]]]],[11,"collect",E,E,12,[[["self"]],[["vec",[R[15]]],[R[15]]]]],[11,"window_size_dependent_setup",E,"This method is called once during initialization, then…",13,[[["self"]],[["arc",[R[25]]],["vec",["arc"]]]]],[11,"new",E,"Creates a Canvas State. Which at this point is pretty empty",13,[[[R[18]],["arc",["queue"]],[R[30]],["arc",[R[30]]],[R[17]],["queue"]],[R[46]]]],[11,"create_image",E,R[20],13,[[["self"],["imageusage"]],[["arc",[R[7]]],[R[7]]]]],[11,"get_image",E,"Return the image buffer from an input image handle",13,[[["self"],["arc",[R[7]]],[R[7]]],[[R[16]],["arc",[R[16]]]]]],[11,"load_texture",E,"Load a texture using it's filename from a file. Returns…",13,[[["self"],[R[5]]],[[R[6],["arc"]],["arc",[R[10]]]]]],[11,"load_shader",E,"Load and Compile a shader with the filename at…",13,[[["self"],[R[5]],[R[17]],[R[18]]],[["arc",[R[19]]],[R[6],["arc"]]]]],[11,"load_font",E,R[20],13,[[["self"],[R[5]]],[["arc",[R[12]]],[R[12]]]]],[11,R[14],E,"Using the texture name, iterates through the stored…",13,[[["self"],[R[5]]],[[R[6],["arc"]],["arc",[R[10]]]]]],[11,R[21],E,"Using the shader name, iterates through the stored shaders…",13,[[["self"],[R[5]]],[["arc",[R[19]]],[R[6],["arc"]]]]],[11,R[22],E,"Using the font name, iterates through the stored fonts and…",13,[[["self"],[R[5]]],[[R[6],["arc"]],["arc",[R[12]]]]]],[11,"get_texture",E,"Using the texture handle, grab the stored texture and…",13,[[["self"],[R[10]],["arc",[R[10]]]],[[R[23],["format"]],["arc",[R[23]]]]]],[11,"draw",E,"Scrape all the values from the CanvasFrame and then…",13,[[["self"],[R[24]]]]],[11,"draw_commands",E,"Pushes the draw commands to the command buffer. Requires…",13,[[["self"],[R[26]],["arc",[R[25]]],["vec",["arc"]],["usize"]],[R[26]]]],[0,"canvas_frame",R[27],E,N,N],[3,R[118],R[77],"I dont know why this isnt working fqowiejf",N,N],[12,"colored_drawables",E,E,14,N],[12,"textured_drawables",E,E,14,N],[12,"image_drawables",E,E,14,N],[12,"text_drawables",E,E,14,N],[3,R[132],E,E,N,N],[11,"new",E,"Creates a bare canvas frame with empty accumulators a",14,[[],[R[24]]]],[11,"draw",E,"Accumulates the drawables collected Vertex2D's",14,[[["self"],["drawable"]]]],[0,"managed",R[27],E,N,N],[0,"shader",R[35],E,N,N],[0,"text_shader",R[28],E,N,N],[3,R[119],R[78],E,N,N],[12,"screen_position",E,E,15,N],[12,"atlas_position",E,E,15,N],[12,"atlas_size",E,E,15,N],[12,"scale",E,E,15,N],[3,R[133],E,R[29],N,N],[0,"generic_shader",R[28],E,N,N],[3,R[134],R[79],R[29],N,N],[0,"dynamic_vertex",R[28],E,N,N],[3,R[120],R[80],"Runtime Vertex def is just a generic holder of \"dynamic…",N,N],[11,"from_primitive",E,"primitive is an input value or struct which can then…",16,[[["u32"]],[R[15]]]],[11,"vertex_buffer_ids",E,"Returns the indices of the buffers to bind as vertex…",16,[[["self"]]]],[0,"shader_common",R[28],E,N,N],[4,R[121],R[82],"Legacy ShaderType enum for single type shaders.",N,N],[13,"VERTEX",E,E,17,N],[13,"FRAGMENT",E,E,17,N],[13,"GEOMETRY",E,E,17,N],[13,"TESSELLATION_CONTROL",E,E,17,N],[13,"TESSELLATION_EVALUATION",E,E,17,N],[8,R[122],E,"Inheriting this gives private functions to grab resources",N,N],[11,"get_path",E,E,18,[[[R[5]],[R[31]]],["pathbuf"]]],[11,"compile",E,E,18,[[[R[30]],["arc",[R[30]]],["pathbuf"],[R[31]]]]],[11,"convert_vk",E,E,18,[[[R[31]]],["graphicsshadertype"]]],[11,"convert_sr",E,E,18,[[[R[31]]],["shaderkind"]]],[8,R[123],E,E,N,N],[10,"new",E,E,19,[[[R[19]],["arc",[R[32]]],[R[30]],[R[5]],["arc",[R[30]]],["arc",[R[19]]],[R[32]]],["self"]]],[10,R[54],E,E,19,[[["self"]],[R[5]]]],[10,R[33],E,E,19,[[["self"]],[["arc",[R[19]]],[R[19]]]]],[10,R[52],E,E,19,[[["self"]],[["arc",[R[34]]],[R[34]]]]],[10,R[96],E,E,19,[[["self"]],[["arc",[R[32]]],[R[32]]]]],[10,R[97],E,E,19,[[["arc",[R[32]]],[R[32]]],["self"]]],[0,"handles",R[35],E,N,N],[3,R[135],R[83],R[36],N,N],[3,R[136],E,R[36],N,N],[3,R[137],E,R[36],N,N],[3,R[138],E,R[36],N,N],[3,R[139],E,R[36],N,N],[8,"Handle",E,E,N,N],[10,R[33],E,E,20,[[["self"]],["u32"]]],[0,"canvas_text",R[35],E,N,N],[0,"gpu_buffers",E,E,N,N],[3,R[124],R[84],"Canvas buffer which represents an allocated Texture with a…",N,N],[3,R[125],E,"Canvas buffer which represents an allocated image and…",N,N],[3,R[126],E,"Canvas Font which represents an allocated image and…",N,N],[11,R[38],E,E,21,[[["self"],["arc",[R[34]]],[R[34]],["arc",["sampler"]],["sampler"]],[["box",[R[37]]],[R[37]]]]],[11,R[38],E,E,22,[[["self"],["arc",[R[34]]],[R[34]]],[["box",[R[37]]],[R[37]]]]],[11,R[38],E,E,23,[[["arc",[R[34]]],[R[34]]],[["box",[R[37]]],[R[37]]]]],[0,"compute",R[3],E,N,N],[0,"compu_frame",R[41],E,N,N],[3,R[127],R[85],E,N,N],[12,"pure_compute",E,E,24,N],[12,"swapped_to_image",E,E,24,N],[12,"swapped_to_buffer",E,E,24,N],[11,"new",E,E,24,[[],[R[39]]]],[11,"add",E,E,24,[[["self"],[R[8]],[R[40]],["arc",[R[40]]],["arc",[R[8]]]]]],[11,"add_chained",E,E,24,[[["self"],[R[8]],[R[40]],["arc",[R[40]]],["arc",[R[8]]]]]],[11,"add_with_image_swap",E,E,24,[[["self"],[R[8]],[R[40]],["arc",[R[40]]],[R[51]],["arc",[R[8]]]]]],[0,"compu_state",R[41],E,N,N],[3,R[128],R[86],"State holding the compute buffers for computation and the…",N,N],[11,"new",E,E,25,[[],["compustate"]]],[11,R[42],E,"Creates a 2d compute buffer from incoming data",25,[[["self"],["u32"],[R[30]],["vec",["u8"]],["arc",[R[30]]],["u8"]],[[R[8]],["arc",[R[8]]]]]],[11,R[43],E,"Read the compute buffer back into a Vec (TODO BROKEN)",25,[[["self"],["arc",[R[8]]],[R[8]]],[["vec",["u8"]],["u8"]]]],[11,R[44],E,"Write to the compute buffer, ostensibly overwriting what's…",25,[[["self"],[R[8]],["u8"],["vec",["u8"]],["arc",[R[8]]]]]],[11,"new_kernel",E,E,25,[[["self"],[R[30]],[R[5]],["arc",[R[30]]]],[[R[40]],["arc",[R[40]]]]]],[11,R[45],E,E,25,[[["self"],[R[5]]],[[R[6],["arc"]],["arc",[R[40]]]]]],[11,"compute_commands",E,E,25,[[["self"],[R[26]],[R[46]],[R[39]]],[R[26]]]],[0,"managed",R[41],E,N,N],[0,"compu_buffer",R[50],E,N,N],[3,R[129],R[87],E,N,N],[11,"new",E,E,26,[[["u8"],["u32"],["arc",[R[8]]],["arc",[R[30]]],[R[30]],["vec",["u8"]],[R[8]]],[R[105]]]],[11,"get_size",E,E,26,[[["self"]]]],[11,R[38],E,E,26,[[["self"],["arc",[R[47]]],[R[47],[R[53]]]],[[R[48],["arc"]],["arc",[R[48]]]]]],[11,"read_output_buffer",E,E,26,[[["self"]],[["vec",["u8"]],["rgba",["u8"]],["imagebuffer",["rgba","vec"]]]]],[11,"get_input_buffer",E,E,26,[[["self"]],[["arc",[R[49]]],[R[49]]]]],[11,"get_output_buffer",E,E,26,[[["self"]],[["arc",[R[49]]],[R[49]]]]],[0,"compu_sprite",R[50],E,N,N],[3,R[130],R[88],E,N,N],[12,R[9],E,E,27,N],[12,R[2],E,E,27,N],[11,"new",E,E,27,[[["u32"],["arc",[R[7]]],[R[7]]],[R[51]]]],[0,"compu_kernel",R[50],E,N,N],[3,R[131],R[89],E,N,N],[3,R[140],E,E,N,N],[11,"new",E,E,28,[[[R[40]],[R[30]],[R[5]],["arc",[R[30]]],["arc",[R[40]]]],[R[106]]]],[11,R[52],E,E,28,[[["self"]],[["arc",[R[47]]],[R[47],[R[53]]]]]],[11,"recompile_kernel",E,E,28,[[["self"]],[[R[47],[R[53]]],["arc",[R[47]]]]]],[11,"compile_kernel",E,E,28,[[["self"],[R[5]]],[["arc",[R[47]]],[R[47],[R[53]]]]]],[11,R[33],E,E,28,[[["self"]],[[R[40]],["arc",[R[40]]]]]],[11,R[54],E,E,28,[[["self"]],[R[5]]]],[0,"handles",R[50],E,N,N],[3,R[141],R[90],R[36],N,N],[3,R[142],E,R[36],N,N],[11,"into",R[55],E,0,[[],[U]]],[11,"from",E,E,0,[[[T]],[T]]],[11,R[57],E,E,0,[[[U]],[R[70]]]],[11,R[58],E,E,0,[[],[R[70]]]],[11,R[59],E,E,0,[[["self"]],[T]]],[11,R[73],E,E,0,[[["self"]],[T]]],[11,R[71],E,E,0,[[["self"]],[R[74]]]],[11,R[60],E,E,0,[[["self"]],[R[6]]]],[11,R[61],E,E,0,[[["self"]],["bool"]]],[11,R[62],E,E,0,[[["self"]],["ss"]]],[11,R[63],E,E,0,[[["ss"]],["sp"]]],[11,R[64],E,E,0,[[["usize"]],[R[6]]]],[11,R[65],E,E,0,[[["usize"]],["bool"]]],[11,R[66],E,E,0,[[],["usize"]]],[11,R[67],R[56],E,1,[[["self"]],[T]]],[11,R[69],E,E,1,[[["self"],[T]]]],[11,"into",E,E,1,[[],[U]]],[11,"from",E,E,1,[[[T]],[T]]],[11,R[57],E,E,1,[[[U]],[R[70]]]],[11,R[58],E,E,1,[[],[R[70]]]],[11,R[59],E,E,1,[[["self"]],[T]]],[11,R[73],E,E,1,[[["self"]],[T]]],[11,R[71],E,E,1,[[["self"]],[R[74]]]],[11,R[60],E,E,1,[[["self"]],[R[6]]]],[11,R[61],E,E,1,[[["self"]],["bool"]]],[11,R[62],E,E,1,[[["self"]],["ss"]]],[11,R[63],E,E,1,[[["ss"]],["sp"]]],[11,R[64],E,E,1,[[["usize"]],[R[6]]]],[11,R[65],E,E,1,[[["usize"]],["bool"]]],[11,R[66],E,E,1,[[],["usize"]]],[11,R[67],R[68],E,2,[[["self"]],[T]]],[11,R[69],E,E,2,[[["self"],[T]]]],[11,"into",E,E,2,[[],[U]]],[11,"from",E,E,2,[[[T]],[T]]],[11,R[57],E,E,2,[[[U]],[R[70]]]],[11,R[58],E,E,2,[[],[R[70]]]],[11,R[59],E,E,2,[[["self"]],[T]]],[11,R[73],E,E,2,[[["self"]],[T]]],[11,R[71],E,E,2,[[["self"]],[R[74]]]],[11,R[60],E,E,2,[[["self"]],[R[6]]]],[11,R[61],E,E,2,[[["self"]],["bool"]]],[11,R[62],E,E,2,[[["self"]],["ss"]]],[11,R[63],E,E,2,[[["ss"]],["sp"]]],[11,R[64],E,E,2,[[["usize"]],[R[6]]]],[11,R[65],E,E,2,[[["usize"]],["bool"]]],[11,R[66],E,E,2,[[],["usize"]]],[11,R[67],E,E,3,[[["self"]],[T]]],[11,R[69],E,E,3,[[["self"],[T]]]],[11,"into",E,E,3,[[],[U]]],[11,"from",E,E,3,[[[T]],[T]]],[11,R[57],E,E,3,[[[U]],[R[70]]]],[11,R[58],E,E,3,[[],[R[70]]]],[11,R[59],E,E,3,[[["self"]],[T]]],[11,R[73],E,E,3,[[["self"]],[T]]],[11,R[71],E,E,3,[[["self"]],[R[74]]]],[11,R[60],E,E,3,[[["self"]],[R[6]]]],[11,R[61],E,E,3,[[["self"]],["bool"]]],[11,R[62],E,E,3,[[["self"]],["ss"]]],[11,R[63],E,E,3,[[["ss"]],["sp"]]],[11,R[64],E,E,3,[[["usize"]],[R[6]]]],[11,R[65],E,E,3,[[["usize"]],["bool"]]],[11,R[66],E,E,3,[[],["usize"]]],[11,"into",R[72],E,4,[[],[U]]],[11,"from",E,E,4,[[[T]],[T]]],[11,R[57],E,E,4,[[[U]],[R[70]]]],[11,R[58],E,E,4,[[],[R[70]]]],[11,R[59],E,E,4,[[["self"]],[T]]],[11,R[73],E,E,4,[[["self"]],[T]]],[11,R[71],E,E,4,[[["self"]],[R[74]]]],[11,R[60],E,E,4,[[["self"]],[R[6]]]],[11,R[61],E,E,4,[[["self"]],["bool"]]],[11,R[62],E,E,4,[[["self"]],["ss"]]],[11,R[63],E,E,4,[[["ss"]],["sp"]]],[11,R[64],E,E,4,[[["usize"]],[R[6]]]],[11,R[65],E,E,4,[[["usize"]],["bool"]]],[11,R[66],E,E,4,[[],["usize"]]],[11,R[67],R[75],E,5,[[["self"]],[T]]],[11,R[69],E,E,5,[[["self"],[T]]]],[11,"into",E,E,5,[[],[U]]],[11,"from",E,E,5,[[[T]],[T]]],[11,R[57],E,E,5,[[[U]],[R[70]]]],[11,R[58],E,E,5,[[],[R[70]]]],[11,R[59],E,E,5,[[["self"]],[T]]],[11,R[73],E,E,5,[[["self"]],[T]]],[11,R[71],E,E,5,[[["self"]],[R[74]]]],[11,R[60],E,E,5,[[["self"]],[R[6]]]],[11,R[61],E,E,5,[[["self"]],["bool"]]],[11,R[62],E,E,5,[[["self"]],["ss"]]],[11,R[63],E,E,5,[[["ss"]],["sp"]]],[11,R[64],E,E,5,[[["usize"]],[R[6]]]],[11,R[65],E,E,5,[[["usize"]],["bool"]]],[11,R[66],E,E,5,[[],["usize"]]],[11,R[67],E,E,6,[[["self"]],[T]]],[11,R[69],E,E,6,[[["self"],[T]]]],[11,"into",E,E,6,[[],[U]]],[11,"from",E,E,6,[[[T]],[T]]],[11,R[57],E,E,6,[[[U]],[R[70]]]],[11,R[58],E,E,6,[[],[R[70]]]],[11,R[59],E,E,6,[[["self"]],[T]]],[11,R[73],E,E,6,[[["self"]],[T]]],[11,R[71],E,E,6,[[["self"]],[R[74]]]],[11,R[60],E,E,6,[[["self"]],[R[6]]]],[11,R[61],E,E,6,[[["self"]],["bool"]]],[11,R[62],E,E,6,[[["self"]],["ss"]]],[11,R[63],E,E,6,[[["ss"]],["sp"]]],[11,R[64],E,E,6,[[["usize"]],[R[6]]]],[11,R[65],E,E,6,[[["usize"]],["bool"]]],[11,R[66],E,E,6,[[],["usize"]]],[11,R[67],E,E,10,[[["self"]],[T]]],[11,R[69],E,E,10,[[["self"],[T]]]],[11,"into",E,E,10,[[],[U]]],[11,"from",E,E,10,[[[T]],[T]]],[11,R[57],E,E,10,[[[U]],[R[70]]]],[11,R[58],E,E,10,[[],[R[70]]]],[11,R[59],E,E,10,[[["self"]],[T]]],[11,R[73],E,E,10,[[["self"]],[T]]],[11,R[71],E,E,10,[[["self"]],[R[74]]]],[11,R[60],E,E,10,[[["self"]],[R[6]]]],[11,R[61],E,E,10,[[["self"]],["bool"]]],[11,R[62],E,E,10,[[["self"]],["ss"]]],[11,R[63],E,E,10,[[["ss"]],["sp"]]],[11,R[64],E,E,10,[[["usize"]],[R[6]]]],[11,R[65],E,E,10,[[["usize"]],["bool"]]],[11,R[66],E,E,10,[[],["usize"]]],[11,R[67],R[76],E,13,[[["self"]],[T]]],[11,R[69],E,E,13,[[["self"],[T]]]],[11,"into",E,E,13,[[],[U]]],[11,"from",E,E,13,[[[T]],[T]]],[11,R[57],E,E,13,[[[U]],[R[70]]]],[11,R[58],E,E,13,[[],[R[70]]]],[11,R[59],E,E,13,[[["self"]],[T]]],[11,R[73],E,E,13,[[["self"]],[T]]],[11,R[71],E,E,13,[[["self"]],[R[74]]]],[11,R[60],E,E,13,[[["self"]],[R[6]]]],[11,R[61],E,E,13,[[["self"]],["bool"]]],[11,R[62],E,E,13,[[["self"]],["ss"]]],[11,R[63],E,E,13,[[["ss"]],["sp"]]],[11,R[64],E,E,13,[[["usize"]],[R[6]]]],[11,R[65],E,E,13,[[["usize"]],["bool"]]],[11,R[66],E,E,13,[[],["usize"]]],[11,"into",R[77],E,14,[[],[U]]],[11,"from",E,E,14,[[[T]],[T]]],[11,R[57],E,E,14,[[[U]],[R[70]]]],[11,R[58],E,E,14,[[],[R[70]]]],[11,R[59],E,E,14,[[["self"]],[T]]],[11,R[73],E,E,14,[[["self"]],[T]]],[11,R[71],E,E,14,[[["self"]],[R[74]]]],[11,R[60],E,E,14,[[["self"]],[R[6]]]],[11,R[61],E,E,14,[[["self"]],["bool"]]],[11,R[62],E,E,14,[[["self"]],["ss"]]],[11,R[63],E,E,14,[[["ss"]],["sp"]]],[11,R[64],E,E,14,[[["usize"]],[R[6]]]],[11,R[65],E,E,14,[[["usize"]],["bool"]]],[11,R[66],E,E,14,[[],["usize"]]],[11,"into",E,E,29,[[],[U]]],[11,"from",E,E,29,[[[T]],[T]]],[11,R[57],E,E,29,[[[U]],[R[70]]]],[11,R[58],E,E,29,[[],[R[70]]]],[11,R[59],E,E,29,[[["self"]],[T]]],[11,R[73],E,E,29,[[["self"]],[T]]],[11,R[71],E,E,29,[[["self"]],[R[74]]]],[11,R[60],E,E,29,[[["self"]],[R[6]]]],[11,R[61],E,E,29,[[["self"]],["bool"]]],[11,R[62],E,E,29,[[["self"]],["ss"]]],[11,R[63],E,E,29,[[["ss"]],["sp"]]],[11,R[64],E,E,29,[[["usize"]],[R[6]]]],[11,R[65],E,E,29,[[["usize"]],["bool"]]],[11,R[66],E,E,29,[[],["usize"]]],[11,R[67],R[78],E,15,[[["self"]],[T]]],[11,R[69],E,E,15,[[["self"],[T]]]],[11,"into",E,E,15,[[],[U]]],[11,"from",E,E,15,[[[T]],[T]]],[11,R[57],E,E,15,[[[U]],[R[70]]]],[11,R[58],E,E,15,[[],[R[70]]]],[11,R[59],E,E,15,[[["self"]],[T]]],[11,R[73],E,E,15,[[["self"]],[T]]],[11,R[71],E,E,15,[[["self"]],[R[74]]]],[11,R[60],E,E,15,[[["self"]],[R[6]]]],[11,R[61],E,E,15,[[["self"]],["bool"]]],[11,R[62],E,E,15,[[["self"]],["ss"]]],[11,R[63],E,E,15,[[["ss"]],["sp"]]],[11,R[64],E,E,15,[[["usize"]],[R[6]]]],[11,R[65],E,E,15,[[["usize"]],["bool"]]],[11,R[66],E,E,15,[[],["usize"]]],[11,R[67],E,E,30,[[["self"]],[T]]],[11,R[69],E,E,30,[[["self"],[T]]]],[11,"into",E,E,30,[[],[U]]],[11,"from",E,E,30,[[[T]],[T]]],[11,R[57],E,E,30,[[[U]],[R[70]]]],[11,R[58],E,E,30,[[],[R[70]]]],[11,R[59],E,E,30,[[["self"]],[T]]],[11,R[73],E,E,30,[[["self"]],[T]]],[11,R[71],E,E,30,[[["self"]],[R[74]]]],[11,R[60],E,E,30,[[["self"]],[R[6]]]],[11,R[61],E,E,30,[[["self"]],["bool"]]],[11,R[62],E,E,30,[[["self"]],["ss"]]],[11,R[63],E,E,30,[[["ss"]],["sp"]]],[11,R[64],E,E,30,[[["usize"]],[R[6]]]],[11,R[65],E,E,30,[[["usize"]],["bool"]]],[11,R[66],E,E,30,[[],["usize"]]],[11,R[67],R[79],E,31,[[["self"]],[T]]],[11,R[69],E,E,31,[[["self"],[T]]]],[11,"into",E,E,31,[[],[U]]],[11,"from",E,E,31,[[[T]],[T]]],[11,R[57],E,E,31,[[[U]],[R[70]]]],[11,R[58],E,E,31,[[],[R[70]]]],[11,R[59],E,E,31,[[["self"]],[T]]],[11,R[73],E,E,31,[[["self"]],[T]]],[11,R[71],E,E,31,[[["self"]],[R[74]]]],[11,R[60],E,E,31,[[["self"]],[R[6]]]],[11,R[61],E,E,31,[[["self"]],["bool"]]],[11,R[62],E,E,31,[[["self"]],["ss"]]],[11,R[63],E,E,31,[[["ss"]],["sp"]]],[11,R[64],E,E,31,[[["usize"]],[R[6]]]],[11,R[65],E,E,31,[[["usize"]],["bool"]]],[11,R[66],E,E,31,[[],["usize"]]],[11,R[67],R[80],E,16,[[["self"]],[T]]],[11,R[69],E,E,16,[[["self"],[T]]]],[11,"into",E,E,16,[[],[U]]],[11,"from",E,E,16,[[[T]],[T]]],[11,R[57],E,E,16,[[[U]],[R[70]]]],[11,R[58],E,E,16,[[],[R[70]]]],[11,R[59],E,E,16,[[["self"]],[T]]],[11,R[73],E,E,16,[[["self"]],[T]]],[11,R[71],E,E,16,[[["self"]],[R[74]]]],[11,R[60],E,E,16,[[["self"]],[R[6]]]],[11,R[61],E,E,16,[[["self"]],["bool"]]],[11,R[62],E,E,16,[[["self"]],["ss"]]],[11,R[63],E,E,16,[[["ss"]],["sp"]]],[11,R[64],E,E,16,[[["usize"]],[R[6]]]],[11,R[65],E,E,16,[[["usize"]],["bool"]]],[11,R[66],E,E,16,[[],["usize"]]],[11,"decode",E,E,16,[[["self"],["l"]]]],[11,R[109],E,E,16,[[["self"],["i"]],[[R[81]],[R[70],[R[81]]]]]],[11,R[67],R[82],E,17,[[["self"]],[T]]],[11,R[69],E,E,17,[[["self"],[T]]]],[11,"into",E,E,17,[[],[U]]],[11,"from",E,E,17,[[[T]],[T]]],[11,R[57],E,E,17,[[[U]],[R[70]]]],[11,R[58],E,E,17,[[],[R[70]]]],[11,R[59],E,E,17,[[["self"]],[T]]],[11,R[73],E,E,17,[[["self"]],[T]]],[11,R[71],E,E,17,[[["self"]],[R[74]]]],[11,R[60],E,E,17,[[["self"]],[R[6]]]],[11,R[61],E,E,17,[[["self"]],["bool"]]],[11,R[62],E,E,17,[[["self"]],["ss"]]],[11,R[63],E,E,17,[[["ss"]],["sp"]]],[11,R[64],E,E,17,[[["usize"]],[R[6]]]],[11,R[65],E,E,17,[[["usize"]],["bool"]]],[11,R[66],E,E,17,[[],["usize"]]],[11,R[67],R[83],E,32,[[["self"]],[T]]],[11,R[69],E,E,32,[[["self"],[T]]]],[11,"into",E,E,32,[[],[U]]],[11,"from",E,E,32,[[[T]],[T]]],[11,R[57],E,E,32,[[[U]],[R[70]]]],[11,R[58],E,E,32,[[],[R[70]]]],[11,R[59],E,E,32,[[["self"]],[T]]],[11,R[73],E,E,32,[[["self"]],[T]]],[11,R[71],E,E,32,[[["self"]],[R[74]]]],[11,R[60],E,E,32,[[["self"]],[R[6]]]],[11,R[61],E,E,32,[[["self"]],["bool"]]],[11,R[62],E,E,32,[[["self"]],["ss"]]],[11,R[63],E,E,32,[[["ss"]],["sp"]]],[11,R[64],E,E,32,[[["usize"]],[R[6]]]],[11,R[65],E,E,32,[[["usize"]],["bool"]]],[11,R[66],E,E,32,[[],["usize"]]],[11,R[67],E,E,33,[[["self"]],[T]]],[11,R[69],E,E,33,[[["self"],[T]]]],[11,"into",E,E,33,[[],[U]]],[11,"from",E,E,33,[[[T]],[T]]],[11,R[57],E,E,33,[[[U]],[R[70]]]],[11,R[58],E,E,33,[[],[R[70]]]],[11,R[59],E,E,33,[[["self"]],[T]]],[11,R[73],E,E,33,[[["self"]],[T]]],[11,R[71],E,E,33,[[["self"]],[R[74]]]],[11,R[60],E,E,33,[[["self"]],[R[6]]]],[11,R[61],E,E,33,[[["self"]],["bool"]]],[11,R[62],E,E,33,[[["self"]],["ss"]]],[11,R[63],E,E,33,[[["ss"]],["sp"]]],[11,R[64],E,E,33,[[["usize"]],[R[6]]]],[11,R[65],E,E,33,[[["usize"]],["bool"]]],[11,R[66],E,E,33,[[],["usize"]]],[11,R[67],E,E,34,[[["self"]],[T]]],[11,R[69],E,E,34,[[["self"],[T]]]],[11,"into",E,E,34,[[],[U]]],[11,"from",E,E,34,[[[T]],[T]]],[11,R[57],E,E,34,[[[U]],[R[70]]]],[11,R[58],E,E,34,[[],[R[70]]]],[11,R[59],E,E,34,[[["self"]],[T]]],[11,R[73],E,E,34,[[["self"]],[T]]],[11,R[71],E,E,34,[[["self"]],[R[74]]]],[11,R[60],E,E,34,[[["self"]],[R[6]]]],[11,R[61],E,E,34,[[["self"]],["bool"]]],[11,R[62],E,E,34,[[["self"]],["ss"]]],[11,R[63],E,E,34,[[["ss"]],["sp"]]],[11,R[64],E,E,34,[[["usize"]],[R[6]]]],[11,R[65],E,E,34,[[["usize"]],["bool"]]],[11,R[66],E,E,34,[[],["usize"]]],[11,R[67],E,E,35,[[["self"]],[T]]],[11,R[69],E,E,35,[[["self"],[T]]]],[11,"into",E,E,35,[[],[U]]],[11,"from",E,E,35,[[[T]],[T]]],[11,R[57],E,E,35,[[[U]],[R[70]]]],[11,R[58],E,E,35,[[],[R[70]]]],[11,R[59],E,E,35,[[["self"]],[T]]],[11,R[73],E,E,35,[[["self"]],[T]]],[11,R[71],E,E,35,[[["self"]],[R[74]]]],[11,R[60],E,E,35,[[["self"]],[R[6]]]],[11,R[61],E,E,35,[[["self"]],["bool"]]],[11,R[62],E,E,35,[[["self"]],["ss"]]],[11,R[63],E,E,35,[[["ss"]],["sp"]]],[11,R[64],E,E,35,[[["usize"]],[R[6]]]],[11,R[65],E,E,35,[[["usize"]],["bool"]]],[11,R[66],E,E,35,[[],["usize"]]],[11,R[67],E,E,36,[[["self"]],[T]]],[11,R[69],E,E,36,[[["self"],[T]]]],[11,"into",E,E,36,[[],[U]]],[11,"from",E,E,36,[[[T]],[T]]],[11,R[57],E,E,36,[[[U]],[R[70]]]],[11,R[58],E,E,36,[[],[R[70]]]],[11,R[59],E,E,36,[[["self"]],[T]]],[11,R[73],E,E,36,[[["self"]],[T]]],[11,R[71],E,E,36,[[["self"]],[R[74]]]],[11,R[60],E,E,36,[[["self"]],[R[6]]]],[11,R[61],E,E,36,[[["self"]],["bool"]]],[11,R[62],E,E,36,[[["self"]],["ss"]]],[11,R[63],E,E,36,[[["ss"]],["sp"]]],[11,R[64],E,E,36,[[["usize"]],[R[6]]]],[11,R[65],E,E,36,[[["usize"]],["bool"]]],[11,R[66],E,E,36,[[],["usize"]]],[11,R[67],R[84],E,21,[[["self"]],[T]]],[11,R[69],E,E,21,[[["self"],[T]]]],[11,"into",E,E,21,[[],[U]]],[11,"from",E,E,21,[[[T]],[T]]],[11,R[57],E,E,21,[[[U]],[R[70]]]],[11,R[58],E,E,21,[[],[R[70]]]],[11,R[59],E,E,21,[[["self"]],[T]]],[11,R[73],E,E,21,[[["self"]],[T]]],[11,R[71],E,E,21,[[["self"]],[R[74]]]],[11,R[60],E,E,21,[[["self"]],[R[6]]]],[11,R[61],E,E,21,[[["self"]],["bool"]]],[11,R[62],E,E,21,[[["self"]],["ss"]]],[11,R[63],E,E,21,[[["ss"]],["sp"]]],[11,R[64],E,E,21,[[["usize"]],[R[6]]]],[11,R[65],E,E,21,[[["usize"]],["bool"]]],[11,R[66],E,E,21,[[],["usize"]]],[11,R[67],E,E,22,[[["self"]],[T]]],[11,R[69],E,E,22,[[["self"],[T]]]],[11,"into",E,E,22,[[],[U]]],[11,"from",E,E,22,[[[T]],[T]]],[11,R[57],E,E,22,[[[U]],[R[70]]]],[11,R[58],E,E,22,[[],[R[70]]]],[11,R[59],E,E,22,[[["self"]],[T]]],[11,R[73],E,E,22,[[["self"]],[T]]],[11,R[71],E,E,22,[[["self"]],[R[74]]]],[11,R[60],E,E,22,[[["self"]],[R[6]]]],[11,R[61],E,E,22,[[["self"]],["bool"]]],[11,R[62],E,E,22,[[["self"]],["ss"]]],[11,R[63],E,E,22,[[["ss"]],["sp"]]],[11,R[64],E,E,22,[[["usize"]],[R[6]]]],[11,R[65],E,E,22,[[["usize"]],["bool"]]],[11,R[66],E,E,22,[[],["usize"]]],[11,R[67],E,E,23,[[["self"]],[T]]],[11,R[69],E,E,23,[[["self"],[T]]]],[11,"into",E,E,23,[[],[U]]],[11,"from",E,E,23,[[[T]],[T]]],[11,R[57],E,E,23,[[[U]],[R[70]]]],[11,R[58],E,E,23,[[],[R[70]]]],[11,R[59],E,E,23,[[["self"]],[T]]],[11,R[73],E,E,23,[[["self"]],[T]]],[11,R[71],E,E,23,[[["self"]],[R[74]]]],[11,R[60],E,E,23,[[["self"]],[R[6]]]],[11,R[61],E,E,23,[[["self"]],["bool"]]],[11,R[62],E,E,23,[[["self"]],["ss"]]],[11,R[63],E,E,23,[[["ss"]],["sp"]]],[11,R[64],E,E,23,[[["usize"]],[R[6]]]],[11,R[65],E,E,23,[[["usize"]],["bool"]]],[11,R[66],E,E,23,[[],["usize"]]],[11,"into",R[85],E,24,[[],[U]]],[11,"from",E,E,24,[[[T]],[T]]],[11,R[57],E,E,24,[[[U]],[R[70]]]],[11,R[58],E,E,24,[[],[R[70]]]],[11,R[59],E,E,24,[[["self"]],[T]]],[11,R[73],E,E,24,[[["self"]],[T]]],[11,R[71],E,E,24,[[["self"]],[R[74]]]],[11,R[60],E,E,24,[[["self"]],[R[6]]]],[11,R[61],E,E,24,[[["self"]],["bool"]]],[11,R[62],E,E,24,[[["self"]],["ss"]]],[11,R[63],E,E,24,[[["ss"]],["sp"]]],[11,R[64],E,E,24,[[["usize"]],[R[6]]]],[11,R[65],E,E,24,[[["usize"]],["bool"]]],[11,R[66],E,E,24,[[],["usize"]]],[11,"into",R[86],E,25,[[],[U]]],[11,"from",E,E,25,[[[T]],[T]]],[11,R[57],E,E,25,[[[U]],[R[70]]]],[11,R[58],E,E,25,[[],[R[70]]]],[11,R[59],E,E,25,[[["self"]],[T]]],[11,R[73],E,E,25,[[["self"]],[T]]],[11,R[71],E,E,25,[[["self"]],[R[74]]]],[11,R[60],E,E,25,[[["self"]],[R[6]]]],[11,R[61],E,E,25,[[["self"]],["bool"]]],[11,R[62],E,E,25,[[["self"]],["ss"]]],[11,R[63],E,E,25,[[["ss"]],["sp"]]],[11,R[64],E,E,25,[[["usize"]],[R[6]]]],[11,R[65],E,E,25,[[["usize"]],["bool"]]],[11,R[66],E,E,25,[[],["usize"]]],[11,R[67],R[87],E,26,[[["self"]],[T]]],[11,R[69],E,E,26,[[["self"],[T]]]],[11,"into",E,E,26,[[],[U]]],[11,"from",E,E,26,[[[T]],[T]]],[11,R[57],E,E,26,[[[U]],[R[70]]]],[11,R[58],E,E,26,[[],[R[70]]]],[11,R[59],E,E,26,[[["self"]],[T]]],[11,R[73],E,E,26,[[["self"]],[T]]],[11,R[71],E,E,26,[[["self"]],[R[74]]]],[11,R[60],E,E,26,[[["self"]],[R[6]]]],[11,R[61],E,E,26,[[["self"]],["bool"]]],[11,R[62],E,E,26,[[["self"]],["ss"]]],[11,R[63],E,E,26,[[["ss"]],["sp"]]],[11,R[64],E,E,26,[[["usize"]],[R[6]]]],[11,R[65],E,E,26,[[["usize"]],["bool"]]],[11,R[66],E,E,26,[[],["usize"]]],[11,"into",R[88],E,27,[[],[U]]],[11,"from",E,E,27,[[[T]],[T]]],[11,R[57],E,E,27,[[[U]],[R[70]]]],[11,R[58],E,E,27,[[],[R[70]]]],[11,R[59],E,E,27,[[["self"]],[T]]],[11,R[73],E,E,27,[[["self"]],[T]]],[11,R[71],E,E,27,[[["self"]],[R[74]]]],[11,R[60],E,E,27,[[["self"]],[R[6]]]],[11,R[61],E,E,27,[[["self"]],["bool"]]],[11,R[62],E,E,27,[[["self"]],["ss"]]],[11,R[63],E,E,27,[[["ss"]],["sp"]]],[11,R[64],E,E,27,[[["usize"]],[R[6]]]],[11,R[65],E,E,27,[[["usize"]],["bool"]]],[11,R[66],E,E,27,[[],["usize"]]],[11,R[67],R[89],E,28,[[["self"]],[T]]],[11,R[69],E,E,28,[[["self"],[T]]]],[11,"into",E,E,28,[[],[U]]],[11,"from",E,E,28,[[[T]],[T]]],[11,R[57],E,E,28,[[[U]],[R[70]]]],[11,R[58],E,E,28,[[],[R[70]]]],[11,R[59],E,E,28,[[["self"]],[T]]],[11,R[73],E,E,28,[[["self"]],[T]]],[11,R[71],E,E,28,[[["self"]],[R[74]]]],[11,R[60],E,E,28,[[["self"]],[R[6]]]],[11,R[61],E,E,28,[[["self"]],["bool"]]],[11,R[62],E,E,28,[[["self"]],["ss"]]],[11,R[63],E,E,28,[[["ss"]],["sp"]]],[11,R[64],E,E,28,[[["usize"]],[R[6]]]],[11,R[65],E,E,28,[[["usize"]],["bool"]]],[11,R[66],E,E,28,[[],["usize"]]],[11,R[67],E,E,37,[[["self"]],[T]]],[11,R[69],E,E,37,[[["self"],[T]]]],[11,"into",E,E,37,[[],[U]]],[11,"from",E,E,37,[[[T]],[T]]],[11,R[57],E,E,37,[[[U]],[R[70]]]],[11,R[58],E,E,37,[[],[R[70]]]],[11,R[59],E,E,37,[[["self"]],[T]]],[11,R[73],E,E,37,[[["self"]],[T]]],[11,R[71],E,E,37,[[["self"]],[R[74]]]],[11,R[60],E,E,37,[[["self"]],[R[6]]]],[11,R[61],E,E,37,[[["self"]],["bool"]]],[11,R[62],E,E,37,[[["self"]],["ss"]]],[11,R[63],E,E,37,[[["ss"]],["sp"]]],[11,R[64],E,E,37,[[["usize"]],[R[6]]]],[11,R[65],E,E,37,[[["usize"]],["bool"]]],[11,R[66],E,E,37,[[],["usize"]]],[11,R[67],R[90],E,38,[[["self"]],[T]]],[11,R[69],E,E,38,[[["self"],[T]]]],[11,"into",E,E,38,[[],[U]]],[11,"from",E,E,38,[[[T]],[T]]],[11,R[57],E,E,38,[[[U]],[R[70]]]],[11,R[58],E,E,38,[[],[R[70]]]],[11,R[59],E,E,38,[[["self"]],[T]]],[11,R[73],E,E,38,[[["self"]],[T]]],[11,R[71],E,E,38,[[["self"]],[R[74]]]],[11,R[60],E,E,38,[[["self"]],[R[6]]]],[11,R[61],E,E,38,[[["self"]],["bool"]]],[11,R[62],E,E,38,[[["self"]],["ss"]]],[11,R[63],E,E,38,[[["ss"]],["sp"]]],[11,R[64],E,E,38,[[["usize"]],[R[6]]]],[11,R[65],E,E,38,[[["usize"]],["bool"]]],[11,R[66],E,E,38,[[],["usize"]]],[11,R[67],E,E,39,[[["self"]],[T]]],[11,R[69],E,E,39,[[["self"],[T]]]],[11,"into",E,E,39,[[],[U]]],[11,"from",E,E,39,[[[T]],[T]]],[11,R[57],E,E,39,[[[U]],[R[70]]]],[11,R[58],E,E,39,[[],[R[70]]]],[11,R[59],E,E,39,[[["self"]],[T]]],[11,R[73],E,E,39,[[["self"]],[T]]],[11,R[71],E,E,39,[[["self"]],[R[74]]]],[11,R[60],E,E,39,[[["self"]],[R[6]]]],[11,R[61],E,E,39,[[["self"]],["bool"]]],[11,R[62],E,E,39,[[["self"]],["ss"]]],[11,R[63],E,E,39,[[["ss"]],["sp"]]],[11,R[64],E,E,39,[[["usize"]],[R[6]]]],[11,R[65],E,E,39,[[["usize"]],["bool"]]],[11,R[66],E,E,39,[[],["usize"]]],[11,R[13],R[75],E,5,[[["self"]],[["vec",[R[91]]],[R[91]]]]],[11,R[92],E,E,5,[[["self"]],["vec"]]],[11,R[33],E,E,5,[[["self"]],["h"]]],[11,R[13],E,E,10,[[["self"]],["vec"]]],[11,R[92],E,E,10,[[["self"]],["vec"]]],[11,R[33],E,E,10,[[["self"]],["h"]]],[11,R[13],E,E,5,[[["self"]],["vec"]]],[11,R[93],E,E,5,[[["self"]]]],[11,R[94],E,E,5,[[["self"]],["vec"]]],[11,R[14],E,E,5,[[["self"]],[[R[6],["arc"]],["arc",[R[10]]]]]],[11,R[95],E,E,5,[[["self"]],[[R[6],["arc"]],["arc",[R[7]]]]]],[11,R[13],E,E,6,[[["self"]],["vec"]]],[11,R[93],E,E,6,[[["self"]]]],[11,R[94],E,E,6,[[["self"]],["vec"]]],[11,R[14],E,E,6,[[["self"]],[[R[6],["arc"]],["arc",[R[10]]]]]],[11,R[95],E,E,6,[[["self"]],[[R[6],["arc"]],["arc",[R[7]]]]]],[11,R[13],R[88],E,27,[[["self"]],["vec"]]],[11,R[93],E,E,27,[[["self"]]]],[11,R[94],E,E,27,[[["self"]],["vec"]]],[11,R[14],E,E,27,[[["self"]],[[R[6],["arc"]],["arc",[R[10]]]]]],[11,R[95],E,E,27,[[["self"]],[[R[6],["arc"]],["arc",[R[7]]]]]],[11,"new",R[78],R[99],30,[[[R[19]],["arc",[R[32]]],[R[30]],[R[5]],["arc",[R[30]]],["arc",[R[19]]],[R[32]]],[R[98]]]],[11,R[54],E,E,30,[[["self"]],[R[5]]]],[11,R[33],E,E,30,[[["self"]],[["arc",[R[19]]],[R[19]]]]],[11,R[52],E,E,30,[[["self"]],[["arc",[R[34]]],[R[34]]]]],[11,R[96],E,E,30,[[["self"]],[["arc",[R[32]]],[R[32]]]]],[11,R[97],E,E,30,[[["arc",[R[32]]],[R[32]]],[R[98]]]],[11,"new",R[79],R[99],31,[[[R[19]],["arc",[R[32]]],[R[30]],[R[5]],["arc",[R[30]]],["arc",[R[19]]],[R[32]]],[R[100]]]],[11,R[54],E,E,31,[[["self"]],[R[5]]]],[11,R[33],E,E,31,[[["self"]],[["arc",[R[19]]],[R[19]]]]],[11,R[52],E,E,31,[[["self"]],[["arc",[R[34]]],[R[34]]]]],[11,R[96],E,E,31,[[["self"]],[["arc",[R[32]]],[R[32]]]]],[11,R[97],E,E,31,[[["arc",[R[32]]],[R[32]]],[R[100]]]],[11,R[33],R[83],E,32,[[["self"]],["u32"]]],[11,R[33],E,E,33,[[["self"]],["u32"]]],[11,R[33],E,E,34,[[["self"]],["u32"]]],[11,R[33],E,E,35,[[["self"]],["u32"]]],[11,R[33],E,E,36,[[["self"]],["u32"]]],[11,R[33],R[90],E,38,[[["self"]],["u32"]]],[11,R[33],E,E,39,[[["self"]],["u32"]]],[11,R[101],R[56],E,1,[[],["vertex2d"]]],[11,R[101],R[68],E,2,[[],[R[91]]]],[11,R[101],E,E,3,[[],[R[102]]]],[11,R[101],R[78],E,15,[[],[R[103]]]],[11,R[101],R[80],E,16,[[],[R[15]]]],[11,R[101],R[83],E,32,[[],[R[12]]]],[11,R[101],E,E,33,[[],[R[10]]]],[11,R[101],E,E,34,[[],[R[7]]]],[11,R[101],E,E,35,[[],[R[104]]]],[11,R[101],E,E,36,[[],[R[19]]]],[11,R[101],R[89],E,37,[[],[R[107]]]],[11,R[101],R[90],E,38,[[],[R[8]]]],[11,R[101],E,E,39,[[],[R[40]]]],[11,"clone",R[56],E,1,[[["self"]],["vertex2d"]]],[11,"clone",R[68],E,2,[[["self"]],[R[91]]]],[11,"clone",E,E,3,[[["self"]],[R[102]]]],[11,"clone",R[75],E,5,[[["self"]],["sprite"]]],[11,"clone",E,E,6,[[["self"]],["poly"]]],[11,"clone",E,E,10,[[["self"]],["text"]]],[11,"clone",R[76],E,13,[[["self"]],[R[46]]]],[11,"clone",R[78],E,15,[[["self"]],[R[103]]]],[11,"clone",E,E,30,[[["self"]],[R[98]]]],[11,"clone",R[79],E,31,[[["self"]],[R[100]]]],[11,"clone",R[80],E,16,[[["self"]],[R[15]]]],[11,"clone",R[82],E,17,[[["self"]],[R[31]]]],[11,"clone",R[83],E,32,[[["self"]],[R[12]]]],[11,"clone",E,E,33,[[["self"]],[R[10]]]],[11,"clone",E,E,34,[[["self"]],[R[7]]]],[11,"clone",E,E,35,[[["self"]],[R[104]]]],[11,"clone",E,E,36,[[["self"]],[R[19]]]],[11,"clone",R[84],E,21,[[["self"]],["canvastexture"]]],[11,"clone",E,E,22,[[["self"]],["canvasimage"]]],[11,"clone",E,E,23,[[["self"]],["canvasfont"]]],[11,"clone",R[87],E,26,[[["self"]],[R[105]]]],[11,"clone",R[89],E,28,[[["self"]],[R[106]]]],[11,"clone",E,E,37,[[["self"]],[R[107]]]],[11,"clone",R[90],E,38,[[["self"]],[R[8]]]],[11,"clone",E,E,39,[[["self"]],[R[40]]]],[11,"eq",R[82],E,17,[[["self"],[R[31]]],["bool"]]],[11,"eq",R[83],E,32,[[["self"],[R[12]]],["bool"]]],[11,"ne",E,E,32,[[["self"],[R[12]]],["bool"]]],[11,"eq",E,E,33,[[["self"],[R[10]]],["bool"]]],[11,"ne",E,E,33,[[["self"],[R[10]]],["bool"]]],[11,"eq",E,E,34,[[["self"],[R[7]]],["bool"]]],[11,"ne",E,E,34,[[["self"],[R[7]]],["bool"]]],[11,"eq",E,E,35,[[["self"],[R[104]]],["bool"]]],[11,"ne",E,E,35,[[["self"],[R[104]]],["bool"]]],[11,"eq",E,E,36,[[["self"],[R[19]]],["bool"]]],[11,"ne",E,E,36,[[["self"],[R[19]]],["bool"]]],[11,"eq",R[90],E,38,[[["self"],[R[8]]],["bool"]]],[11,"ne",E,E,38,[[["self"],[R[8]]],["bool"]]],[11,"eq",E,E,39,[[["self"],[R[40]]],["bool"]]],[11,"ne",E,E,39,[[["self"],[R[40]]],["bool"]]],[11,"hash",R[82],E,17,[[["self"],["__h"]]]],[11,"hash",R[83],E,32,[[["self"],["__h"]]]],[11,"hash",E,E,33,[[["self"],["__h"]]]],[11,"hash",E,E,34,[[["self"],["__h"]]]],[11,"hash",E,E,35,[[["self"],["__h"]]]],[11,"hash",E,E,36,[[["self"],["__h"]]]],[11,"hash",R[90],E,38,[[["self"],["__h"]]]],[11,"hash",E,E,39,[[["self"],["__h"]]]],[11,"fmt",R[56],E,1,[[["self"],[R[108]]],[R[70]]]],[11,"fmt",R[68],E,2,[[["self"],[R[108]]],[R[70]]]],[11,"fmt",E,E,3,[[["self"],[R[108]]],[R[70]]]],[11,"fmt",R[75],E,5,[[["self"],[R[108]]],[R[70]]]],[11,"fmt",E,E,6,[[["self"],[R[108]]],[R[70]]]],[11,"fmt",E,E,10,[[["self"],[R[108]]],[R[70]]]],[11,"fmt",R[78],E,15,[[["self"],[R[108]]],[R[70]]]],[11,"fmt",R[80],E,16,[[["self"],[R[108]]],[R[70]]]],[11,"fmt",R[83],E,32,[[["self"],[R[108]]],[R[70]]]],[11,"fmt",E,E,33,[[["self"],[R[108]]],[R[70]]]],[11,"fmt",E,E,34,[[["self"],[R[108]]],[R[70]]]],[11,"fmt",E,E,35,[[["self"],[R[108]]],[R[70]]]],[11,"fmt",E,E,36,[[["self"],[R[108]]],[R[70]]]],[11,"fmt",R[89],E,37,[[["self"],[R[108]]],[R[70]]]],[11,"fmt",R[90],E,38,[[["self"],[R[108]]],[R[70]]]],[11,"fmt",E,E,39,[[["self"],[R[108]]],[R[70]]]],[11,"decode",R[80],E,16,[[["self"],["vec",["arc"]],["arc",["bufferaccess"]]]]],[11,"descriptors",R[89],E,37,[[]]],[11,R[109],R[80],"Builds the vertex definition to use to link this…",16,[[["self"],["i"]],[[R[81]],[R[70],[R[81]]]]]],[11,"member",R[56],E,1,[[["str"]],[[R[6],[R[110]]],[R[110]]]]],[11,"member",R[68],E,2,[[["str"]],[[R[6],[R[110]]],[R[110]]]]],[11,"member",E,E,3,[[["str"]],[[R[6],[R[110]]],[R[110]]]]],[11,"member",R[78],E,15,[[["str"]],[[R[6],[R[110]]],[R[110]]]]]],"p":[[3,"Timer"],[3,"Vertex2D"],[3,"Vertex3D"],[3,R[111]],[3,R[112]],[3,"Sprite"],[3,"Poly"],[8,R[113]],[8,R[114]],[8,R[115]],[3,"Text"],[8,R[116]],[8,"Drawable"],[3,R[117]],[3,R[118]],[3,R[119]],[3,R[120]],[4,R[121]],[8,R[122]],[8,R[123]],[8,"Handle"],[3,R[124]],[3,R[125]],[3,R[126]],[3,R[127]],[3,R[128]],[3,R[129]],[3,R[130]],[3,R[131]],[3,R[132]],[3,R[133]],[3,R[134]],[3,R[135]],[3,R[136]],[3,R[137]],[3,R[138]],[3,R[139]],[3,R[140]],[3,R[141]],[3,R[142]]]};
+searchIndex["sfml_rust"]={"doc":E,"i":[[5,"main",R[3],E,N,[[]]],[0,"util",E,E,N,N],[5,"load_raw",R[0],E,N,[[[R[5]]]]],[0,"timer",E,E,N,N],[3,"Timer",R[52],E,N,N],[11,"new",E,E,0,[[],["timer"]]],[11,"elap_time",E,E,0,[[["self"]],["f32"]]],[11,"frame_time",E,E,0,[[["self"]],["f32"]]],[0,"vertex",R[0],E,N,N],[3,R[107],R[53],E,N,N],[12,R[1],E,E,1,N],[12,R[2],E,E,1,N],[3,R[108],E,E,N,N],[12,R[1],E,E,2,N],[12,"color",E,E,2,N],[3,R[109],E,E,N,N],[12,R[1],E,E,3,N],[12,"color",E,E,3,N],[3,"Vertex3D",E,E,N,N],[12,R[1],E,E,4,N],[12,"color",E,E,4,N],[12,R[2],E,E,4,N],[3,R[110],E,"Text vertex 3d with vertex position",N,N],[12,"position",E,E,5,N],[3,R[111],E,E,N,N],[12,"colored_vertex_buffer",E,E,6,N],[12,"textured_vertex_buffer",E,E,6,N],[12,"image_vertex_buffer",E,E,6,N],[12,"text_instances",E,E,6,N],[4,R[112],E,E,N,N],[13,"TextureType",E,E,7,N],[13,"ImageType",E,E,7,N],[13,"ColorType",E,E,7,N],[13,"ThreeDType",E,E,7,N],[0,R[4],R[3],E,N,N],[3,R[113],R[70],"VKProcessor holds the vulkan instance information, the…",N,N],[12,"instance",E,E,8,N],[12,"physical",E,E,8,N],[12,R[28],E,E,8,N],[12,"queues",E,E,8,N],[12,"queue",E,E,8,N],[12,"swapchain",E,E,8,N],[12,"swapchain_images",E,E,8,N],[11,"new",E,"Creates a new VkProcessor from an instance and surface…",8,[[["arc"],["arc"]],[R[4]]]],[11,"is_open",E,"VKProcessor controls the window. So it will let the main…",8,[[["self"]],["bool"]]],[11,"create_swapchain",E,"Using the surface, we calculate the surface capabilities…",8,[[["self"],["arc"]]]],[11,"recreate_swapchain",E,"On screen resizes, the swapchain and images must be…",8,[[["self"],["arc"]]]],[11,"preload_textures",E,"A hardcoded list of textures which can be preloaded from…",8,[[["self"]]]],[11,"preload_kernels",E,"A hardcoded list of kernels which can be preloaded from…",8,[[["self"]]]],[11,"preload_shaders",E,"A hardcoded list of shaders which can be preloaded from…",8,[[["self"]]]],[11,"preload_fonts",E,"A hardcoded list of shaders which can be proloaded from…",8,[[["self"]]]],[11,R[16],E,"O(n) Lookup for the matching texture string",8,[[["self"],[R[5]]],[["arc",[R[9]]],[R[6],["arc"]]]]],[11,R[42],E,"O(n) Lookup for the matching kernel string",8,[[["self"],[R[5]]],[["arc",[R[37]]],[R[6],["arc"]]]]],[11,R[17],E,"O(n) Lookup for the matching shader string",8,[[["self"],[R[5]]],[[R[6],["arc"]],["arc",[R[13]]]]]],[11,R[18],E,E,8,[[["self"],[R[5]]],[[R[6],["arc"]],["arc",[R[15]]]]]],[11,"new_swap_image",E,"Create a new image which has the transfer usage",8,[[["self"]],[["arc",[R[7]]],[R[7]]]]],[11,R[39],E,"Builds a compute buffer and returns it's handle",8,[[["self"],["u32"],["vec",["u8"]],["u8"]],[["arc",[R[8]]],[R[8]]]]],[11,R[40],E,"Takes a compute buffer handle and returns the read data",8,[[["self"],["arc",[R[8]]],[R[8]]],[["vec",["u8"]],["u8"]]]],[11,R[41],E,"Takes a compute buffer handle and writes the received data",8,[[["self"],["u8"],["vec",["u8"]],["arc",[R[8]]],[R[8]]]]],[11,"run",E,E,8,[[["self"],[R[36]],["arc"],[R[20]]]]],[0,"sprite",R[3],E,N,N],[3,"Sprite",R[71],E,N,N],[12,"verts",E,E,9,N],[11,"new",E,E,9,[[[R[9]],["u32"],["arc",[R[9]]]],["sprite"]]],[0,"canvas",R[3],E,N,N],[0,"canvas_state",R[24],E,N,N],[3,R[114],R[72],"Canvas state is used for storage of texture and image…",N,N],[11,"window_size_dependent_setup",E,"This method is called once during initialization, then…",10,[[["self"]],[["arc",[R[21]]],["vec",["arc"]]]]],[11,"new",E,"Creates a Canvas State. Which at this point is pretty empty",10,[[[R[12]],["arc",["queue"]],[R[28]],["arc",[R[28]]],[R[11]],["queue"]],[R[43]]]],[11,"create_image",E,R[14],10,[[["self"],["imageusage"]],[["arc",[R[7]]],[R[7]]]]],[11,"get_image",E,"Return the image buffer from an input image handle",10,[[["self"],["arc",[R[7]]],[R[7]]],[[R[10]],["arc",[R[10]]]]]],[11,"load_texture",E,"Load a texture using it's filename from a file. Returns…",10,[[["self"],[R[5]]],[["arc",[R[9]]],[R[6],["arc"]]]]],[11,"load_shader",E,"Load and Compile a shader with the filename at…",10,[[["self"],[R[5]],[R[11]],[R[12]]],[[R[6],["arc"]],["arc",[R[13]]]]]],[11,"load_font",E,R[14],10,[[["self"],[R[5]]],[["arc",[R[15]]],[R[15]]]]],[11,R[16],E,"Using the texture name, iterates through the stored…",10,[[["self"],[R[5]]],[["arc",[R[9]]],[R[6],["arc"]]]]],[11,R[17],E,"Using the shader name, iterates through the stored shaders…",10,[[["self"],[R[5]]],[[R[6],["arc"]],["arc",[R[13]]]]]],[11,R[18],E,"Using the font name, iterates through the stored fonts and…",10,[[["self"],[R[5]]],[[R[6],["arc"]],["arc",[R[15]]]]]],[11,"get_texture",E,"Using the texture handle, grab the stored texture and…",10,[[["self"],[R[9]],["arc",[R[9]]]],[[R[19],["format"]],["arc",[R[19]]]]]],[11,"allocate",E,"Consume and allocated the canvas frame data to the GPU",10,[[["self"],[R[20]]],[R[22]]]],[11,"draw_commands",E,"Pushes the draw commands to the command buffer. Requires…",10,[[["self"],[R[23]],["arc",[R[21]]],["vec",["arc"]],["usize"],[R[22]]],[R[23]]]],[0,"canvas_frame",R[24],E,N,N],[3,R[115],R[73],E,N,N],[12,"map",E,E,11,N],[8,R[116],E,E,N,N],[10,"get",E,E,12,[[["self"]],[R[87]]]],[11,"draw",E,E,11,[[["self"],["drawabletest"]]]],[0,"managed",R[24],E,N,N],[0,"shader",R[31],E,N,N],[0,"text_shader",R[25],E,N,N],[3,R[117],R[74],E,N,N],[12,"screen_position",E,E,13,N],[12,"atlas_position",E,E,13,N],[12,"atlas_size",E,E,13,N],[12,"scale",E,E,13,N],[3,R[132],E,R[26],N,N],[0,"generic_shader",R[25],E,N,N],[3,R[133],R[75],R[26],N,N],[0,"dynamic_vertex",R[25],E,N,N],[3,R[118],R[76],"Runtime Vertex def is just a generic holder of \"dynamic…",N,N],[11,"from_primitive",E,"primitive is an input value or struct which can then…",14,[[["u32"]],[R[94]]]],[11,"vertex_buffer_ids",E,"Returns the indices of the buffers to bind as vertex…",14,[[["self"]]]],[0,"shader_common",R[25],E,N,N],[4,R[119],R[78],"Legacy ShaderType enum for single type shaders.",N,N],[13,"VERTEX",E,E,15,N],[13,"FRAGMENT",E,E,15,N],[13,"GEOMETRY",E,E,15,N],[13,"TESSELLATION_CONTROL",E,E,15,N],[13,"TESSELLATION_EVALUATION",E,E,15,N],[8,R[120],E,"Inheriting this gives private functions to grab resources",N,N],[11,"get_path",E,E,16,[[[R[5]],[R[27]]],["pathbuf"]]],[11,"compile",E,E,16,[[[R[27]],[R[28]],["arc",[R[28]]],["pathbuf"]]]],[11,"convert_vk",E,E,16,[[[R[27]]],["graphicsshadertype"]]],[11,"convert_sr",E,E,16,[[[R[27]]],["shaderkind"]]],[8,R[121],E,E,N,N],[10,"new",E,E,17,[[[R[13]],["arc",[R[13]]],["arc",[R[29]]],[R[28]],[R[5]],["arc",[R[28]]],[R[29]]],["self"]]],[10,R[51],E,E,17,[[["self"]],[R[5]]]],[10,R[33],E,E,17,[[["self"]],[[R[13]],["arc",[R[13]]]]]],[10,R[49],E,E,17,[[["self"]],[["arc",[R[30]]],[R[30]]]]],[10,R[88],E,E,17,[[["self"]],[["arc",[R[29]]],[R[29]]]]],[10,R[89],E,E,17,[[["arc",[R[29]]],[R[29]]],["self"]]],[0,"handles",R[31],E,N,N],[3,R[134],R[79],R[32],N,N],[3,R[122],E,R[32],N,N],[12,"handle",E,E,18,N],[3,R[135],E,R[32],N,N],[3,R[136],E,R[32],N,N],[4,R[123],E,E,N,N],[13,"Texture",E,E,19,N],[13,"Image",E,E,19,N],[13,"Font",E,E,19,N],[8,"Handle",E,E,N,N],[10,R[33],E,E,20,[[["self"]],["u32"]]],[0,"canvas_text",R[31],E,N,N],[0,"gpu_buffers",E,E,N,N],[3,R[124],R[80],"Canvas buffer which represents an allocated Texture with a…",N,N],[3,R[125],E,"Canvas buffer which represents an allocated image and…",N,N],[3,R[126],E,"Canvas Font which represents an allocated image and…",N,N],[11,R[35],E,E,21,[[["self"],["arc",[R[30]]],[R[30]],["arc",["sampler"]],["sampler"]],[["box",[R[34]]],[R[34]]]]],[11,R[35],E,E,22,[[["self"],["arc",[R[30]]],[R[30]]],[["box",[R[34]]],[R[34]]]]],[11,R[35],E,E,23,[[["arc",[R[30]]],[R[30]]],[["box",[R[34]]],[R[34]]]]],[0,"compute",R[3],E,N,N],[0,"compu_frame",R[38],E,N,N],[3,R[127],R[81],E,N,N],[12,"pure_compute",E,E,24,N],[12,"swapped_to_image",E,E,24,N],[12,"swapped_to_buffer",E,E,24,N],[11,"new",E,E,24,[[],[R[36]]]],[11,"add",E,E,24,[[["self"],["arc",[R[37]]],["arc",[R[8]]],[R[37]],[R[8]]]]],[11,"add_chained",E,E,24,[[["self"],["arc",[R[37]]],["arc",[R[8]]],[R[37]],[R[8]]]]],[11,"add_with_image_swap",E,E,24,[[["self"],["arc",[R[37]]],[R[48]],["arc",[R[8]]],[R[37]],[R[8]]]]],[0,"compu_state",R[38],E,N,N],[3,R[128],R[82],"State holding the compute buffers for computation and the…",N,N],[11,"new",E,E,25,[[],["compustate"]]],[11,R[39],E,"Creates a 2d compute buffer from incoming data",25,[[["self"],["u32"],[R[28]],["vec",["u8"]],["arc",[R[28]]],["u8"]],[["arc",[R[8]]],[R[8]]]]],[11,R[40],E,"Read the compute buffer back into a Vec (TODO BROKEN)",25,[[["self"],["arc",[R[8]]],[R[8]]],[["vec",["u8"]],["u8"]]]],[11,R[41],E,"Write to the compute buffer, ostensibly overwriting what's…",25,[[["self"],["u8"],["vec",["u8"]],["arc",[R[8]]],[R[8]]]]],[11,"new_kernel",E,E,25,[[["self"],[R[28]],[R[5]],["arc",[R[28]]]],[["arc",[R[37]]],[R[37]]]]],[11,R[42],E,E,25,[[["self"],[R[5]]],[["arc",[R[37]]],[R[6],["arc"]]]]],[11,"compute_commands",E,E,25,[[["self"],[R[36]],[R[23]],[R[43]]],[R[23]]]],[0,"managed",R[38],E,N,N],[0,"compu_buffer",R[47],E,N,N],[3,R[129],R[83],E,N,N],[11,"new",E,E,26,[[["u32"],["arc",[R[28]]],[R[8]],[R[28]],["vec",["u8"]],["arc",[R[8]]],["u8"]],[R[101]]]],[11,"get_size",E,E,26,[[["self"]]]],[11,R[35],E,E,26,[[["self"],["arc",[R[44]]],[R[44],[R[50]]]],[[R[45],["arc"]],["arc",[R[45]]]]]],[11,"read_output_buffer",E,E,26,[[["self"]],[["vec",["u8"]],["rgba",["u8"]],["imagebuffer",["rgba","vec"]]]]],[11,"get_input_buffer",E,E,26,[[["self"]],[["arc",[R[46]]],[R[46]]]]],[11,"get_output_buffer",E,E,26,[[["self"]],[["arc",[R[46]]],[R[46]]]]],[0,"compu_sprite",R[47],E,N,N],[3,R[130],R[84],E,N,N],[12,"vertices",E,E,27,N],[12,R[2],E,E,27,N],[11,"new",E,E,27,[[["u32"],[R[7]],["arc",[R[7]]]],[R[48]]]],[0,"compu_kernel",R[47],E,N,N],[3,R[131],R[85],E,N,N],[3,R[137],E,E,N,N],[11,"new",E,E,28,[[["arc",[R[37]]],[R[28]],[R[5]],["arc",[R[28]]],[R[37]]],[R[102]]]],[11,R[49],E,E,28,[[["self"]],[["arc",[R[44]]],[R[44],[R[50]]]]]],[11,"recompile_kernel",E,E,28,[[["self"]],[[R[44],[R[50]]],["arc",[R[44]]]]]],[11,"compile_kernel",E,E,28,[[["self"],[R[5]]],[["arc",[R[44]]],[R[44],[R[50]]]]]],[11,R[33],E,E,28,[[["self"]],[["arc",[R[37]]],[R[37]]]]],[11,R[51],E,E,28,[[["self"]],[R[5]]]],[0,"handles",R[47],E,N,N],[3,R[138],R[86],R[32],N,N],[3,R[139],E,R[32],N,N],[11,"into",R[52],E,0,[[],[U]]],[11,"from",E,E,0,[[[T]],[T]]],[11,R[54],E,E,0,[[[U]],[R[66]]]],[11,R[55],E,E,0,[[],[R[66]]]],[11,R[56],E,E,0,[[["self"]],[T]]],[11,R[68],E,E,0,[[["self"]],[T]]],[11,R[67],E,E,0,[[["self"]],[R[69]]]],[11,R[57],E,E,0,[[["self"]],[R[6]]]],[11,R[58],E,E,0,[[["self"]],["bool"]]],[11,R[59],E,E,0,[[["self"]],["ss"]]],[11,R[60],E,E,0,[[["ss"]],["sp"]]],[11,R[61],E,E,0,[[["usize"]],[R[6]]]],[11,R[62],E,E,0,[[["usize"]],["bool"]]],[11,R[63],E,E,0,[[],["usize"]]],[11,R[64],R[53],E,1,[[["self"]],[T]]],[11,R[65],E,E,1,[[["self"],[T]]]],[11,"into",E,E,1,[[],[U]]],[11,"from",E,E,1,[[[T]],[T]]],[11,R[54],E,E,1,[[[U]],[R[66]]]],[11,R[55],E,E,1,[[],[R[66]]]],[11,R[56],E,E,1,[[["self"]],[T]]],[11,R[68],E,E,1,[[["self"]],[T]]],[11,R[67],E,E,1,[[["self"]],[R[69]]]],[11,R[57],E,E,1,[[["self"]],[R[6]]]],[11,R[58],E,E,1,[[["self"]],["bool"]]],[11,R[59],E,E,1,[[["self"]],["ss"]]],[11,R[60],E,E,1,[[["ss"]],["sp"]]],[11,R[61],E,E,1,[[["usize"]],[R[6]]]],[11,R[62],E,E,1,[[["usize"]],["bool"]]],[11,R[63],E,E,1,[[],["usize"]]],[11,R[64],E,E,2,[[["self"]],[T]]],[11,R[65],E,E,2,[[["self"],[T]]]],[11,"into",E,E,2,[[],[U]]],[11,"from",E,E,2,[[[T]],[T]]],[11,R[54],E,E,2,[[[U]],[R[66]]]],[11,R[55],E,E,2,[[],[R[66]]]],[11,R[56],E,E,2,[[["self"]],[T]]],[11,R[68],E,E,2,[[["self"]],[T]]],[11,R[67],E,E,2,[[["self"]],[R[69]]]],[11,R[57],E,E,2,[[["self"]],[R[6]]]],[11,R[58],E,E,2,[[["self"]],["bool"]]],[11,R[59],E,E,2,[[["self"]],["ss"]]],[11,R[60],E,E,2,[[["ss"]],["sp"]]],[11,R[61],E,E,2,[[["usize"]],[R[6]]]],[11,R[62],E,E,2,[[["usize"]],["bool"]]],[11,R[63],E,E,2,[[],["usize"]]],[11,R[64],E,E,3,[[["self"]],[T]]],[11,R[65],E,E,3,[[["self"],[T]]]],[11,"into",E,E,3,[[],[U]]],[11,"from",E,E,3,[[[T]],[T]]],[11,R[54],E,E,3,[[[U]],[R[66]]]],[11,R[55],E,E,3,[[],[R[66]]]],[11,R[56],E,E,3,[[["self"]],[T]]],[11,R[68],E,E,3,[[["self"]],[T]]],[11,R[67],E,E,3,[[["self"]],[R[69]]]],[11,R[57],E,E,3,[[["self"]],[R[6]]]],[11,R[58],E,E,3,[[["self"]],["bool"]]],[11,R[59],E,E,3,[[["self"]],["ss"]]],[11,R[60],E,E,3,[[["ss"]],["sp"]]],[11,R[61],E,E,3,[[["usize"]],[R[6]]]],[11,R[62],E,E,3,[[["usize"]],["bool"]]],[11,R[63],E,E,3,[[],["usize"]]],[11,R[64],E,E,4,[[["self"]],[T]]],[11,R[65],E,E,4,[[["self"],[T]]]],[11,"into",E,E,4,[[],[U]]],[11,"from",E,E,4,[[[T]],[T]]],[11,R[54],E,E,4,[[[U]],[R[66]]]],[11,R[55],E,E,4,[[],[R[66]]]],[11,R[56],E,E,4,[[["self"]],[T]]],[11,R[68],E,E,4,[[["self"]],[T]]],[11,R[67],E,E,4,[[["self"]],[R[69]]]],[11,R[57],E,E,4,[[["self"]],[R[6]]]],[11,R[58],E,E,4,[[["self"]],["bool"]]],[11,R[59],E,E,4,[[["self"]],["ss"]]],[11,R[60],E,E,4,[[["ss"]],["sp"]]],[11,R[61],E,E,4,[[["usize"]],[R[6]]]],[11,R[62],E,E,4,[[["usize"]],["bool"]]],[11,R[63],E,E,4,[[],["usize"]]],[11,R[64],E,E,5,[[["self"]],[T]]],[11,R[65],E,E,5,[[["self"],[T]]]],[11,"into",E,E,5,[[],[U]]],[11,"from",E,E,5,[[[T]],[T]]],[11,R[54],E,E,5,[[[U]],[R[66]]]],[11,R[55],E,E,5,[[],[R[66]]]],[11,R[56],E,E,5,[[["self"]],[T]]],[11,R[68],E,E,5,[[["self"]],[T]]],[11,R[67],E,E,5,[[["self"]],[R[69]]]],[11,R[57],E,E,5,[[["self"]],[R[6]]]],[11,R[58],E,E,5,[[["self"]],["bool"]]],[11,R[59],E,E,5,[[["self"]],["ss"]]],[11,R[60],E,E,5,[[["ss"]],["sp"]]],[11,R[61],E,E,5,[[["usize"]],[R[6]]]],[11,R[62],E,E,5,[[["usize"]],["bool"]]],[11,R[63],E,E,5,[[],["usize"]]],[11,R[64],E,E,6,[[["self"]],[T]]],[11,R[65],E,E,6,[[["self"],[T]]]],[11,"into",E,E,6,[[],[U]]],[11,"from",E,E,6,[[[T]],[T]]],[11,R[54],E,E,6,[[[U]],[R[66]]]],[11,R[55],E,E,6,[[],[R[66]]]],[11,R[56],E,E,6,[[["self"]],[T]]],[11,R[68],E,E,6,[[["self"]],[T]]],[11,R[67],E,E,6,[[["self"]],[R[69]]]],[11,R[57],E,E,6,[[["self"]],[R[6]]]],[11,R[58],E,E,6,[[["self"]],["bool"]]],[11,R[59],E,E,6,[[["self"]],["ss"]]],[11,R[60],E,E,6,[[["ss"]],["sp"]]],[11,R[61],E,E,6,[[["usize"]],[R[6]]]],[11,R[62],E,E,6,[[["usize"]],["bool"]]],[11,R[63],E,E,6,[[],["usize"]]],[11,R[64],E,E,7,[[["self"]],[T]]],[11,R[65],E,E,7,[[["self"],[T]]]],[11,"into",E,E,7,[[],[U]]],[11,"from",E,E,7,[[[T]],[T]]],[11,R[54],E,E,7,[[[U]],[R[66]]]],[11,R[55],E,E,7,[[],[R[66]]]],[11,R[56],E,E,7,[[["self"]],[T]]],[11,R[68],E,E,7,[[["self"]],[T]]],[11,R[67],E,E,7,[[["self"]],[R[69]]]],[11,R[57],E,E,7,[[["self"]],[R[6]]]],[11,R[58],E,E,7,[[["self"]],["bool"]]],[11,R[59],E,E,7,[[["self"]],["ss"]]],[11,R[60],E,E,7,[[["ss"]],["sp"]]],[11,R[61],E,E,7,[[["usize"]],[R[6]]]],[11,R[62],E,E,7,[[["usize"]],["bool"]]],[11,R[63],E,E,7,[[],["usize"]]],[11,"into",R[70],E,8,[[],[U]]],[11,"from",E,E,8,[[[T]],[T]]],[11,R[54],E,E,8,[[[U]],[R[66]]]],[11,R[55],E,E,8,[[],[R[66]]]],[11,R[56],E,E,8,[[["self"]],[T]]],[11,R[68],E,E,8,[[["self"]],[T]]],[11,R[67],E,E,8,[[["self"]],[R[69]]]],[11,R[57],E,E,8,[[["self"]],[R[6]]]],[11,R[58],E,E,8,[[["self"]],["bool"]]],[11,R[59],E,E,8,[[["self"]],["ss"]]],[11,R[60],E,E,8,[[["ss"]],["sp"]]],[11,R[61],E,E,8,[[["usize"]],[R[6]]]],[11,R[62],E,E,8,[[["usize"]],["bool"]]],[11,R[63],E,E,8,[[],["usize"]]],[11,R[64],R[71],E,9,[[["self"]],[T]]],[11,R[65],E,E,9,[[["self"],[T]]]],[11,"into",E,E,9,[[],[U]]],[11,"from",E,E,9,[[[T]],[T]]],[11,R[54],E,E,9,[[[U]],[R[66]]]],[11,R[55],E,E,9,[[],[R[66]]]],[11,R[56],E,E,9,[[["self"]],[T]]],[11,R[68],E,E,9,[[["self"]],[T]]],[11,R[67],E,E,9,[[["self"]],[R[69]]]],[11,R[57],E,E,9,[[["self"]],[R[6]]]],[11,R[58],E,E,9,[[["self"]],["bool"]]],[11,R[59],E,E,9,[[["self"]],["ss"]]],[11,R[60],E,E,9,[[["ss"]],["sp"]]],[11,R[61],E,E,9,[[["usize"]],[R[6]]]],[11,R[62],E,E,9,[[["usize"]],["bool"]]],[11,R[63],E,E,9,[[],["usize"]]],[11,R[64],R[72],E,10,[[["self"]],[T]]],[11,R[65],E,E,10,[[["self"],[T]]]],[11,"into",E,E,10,[[],[U]]],[11,"from",E,E,10,[[[T]],[T]]],[11,R[54],E,E,10,[[[U]],[R[66]]]],[11,R[55],E,E,10,[[],[R[66]]]],[11,R[56],E,E,10,[[["self"]],[T]]],[11,R[68],E,E,10,[[["self"]],[T]]],[11,R[67],E,E,10,[[["self"]],[R[69]]]],[11,R[57],E,E,10,[[["self"]],[R[6]]]],[11,R[58],E,E,10,[[["self"]],["bool"]]],[11,R[59],E,E,10,[[["self"]],["ss"]]],[11,R[60],E,E,10,[[["ss"]],["sp"]]],[11,R[61],E,E,10,[[["usize"]],[R[6]]]],[11,R[62],E,E,10,[[["usize"]],["bool"]]],[11,R[63],E,E,10,[[],["usize"]]],[11,"into",R[73],E,11,[[],[U]]],[11,"from",E,E,11,[[[T]],[T]]],[11,R[54],E,E,11,[[[U]],[R[66]]]],[11,R[55],E,E,11,[[],[R[66]]]],[11,R[56],E,E,11,[[["self"]],[T]]],[11,R[68],E,E,11,[[["self"]],[T]]],[11,R[67],E,E,11,[[["self"]],[R[69]]]],[11,R[57],E,E,11,[[["self"]],[R[6]]]],[11,R[58],E,E,11,[[["self"]],["bool"]]],[11,R[59],E,E,11,[[["self"]],["ss"]]],[11,R[60],E,E,11,[[["ss"]],["sp"]]],[11,R[61],E,E,11,[[["usize"]],[R[6]]]],[11,R[62],E,E,11,[[["usize"]],["bool"]]],[11,R[63],E,E,11,[[],["usize"]]],[11,R[64],R[74],E,13,[[["self"]],[T]]],[11,R[65],E,E,13,[[["self"],[T]]]],[11,"into",E,E,13,[[],[U]]],[11,"from",E,E,13,[[[T]],[T]]],[11,R[54],E,E,13,[[[U]],[R[66]]]],[11,R[55],E,E,13,[[],[R[66]]]],[11,R[56],E,E,13,[[["self"]],[T]]],[11,R[68],E,E,13,[[["self"]],[T]]],[11,R[67],E,E,13,[[["self"]],[R[69]]]],[11,R[57],E,E,13,[[["self"]],[R[6]]]],[11,R[58],E,E,13,[[["self"]],["bool"]]],[11,R[59],E,E,13,[[["self"]],["ss"]]],[11,R[60],E,E,13,[[["ss"]],["sp"]]],[11,R[61],E,E,13,[[["usize"]],[R[6]]]],[11,R[62],E,E,13,[[["usize"]],["bool"]]],[11,R[63],E,E,13,[[],["usize"]]],[11,R[64],E,E,29,[[["self"]],[T]]],[11,R[65],E,E,29,[[["self"],[T]]]],[11,"into",E,E,29,[[],[U]]],[11,"from",E,E,29,[[[T]],[T]]],[11,R[54],E,E,29,[[[U]],[R[66]]]],[11,R[55],E,E,29,[[],[R[66]]]],[11,R[56],E,E,29,[[["self"]],[T]]],[11,R[68],E,E,29,[[["self"]],[T]]],[11,R[67],E,E,29,[[["self"]],[R[69]]]],[11,R[57],E,E,29,[[["self"]],[R[6]]]],[11,R[58],E,E,29,[[["self"]],["bool"]]],[11,R[59],E,E,29,[[["self"]],["ss"]]],[11,R[60],E,E,29,[[["ss"]],["sp"]]],[11,R[61],E,E,29,[[["usize"]],[R[6]]]],[11,R[62],E,E,29,[[["usize"]],["bool"]]],[11,R[63],E,E,29,[[],["usize"]]],[11,R[64],R[75],E,30,[[["self"]],[T]]],[11,R[65],E,E,30,[[["self"],[T]]]],[11,"into",E,E,30,[[],[U]]],[11,"from",E,E,30,[[[T]],[T]]],[11,R[54],E,E,30,[[[U]],[R[66]]]],[11,R[55],E,E,30,[[],[R[66]]]],[11,R[56],E,E,30,[[["self"]],[T]]],[11,R[68],E,E,30,[[["self"]],[T]]],[11,R[67],E,E,30,[[["self"]],[R[69]]]],[11,R[57],E,E,30,[[["self"]],[R[6]]]],[11,R[58],E,E,30,[[["self"]],["bool"]]],[11,R[59],E,E,30,[[["self"]],["ss"]]],[11,R[60],E,E,30,[[["ss"]],["sp"]]],[11,R[61],E,E,30,[[["usize"]],[R[6]]]],[11,R[62],E,E,30,[[["usize"]],["bool"]]],[11,R[63],E,E,30,[[],["usize"]]],[11,R[64],R[76],E,14,[[["self"]],[T]]],[11,R[65],E,E,14,[[["self"],[T]]]],[11,"into",E,E,14,[[],[U]]],[11,"from",E,E,14,[[[T]],[T]]],[11,R[54],E,E,14,[[[U]],[R[66]]]],[11,R[55],E,E,14,[[],[R[66]]]],[11,R[56],E,E,14,[[["self"]],[T]]],[11,R[68],E,E,14,[[["self"]],[T]]],[11,R[67],E,E,14,[[["self"]],[R[69]]]],[11,R[57],E,E,14,[[["self"]],[R[6]]]],[11,R[58],E,E,14,[[["self"]],["bool"]]],[11,R[59],E,E,14,[[["self"]],["ss"]]],[11,R[60],E,E,14,[[["ss"]],["sp"]]],[11,R[61],E,E,14,[[["usize"]],[R[6]]]],[11,R[62],E,E,14,[[["usize"]],["bool"]]],[11,R[63],E,E,14,[[],["usize"]]],[11,"decode",E,E,14,[[["self"],["l"]]]],[11,R[105],E,E,14,[[["self"],["i"]],[[R[77]],[R[66],[R[77]]]]]],[11,R[64],R[78],E,15,[[["self"]],[T]]],[11,R[65],E,E,15,[[["self"],[T]]]],[11,"into",E,E,15,[[],[U]]],[11,"from",E,E,15,[[[T]],[T]]],[11,R[54],E,E,15,[[[U]],[R[66]]]],[11,R[55],E,E,15,[[],[R[66]]]],[11,R[56],E,E,15,[[["self"]],[T]]],[11,R[68],E,E,15,[[["self"]],[T]]],[11,R[67],E,E,15,[[["self"]],[R[69]]]],[11,R[57],E,E,15,[[["self"]],[R[6]]]],[11,R[58],E,E,15,[[["self"]],["bool"]]],[11,R[59],E,E,15,[[["self"]],["ss"]]],[11,R[60],E,E,15,[[["ss"]],["sp"]]],[11,R[61],E,E,15,[[["usize"]],[R[6]]]],[11,R[62],E,E,15,[[["usize"]],["bool"]]],[11,R[63],E,E,15,[[],["usize"]]],[11,R[64],R[79],E,31,[[["self"]],[T]]],[11,R[65],E,E,31,[[["self"],[T]]]],[11,"into",E,E,31,[[],[U]]],[11,"from",E,E,31,[[[T]],[T]]],[11,R[54],E,E,31,[[[U]],[R[66]]]],[11,R[55],E,E,31,[[],[R[66]]]],[11,R[56],E,E,31,[[["self"]],[T]]],[11,R[68],E,E,31,[[["self"]],[T]]],[11,R[67],E,E,31,[[["self"]],[R[69]]]],[11,R[57],E,E,31,[[["self"]],[R[6]]]],[11,R[58],E,E,31,[[["self"]],["bool"]]],[11,R[59],E,E,31,[[["self"]],["ss"]]],[11,R[60],E,E,31,[[["ss"]],["sp"]]],[11,R[61],E,E,31,[[["usize"]],[R[6]]]],[11,R[62],E,E,31,[[["usize"]],["bool"]]],[11,R[63],E,E,31,[[],["usize"]]],[11,R[64],E,E,18,[[["self"]],[T]]],[11,R[65],E,E,18,[[["self"],[T]]]],[11,"into",E,E,18,[[],[U]]],[11,"from",E,E,18,[[[T]],[T]]],[11,R[54],E,E,18,[[[U]],[R[66]]]],[11,R[55],E,E,18,[[],[R[66]]]],[11,R[56],E,E,18,[[["self"]],[T]]],[11,R[68],E,E,18,[[["self"]],[T]]],[11,R[67],E,E,18,[[["self"]],[R[69]]]],[11,R[57],E,E,18,[[["self"]],[R[6]]]],[11,R[58],E,E,18,[[["self"]],["bool"]]],[11,R[59],E,E,18,[[["self"]],["ss"]]],[11,R[60],E,E,18,[[["ss"]],["sp"]]],[11,R[61],E,E,18,[[["usize"]],[R[6]]]],[11,R[62],E,E,18,[[["usize"]],["bool"]]],[11,R[63],E,E,18,[[],["usize"]]],[11,R[64],E,E,32,[[["self"]],[T]]],[11,R[65],E,E,32,[[["self"],[T]]]],[11,"into",E,E,32,[[],[U]]],[11,"from",E,E,32,[[[T]],[T]]],[11,R[54],E,E,32,[[[U]],[R[66]]]],[11,R[55],E,E,32,[[],[R[66]]]],[11,R[56],E,E,32,[[["self"]],[T]]],[11,R[68],E,E,32,[[["self"]],[T]]],[11,R[67],E,E,32,[[["self"]],[R[69]]]],[11,R[57],E,E,32,[[["self"]],[R[6]]]],[11,R[58],E,E,32,[[["self"]],["bool"]]],[11,R[59],E,E,32,[[["self"]],["ss"]]],[11,R[60],E,E,32,[[["ss"]],["sp"]]],[11,R[61],E,E,32,[[["usize"]],[R[6]]]],[11,R[62],E,E,32,[[["usize"]],["bool"]]],[11,R[63],E,E,32,[[],["usize"]]],[11,R[64],E,E,33,[[["self"]],[T]]],[11,R[65],E,E,33,[[["self"],[T]]]],[11,"into",E,E,33,[[],[U]]],[11,"from",E,E,33,[[[T]],[T]]],[11,R[54],E,E,33,[[[U]],[R[66]]]],[11,R[55],E,E,33,[[],[R[66]]]],[11,R[56],E,E,33,[[["self"]],[T]]],[11,R[68],E,E,33,[[["self"]],[T]]],[11,R[67],E,E,33,[[["self"]],[R[69]]]],[11,R[57],E,E,33,[[["self"]],[R[6]]]],[11,R[58],E,E,33,[[["self"]],["bool"]]],[11,R[59],E,E,33,[[["self"]],["ss"]]],[11,R[60],E,E,33,[[["ss"]],["sp"]]],[11,R[61],E,E,33,[[["usize"]],[R[6]]]],[11,R[62],E,E,33,[[["usize"]],["bool"]]],[11,R[63],E,E,33,[[],["usize"]]],[11,"into",E,E,19,[[],[U]]],[11,"from",E,E,19,[[[T]],[T]]],[11,R[54],E,E,19,[[[U]],[R[66]]]],[11,R[55],E,E,19,[[],[R[66]]]],[11,R[56],E,E,19,[[["self"]],[T]]],[11,R[68],E,E,19,[[["self"]],[T]]],[11,R[67],E,E,19,[[["self"]],[R[69]]]],[11,R[57],E,E,19,[[["self"]],[R[6]]]],[11,R[58],E,E,19,[[["self"]],["bool"]]],[11,R[59],E,E,19,[[["self"]],["ss"]]],[11,R[60],E,E,19,[[["ss"]],["sp"]]],[11,R[61],E,E,19,[[["usize"]],[R[6]]]],[11,R[62],E,E,19,[[["usize"]],["bool"]]],[11,R[63],E,E,19,[[],["usize"]]],[11,R[64],R[80],E,21,[[["self"]],[T]]],[11,R[65],E,E,21,[[["self"],[T]]]],[11,"into",E,E,21,[[],[U]]],[11,"from",E,E,21,[[[T]],[T]]],[11,R[54],E,E,21,[[[U]],[R[66]]]],[11,R[55],E,E,21,[[],[R[66]]]],[11,R[56],E,E,21,[[["self"]],[T]]],[11,R[68],E,E,21,[[["self"]],[T]]],[11,R[67],E,E,21,[[["self"]],[R[69]]]],[11,R[57],E,E,21,[[["self"]],[R[6]]]],[11,R[58],E,E,21,[[["self"]],["bool"]]],[11,R[59],E,E,21,[[["self"]],["ss"]]],[11,R[60],E,E,21,[[["ss"]],["sp"]]],[11,R[61],E,E,21,[[["usize"]],[R[6]]]],[11,R[62],E,E,21,[[["usize"]],["bool"]]],[11,R[63],E,E,21,[[],["usize"]]],[11,R[64],E,E,22,[[["self"]],[T]]],[11,R[65],E,E,22,[[["self"],[T]]]],[11,"into",E,E,22,[[],[U]]],[11,"from",E,E,22,[[[T]],[T]]],[11,R[54],E,E,22,[[[U]],[R[66]]]],[11,R[55],E,E,22,[[],[R[66]]]],[11,R[56],E,E,22,[[["self"]],[T]]],[11,R[68],E,E,22,[[["self"]],[T]]],[11,R[67],E,E,22,[[["self"]],[R[69]]]],[11,R[57],E,E,22,[[["self"]],[R[6]]]],[11,R[58],E,E,22,[[["self"]],["bool"]]],[11,R[59],E,E,22,[[["self"]],["ss"]]],[11,R[60],E,E,22,[[["ss"]],["sp"]]],[11,R[61],E,E,22,[[["usize"]],[R[6]]]],[11,R[62],E,E,22,[[["usize"]],["bool"]]],[11,R[63],E,E,22,[[],["usize"]]],[11,R[64],E,E,23,[[["self"]],[T]]],[11,R[65],E,E,23,[[["self"],[T]]]],[11,"into",E,E,23,[[],[U]]],[11,"from",E,E,23,[[[T]],[T]]],[11,R[54],E,E,23,[[[U]],[R[66]]]],[11,R[55],E,E,23,[[],[R[66]]]],[11,R[56],E,E,23,[[["self"]],[T]]],[11,R[68],E,E,23,[[["self"]],[T]]],[11,R[67],E,E,23,[[["self"]],[R[69]]]],[11,R[57],E,E,23,[[["self"]],[R[6]]]],[11,R[58],E,E,23,[[["self"]],["bool"]]],[11,R[59],E,E,23,[[["self"]],["ss"]]],[11,R[60],E,E,23,[[["ss"]],["sp"]]],[11,R[61],E,E,23,[[["usize"]],[R[6]]]],[11,R[62],E,E,23,[[["usize"]],["bool"]]],[11,R[63],E,E,23,[[],["usize"]]],[11,"into",R[81],E,24,[[],[U]]],[11,"from",E,E,24,[[[T]],[T]]],[11,R[54],E,E,24,[[[U]],[R[66]]]],[11,R[55],E,E,24,[[],[R[66]]]],[11,R[56],E,E,24,[[["self"]],[T]]],[11,R[68],E,E,24,[[["self"]],[T]]],[11,R[67],E,E,24,[[["self"]],[R[69]]]],[11,R[57],E,E,24,[[["self"]],[R[6]]]],[11,R[58],E,E,24,[[["self"]],["bool"]]],[11,R[59],E,E,24,[[["self"]],["ss"]]],[11,R[60],E,E,24,[[["ss"]],["sp"]]],[11,R[61],E,E,24,[[["usize"]],[R[6]]]],[11,R[62],E,E,24,[[["usize"]],["bool"]]],[11,R[63],E,E,24,[[],["usize"]]],[11,"into",R[82],E,25,[[],[U]]],[11,"from",E,E,25,[[[T]],[T]]],[11,R[54],E,E,25,[[[U]],[R[66]]]],[11,R[55],E,E,25,[[],[R[66]]]],[11,R[56],E,E,25,[[["self"]],[T]]],[11,R[68],E,E,25,[[["self"]],[T]]],[11,R[67],E,E,25,[[["self"]],[R[69]]]],[11,R[57],E,E,25,[[["self"]],[R[6]]]],[11,R[58],E,E,25,[[["self"]],["bool"]]],[11,R[59],E,E,25,[[["self"]],["ss"]]],[11,R[60],E,E,25,[[["ss"]],["sp"]]],[11,R[61],E,E,25,[[["usize"]],[R[6]]]],[11,R[62],E,E,25,[[["usize"]],["bool"]]],[11,R[63],E,E,25,[[],["usize"]]],[11,R[64],R[83],E,26,[[["self"]],[T]]],[11,R[65],E,E,26,[[["self"],[T]]]],[11,"into",E,E,26,[[],[U]]],[11,"from",E,E,26,[[[T]],[T]]],[11,R[54],E,E,26,[[[U]],[R[66]]]],[11,R[55],E,E,26,[[],[R[66]]]],[11,R[56],E,E,26,[[["self"]],[T]]],[11,R[68],E,E,26,[[["self"]],[T]]],[11,R[67],E,E,26,[[["self"]],[R[69]]]],[11,R[57],E,E,26,[[["self"]],[R[6]]]],[11,R[58],E,E,26,[[["self"]],["bool"]]],[11,R[59],E,E,26,[[["self"]],["ss"]]],[11,R[60],E,E,26,[[["ss"]],["sp"]]],[11,R[61],E,E,26,[[["usize"]],[R[6]]]],[11,R[62],E,E,26,[[["usize"]],["bool"]]],[11,R[63],E,E,26,[[],["usize"]]],[11,"into",R[84],E,27,[[],[U]]],[11,"from",E,E,27,[[[T]],[T]]],[11,R[54],E,E,27,[[[U]],[R[66]]]],[11,R[55],E,E,27,[[],[R[66]]]],[11,R[56],E,E,27,[[["self"]],[T]]],[11,R[68],E,E,27,[[["self"]],[T]]],[11,R[67],E,E,27,[[["self"]],[R[69]]]],[11,R[57],E,E,27,[[["self"]],[R[6]]]],[11,R[58],E,E,27,[[["self"]],["bool"]]],[11,R[59],E,E,27,[[["self"]],["ss"]]],[11,R[60],E,E,27,[[["ss"]],["sp"]]],[11,R[61],E,E,27,[[["usize"]],[R[6]]]],[11,R[62],E,E,27,[[["usize"]],["bool"]]],[11,R[63],E,E,27,[[],["usize"]]],[11,R[64],R[85],E,28,[[["self"]],[T]]],[11,R[65],E,E,28,[[["self"],[T]]]],[11,"into",E,E,28,[[],[U]]],[11,"from",E,E,28,[[[T]],[T]]],[11,R[54],E,E,28,[[[U]],[R[66]]]],[11,R[55],E,E,28,[[],[R[66]]]],[11,R[56],E,E,28,[[["self"]],[T]]],[11,R[68],E,E,28,[[["self"]],[T]]],[11,R[67],E,E,28,[[["self"]],[R[69]]]],[11,R[57],E,E,28,[[["self"]],[R[6]]]],[11,R[58],E,E,28,[[["self"]],["bool"]]],[11,R[59],E,E,28,[[["self"]],["ss"]]],[11,R[60],E,E,28,[[["ss"]],["sp"]]],[11,R[61],E,E,28,[[["usize"]],[R[6]]]],[11,R[62],E,E,28,[[["usize"]],["bool"]]],[11,R[63],E,E,28,[[],["usize"]]],[11,R[64],E,E,34,[[["self"]],[T]]],[11,R[65],E,E,34,[[["self"],[T]]]],[11,"into",E,E,34,[[],[U]]],[11,"from",E,E,34,[[[T]],[T]]],[11,R[54],E,E,34,[[[U]],[R[66]]]],[11,R[55],E,E,34,[[],[R[66]]]],[11,R[56],E,E,34,[[["self"]],[T]]],[11,R[68],E,E,34,[[["self"]],[T]]],[11,R[67],E,E,34,[[["self"]],[R[69]]]],[11,R[57],E,E,34,[[["self"]],[R[6]]]],[11,R[58],E,E,34,[[["self"]],["bool"]]],[11,R[59],E,E,34,[[["self"]],["ss"]]],[11,R[60],E,E,34,[[["ss"]],["sp"]]],[11,R[61],E,E,34,[[["usize"]],[R[6]]]],[11,R[62],E,E,34,[[["usize"]],["bool"]]],[11,R[63],E,E,34,[[],["usize"]]],[11,R[64],R[86],E,35,[[["self"]],[T]]],[11,R[65],E,E,35,[[["self"],[T]]]],[11,"into",E,E,35,[[],[U]]],[11,"from",E,E,35,[[[T]],[T]]],[11,R[54],E,E,35,[[[U]],[R[66]]]],[11,R[55],E,E,35,[[],[R[66]]]],[11,R[56],E,E,35,[[["self"]],[T]]],[11,R[68],E,E,35,[[["self"]],[T]]],[11,R[67],E,E,35,[[["self"]],[R[69]]]],[11,R[57],E,E,35,[[["self"]],[R[6]]]],[11,R[58],E,E,35,[[["self"]],["bool"]]],[11,R[59],E,E,35,[[["self"]],["ss"]]],[11,R[60],E,E,35,[[["ss"]],["sp"]]],[11,R[61],E,E,35,[[["usize"]],[R[6]]]],[11,R[62],E,E,35,[[["usize"]],["bool"]]],[11,R[63],E,E,35,[[],["usize"]]],[11,R[64],E,E,36,[[["self"]],[T]]],[11,R[65],E,E,36,[[["self"],[T]]]],[11,"into",E,E,36,[[],[U]]],[11,"from",E,E,36,[[[T]],[T]]],[11,R[54],E,E,36,[[[U]],[R[66]]]],[11,R[55],E,E,36,[[],[R[66]]]],[11,R[56],E,E,36,[[["self"]],[T]]],[11,R[68],E,E,36,[[["self"]],[T]]],[11,R[67],E,E,36,[[["self"]],[R[69]]]],[11,R[57],E,E,36,[[["self"]],[R[6]]]],[11,R[58],E,E,36,[[["self"]],["bool"]]],[11,R[59],E,E,36,[[["self"]],["ss"]]],[11,R[60],E,E,36,[[["ss"]],["sp"]]],[11,R[61],E,E,36,[[["usize"]],[R[6]]]],[11,R[62],E,E,36,[[["usize"]],["bool"]]],[11,R[63],E,E,36,[[],["usize"]]],[11,"get",R[71],E,9,[[["self"]],[R[87]]]],[11,"new",R[74],R[91],29,[[[R[13]],["arc",[R[13]]],["arc",[R[29]]],[R[28]],[R[5]],["arc",[R[28]]],[R[29]]],[R[90]]]],[11,R[51],E,E,29,[[["self"]],[R[5]]]],[11,R[33],E,E,29,[[["self"]],[[R[13]],["arc",[R[13]]]]]],[11,R[49],E,E,29,[[["self"]],[["arc",[R[30]]],[R[30]]]]],[11,R[88],E,E,29,[[["self"]],[["arc",[R[29]]],[R[29]]]]],[11,R[89],E,E,29,[[["arc",[R[29]]],[R[29]]],[R[90]]]],[11,"new",R[75],R[91],30,[[[R[13]],["arc",[R[13]]],["arc",[R[29]]],[R[28]],[R[5]],["arc",[R[28]]],[R[29]]],[R[92]]]],[11,R[51],E,E,30,[[["self"]],[R[5]]]],[11,R[33],E,E,30,[[["self"]],[[R[13]],["arc",[R[13]]]]]],[11,R[49],E,E,30,[[["self"]],[["arc",[R[30]]],[R[30]]]]],[11,R[88],E,E,30,[[["self"]],[["arc",[R[29]]],[R[29]]]]],[11,R[89],E,E,30,[[["arc",[R[29]]],[R[29]]],[R[92]]]],[11,R[33],R[79],E,31,[[["self"]],["u32"]]],[11,R[33],E,E,18,[[["self"]],["u32"]]],[11,R[33],E,E,32,[[["self"]],["u32"]]],[11,R[33],E,E,33,[[["self"]],["u32"]]],[11,R[33],R[86],E,35,[[["self"]],["u32"]]],[11,R[33],E,E,36,[[["self"]],["u32"]]],[11,R[93],R[53],E,1,[[],[R[95]]]],[11,R[93],E,E,2,[[],[R[96]]]],[11,R[93],E,E,3,[[],[R[97]]]],[11,R[93],E,E,4,[[],[R[98]]]],[11,R[93],E,E,5,[[],[R[99]]]],[11,R[93],R[73],E,11,[[],[R[20]]]],[11,R[93],R[74],E,13,[[],[R[100]]]],[11,R[93],R[76],E,14,[[],[R[94]]]],[11,R[93],R[79],E,31,[[],[R[15]]]],[11,R[93],E,E,18,[[],[R[9]]]],[11,R[93],E,E,32,[[],[R[7]]]],[11,R[93],E,E,33,[[],[R[13]]]],[11,R[93],R[85],E,34,[[],[R[103]]]],[11,R[93],R[86],E,35,[[],[R[8]]]],[11,R[93],E,E,36,[[],[R[37]]]],[11,"clone",R[53],E,1,[[["self"]],[R[95]]]],[11,"clone",E,E,2,[[["self"]],[R[96]]]],[11,"clone",E,E,3,[[["self"]],[R[97]]]],[11,"clone",E,E,4,[[["self"]],[R[98]]]],[11,"clone",E,E,5,[[["self"]],[R[99]]]],[11,"clone",E,E,7,[[["self"]],[R[87]]]],[11,"clone",E,E,6,[[["self"]],[R[22]]]],[11,"clone",R[71],E,9,[[["self"]],["sprite"]]],[11,"clone",R[72],E,10,[[["self"]],[R[43]]]],[11,"clone",R[74],E,13,[[["self"]],[R[100]]]],[11,"clone",E,E,29,[[["self"]],[R[90]]]],[11,"clone",R[75],E,30,[[["self"]],[R[92]]]],[11,"clone",R[76],E,14,[[["self"]],[R[94]]]],[11,"clone",R[78],E,15,[[["self"]],[R[27]]]],[11,"clone",R[79],E,31,[[["self"]],[R[15]]]],[11,"clone",E,E,18,[[["self"]],[R[9]]]],[11,"clone",E,E,32,[[["self"]],[R[7]]]],[11,"clone",E,E,33,[[["self"]],[R[13]]]],[11,"clone",R[80],E,21,[[["self"]],["canvastexture"]]],[11,"clone",E,E,22,[[["self"]],["canvasimage"]]],[11,"clone",E,E,23,[[["self"]],["canvasfont"]]],[11,"clone",R[83],E,26,[[["self"]],[R[101]]]],[11,"clone",R[85],E,28,[[["self"]],[R[102]]]],[11,"clone",E,E,34,[[["self"]],[R[103]]]],[11,"clone",R[86],E,35,[[["self"]],[R[8]]]],[11,"clone",E,E,36,[[["self"]],[R[37]]]],[11,"eq",R[78],E,15,[[["self"],[R[27]]],["bool"]]],[11,"eq",R[79],E,31,[[["self"],[R[15]]],["bool"]]],[11,"ne",E,E,31,[[["self"],[R[15]]],["bool"]]],[11,"eq",E,E,18,[[["self"],[R[9]]],["bool"]]],[11,"ne",E,E,18,[[["self"],[R[9]]],["bool"]]],[11,"eq",E,E,32,[[["self"],[R[7]]],["bool"]]],[11,"ne",E,E,32,[[["self"],[R[7]]],["bool"]]],[11,"eq",E,E,33,[[["self"],[R[13]]],["bool"]]],[11,"ne",E,E,33,[[["self"],[R[13]]],["bool"]]],[11,"eq",R[86],E,35,[[["self"],[R[8]]],["bool"]]],[11,"ne",E,E,35,[[["self"],[R[8]]],["bool"]]],[11,"eq",E,E,36,[[["self"],[R[37]]],["bool"]]],[11,"ne",E,E,36,[[["self"],[R[37]]],["bool"]]],[11,"hash",R[78],E,15,[[["self"],["__h"]]]],[11,"hash",R[79],E,31,[[["self"],["__h"]]]],[11,"hash",E,E,18,[[["self"],["__h"]]]],[11,"hash",E,E,32,[[["self"],["__h"]]]],[11,"hash",E,E,33,[[["self"],["__h"]]]],[11,"hash",R[86],E,35,[[["self"],["__h"]]]],[11,"hash",E,E,36,[[["self"],["__h"]]]],[11,"fmt",R[53],E,1,[[["self"],[R[104]]],[R[66]]]],[11,"fmt",E,E,2,[[["self"],[R[104]]],[R[66]]]],[11,"fmt",E,E,3,[[["self"],[R[104]]],[R[66]]]],[11,"fmt",E,E,4,[[["self"],[R[104]]],[R[66]]]],[11,"fmt",E,E,5,[[["self"],[R[104]]],[R[66]]]],[11,"fmt",E,E,7,[[["self"],[R[104]]],[R[66]]]],[11,"fmt",R[71],E,9,[[["self"],[R[104]]],[R[66]]]],[11,"fmt",R[74],E,13,[[["self"],[R[104]]],[R[66]]]],[11,"fmt",R[76],E,14,[[["self"],[R[104]]],[R[66]]]],[11,"fmt",R[79],E,31,[[["self"],[R[104]]],[R[66]]]],[11,"fmt",E,E,18,[[["self"],[R[104]]],[R[66]]]],[11,"fmt",E,E,32,[[["self"],[R[104]]],[R[66]]]],[11,"fmt",E,E,33,[[["self"],[R[104]]],[R[66]]]],[11,"fmt",R[85],E,34,[[["self"],[R[104]]],[R[66]]]],[11,"fmt",R[86],E,35,[[["self"],[R[104]]],[R[66]]]],[11,"fmt",E,E,36,[[["self"],[R[104]]],[R[66]]]],[11,"decode",R[76],E,14,[[["self"],["vec",["arc"]],["arc",["bufferaccess"]]]]],[11,"descriptors",R[85],E,34,[[]]],[11,R[105],R[76],"Builds the vertex definition to use to link this…",14,[[["self"],["i"]],[[R[77]],[R[66],[R[77]]]]]],[11,"member",R[53],E,1,[[["str"]],[[R[6],[R[106]]],[R[106]]]]],[11,"member",E,E,2,[[["str"]],[[R[6],[R[106]]],[R[106]]]]],[11,"member",E,E,3,[[["str"]],[[R[6],[R[106]]],[R[106]]]]],[11,"member",E,E,4,[[["str"]],[[R[6],[R[106]]],[R[106]]]]],[11,"member",E,E,5,[[["str"]],[[R[6],[R[106]]],[R[106]]]]],[11,"member",R[74],E,13,[[["str"]],[[R[6],[R[106]]],[R[106]]]]]],"p":[[3,"Timer"],[3,R[107]],[3,R[108]],[3,R[109]],[3,"Vertex3D"],[3,R[110]],[3,R[111]],[4,R[112]],[3,R[113]],[3,"Sprite"],[3,R[114]],[3,R[115]],[8,R[116]],[3,R[117]],[3,R[118]],[4,R[119]],[8,R[120]],[8,R[121]],[3,R[122]],[4,R[123]],[8,"Handle"],[3,R[124]],[3,R[125]],[3,R[126]],[3,R[127]],[3,R[128]],[3,R[129]],[3,R[130]],[3,R[131]],[3,R[132]],[3,R[133]],[3,R[134]],[3,R[135]],[3,R[136]],[3,R[137]],[3,R[138]],[3,R[139]]]};
initSearch(searchIndex);addSearchOptions(searchIndex);
\ No newline at end of file
diff --git a/doc/sfml_rust/all.html b/doc/sfml_rust/all.html
index 1c9288e5..69fa06ac 100644
--- a/doc/sfml_rust/all.html
+++ b/doc/sfml_rust/all.html
@@ -1,3 +1,3 @@