diff --git a/doc/implementors/core/clone/trait.Clone.js b/doc/implementors/core/clone/trait.Clone.js
index 0f649ff5..6e315ab5 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 ShaderType",synthetic:false,types:["sfml_rust::canvas::shader::common::ShaderType"]},{text:"impl Clone for GenericShader",synthetic:false,types:["sfml_rust::canvas::shader::generic_shader::GenericShader"]},{text:"impl Clone for GlyphInstance",synthetic:false,types:["sfml_rust::canvas::shader::text_shader::GlyphInstance"]},{text:"impl Clone for TextShader",synthetic:false,types:["sfml_rust::canvas::shader::text_shader::TextShader"]},{text:"impl Clone for RuntimeVertexDef",synthetic:false,types:["sfml_rust::canvas::shader::dynamic_vertex::RuntimeVertexDef"]},{text:"impl Clone for CanvasTexture",synthetic:false,types:["sfml_rust::canvas::canvas_buffer::CanvasTexture"]},{text:"impl Clone for CanvasImage",synthetic:false,types:["sfml_rust::canvas::canvas_buffer::CanvasImage"]},{text:"impl Clone for CanvasFont",synthetic:false,types:["sfml_rust::canvas::canvas_buffer::CanvasFont"]},{text:"impl Clone for ShaderType",synthetic:false,types:["sfml_rust::canvas::canvas::ShaderType"]},{text:"impl Clone for CanvasTexture",synthetic:false,types:["sfml_rust::canvas::canvas::CanvasTexture"]},{text:"impl Clone for CanvasState",synthetic:false,types:["sfml_rust::canvas::canvas::CanvasState"]},{text:"impl Clone for CanvasFontHandle",synthetic:false,types:["sfml_rust::canvas::CanvasFontHandle"]},{text:"impl Clone for CanvasTextureHandle",synthetic:false,types:["sfml_rust::canvas::CanvasTextureHandle"]},{text:"impl Clone for CanvasImageHandle",synthetic:false,types:["sfml_rust::canvas::CanvasImageHandle"]},{text:"impl Clone for CanvasShaderHandle",synthetic:false,types:["sfml_rust::canvas::CanvasShaderHandle"]},{text:"impl Clone for CompiledGraphicsPipelineHandle",synthetic:false,types:["sfml_rust::canvas::CompiledGraphicsPipelineHandle"]},{text:"impl Clone for CompuBufferHandle",synthetic:false,types:["sfml_rust::canvas::CompuBufferHandle"]},{text:"impl Clone for CompuKernelHandle",synthetic:false,types:["sfml_rust::compute::compu_kernel::CompuKernelHandle"]},{text:"impl Clone for CompuKernel",synthetic:false,types:["sfml_rust::compute::compu_kernel::CompuKernel"]},{text:"impl Clone for ComputeSpecializationConstants",synthetic:false,types:["sfml_rust::compute::compu_kernel::ComputeSpecializationConstants"]},{text:"impl Clone for CompuBuffers",synthetic:false,types:["sfml_rust::compute::compu_buffer::CompuBuffers"]},];
+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"]},];
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 214f7c9c..e0807120 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::shader::common::ShaderType"]},{text:"impl Eq for ShaderType",synthetic:false,types:["sfml_rust::canvas::canvas::ShaderType"]},{text:"impl Eq for CanvasFontHandle",synthetic:false,types:["sfml_rust::canvas::CanvasFontHandle"]},{text:"impl Eq for CanvasTextureHandle",synthetic:false,types:["sfml_rust::canvas::CanvasTextureHandle"]},{text:"impl Eq for CanvasImageHandle",synthetic:false,types:["sfml_rust::canvas::CanvasImageHandle"]},{text:"impl Eq for CanvasShaderHandle",synthetic:false,types:["sfml_rust::canvas::CanvasShaderHandle"]},{text:"impl Eq for CompiledGraphicsPipelineHandle",synthetic:false,types:["sfml_rust::canvas::CompiledGraphicsPipelineHandle"]},{text:"impl Eq for CompuBufferHandle",synthetic:false,types:["sfml_rust::canvas::CompuBufferHandle"]},{text:"impl Eq for CompuKernelHandle",synthetic:false,types:["sfml_rust::compute::compu_kernel::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 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"]},];
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 645a60dc..0a5cfa44 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::shader::common::ShaderType"]},{text:"impl PartialEq<ShaderType> for ShaderType",synthetic:false,types:["sfml_rust::canvas::canvas::ShaderType"]},{text:"impl PartialEq<CanvasFontHandle> for CanvasFontHandle",synthetic:false,types:["sfml_rust::canvas::CanvasFontHandle"]},{text:"impl PartialEq<CanvasTextureHandle> for CanvasTextureHandle",synthetic:false,types:["sfml_rust::canvas::CanvasTextureHandle"]},{text:"impl PartialEq<CanvasImageHandle> for CanvasImageHandle",synthetic:false,types:["sfml_rust::canvas::CanvasImageHandle"]},{text:"impl PartialEq<CanvasShaderHandle> for CanvasShaderHandle",synthetic:false,types:["sfml_rust::canvas::CanvasShaderHandle"]},{text:"impl PartialEq<CompiledGraphicsPipelineHandle> for CompiledGraphicsPipelineHandle",synthetic:false,types:["sfml_rust::canvas::CompiledGraphicsPipelineHandle"]},{text:"impl PartialEq<CompuBufferHandle> for CompuBufferHandle",synthetic:false,types:["sfml_rust::canvas::CompuBufferHandle"]},{text:"impl PartialEq<CompuKernelHandle> for CompuKernelHandle",synthetic:false,types:["sfml_rust::compute::compu_kernel::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<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"]},];
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 03bbf4a3..f04db817 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::shader::text_shader::GlyphInstance"]},{text:"impl Default for RuntimeVertexDef",synthetic:false,types:["sfml_rust::canvas::shader::dynamic_vertex::RuntimeVertexDef"]},{text:"impl Default for CanvasFontHandle",synthetic:false,types:["sfml_rust::canvas::CanvasFontHandle"]},{text:"impl Default for CanvasTextureHandle",synthetic:false,types:["sfml_rust::canvas::CanvasTextureHandle"]},{text:"impl Default for CanvasImageHandle",synthetic:false,types:["sfml_rust::canvas::CanvasImageHandle"]},{text:"impl Default for CanvasShaderHandle",synthetic:false,types:["sfml_rust::canvas::CanvasShaderHandle"]},{text:"impl Default for CompiledGraphicsPipelineHandle",synthetic:false,types:["sfml_rust::canvas::CompiledGraphicsPipelineHandle"]},{text:"impl Default for CompuBufferHandle",synthetic:false,types:["sfml_rust::canvas::CompuBufferHandle"]},{text:"impl Default for CompuKernelHandle",synthetic:false,types:["sfml_rust::compute::compu_kernel::CompuKernelHandle"]},{text:"impl Default for ComputeSpecializationConstants",synthetic:false,types:["sfml_rust::compute::compu_kernel::ComputeSpecializationConstants"]},];
+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"]},];
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 227cb753..19cbbd30 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::shader::text_shader::GlyphInstance"]},{text:"impl Debug for RuntimeVertexDef",synthetic:false,types:["sfml_rust::canvas::shader::dynamic_vertex::RuntimeVertexDef"]},{text:"impl Debug for CanvasFontHandle",synthetic:false,types:["sfml_rust::canvas::CanvasFontHandle"]},{text:"impl Debug for CanvasTextureHandle",synthetic:false,types:["sfml_rust::canvas::CanvasTextureHandle"]},{text:"impl Debug for CanvasImageHandle",synthetic:false,types:["sfml_rust::canvas::CanvasImageHandle"]},{text:"impl Debug for CanvasShaderHandle",synthetic:false,types:["sfml_rust::canvas::CanvasShaderHandle"]},{text:"impl Debug for CompiledGraphicsPipelineHandle",synthetic:false,types:["sfml_rust::canvas::CompiledGraphicsPipelineHandle"]},{text:"impl Debug for CompuBufferHandle",synthetic:false,types:["sfml_rust::canvas::CompuBufferHandle"]},{text:"impl Debug for CompuKernelHandle",synthetic:false,types:["sfml_rust::compute::compu_kernel::CompuKernelHandle"]},{text:"impl Debug for ComputeSpecializationConstants",synthetic:false,types:["sfml_rust::compute::compu_kernel::ComputeSpecializationConstants"]},];
+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"]},];
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 f3511667..a211edf0 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::shader::common::ShaderType"]},{text:"impl Hash for ShaderType",synthetic:false,types:["sfml_rust::canvas::canvas::ShaderType"]},{text:"impl Hash for CanvasFontHandle",synthetic:false,types:["sfml_rust::canvas::CanvasFontHandle"]},{text:"impl Hash for CanvasTextureHandle",synthetic:false,types:["sfml_rust::canvas::CanvasTextureHandle"]},{text:"impl Hash for CanvasImageHandle",synthetic:false,types:["sfml_rust::canvas::CanvasImageHandle"]},{text:"impl Hash for CanvasShaderHandle",synthetic:false,types:["sfml_rust::canvas::CanvasShaderHandle"]},{text:"impl Hash for CompiledGraphicsPipelineHandle",synthetic:false,types:["sfml_rust::canvas::CompiledGraphicsPipelineHandle"]},{text:"impl Hash for CompuBufferHandle",synthetic:false,types:["sfml_rust::canvas::CompuBufferHandle"]},{text:"impl Hash for CompuKernelHandle",synthetic:false,types:["sfml_rust::compute::compu_kernel::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 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"]},];
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 280a816c..90d6b650 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::shader::text_shader::GlyphInstance"]},];
+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"]},];
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 be82f437..3900f11c 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 CanvasFontHandle",synthetic:true,types:["sfml_rust::canvas::CanvasFontHandle"]},{text:"impl Freeze for CanvasTextureHandle",synthetic:true,types:["sfml_rust::canvas::CanvasTextureHandle"]},{text:"impl Freeze for CanvasImageHandle",synthetic:true,types:["sfml_rust::canvas::CanvasImageHandle"]},{text:"impl Freeze for CanvasShaderHandle",synthetic:true,types:["sfml_rust::canvas::CanvasShaderHandle"]},{text:"impl Freeze for CompiledGraphicsPipelineHandle",synthetic:true,types:["sfml_rust::canvas::CompiledGraphicsPipelineHandle"]},{text:"impl Freeze for CompuBufferHandle",synthetic:true,types:["sfml_rust::canvas::CompuBufferHandle"]},{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 ShaderType",synthetic:true,types:["sfml_rust::canvas::shader::common::ShaderType"]},{text:"impl Freeze for GenericShader",synthetic:true,types:["sfml_rust::canvas::shader::generic_shader::GenericShader"]},{text:"impl Freeze for GlyphInstance",synthetic:true,types:["sfml_rust::canvas::shader::text_shader::GlyphInstance"]},{text:"impl Freeze for TextShader",synthetic:true,types:["sfml_rust::canvas::shader::text_shader::TextShader"]},{text:"impl Freeze for RuntimeVertexDef",synthetic:true,types:["sfml_rust::canvas::shader::dynamic_vertex::RuntimeVertexDef"]},{text:"impl Freeze for CanvasTexture",synthetic:true,types:["sfml_rust::canvas::canvas_buffer::CanvasTexture"]},{text:"impl Freeze for CanvasImage",synthetic:true,types:["sfml_rust::canvas::canvas_buffer::CanvasImage"]},{text:"impl Freeze for CanvasFont",synthetic:true,types:["sfml_rust::canvas::canvas_buffer::CanvasFont"]},{text:"impl Freeze for CanvasTexture",synthetic:true,types:["sfml_rust::canvas::canvas::CanvasTexture"]},{text:"impl Freeze for CanvasState",synthetic:true,types:["sfml_rust::canvas::canvas::CanvasState"]},{text:"impl Freeze for ShaderType",synthetic:true,types:["sfml_rust::canvas::canvas::ShaderType"]},{text:"impl Freeze for CompuFrame",synthetic:true,types:["sfml_rust::compute::compu_frame::CompuFrame"]},{text:"impl Freeze for CompuKernelHandle",synthetic:true,types:["sfml_rust::compute::compu_kernel::CompuKernelHandle"]},{text:"impl Freeze for CompuKernel",synthetic:true,types:["sfml_rust::compute::compu_kernel::CompuKernel"]},{text:"impl Freeze for ComputeSpecializationConstants",synthetic:true,types:["sfml_rust::compute::compu_kernel::ComputeSpecializationConstants"]},{text:"impl Freeze for CompuSprite",synthetic:true,types:["sfml_rust::compute::compu_sprite::CompuSprite"]},{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::compu_buffer::CompuBuffers"]},];
+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"]},];
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 1bad07d3..a36da931 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 CanvasFontHandle",synthetic:true,types:["sfml_rust::canvas::CanvasFontHandle"]},{text:"impl Send for CanvasTextureHandle",synthetic:true,types:["sfml_rust::canvas::CanvasTextureHandle"]},{text:"impl Send for CanvasImageHandle",synthetic:true,types:["sfml_rust::canvas::CanvasImageHandle"]},{text:"impl Send for CanvasShaderHandle",synthetic:true,types:["sfml_rust::canvas::CanvasShaderHandle"]},{text:"impl Send for CompiledGraphicsPipelineHandle",synthetic:true,types:["sfml_rust::canvas::CompiledGraphicsPipelineHandle"]},{text:"impl Send for CompuBufferHandle",synthetic:true,types:["sfml_rust::canvas::CompuBufferHandle"]},{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 ShaderType",synthetic:true,types:["sfml_rust::canvas::shader::common::ShaderType"]},{text:"impl Send for GenericShader",synthetic:true,types:["sfml_rust::canvas::shader::generic_shader::GenericShader"]},{text:"impl Send for GlyphInstance",synthetic:true,types:["sfml_rust::canvas::shader::text_shader::GlyphInstance"]},{text:"impl Send for TextShader",synthetic:true,types:["sfml_rust::canvas::shader::text_shader::TextShader"]},{text:"impl Send for RuntimeVertexDef",synthetic:true,types:["sfml_rust::canvas::shader::dynamic_vertex::RuntimeVertexDef"]},{text:"impl Send for CanvasTexture",synthetic:true,types:["sfml_rust::canvas::canvas_buffer::CanvasTexture"]},{text:"impl Send for CanvasImage",synthetic:true,types:["sfml_rust::canvas::canvas_buffer::CanvasImage"]},{text:"impl Send for CanvasFont",synthetic:true,types:["sfml_rust::canvas::canvas_buffer::CanvasFont"]},{text:"impl Send for CanvasTexture",synthetic:true,types:["sfml_rust::canvas::canvas::CanvasTexture"]},{text:"impl !Send for CanvasState",synthetic:true,types:["sfml_rust::canvas::canvas::CanvasState"]},{text:"impl Send for ShaderType",synthetic:true,types:["sfml_rust::canvas::canvas::ShaderType"]},{text:"impl Send for CompuFrame",synthetic:true,types:["sfml_rust::compute::compu_frame::CompuFrame"]},{text:"impl Send for CompuKernelHandle",synthetic:true,types:["sfml_rust::compute::compu_kernel::CompuKernelHandle"]},{text:"impl Send for CompuKernel",synthetic:true,types:["sfml_rust::compute::compu_kernel::CompuKernel"]},{text:"impl Send for ComputeSpecializationConstants",synthetic:true,types:["sfml_rust::compute::compu_kernel::ComputeSpecializationConstants"]},{text:"impl Send for CompuSprite",synthetic:true,types:["sfml_rust::compute::compu_sprite::CompuSprite"]},{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::compu_buffer::CompuBuffers"]},];
+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"]},];
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 45dedb3f..1d7a2cb8 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 CanvasFontHandle",synthetic:true,types:["sfml_rust::canvas::CanvasFontHandle"]},{text:"impl Sync for CanvasTextureHandle",synthetic:true,types:["sfml_rust::canvas::CanvasTextureHandle"]},{text:"impl Sync for CanvasImageHandle",synthetic:true,types:["sfml_rust::canvas::CanvasImageHandle"]},{text:"impl Sync for CanvasShaderHandle",synthetic:true,types:["sfml_rust::canvas::CanvasShaderHandle"]},{text:"impl Sync for CompiledGraphicsPipelineHandle",synthetic:true,types:["sfml_rust::canvas::CompiledGraphicsPipelineHandle"]},{text:"impl Sync for CompuBufferHandle",synthetic:true,types:["sfml_rust::canvas::CompuBufferHandle"]},{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 ShaderType",synthetic:true,types:["sfml_rust::canvas::shader::common::ShaderType"]},{text:"impl Sync for GenericShader",synthetic:true,types:["sfml_rust::canvas::shader::generic_shader::GenericShader"]},{text:"impl Sync for GlyphInstance",synthetic:true,types:["sfml_rust::canvas::shader::text_shader::GlyphInstance"]},{text:"impl Sync for TextShader",synthetic:true,types:["sfml_rust::canvas::shader::text_shader::TextShader"]},{text:"impl Sync for RuntimeVertexDef",synthetic:true,types:["sfml_rust::canvas::shader::dynamic_vertex::RuntimeVertexDef"]},{text:"impl Sync for CanvasTexture",synthetic:true,types:["sfml_rust::canvas::canvas_buffer::CanvasTexture"]},{text:"impl Sync for CanvasImage",synthetic:true,types:["sfml_rust::canvas::canvas_buffer::CanvasImage"]},{text:"impl Sync for CanvasFont",synthetic:true,types:["sfml_rust::canvas::canvas_buffer::CanvasFont"]},{text:"impl Sync for CanvasTexture",synthetic:true,types:["sfml_rust::canvas::canvas::CanvasTexture"]},{text:"impl !Sync for CanvasState",synthetic:true,types:["sfml_rust::canvas::canvas::CanvasState"]},{text:"impl Sync for ShaderType",synthetic:true,types:["sfml_rust::canvas::canvas::ShaderType"]},{text:"impl Sync for CompuFrame",synthetic:true,types:["sfml_rust::compute::compu_frame::CompuFrame"]},{text:"impl Sync for CompuKernelHandle",synthetic:true,types:["sfml_rust::compute::compu_kernel::CompuKernelHandle"]},{text:"impl Sync for CompuKernel",synthetic:true,types:["sfml_rust::compute::compu_kernel::CompuKernel"]},{text:"impl Sync for ComputeSpecializationConstants",synthetic:true,types:["sfml_rust::compute::compu_kernel::ComputeSpecializationConstants"]},{text:"impl Sync for CompuSprite",synthetic:true,types:["sfml_rust::compute::compu_sprite::CompuSprite"]},{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::compu_buffer::CompuBuffers"]},];
+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"]},];
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 4df772e4..50a46898 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 CanvasFontHandle",synthetic:true,types:["sfml_rust::canvas::CanvasFontHandle"]},{text:"impl Unpin for CanvasTextureHandle",synthetic:true,types:["sfml_rust::canvas::CanvasTextureHandle"]},{text:"impl Unpin for CanvasImageHandle",synthetic:true,types:["sfml_rust::canvas::CanvasImageHandle"]},{text:"impl Unpin for CanvasShaderHandle",synthetic:true,types:["sfml_rust::canvas::CanvasShaderHandle"]},{text:"impl Unpin for CompiledGraphicsPipelineHandle",synthetic:true,types:["sfml_rust::canvas::CompiledGraphicsPipelineHandle"]},{text:"impl Unpin for CompuBufferHandle",synthetic:true,types:["sfml_rust::canvas::CompuBufferHandle"]},{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 ShaderType",synthetic:true,types:["sfml_rust::canvas::shader::common::ShaderType"]},{text:"impl Unpin for GenericShader",synthetic:true,types:["sfml_rust::canvas::shader::generic_shader::GenericShader"]},{text:"impl Unpin for GlyphInstance",synthetic:true,types:["sfml_rust::canvas::shader::text_shader::GlyphInstance"]},{text:"impl Unpin for TextShader",synthetic:true,types:["sfml_rust::canvas::shader::text_shader::TextShader"]},{text:"impl Unpin for RuntimeVertexDef",synthetic:true,types:["sfml_rust::canvas::shader::dynamic_vertex::RuntimeVertexDef"]},{text:"impl Unpin for CanvasTexture",synthetic:true,types:["sfml_rust::canvas::canvas_buffer::CanvasTexture"]},{text:"impl Unpin for CanvasImage",synthetic:true,types:["sfml_rust::canvas::canvas_buffer::CanvasImage"]},{text:"impl Unpin for CanvasFont",synthetic:true,types:["sfml_rust::canvas::canvas_buffer::CanvasFont"]},{text:"impl Unpin for CanvasTexture",synthetic:true,types:["sfml_rust::canvas::canvas::CanvasTexture"]},{text:"impl Unpin for CanvasState",synthetic:true,types:["sfml_rust::canvas::canvas::CanvasState"]},{text:"impl Unpin for ShaderType",synthetic:true,types:["sfml_rust::canvas::canvas::ShaderType"]},{text:"impl Unpin for CompuFrame",synthetic:true,types:["sfml_rust::compute::compu_frame::CompuFrame"]},{text:"impl Unpin for CompuKernelHandle",synthetic:true,types:["sfml_rust::compute::compu_kernel::CompuKernelHandle"]},{text:"impl Unpin for CompuKernel",synthetic:true,types:["sfml_rust::compute::compu_kernel::CompuKernel"]},{text:"impl Unpin for ComputeSpecializationConstants",synthetic:true,types:["sfml_rust::compute::compu_kernel::ComputeSpecializationConstants"]},{text:"impl Unpin for CompuSprite",synthetic:true,types:["sfml_rust::compute::compu_sprite::CompuSprite"]},{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::compu_buffer::CompuBuffers"]},];
+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"]},];
if (window.register_implementors) {
window.register_implementors(implementors);
diff --git a/doc/implementors/sfml_rust/canvas/shader/common/trait.CompiledGraphicsPipeline.js b/doc/implementors/sfml_rust/canvas/managed/handles/trait.Handle.js
similarity index 100%
rename from doc/implementors/sfml_rust/canvas/shader/common/trait.CompiledGraphicsPipeline.js
rename to doc/implementors/sfml_rust/canvas/managed/handles/trait.Handle.js
diff --git a/doc/implementors/sfml_rust/canvas/managed/shader/shader_common/trait.CompiledGraphicsPipeline.js b/doc/implementors/sfml_rust/canvas/managed/shader/shader_common/trait.CompiledGraphicsPipeline.js
new file mode 100644
index 00000000..ab653396
--- /dev/null
+++ b/doc/implementors/sfml_rust/canvas/managed/shader/shader_common/trait.CompiledGraphicsPipeline.js
@@ -0,0 +1,9 @@
+(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/sfml_rust/canvas/managed/shader/shader_common/trait.CompiledGraphicsPipelineResources.js b/doc/implementors/sfml_rust/canvas/managed/shader/shader_common/trait.CompiledGraphicsPipelineResources.js
new file mode 100644
index 00000000..ab653396
--- /dev/null
+++ b/doc/implementors/sfml_rust/canvas/managed/shader/shader_common/trait.CompiledGraphicsPipelineResources.js
@@ -0,0 +1,9 @@
+(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 a1688115..52572231 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 CanvasFontHandle",synthetic:true,types:["sfml_rust::canvas::CanvasFontHandle"]},{text:"impl RefUnwindSafe for CanvasTextureHandle",synthetic:true,types:["sfml_rust::canvas::CanvasTextureHandle"]},{text:"impl RefUnwindSafe for CanvasImageHandle",synthetic:true,types:["sfml_rust::canvas::CanvasImageHandle"]},{text:"impl RefUnwindSafe for CanvasShaderHandle",synthetic:true,types:["sfml_rust::canvas::CanvasShaderHandle"]},{text:"impl RefUnwindSafe for CompiledGraphicsPipelineHandle",synthetic:true,types:["sfml_rust::canvas::CompiledGraphicsPipelineHandle"]},{text:"impl RefUnwindSafe for CompuBufferHandle",synthetic:true,types:["sfml_rust::canvas::CompuBufferHandle"]},{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 ShaderType",synthetic:true,types:["sfml_rust::canvas::shader::common::ShaderType"]},{text:"impl !RefUnwindSafe for GenericShader",synthetic:true,types:["sfml_rust::canvas::shader::generic_shader::GenericShader"]},{text:"impl RefUnwindSafe for GlyphInstance",synthetic:true,types:["sfml_rust::canvas::shader::text_shader::GlyphInstance"]},{text:"impl !RefUnwindSafe for TextShader",synthetic:true,types:["sfml_rust::canvas::shader::text_shader::TextShader"]},{text:"impl RefUnwindSafe for RuntimeVertexDef",synthetic:true,types:["sfml_rust::canvas::shader::dynamic_vertex::RuntimeVertexDef"]},{text:"impl RefUnwindSafe for CanvasTexture",synthetic:true,types:["sfml_rust::canvas::canvas_buffer::CanvasTexture"]},{text:"impl RefUnwindSafe for CanvasImage",synthetic:true,types:["sfml_rust::canvas::canvas_buffer::CanvasImage"]},{text:"impl !RefUnwindSafe for CanvasFont",synthetic:true,types:["sfml_rust::canvas::canvas_buffer::CanvasFont"]},{text:"impl RefUnwindSafe for CanvasTexture",synthetic:true,types:["sfml_rust::canvas::canvas::CanvasTexture"]},{text:"impl !RefUnwindSafe for CanvasState",synthetic:true,types:["sfml_rust::canvas::canvas::CanvasState"]},{text:"impl RefUnwindSafe for ShaderType",synthetic:true,types:["sfml_rust::canvas::canvas::ShaderType"]},{text:"impl RefUnwindSafe for CompuFrame",synthetic:true,types:["sfml_rust::compute::compu_frame::CompuFrame"]},{text:"impl RefUnwindSafe for CompuKernelHandle",synthetic:true,types:["sfml_rust::compute::compu_kernel::CompuKernelHandle"]},{text:"impl RefUnwindSafe for CompuKernel",synthetic:true,types:["sfml_rust::compute::compu_kernel::CompuKernel"]},{text:"impl RefUnwindSafe for ComputeSpecializationConstants",synthetic:true,types:["sfml_rust::compute::compu_kernel::ComputeSpecializationConstants"]},{text:"impl RefUnwindSafe for CompuSprite",synthetic:true,types:["sfml_rust::compute::compu_sprite::CompuSprite"]},{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::compu_buffer::CompuBuffers"]},];
+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"]},];
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 dad1061e..2e3fe86e 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 CanvasFontHandle",synthetic:true,types:["sfml_rust::canvas::CanvasFontHandle"]},{text:"impl UnwindSafe for CanvasTextureHandle",synthetic:true,types:["sfml_rust::canvas::CanvasTextureHandle"]},{text:"impl UnwindSafe for CanvasImageHandle",synthetic:true,types:["sfml_rust::canvas::CanvasImageHandle"]},{text:"impl UnwindSafe for CanvasShaderHandle",synthetic:true,types:["sfml_rust::canvas::CanvasShaderHandle"]},{text:"impl UnwindSafe for CompiledGraphicsPipelineHandle",synthetic:true,types:["sfml_rust::canvas::CompiledGraphicsPipelineHandle"]},{text:"impl UnwindSafe for CompuBufferHandle",synthetic:true,types:["sfml_rust::canvas::CompuBufferHandle"]},{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 ShaderType",synthetic:true,types:["sfml_rust::canvas::shader::common::ShaderType"]},{text:"impl !UnwindSafe for GenericShader",synthetic:true,types:["sfml_rust::canvas::shader::generic_shader::GenericShader"]},{text:"impl UnwindSafe for GlyphInstance",synthetic:true,types:["sfml_rust::canvas::shader::text_shader::GlyphInstance"]},{text:"impl !UnwindSafe for TextShader",synthetic:true,types:["sfml_rust::canvas::shader::text_shader::TextShader"]},{text:"impl UnwindSafe for RuntimeVertexDef",synthetic:true,types:["sfml_rust::canvas::shader::dynamic_vertex::RuntimeVertexDef"]},{text:"impl UnwindSafe for CanvasTexture",synthetic:true,types:["sfml_rust::canvas::canvas_buffer::CanvasTexture"]},{text:"impl UnwindSafe for CanvasImage",synthetic:true,types:["sfml_rust::canvas::canvas_buffer::CanvasImage"]},{text:"impl !UnwindSafe for CanvasFont",synthetic:true,types:["sfml_rust::canvas::canvas_buffer::CanvasFont"]},{text:"impl UnwindSafe for CanvasTexture",synthetic:true,types:["sfml_rust::canvas::canvas::CanvasTexture"]},{text:"impl !UnwindSafe for CanvasState",synthetic:true,types:["sfml_rust::canvas::canvas::CanvasState"]},{text:"impl UnwindSafe for ShaderType",synthetic:true,types:["sfml_rust::canvas::canvas::ShaderType"]},{text:"impl UnwindSafe for CompuFrame",synthetic:true,types:["sfml_rust::compute::compu_frame::CompuFrame"]},{text:"impl UnwindSafe for CompuKernelHandle",synthetic:true,types:["sfml_rust::compute::compu_kernel::CompuKernelHandle"]},{text:"impl UnwindSafe for CompuKernel",synthetic:true,types:["sfml_rust::compute::compu_kernel::CompuKernel"]},{text:"impl UnwindSafe for ComputeSpecializationConstants",synthetic:true,types:["sfml_rust::compute::compu_kernel::ComputeSpecializationConstants"]},{text:"impl UnwindSafe for CompuSprite",synthetic:true,types:["sfml_rust::compute::compu_sprite::CompuSprite"]},{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::compu_buffer::CompuBuffers"]},];
+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"]},];
if (window.register_implementors) {
window.register_implementors(implementors);
diff --git a/doc/implementors/vulkano/pipeline/shader/trait.SpecializationConstants.js b/doc/implementors/vulkano/pipeline/shader/trait.SpecializationConstants.js
index fb182320..d48713e2 100644
--- a/doc/implementors/vulkano/pipeline/shader/trait.SpecializationConstants.js
+++ b/doc/implementors/vulkano/pipeline/shader/trait.SpecializationConstants.js
@@ -1,5 +1,5 @@
(function() {var implementors = {};
-implementors["sfml_rust"] = [{text:"impl SpecializationConstants for ComputeSpecializationConstants",synthetic:false,types:["sfml_rust::compute::compu_kernel::ComputeSpecializationConstants"]},];
+implementors["sfml_rust"] = [{text:"impl SpecializationConstants for ComputeSpecializationConstants",synthetic:false,types:["sfml_rust::compute::managed::compu_kernel::ComputeSpecializationConstants"]},];
if (window.register_implementors) {
window.register_implementors(implementors);
diff --git a/doc/implementors/vulkano/pipeline/vertex/definition/trait.VertexDefinition.js b/doc/implementors/vulkano/pipeline/vertex/definition/trait.VertexDefinition.js
index 5e7ce639..badd6241 100644
--- a/doc/implementors/vulkano/pipeline/vertex/definition/trait.VertexDefinition.js
+++ b/doc/implementors/vulkano/pipeline/vertex/definition/trait.VertexDefinition.js
@@ -1,5 +1,5 @@
(function() {var implementors = {};
-implementors["sfml_rust"] = [{text:"impl<I> VertexDefinition<I> for RuntimeVertexDefwhere I: ShaderInterfaceDef, ",synthetic:false,types:["sfml_rust::canvas::shader::dynamic_vertex::RuntimeVertexDef"]},];
+implementors["sfml_rust"] = [{text:"impl<I> VertexDefinition<I> for RuntimeVertexDefwhere I: ShaderInterfaceDef, ",synthetic:false,types:["sfml_rust::canvas::managed::shader::dynamic_vertex::RuntimeVertexDef"]},];
if (window.register_implementors) {
window.register_implementors(implementors);
diff --git a/doc/implementors/vulkano/pipeline/vertex/definition/trait.VertexSource.js b/doc/implementors/vulkano/pipeline/vertex/definition/trait.VertexSource.js
index 49b6fe29..985d031a 100644
--- a/doc/implementors/vulkano/pipeline/vertex/definition/trait.VertexSource.js
+++ b/doc/implementors/vulkano/pipeline/vertex/definition/trait.VertexSource.js
@@ -1,5 +1,5 @@
(function() {var implementors = {};
-implementors["sfml_rust"] = [{text:"impl VertexSource<Vec<Arc<dyn BufferAccess + 'static + Sync + Send>>> for RuntimeVertexDef",synthetic:false,types:["sfml_rust::canvas::shader::dynamic_vertex::RuntimeVertexDef"]},];
+implementors["sfml_rust"] = [{text:"impl VertexSource<Vec<Arc<dyn BufferAccess + 'static + Sync + Send>>> for RuntimeVertexDef",synthetic:false,types:["sfml_rust::canvas::managed::shader::dynamic_vertex::RuntimeVertexDef"]},];
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 8bab9862..ee6ec642 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::shader::text_shader::GlyphInstance"]},];
+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"]},];
if (window.register_implementors) {
window.register_implementors(implementors);
diff --git a/doc/search-index.js b/doc/search-index.js
index fadfc8c1..788100ed 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","handle","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","renderpassabstract","device","get_handle","graphicspipelineabstract","sfml_rust::canvas::shader","CanvasShader holds the pipeline and render pass for the…","descriptorset","get_descriptor_set","CanvasTexture","CanvasState","ShaderType","position","Drawable","get_color","get_image_handle","window_size_dependent_setup","canvasstate","create_image","imageusage","get_image","load_texture","get_texture","draw_commands","compuframe","compukernelhandle","sfml_rust::compute","get_pipeline","computepipeline","pipelinelayout","get_name","compusprite","new_compute_buffer","read_compute_buffer","write_compute_buffer","get_kernel_handle","persistentdescriptorset","cpuaccessiblebuffer","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::shader::common","sfml_rust::canvas::shader::generic_shader","sfml_rust::canvas::shader::text_shader","sfml_rust::canvas::shader::dynamic_vertex","incompatiblevertexdefinitionerror","sfml_rust::canvas::canvas_buffer","sfml_rust::canvas::canvas","sfml_rust::compute::compu_frame","sfml_rust::compute::compu_kernel","sfml_rust::compute::compu_sprite","sfml_rust::compute::compu_state","sfml_rust::compute::compu_buffer","get_instances","get_ti_coords","get_renderpass","recompile","genericshader","This will explode when the shader does not want to compile","textshader","vertex3d","default","textvertex3d","glyphinstance","shadertype","canvastexture","canvasshaderhandle","compukernel","computespecializationconstants","compubuffers","formatter","definition","vertexmemberinfo","TextVertex3D","VkProcessor","TextHandle","TextInstance","TextVertex","CanvasFontHandle","CanvasTextureHandle","CanvasImageHandle","CanvasShaderHandle","CompiledGraphicsPipelineHandle","CompuBufferHandle","DrawableTest","CanvasFrame","CompiledGraphicsPipeline","GlyphInstance","RuntimeVertexDef","CanvasImage","CanvasFont","CompuFrame","CompuKernelHandle","CompuKernel","CompuSprite","CompuState","CompuBuffers","GenericCanvasFrame","GenericShader","TextShader","ComputeSpecializationConstants"];
+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"];
-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[66],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[67],"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[79],"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[121],E,"Text vertex 3d with vertex position",N,N],[12,R[40],E,E,3,N],[0,R[4],R[3],E,N,N],[3,R[122],R[83],"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[15],E,"O(n) Lookup for the matching texture string",4,[[["self"],[R[5]]],[["arc",[R[10]]],[R[6],["arc"]]]]],[11,R[63],E,"O(n) Lookup for the matching kernel string",4,[[["self"],[R[5]]],[[R[6],["arc"]],["arc",[R[53]]]]]],[11,R[22],E,"O(n) Lookup for the matching shader string",4,[[["self"],[R[5]]],[["arc",[R[20]]],[R[6],["arc"]]]]],[11,R[23],E,E,4,[[["self"],[R[5]]],[["arc",[R[12]]],[R[6],["arc"]]]]],[11,"new_swap_image",E,"Create a new image which has the transfer usage",4,[[["self"]],[[R[7]],["arc",[R[7]]]]]],[11,R[60],E,"Builds a compute buffer and returns it's handle",4,[[["self"],["u32"],["vec",["u8"]],["u8"]],[[R[8]],["arc",[R[8]]]]]],[11,R[61],E,"Takes a compute buffer handle and returns the read data",4,[[["self"],[R[8]],["arc",[R[8]]]],[["vec",["u8"]],["u8"]]]],[11,R[62],E,"Takes a compute buffer handle and writes the received data",4,[[["self"],[R[8]],["vec",["u8"]],["arc",[R[8]]],["u8"]]]],[11,"run",E,E,4,[[["self"],[R[52]],[R[25]],["arc"]]]],[0,"sprite",R[3],E,N,N],[3,"Sprite",R[86],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[123],E,E,N,N],[10,"do_nothing",E,E,7,[[],["u32"]]],[8,R[124],E,E,N,N],[10,"get_thing",E,E,8,[[],["vec"]]],[8,R[125],E,E,N,N],[10,R[14],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,[[["arc",[R[10]]],["u32"],[R[10]]],["sprite"]]],[11,"new",E,E,6,[[],["poly"]]],[11,R[11],E,E,6,[[["u32"]],["poly"]]],[11,"new",E,E,10,[[["arc",[R[12]]],[R[12]]],["text"]]],[11,R[11],E,E,10,[[[R[12]],["u32"],["arc",[R[12]]]],["text"]]],[0,"canvas",R[3],E,N,N],[3,R[126],R[28],"Typed wrapper for a u32 font handle (index id)",N,N],[12,R[13],E,E,11,N],[3,R[127],E,E,N,N],[12,R[13],E,E,12,N],[3,R[128],E,E,N,N],[12,R[13],E,E,13,N],[3,R[129],E,E,N,N],[12,R[13],E,E,14,N],[3,R[130],E,"Typed wrapper for a u32 handle",N,N],[12,R[13],E,E,15,N],[3,R[131],E,E,N,N],[12,R[13],E,E,16,N],[0,"canvas_state",E,E,N,N],[3,R[38],R[87],"Canvas state is used for storage of texture and image…",N,N],[8,R[132],E,E,N,N],[10,R[14],E,E,17,[[["self"]],["vec"]]],[10,R[101],E,E,17,[[["self"]],["vec"]]],[10,R[31],E,E,17,[[["self"]],["h"]]],[8,R[41],E,"A drawable object can be passed into a CanvasFrame to be…",N,N],[10,R[14],E,E,18,[[["self"]],["vec"]]],[10,R[42],E,E,18,[[["self"]]]],[10,R[102],E,E,18,[[["self"]],["vec"]]],[10,R[15],E,E,18,[[["self"]],[["arc",[R[10]]],[R[6],["arc"]]]]],[10,R[43],E,E,18,[[["self"]],[[R[6],["arc"]],["arc",[R[7]]]]]],[11,"collect",E,E,18,[[["self"]],[["vec",[R[16]]],[R[16]]]]],[11,R[44],E,"This method is called once during initialization, then…",19,[[["self"]],[["arc",[R[26]]],["vec",["arc"]]]]],[11,"new",E,"Creates a Canvas State. Which at this point is pretty empty",19,[[[R[19]],["arc",["queue"]],[R[30]],["arc",[R[30]]],[R[18]],["queue"]],[R[45]]]],[11,R[46],E,R[21],19,[[["self"],[R[47]]],[[R[7]],["arc",[R[7]]]]]],[11,R[48],E,"Return the image buffer from an input image handle",19,[[["self"],[R[7]],["arc",[R[7]]]],[[R[17]],["arc",[R[17]]]]]],[11,R[49],E,"Load a texture using it's filename from a file. Returns…",19,[[["self"],[R[5]]],[["arc",[R[10]]],[R[6],["arc"]]]]],[11,"load_shader",E,"Load and Compile a shader with the filename at…",19,[[["self"],[R[5]],[R[18]],[R[19]]],[["arc",[R[20]]],[R[6],["arc"]]]]],[11,"load_font",E,R[21],19,[[["self"],[R[5]]],[["arc",[R[12]]],[R[12]]]]],[11,R[15],E,"Using the texture name, iterates through the stored…",19,[[["self"],[R[5]]],[["arc",[R[10]]],[R[6],["arc"]]]]],[11,R[22],E,"Using the shader name, iterates through the stored shaders…",19,[[["self"],[R[5]]],[["arc",[R[20]]],[R[6],["arc"]]]]],[11,R[23],E,"Using the font name, iterates through the stored fonts and…",19,[[["self"],[R[5]]],[["arc",[R[12]]],[R[6],["arc"]]]]],[11,R[50],E,"Using the texture handle, grab the stored texture and…",19,[[["self"],["arc",[R[10]]],[R[10]]],[[R[24],["format"]],["arc",[R[24]]]]]],[11,"draw",E,"Scrape all the values from the CanvasFrame and then…",19,[[["self"],[R[25]]]]],[11,R[51],E,"Pushes the draw commands to the command buffer. Requires…",19,[[["self"],[R[27]],["arc",[R[26]]],["vec",["arc"]],["usize"]],[R[27]]]],[0,"canvas_frame",R[28],E,N,N],[3,R[133],R[88],"I dont know why this isnt working fqowiejf",N,N],[12,"colored_drawables",E,E,20,N],[12,"textured_drawables",E,E,20,N],[12,"image_drawables",E,E,20,N],[12,"text_drawables",E,E,20,N],[3,R[145],E,E,N,N],[11,"new",E,"Creates a bare canvas frame with empty accumulators a",20,[[],[R[25]]]],[11,"draw",E,"Accumulates the drawables collected Vertex2D's",20,[[["self"],["drawable"]]]],[0,"shader",R[28],E,N,N],[0,"common",R[33],E,N,N],[4,R[39],R[89],"Legacy ShaderType enum for single type shaders.",N,N],[13,"VERTEX",E,E,21,N],[13,"FRAGMENT",E,E,21,N],[13,"GEOMETRY",E,E,21,N],[13,"TESSELLATION_CONTROL",E,E,21,N],[13,"TESSELLATION_EVALUATION",E,E,21,N],[8,R[134],E,E,N,N],[10,"new",E,E,22,[[["arc",[R[20]]],["arc",[R[29]]],[R[29]],[R[30]],[R[5]],["arc",[R[30]]],[R[20]]],["self"]]],[10,R[58],E,E,22,[[["self"]],[R[5]]]],[10,R[31],E,E,22,[[["self"]],[["arc",[R[20]]],[R[20]]]]],[10,R[55],E,E,22,[[["self"]],[["arc",[R[32]]],[R[32]]]]],[10,R[103],E,E,22,[[["self"]],[["arc",[R[29]]],[R[29]]]]],[10,R[104],E,E,22,[[["arc",[R[29]]],[R[29]]],["self"]]],[0,"generic_shader",R[33],E,N,N],[3,R[146],R[90],R[34],N,N],[0,"text_shader",R[33],E,N,N],[3,R[135],R[91],E,N,N],[12,"screen_position",E,E,23,N],[12,"atlas_position",E,E,23,N],[12,"atlas_size",E,E,23,N],[12,"scale",E,E,23,N],[3,R[147],E,R[34],N,N],[0,"dynamic_vertex",R[33],E,N,N],[3,R[136],R[92],"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…",24,[[["u32"]],[R[16]]]],[11,"vertex_buffer_ids",E,"Returns the indices of the buffers to bind as vertex…",24,[[["self"]]]],[0,"canvas_text",R[28],E,N,N],[0,"canvas_buffer",E,E,N,N],[3,R[37],R[94],"Canvas buffer which represents an allocated Texture with a…",N,N],[3,R[137],E,"Canvas buffer which represents an allocated image and…",N,N],[3,R[138],E,"Canvas Font which represents an allocated image and…",N,N],[11,R[36],E,E,25,[[["self"],["arc",[R[32]]],[R[32]],["arc",["sampler"]],["sampler"]],[["box",[R[35]]],[R[35]]]]],[11,R[36],E,E,26,[[["self"],["arc",[R[32]]],[R[32]]],[["box",[R[35]]],[R[35]]]]],[11,R[36],E,E,27,[[["arc",[R[32]]],[R[32]]],[["box",[R[35]]],[R[35]]]]],[0,"canvas",R[28],E,N,N],[3,R[37],R[95],E,N,N],[3,R[38],E,E,N,N],[4,R[39],E,E,N,N],[13,"SOLID",E,E,28,N],[13,"TEXTURED",E,E,28,N],[13,"IMAGE",E,E,28,N],[8,"Vertex",E,E,N,N],[11,R[40],E,E,29,[[["self"]]]],[11,"color",E,E,29,[[["self"]],[R[6]]]],[8,R[41],E,E,N,N],[10,R[14],E,E,30,[[["self"]],["vec"]]],[10,R[42],E,E,30,[[["self"]]]],[10,R[15],E,E,30,[[["self"]],[["arc",[R[10]]],[R[6],["arc"]]]]],[10,R[43],E,E,30,[[["self"]],[[R[6],["arc"]],["arc",[R[7]]]]]],[11,R[44],E,E,31,[[["self"]],[["arc",[R[26]]],["vec",["arc"]]]]],[11,"new",E,E,31,[[[R[19]],["arc",["queue"]],[R[30]],["arc",[R[30]]],[R[18]],["queue"]],[R[45]]]],[11,R[46],E,E,31,[[["self"],[R[47]]],[[R[7]],["arc",[R[7]]]]]],[11,R[48],E,E,31,[[["self"],[R[7]],["arc",[R[7]]]],[[R[17]],["arc",[R[17]]]]]],[11,R[49],E,E,31,[[["self"],[R[5]]],[["arc",[R[10]]],[R[6],["arc"]]]]],[11,R[15],E,E,31,[[["self"],[R[5]]],[["arc",[R[10]]],[R[6],["arc"]]]]],[11,R[50],E,E,31,[[["self"],["arc",[R[10]]],[R[10]]],[[R[24],["format"]],["arc",[R[24]]]]]],[11,"draw",E,E,31,[[["self"],[R[25]]]]],[11,R[51],E,E,31,[[["self"],[R[27]],["arc",[R[26]]],["vec",["arc"]],["usize"]],[R[27]]]],[0,"compute",R[3],E,N,N],[0,"compu_frame",R[54],E,N,N],[3,R[139],R[96],E,N,N],[12,"pure_compute",E,E,32,N],[12,"swapped_to_image",E,E,32,N],[12,"swapped_to_buffer",E,E,32,N],[11,"new",E,E,32,[[],[R[52]]]],[11,"add",E,E,32,[[["self"],[R[8]],[R[53]],["arc",[R[8]]],["arc",[R[53]]]]]],[11,"add_chained",E,E,32,[[["self"],[R[8]],[R[53]],["arc",[R[8]]],["arc",[R[53]]]]]],[11,"add_with_image_swap",E,E,32,[[["self"],[R[8]],[R[59]],[R[53]],["arc",[R[8]]],["arc",[R[53]]]]]],[0,"compu_kernel",R[54],E,N,N],[3,R[140],R[97],E,N,N],[12,R[13],E,E,33,N],[3,R[141],E,E,N,N],[3,R[148],E,E,N,N],[11,"new",E,E,34,[[[R[30]],[R[5]],["arc",[R[30]]],[R[53]],["arc",[R[53]]]],[R[115]]]],[11,R[55],E,E,34,[[["self"]],[["arc",[R[56]]],[R[56],[R[57]]]]]],[11,"recompile_kernel",E,E,34,[[["self"]],[[R[56],[R[57]]],["arc",[R[56]]]]]],[11,"compile_kernel",E,E,34,[[["self"],[R[5]]],[["arc",[R[56]]],[R[56],[R[57]]]]]],[11,R[31],E,E,34,[[["self"]],[[R[53]],["arc",[R[53]]]]]],[11,R[58],E,E,34,[[["self"]],[R[5]]]],[0,"compu_sprite",R[54],E,N,N],[3,R[142],R[98],E,N,N],[12,R[9],E,E,35,N],[12,R[2],E,E,35,N],[11,"new",E,E,35,[[["u32"],["arc",[R[7]]],[R[7]]],[R[59]]]],[0,"compu_state",R[54],E,N,N],[3,R[143],R[99],"State holding the compute buffers for computation and the…",N,N],[11,"new",E,E,36,[[],["compustate"]]],[11,R[60],E,"Creates a 2d compute buffer from incoming data",36,[[["self"],["u32"],[R[30]],["vec",["u8"]],["arc",[R[30]]],["u8"]],[[R[8]],["arc",[R[8]]]]]],[11,R[61],E,"Read the compute buffer back into a Vec (TODO BROKEN)",36,[[["self"],[R[8]],["arc",[R[8]]]],[["vec",["u8"]],["u8"]]]],[11,R[62],E,"Write to the compute buffer, ostensibly overwriting what's…",36,[[["self"],[R[8]],["vec",["u8"]],["arc",[R[8]]],["u8"]]]],[11,"new_kernel",E,E,36,[[["self"],[R[30]],[R[5]],["arc",[R[30]]]],[[R[53]],["arc",[R[53]]]]]],[11,R[63],E,E,36,[[["self"],[R[5]]],[[R[6],["arc"]],["arc",[R[53]]]]]],[11,"compute_commands",E,E,36,[[["self"],[R[27]],[R[52]],[R[45]]],[R[27]]]],[0,"compu_buffer",R[54],E,N,N],[3,R[144],R[100],E,N,N],[11,"new",E,E,37,[[["u32"],["arc",[R[30]]],[R[8]],[R[30]],["vec",["u8"]],["arc",[R[8]]],["u8"]],[R[117]]]],[11,"get_size",E,E,37,[[["self"]]]],[11,R[36],E,E,37,[[["self"],["arc",[R[56]]],[R[56],[R[57]]]],[[R[64],["arc"]],["arc",[R[64]]]]]],[11,"read_output_buffer",E,E,37,[[["self"]],[["vec",["u8"]],["rgba",["u8"]],["imagebuffer",["rgba","vec"]]]]],[11,"get_input_buffer",E,E,37,[[["self"]],[["arc",[R[65]]],[R[65]]]]],[11,"get_output_buffer",E,E,37,[[["self"]],[["arc",[R[65]]],[R[65]]]]],[11,"into",R[66],E,0,[[],[U]]],[11,"from",E,E,0,[[[T]],[T]]],[11,R[68],E,E,0,[[[U]],[R[81]]]],[11,R[69],E,E,0,[[],[R[81]]]],[11,R[70],E,E,0,[[["self"]],[T]]],[11,R[84],E,E,0,[[["self"]],[T]]],[11,R[82],E,E,0,[[["self"]],[R[85]]]],[11,R[71],E,E,0,[[["self"]],[R[6]]]],[11,R[72],E,E,0,[[["self"]],["bool"]]],[11,R[73],E,E,0,[[["self"]],["ss"]]],[11,R[74],E,E,0,[[["ss"]],["sp"]]],[11,R[75],E,E,0,[[["usize"]],[R[6]]]],[11,R[76],E,E,0,[[["usize"]],["bool"]]],[11,R[77],E,E,0,[[],["usize"]]],[11,R[78],R[67],E,1,[[["self"]],[T]]],[11,R[80],E,E,1,[[["self"],[T]]]],[11,"into",E,E,1,[[],[U]]],[11,"from",E,E,1,[[[T]],[T]]],[11,R[68],E,E,1,[[[U]],[R[81]]]],[11,R[69],E,E,1,[[],[R[81]]]],[11,R[70],E,E,1,[[["self"]],[T]]],[11,R[84],E,E,1,[[["self"]],[T]]],[11,R[82],E,E,1,[[["self"]],[R[85]]]],[11,R[71],E,E,1,[[["self"]],[R[6]]]],[11,R[72],E,E,1,[[["self"]],["bool"]]],[11,R[73],E,E,1,[[["self"]],["ss"]]],[11,R[74],E,E,1,[[["ss"]],["sp"]]],[11,R[75],E,E,1,[[["usize"]],[R[6]]]],[11,R[76],E,E,1,[[["usize"]],["bool"]]],[11,R[77],E,E,1,[[],["usize"]]],[11,R[78],R[79],E,2,[[["self"]],[T]]],[11,R[80],E,E,2,[[["self"],[T]]]],[11,"into",E,E,2,[[],[U]]],[11,"from",E,E,2,[[[T]],[T]]],[11,R[68],E,E,2,[[[U]],[R[81]]]],[11,R[69],E,E,2,[[],[R[81]]]],[11,R[70],E,E,2,[[["self"]],[T]]],[11,R[84],E,E,2,[[["self"]],[T]]],[11,R[82],E,E,2,[[["self"]],[R[85]]]],[11,R[71],E,E,2,[[["self"]],[R[6]]]],[11,R[72],E,E,2,[[["self"]],["bool"]]],[11,R[73],E,E,2,[[["self"]],["ss"]]],[11,R[74],E,E,2,[[["ss"]],["sp"]]],[11,R[75],E,E,2,[[["usize"]],[R[6]]]],[11,R[76],E,E,2,[[["usize"]],["bool"]]],[11,R[77],E,E,2,[[],["usize"]]],[11,R[78],E,E,3,[[["self"]],[T]]],[11,R[80],E,E,3,[[["self"],[T]]]],[11,"into",E,E,3,[[],[U]]],[11,"from",E,E,3,[[[T]],[T]]],[11,R[68],E,E,3,[[[U]],[R[81]]]],[11,R[69],E,E,3,[[],[R[81]]]],[11,R[70],E,E,3,[[["self"]],[T]]],[11,R[84],E,E,3,[[["self"]],[T]]],[11,R[82],E,E,3,[[["self"]],[R[85]]]],[11,R[71],E,E,3,[[["self"]],[R[6]]]],[11,R[72],E,E,3,[[["self"]],["bool"]]],[11,R[73],E,E,3,[[["self"]],["ss"]]],[11,R[74],E,E,3,[[["ss"]],["sp"]]],[11,R[75],E,E,3,[[["usize"]],[R[6]]]],[11,R[76],E,E,3,[[["usize"]],["bool"]]],[11,R[77],E,E,3,[[],["usize"]]],[11,"into",R[83],E,4,[[],[U]]],[11,"from",E,E,4,[[[T]],[T]]],[11,R[68],E,E,4,[[[U]],[R[81]]]],[11,R[69],E,E,4,[[],[R[81]]]],[11,R[70],E,E,4,[[["self"]],[T]]],[11,R[84],E,E,4,[[["self"]],[T]]],[11,R[82],E,E,4,[[["self"]],[R[85]]]],[11,R[71],E,E,4,[[["self"]],[R[6]]]],[11,R[72],E,E,4,[[["self"]],["bool"]]],[11,R[73],E,E,4,[[["self"]],["ss"]]],[11,R[74],E,E,4,[[["ss"]],["sp"]]],[11,R[75],E,E,4,[[["usize"]],[R[6]]]],[11,R[76],E,E,4,[[["usize"]],["bool"]]],[11,R[77],E,E,4,[[],["usize"]]],[11,R[78],R[86],E,5,[[["self"]],[T]]],[11,R[80],E,E,5,[[["self"],[T]]]],[11,"into",E,E,5,[[],[U]]],[11,"from",E,E,5,[[[T]],[T]]],[11,R[68],E,E,5,[[[U]],[R[81]]]],[11,R[69],E,E,5,[[],[R[81]]]],[11,R[70],E,E,5,[[["self"]],[T]]],[11,R[84],E,E,5,[[["self"]],[T]]],[11,R[82],E,E,5,[[["self"]],[R[85]]]],[11,R[71],E,E,5,[[["self"]],[R[6]]]],[11,R[72],E,E,5,[[["self"]],["bool"]]],[11,R[73],E,E,5,[[["self"]],["ss"]]],[11,R[74],E,E,5,[[["ss"]],["sp"]]],[11,R[75],E,E,5,[[["usize"]],[R[6]]]],[11,R[76],E,E,5,[[["usize"]],["bool"]]],[11,R[77],E,E,5,[[],["usize"]]],[11,R[78],E,E,6,[[["self"]],[T]]],[11,R[80],E,E,6,[[["self"],[T]]]],[11,"into",E,E,6,[[],[U]]],[11,"from",E,E,6,[[[T]],[T]]],[11,R[68],E,E,6,[[[U]],[R[81]]]],[11,R[69],E,E,6,[[],[R[81]]]],[11,R[70],E,E,6,[[["self"]],[T]]],[11,R[84],E,E,6,[[["self"]],[T]]],[11,R[82],E,E,6,[[["self"]],[R[85]]]],[11,R[71],E,E,6,[[["self"]],[R[6]]]],[11,R[72],E,E,6,[[["self"]],["bool"]]],[11,R[73],E,E,6,[[["self"]],["ss"]]],[11,R[74],E,E,6,[[["ss"]],["sp"]]],[11,R[75],E,E,6,[[["usize"]],[R[6]]]],[11,R[76],E,E,6,[[["usize"]],["bool"]]],[11,R[77],E,E,6,[[],["usize"]]],[11,R[78],E,E,10,[[["self"]],[T]]],[11,R[80],E,E,10,[[["self"],[T]]]],[11,"into",E,E,10,[[],[U]]],[11,"from",E,E,10,[[[T]],[T]]],[11,R[68],E,E,10,[[[U]],[R[81]]]],[11,R[69],E,E,10,[[],[R[81]]]],[11,R[70],E,E,10,[[["self"]],[T]]],[11,R[84],E,E,10,[[["self"]],[T]]],[11,R[82],E,E,10,[[["self"]],[R[85]]]],[11,R[71],E,E,10,[[["self"]],[R[6]]]],[11,R[72],E,E,10,[[["self"]],["bool"]]],[11,R[73],E,E,10,[[["self"]],["ss"]]],[11,R[74],E,E,10,[[["ss"]],["sp"]]],[11,R[75],E,E,10,[[["usize"]],[R[6]]]],[11,R[76],E,E,10,[[["usize"]],["bool"]]],[11,R[77],E,E,10,[[],["usize"]]],[11,R[78],R[28],E,11,[[["self"]],[T]]],[11,R[80],E,E,11,[[["self"],[T]]]],[11,"into",E,E,11,[[],[U]]],[11,"from",E,E,11,[[[T]],[T]]],[11,R[68],E,E,11,[[[U]],[R[81]]]],[11,R[69],E,E,11,[[],[R[81]]]],[11,R[70],E,E,11,[[["self"]],[T]]],[11,R[84],E,E,11,[[["self"]],[T]]],[11,R[82],E,E,11,[[["self"]],[R[85]]]],[11,R[71],E,E,11,[[["self"]],[R[6]]]],[11,R[72],E,E,11,[[["self"]],["bool"]]],[11,R[73],E,E,11,[[["self"]],["ss"]]],[11,R[74],E,E,11,[[["ss"]],["sp"]]],[11,R[75],E,E,11,[[["usize"]],[R[6]]]],[11,R[76],E,E,11,[[["usize"]],["bool"]]],[11,R[77],E,E,11,[[],["usize"]]],[11,R[78],E,E,12,[[["self"]],[T]]],[11,R[80],E,E,12,[[["self"],[T]]]],[11,"into",E,E,12,[[],[U]]],[11,"from",E,E,12,[[[T]],[T]]],[11,R[68],E,E,12,[[[U]],[R[81]]]],[11,R[69],E,E,12,[[],[R[81]]]],[11,R[70],E,E,12,[[["self"]],[T]]],[11,R[84],E,E,12,[[["self"]],[T]]],[11,R[82],E,E,12,[[["self"]],[R[85]]]],[11,R[71],E,E,12,[[["self"]],[R[6]]]],[11,R[72],E,E,12,[[["self"]],["bool"]]],[11,R[73],E,E,12,[[["self"]],["ss"]]],[11,R[74],E,E,12,[[["ss"]],["sp"]]],[11,R[75],E,E,12,[[["usize"]],[R[6]]]],[11,R[76],E,E,12,[[["usize"]],["bool"]]],[11,R[77],E,E,12,[[],["usize"]]],[11,R[78],E,E,13,[[["self"]],[T]]],[11,R[80],E,E,13,[[["self"],[T]]]],[11,"into",E,E,13,[[],[U]]],[11,"from",E,E,13,[[[T]],[T]]],[11,R[68],E,E,13,[[[U]],[R[81]]]],[11,R[69],E,E,13,[[],[R[81]]]],[11,R[70],E,E,13,[[["self"]],[T]]],[11,R[84],E,E,13,[[["self"]],[T]]],[11,R[82],E,E,13,[[["self"]],[R[85]]]],[11,R[71],E,E,13,[[["self"]],[R[6]]]],[11,R[72],E,E,13,[[["self"]],["bool"]]],[11,R[73],E,E,13,[[["self"]],["ss"]]],[11,R[74],E,E,13,[[["ss"]],["sp"]]],[11,R[75],E,E,13,[[["usize"]],[R[6]]]],[11,R[76],E,E,13,[[["usize"]],["bool"]]],[11,R[77],E,E,13,[[],["usize"]]],[11,R[78],E,E,14,[[["self"]],[T]]],[11,R[80],E,E,14,[[["self"],[T]]]],[11,"into",E,E,14,[[],[U]]],[11,"from",E,E,14,[[[T]],[T]]],[11,R[68],E,E,14,[[[U]],[R[81]]]],[11,R[69],E,E,14,[[],[R[81]]]],[11,R[70],E,E,14,[[["self"]],[T]]],[11,R[84],E,E,14,[[["self"]],[T]]],[11,R[82],E,E,14,[[["self"]],[R[85]]]],[11,R[71],E,E,14,[[["self"]],[R[6]]]],[11,R[72],E,E,14,[[["self"]],["bool"]]],[11,R[73],E,E,14,[[["self"]],["ss"]]],[11,R[74],E,E,14,[[["ss"]],["sp"]]],[11,R[75],E,E,14,[[["usize"]],[R[6]]]],[11,R[76],E,E,14,[[["usize"]],["bool"]]],[11,R[77],E,E,14,[[],["usize"]]],[11,R[78],E,E,15,[[["self"]],[T]]],[11,R[80],E,E,15,[[["self"],[T]]]],[11,"into",E,E,15,[[],[U]]],[11,"from",E,E,15,[[[T]],[T]]],[11,R[68],E,E,15,[[[U]],[R[81]]]],[11,R[69],E,E,15,[[],[R[81]]]],[11,R[70],E,E,15,[[["self"]],[T]]],[11,R[84],E,E,15,[[["self"]],[T]]],[11,R[82],E,E,15,[[["self"]],[R[85]]]],[11,R[71],E,E,15,[[["self"]],[R[6]]]],[11,R[72],E,E,15,[[["self"]],["bool"]]],[11,R[73],E,E,15,[[["self"]],["ss"]]],[11,R[74],E,E,15,[[["ss"]],["sp"]]],[11,R[75],E,E,15,[[["usize"]],[R[6]]]],[11,R[76],E,E,15,[[["usize"]],["bool"]]],[11,R[77],E,E,15,[[],["usize"]]],[11,R[78],E,E,16,[[["self"]],[T]]],[11,R[80],E,E,16,[[["self"],[T]]]],[11,"into",E,E,16,[[],[U]]],[11,"from",E,E,16,[[[T]],[T]]],[11,R[68],E,E,16,[[[U]],[R[81]]]],[11,R[69],E,E,16,[[],[R[81]]]],[11,R[70],E,E,16,[[["self"]],[T]]],[11,R[84],E,E,16,[[["self"]],[T]]],[11,R[82],E,E,16,[[["self"]],[R[85]]]],[11,R[71],E,E,16,[[["self"]],[R[6]]]],[11,R[72],E,E,16,[[["self"]],["bool"]]],[11,R[73],E,E,16,[[["self"]],["ss"]]],[11,R[74],E,E,16,[[["ss"]],["sp"]]],[11,R[75],E,E,16,[[["usize"]],[R[6]]]],[11,R[76],E,E,16,[[["usize"]],["bool"]]],[11,R[77],E,E,16,[[],["usize"]]],[11,R[78],R[87],E,19,[[["self"]],[T]]],[11,R[80],E,E,19,[[["self"],[T]]]],[11,"into",E,E,19,[[],[U]]],[11,"from",E,E,19,[[[T]],[T]]],[11,R[68],E,E,19,[[[U]],[R[81]]]],[11,R[69],E,E,19,[[],[R[81]]]],[11,R[70],E,E,19,[[["self"]],[T]]],[11,R[84],E,E,19,[[["self"]],[T]]],[11,R[82],E,E,19,[[["self"]],[R[85]]]],[11,R[71],E,E,19,[[["self"]],[R[6]]]],[11,R[72],E,E,19,[[["self"]],["bool"]]],[11,R[73],E,E,19,[[["self"]],["ss"]]],[11,R[74],E,E,19,[[["ss"]],["sp"]]],[11,R[75],E,E,19,[[["usize"]],[R[6]]]],[11,R[76],E,E,19,[[["usize"]],["bool"]]],[11,R[77],E,E,19,[[],["usize"]]],[11,"into",R[88],E,20,[[],[U]]],[11,"from",E,E,20,[[[T]],[T]]],[11,R[68],E,E,20,[[[U]],[R[81]]]],[11,R[69],E,E,20,[[],[R[81]]]],[11,R[70],E,E,20,[[["self"]],[T]]],[11,R[84],E,E,20,[[["self"]],[T]]],[11,R[82],E,E,20,[[["self"]],[R[85]]]],[11,R[71],E,E,20,[[["self"]],[R[6]]]],[11,R[72],E,E,20,[[["self"]],["bool"]]],[11,R[73],E,E,20,[[["self"]],["ss"]]],[11,R[74],E,E,20,[[["ss"]],["sp"]]],[11,R[75],E,E,20,[[["usize"]],[R[6]]]],[11,R[76],E,E,20,[[["usize"]],["bool"]]],[11,R[77],E,E,20,[[],["usize"]]],[11,"into",E,E,38,[[],[U]]],[11,"from",E,E,38,[[[T]],[T]]],[11,R[68],E,E,38,[[[U]],[R[81]]]],[11,R[69],E,E,38,[[],[R[81]]]],[11,R[70],E,E,38,[[["self"]],[T]]],[11,R[84],E,E,38,[[["self"]],[T]]],[11,R[82],E,E,38,[[["self"]],[R[85]]]],[11,R[71],E,E,38,[[["self"]],[R[6]]]],[11,R[72],E,E,38,[[["self"]],["bool"]]],[11,R[73],E,E,38,[[["self"]],["ss"]]],[11,R[74],E,E,38,[[["ss"]],["sp"]]],[11,R[75],E,E,38,[[["usize"]],[R[6]]]],[11,R[76],E,E,38,[[["usize"]],["bool"]]],[11,R[77],E,E,38,[[],["usize"]]],[11,R[78],R[89],E,21,[[["self"]],[T]]],[11,R[80],E,E,21,[[["self"],[T]]]],[11,"into",E,E,21,[[],[U]]],[11,"from",E,E,21,[[[T]],[T]]],[11,R[68],E,E,21,[[[U]],[R[81]]]],[11,R[69],E,E,21,[[],[R[81]]]],[11,R[70],E,E,21,[[["self"]],[T]]],[11,R[84],E,E,21,[[["self"]],[T]]],[11,R[82],E,E,21,[[["self"]],[R[85]]]],[11,R[71],E,E,21,[[["self"]],[R[6]]]],[11,R[72],E,E,21,[[["self"]],["bool"]]],[11,R[73],E,E,21,[[["self"]],["ss"]]],[11,R[74],E,E,21,[[["ss"]],["sp"]]],[11,R[75],E,E,21,[[["usize"]],[R[6]]]],[11,R[76],E,E,21,[[["usize"]],["bool"]]],[11,R[77],E,E,21,[[],["usize"]]],[11,R[78],R[90],E,39,[[["self"]],[T]]],[11,R[80],E,E,39,[[["self"],[T]]]],[11,"into",E,E,39,[[],[U]]],[11,"from",E,E,39,[[[T]],[T]]],[11,R[68],E,E,39,[[[U]],[R[81]]]],[11,R[69],E,E,39,[[],[R[81]]]],[11,R[70],E,E,39,[[["self"]],[T]]],[11,R[84],E,E,39,[[["self"]],[T]]],[11,R[82],E,E,39,[[["self"]],[R[85]]]],[11,R[71],E,E,39,[[["self"]],[R[6]]]],[11,R[72],E,E,39,[[["self"]],["bool"]]],[11,R[73],E,E,39,[[["self"]],["ss"]]],[11,R[74],E,E,39,[[["ss"]],["sp"]]],[11,R[75],E,E,39,[[["usize"]],[R[6]]]],[11,R[76],E,E,39,[[["usize"]],["bool"]]],[11,R[77],E,E,39,[[],["usize"]]],[11,R[78],R[91],E,23,[[["self"]],[T]]],[11,R[80],E,E,23,[[["self"],[T]]]],[11,"into",E,E,23,[[],[U]]],[11,"from",E,E,23,[[[T]],[T]]],[11,R[68],E,E,23,[[[U]],[R[81]]]],[11,R[69],E,E,23,[[],[R[81]]]],[11,R[70],E,E,23,[[["self"]],[T]]],[11,R[84],E,E,23,[[["self"]],[T]]],[11,R[82],E,E,23,[[["self"]],[R[85]]]],[11,R[71],E,E,23,[[["self"]],[R[6]]]],[11,R[72],E,E,23,[[["self"]],["bool"]]],[11,R[73],E,E,23,[[["self"]],["ss"]]],[11,R[74],E,E,23,[[["ss"]],["sp"]]],[11,R[75],E,E,23,[[["usize"]],[R[6]]]],[11,R[76],E,E,23,[[["usize"]],["bool"]]],[11,R[77],E,E,23,[[],["usize"]]],[11,R[78],E,E,40,[[["self"]],[T]]],[11,R[80],E,E,40,[[["self"],[T]]]],[11,"into",E,E,40,[[],[U]]],[11,"from",E,E,40,[[[T]],[T]]],[11,R[68],E,E,40,[[[U]],[R[81]]]],[11,R[69],E,E,40,[[],[R[81]]]],[11,R[70],E,E,40,[[["self"]],[T]]],[11,R[84],E,E,40,[[["self"]],[T]]],[11,R[82],E,E,40,[[["self"]],[R[85]]]],[11,R[71],E,E,40,[[["self"]],[R[6]]]],[11,R[72],E,E,40,[[["self"]],["bool"]]],[11,R[73],E,E,40,[[["self"]],["ss"]]],[11,R[74],E,E,40,[[["ss"]],["sp"]]],[11,R[75],E,E,40,[[["usize"]],[R[6]]]],[11,R[76],E,E,40,[[["usize"]],["bool"]]],[11,R[77],E,E,40,[[],["usize"]]],[11,R[78],R[92],E,24,[[["self"]],[T]]],[11,R[80],E,E,24,[[["self"],[T]]]],[11,"into",E,E,24,[[],[U]]],[11,"from",E,E,24,[[[T]],[T]]],[11,R[68],E,E,24,[[[U]],[R[81]]]],[11,R[69],E,E,24,[[],[R[81]]]],[11,R[70],E,E,24,[[["self"]],[T]]],[11,R[84],E,E,24,[[["self"]],[T]]],[11,R[82],E,E,24,[[["self"]],[R[85]]]],[11,R[71],E,E,24,[[["self"]],[R[6]]]],[11,R[72],E,E,24,[[["self"]],["bool"]]],[11,R[73],E,E,24,[[["self"]],["ss"]]],[11,R[74],E,E,24,[[["ss"]],["sp"]]],[11,R[75],E,E,24,[[["usize"]],[R[6]]]],[11,R[76],E,E,24,[[["usize"]],["bool"]]],[11,R[77],E,E,24,[[],["usize"]]],[11,"decode",E,E,24,[[["self"],["l"]]]],[11,R[119],E,E,24,[[["self"],["i"]],[[R[93]],[R[81],[R[93]]]]]],[11,R[78],R[94],E,25,[[["self"]],[T]]],[11,R[80],E,E,25,[[["self"],[T]]]],[11,"into",E,E,25,[[],[U]]],[11,"from",E,E,25,[[[T]],[T]]],[11,R[68],E,E,25,[[[U]],[R[81]]]],[11,R[69],E,E,25,[[],[R[81]]]],[11,R[70],E,E,25,[[["self"]],[T]]],[11,R[84],E,E,25,[[["self"]],[T]]],[11,R[82],E,E,25,[[["self"]],[R[85]]]],[11,R[71],E,E,25,[[["self"]],[R[6]]]],[11,R[72],E,E,25,[[["self"]],["bool"]]],[11,R[73],E,E,25,[[["self"]],["ss"]]],[11,R[74],E,E,25,[[["ss"]],["sp"]]],[11,R[75],E,E,25,[[["usize"]],[R[6]]]],[11,R[76],E,E,25,[[["usize"]],["bool"]]],[11,R[77],E,E,25,[[],["usize"]]],[11,R[78],E,E,26,[[["self"]],[T]]],[11,R[80],E,E,26,[[["self"],[T]]]],[11,"into",E,E,26,[[],[U]]],[11,"from",E,E,26,[[[T]],[T]]],[11,R[68],E,E,26,[[[U]],[R[81]]]],[11,R[69],E,E,26,[[],[R[81]]]],[11,R[70],E,E,26,[[["self"]],[T]]],[11,R[84],E,E,26,[[["self"]],[T]]],[11,R[82],E,E,26,[[["self"]],[R[85]]]],[11,R[71],E,E,26,[[["self"]],[R[6]]]],[11,R[72],E,E,26,[[["self"]],["bool"]]],[11,R[73],E,E,26,[[["self"]],["ss"]]],[11,R[74],E,E,26,[[["ss"]],["sp"]]],[11,R[75],E,E,26,[[["usize"]],[R[6]]]],[11,R[76],E,E,26,[[["usize"]],["bool"]]],[11,R[77],E,E,26,[[],["usize"]]],[11,R[78],E,E,27,[[["self"]],[T]]],[11,R[80],E,E,27,[[["self"],[T]]]],[11,"into",E,E,27,[[],[U]]],[11,"from",E,E,27,[[[T]],[T]]],[11,R[68],E,E,27,[[[U]],[R[81]]]],[11,R[69],E,E,27,[[],[R[81]]]],[11,R[70],E,E,27,[[["self"]],[T]]],[11,R[84],E,E,27,[[["self"]],[T]]],[11,R[82],E,E,27,[[["self"]],[R[85]]]],[11,R[71],E,E,27,[[["self"]],[R[6]]]],[11,R[72],E,E,27,[[["self"]],["bool"]]],[11,R[73],E,E,27,[[["self"]],["ss"]]],[11,R[74],E,E,27,[[["ss"]],["sp"]]],[11,R[75],E,E,27,[[["usize"]],[R[6]]]],[11,R[76],E,E,27,[[["usize"]],["bool"]]],[11,R[77],E,E,27,[[],["usize"]]],[11,R[78],R[95],E,41,[[["self"]],[T]]],[11,R[80],E,E,41,[[["self"],[T]]]],[11,"into",E,E,41,[[],[U]]],[11,"from",E,E,41,[[[T]],[T]]],[11,R[68],E,E,41,[[[U]],[R[81]]]],[11,R[69],E,E,41,[[],[R[81]]]],[11,R[70],E,E,41,[[["self"]],[T]]],[11,R[84],E,E,41,[[["self"]],[T]]],[11,R[82],E,E,41,[[["self"]],[R[85]]]],[11,R[71],E,E,41,[[["self"]],[R[6]]]],[11,R[72],E,E,41,[[["self"]],["bool"]]],[11,R[73],E,E,41,[[["self"]],["ss"]]],[11,R[74],E,E,41,[[["ss"]],["sp"]]],[11,R[75],E,E,41,[[["usize"]],[R[6]]]],[11,R[76],E,E,41,[[["usize"]],["bool"]]],[11,R[77],E,E,41,[[],["usize"]]],[11,R[78],E,E,31,[[["self"]],[T]]],[11,R[80],E,E,31,[[["self"],[T]]]],[11,"into",E,E,31,[[],[U]]],[11,"from",E,E,31,[[[T]],[T]]],[11,R[68],E,E,31,[[[U]],[R[81]]]],[11,R[69],E,E,31,[[],[R[81]]]],[11,R[70],E,E,31,[[["self"]],[T]]],[11,R[84],E,E,31,[[["self"]],[T]]],[11,R[82],E,E,31,[[["self"]],[R[85]]]],[11,R[71],E,E,31,[[["self"]],[R[6]]]],[11,R[72],E,E,31,[[["self"]],["bool"]]],[11,R[73],E,E,31,[[["self"]],["ss"]]],[11,R[74],E,E,31,[[["ss"]],["sp"]]],[11,R[75],E,E,31,[[["usize"]],[R[6]]]],[11,R[76],E,E,31,[[["usize"]],["bool"]]],[11,R[77],E,E,31,[[],["usize"]]],[11,R[78],E,E,28,[[["self"]],[T]]],[11,R[80],E,E,28,[[["self"],[T]]]],[11,"into",E,E,28,[[],[U]]],[11,"from",E,E,28,[[[T]],[T]]],[11,R[68],E,E,28,[[[U]],[R[81]]]],[11,R[69],E,E,28,[[],[R[81]]]],[11,R[70],E,E,28,[[["self"]],[T]]],[11,R[84],E,E,28,[[["self"]],[T]]],[11,R[82],E,E,28,[[["self"]],[R[85]]]],[11,R[71],E,E,28,[[["self"]],[R[6]]]],[11,R[72],E,E,28,[[["self"]],["bool"]]],[11,R[73],E,E,28,[[["self"]],["ss"]]],[11,R[74],E,E,28,[[["ss"]],["sp"]]],[11,R[75],E,E,28,[[["usize"]],[R[6]]]],[11,R[76],E,E,28,[[["usize"]],["bool"]]],[11,R[77],E,E,28,[[],["usize"]]],[11,"into",R[96],E,32,[[],[U]]],[11,"from",E,E,32,[[[T]],[T]]],[11,R[68],E,E,32,[[[U]],[R[81]]]],[11,R[69],E,E,32,[[],[R[81]]]],[11,R[70],E,E,32,[[["self"]],[T]]],[11,R[84],E,E,32,[[["self"]],[T]]],[11,R[82],E,E,32,[[["self"]],[R[85]]]],[11,R[71],E,E,32,[[["self"]],[R[6]]]],[11,R[72],E,E,32,[[["self"]],["bool"]]],[11,R[73],E,E,32,[[["self"]],["ss"]]],[11,R[74],E,E,32,[[["ss"]],["sp"]]],[11,R[75],E,E,32,[[["usize"]],[R[6]]]],[11,R[76],E,E,32,[[["usize"]],["bool"]]],[11,R[77],E,E,32,[[],["usize"]]],[11,R[78],R[97],E,33,[[["self"]],[T]]],[11,R[80],E,E,33,[[["self"],[T]]]],[11,"into",E,E,33,[[],[U]]],[11,"from",E,E,33,[[[T]],[T]]],[11,R[68],E,E,33,[[[U]],[R[81]]]],[11,R[69],E,E,33,[[],[R[81]]]],[11,R[70],E,E,33,[[["self"]],[T]]],[11,R[84],E,E,33,[[["self"]],[T]]],[11,R[82],E,E,33,[[["self"]],[R[85]]]],[11,R[71],E,E,33,[[["self"]],[R[6]]]],[11,R[72],E,E,33,[[["self"]],["bool"]]],[11,R[73],E,E,33,[[["self"]],["ss"]]],[11,R[74],E,E,33,[[["ss"]],["sp"]]],[11,R[75],E,E,33,[[["usize"]],[R[6]]]],[11,R[76],E,E,33,[[["usize"]],["bool"]]],[11,R[77],E,E,33,[[],["usize"]]],[11,R[78],E,E,34,[[["self"]],[T]]],[11,R[80],E,E,34,[[["self"],[T]]]],[11,"into",E,E,34,[[],[U]]],[11,"from",E,E,34,[[[T]],[T]]],[11,R[68],E,E,34,[[[U]],[R[81]]]],[11,R[69],E,E,34,[[],[R[81]]]],[11,R[70],E,E,34,[[["self"]],[T]]],[11,R[84],E,E,34,[[["self"]],[T]]],[11,R[82],E,E,34,[[["self"]],[R[85]]]],[11,R[71],E,E,34,[[["self"]],[R[6]]]],[11,R[72],E,E,34,[[["self"]],["bool"]]],[11,R[73],E,E,34,[[["self"]],["ss"]]],[11,R[74],E,E,34,[[["ss"]],["sp"]]],[11,R[75],E,E,34,[[["usize"]],[R[6]]]],[11,R[76],E,E,34,[[["usize"]],["bool"]]],[11,R[77],E,E,34,[[],["usize"]]],[11,R[78],E,E,42,[[["self"]],[T]]],[11,R[80],E,E,42,[[["self"],[T]]]],[11,"into",E,E,42,[[],[U]]],[11,"from",E,E,42,[[[T]],[T]]],[11,R[68],E,E,42,[[[U]],[R[81]]]],[11,R[69],E,E,42,[[],[R[81]]]],[11,R[70],E,E,42,[[["self"]],[T]]],[11,R[84],E,E,42,[[["self"]],[T]]],[11,R[82],E,E,42,[[["self"]],[R[85]]]],[11,R[71],E,E,42,[[["self"]],[R[6]]]],[11,R[72],E,E,42,[[["self"]],["bool"]]],[11,R[73],E,E,42,[[["self"]],["ss"]]],[11,R[74],E,E,42,[[["ss"]],["sp"]]],[11,R[75],E,E,42,[[["usize"]],[R[6]]]],[11,R[76],E,E,42,[[["usize"]],["bool"]]],[11,R[77],E,E,42,[[],["usize"]]],[11,"into",R[98],E,35,[[],[U]]],[11,"from",E,E,35,[[[T]],[T]]],[11,R[68],E,E,35,[[[U]],[R[81]]]],[11,R[69],E,E,35,[[],[R[81]]]],[11,R[70],E,E,35,[[["self"]],[T]]],[11,R[84],E,E,35,[[["self"]],[T]]],[11,R[82],E,E,35,[[["self"]],[R[85]]]],[11,R[71],E,E,35,[[["self"]],[R[6]]]],[11,R[72],E,E,35,[[["self"]],["bool"]]],[11,R[73],E,E,35,[[["self"]],["ss"]]],[11,R[74],E,E,35,[[["ss"]],["sp"]]],[11,R[75],E,E,35,[[["usize"]],[R[6]]]],[11,R[76],E,E,35,[[["usize"]],["bool"]]],[11,R[77],E,E,35,[[],["usize"]]],[11,"into",R[99],E,36,[[],[U]]],[11,"from",E,E,36,[[[T]],[T]]],[11,R[68],E,E,36,[[[U]],[R[81]]]],[11,R[69],E,E,36,[[],[R[81]]]],[11,R[70],E,E,36,[[["self"]],[T]]],[11,R[84],E,E,36,[[["self"]],[T]]],[11,R[82],E,E,36,[[["self"]],[R[85]]]],[11,R[71],E,E,36,[[["self"]],[R[6]]]],[11,R[72],E,E,36,[[["self"]],["bool"]]],[11,R[73],E,E,36,[[["self"]],["ss"]]],[11,R[74],E,E,36,[[["ss"]],["sp"]]],[11,R[75],E,E,36,[[["usize"]],[R[6]]]],[11,R[76],E,E,36,[[["usize"]],["bool"]]],[11,R[77],E,E,36,[[],["usize"]]],[11,R[78],R[100],E,37,[[["self"]],[T]]],[11,R[80],E,E,37,[[["self"],[T]]]],[11,"into",E,E,37,[[],[U]]],[11,"from",E,E,37,[[[T]],[T]]],[11,R[68],E,E,37,[[[U]],[R[81]]]],[11,R[69],E,E,37,[[],[R[81]]]],[11,R[70],E,E,37,[[["self"]],[T]]],[11,R[84],E,E,37,[[["self"]],[T]]],[11,R[82],E,E,37,[[["self"]],[R[85]]]],[11,R[71],E,E,37,[[["self"]],[R[6]]]],[11,R[72],E,E,37,[[["self"]],["bool"]]],[11,R[73],E,E,37,[[["self"]],["ss"]]],[11,R[74],E,E,37,[[["ss"]],["sp"]]],[11,R[75],E,E,37,[[["usize"]],[R[6]]]],[11,R[76],E,E,37,[[["usize"]],["bool"]]],[11,R[77],E,E,37,[[],["usize"]]],[11,R[14],R[86],E,5,[[["self"]],[["vec",[R[108]]],[R[108]]]]],[11,R[101],E,E,5,[[["self"]],["vec"]]],[11,R[31],E,E,5,[[["self"]],["h"]]],[11,R[14],E,E,10,[[["self"]],["vec"]]],[11,R[101],E,E,10,[[["self"]],["vec"]]],[11,R[31],E,E,10,[[["self"]],["h"]]],[11,R[14],E,E,5,[[["self"]],["vec"]]],[11,R[42],E,E,5,[[["self"]]]],[11,R[102],E,E,5,[[["self"]],["vec"]]],[11,R[15],E,E,5,[[["self"]],[["arc",[R[10]]],[R[6],["arc"]]]]],[11,R[43],E,E,5,[[["self"]],[[R[6],["arc"]],["arc",[R[7]]]]]],[11,R[14],E,E,6,[[["self"]],["vec"]]],[11,R[42],E,E,6,[[["self"]]]],[11,R[102],E,E,6,[[["self"]],["vec"]]],[11,R[15],E,E,6,[[["self"]],[["arc",[R[10]]],[R[6],["arc"]]]]],[11,R[43],E,E,6,[[["self"]],[[R[6],["arc"]],["arc",[R[7]]]]]],[11,R[14],R[98],E,35,[[["self"]],["vec"]]],[11,R[42],E,E,35,[[["self"]]]],[11,R[102],E,E,35,[[["self"]],["vec"]]],[11,R[15],E,E,35,[[["self"]],[["arc",[R[10]]],[R[6],["arc"]]]]],[11,R[43],E,E,35,[[["self"]],[[R[6],["arc"]],["arc",[R[7]]]]]],[11,"new",R[90],R[106],39,[[["arc",[R[20]]],["arc",[R[29]]],[R[29]],[R[30]],[R[5]],["arc",[R[30]]],[R[20]]],[R[105]]]],[11,R[58],E,E,39,[[["self"]],[R[5]]]],[11,R[31],E,E,39,[[["self"]],[["arc",[R[20]]],[R[20]]]]],[11,R[55],E,E,39,[[["self"]],[["arc",[R[32]]],[R[32]]]]],[11,R[103],E,E,39,[[["self"]],[["arc",[R[29]]],[R[29]]]]],[11,R[104],E,E,39,[[["arc",[R[29]]],[R[29]]],[R[105]]]],[11,"new",R[91],R[106],40,[[["arc",[R[20]]],["arc",[R[29]]],[R[29]],[R[30]],[R[5]],["arc",[R[30]]],[R[20]]],[R[107]]]],[11,R[58],E,E,40,[[["self"]],[R[5]]]],[11,R[31],E,E,40,[[["self"]],[["arc",[R[20]]],[R[20]]]]],[11,R[55],E,E,40,[[["self"]],[["arc",[R[32]]],[R[32]]]]],[11,R[103],E,E,40,[[["self"]],[["arc",[R[29]]],[R[29]]]]],[11,R[104],E,E,40,[[["arc",[R[29]]],[R[29]]],[R[107]]]],[11,R[109],R[67],E,1,[[],["vertex2d"]]],[11,R[109],R[79],E,2,[[],[R[108]]]],[11,R[109],E,E,3,[[],[R[110]]]],[11,R[109],R[91],E,23,[[],[R[111]]]],[11,R[109],R[92],E,24,[[],[R[16]]]],[11,R[109],R[28],E,11,[[],[R[12]]]],[11,R[109],E,E,12,[[],[R[10]]]],[11,R[109],E,E,13,[[],[R[7]]]],[11,R[109],E,E,14,[[],[R[114]]]],[11,R[109],E,E,15,[[],[R[20]]]],[11,R[109],E,E,16,[[],[R[8]]]],[11,R[109],R[97],E,33,[[],[R[53]]]],[11,R[109],E,E,42,[[],[R[116]]]],[11,"clone",R[67],E,1,[[["self"]],["vertex2d"]]],[11,"clone",R[79],E,2,[[["self"]],[R[108]]]],[11,"clone",E,E,3,[[["self"]],[R[110]]]],[11,"clone",R[86],E,5,[[["self"]],["sprite"]]],[11,"clone",E,E,6,[[["self"]],["poly"]]],[11,"clone",E,E,10,[[["self"]],["text"]]],[11,"clone",R[87],E,19,[[["self"]],[R[45]]]],[11,"clone",R[89],E,21,[[["self"]],[R[112]]]],[11,"clone",R[90],E,39,[[["self"]],[R[105]]]],[11,"clone",R[91],E,23,[[["self"]],[R[111]]]],[11,"clone",E,E,40,[[["self"]],[R[107]]]],[11,"clone",R[92],E,24,[[["self"]],[R[16]]]],[11,"clone",R[94],E,25,[[["self"]],[R[113]]]],[11,"clone",E,E,26,[[["self"]],["canvasimage"]]],[11,"clone",E,E,27,[[["self"]],["canvasfont"]]],[11,"clone",R[95],E,28,[[["self"]],[R[112]]]],[11,"clone",E,E,41,[[["self"]],[R[113]]]],[11,"clone",E,E,31,[[["self"]],[R[45]]]],[11,"clone",R[28],E,11,[[["self"]],[R[12]]]],[11,"clone",E,E,12,[[["self"]],[R[10]]]],[11,"clone",E,E,13,[[["self"]],[R[7]]]],[11,"clone",E,E,14,[[["self"]],[R[114]]]],[11,"clone",E,E,15,[[["self"]],[R[20]]]],[11,"clone",E,E,16,[[["self"]],[R[8]]]],[11,"clone",R[97],E,33,[[["self"]],[R[53]]]],[11,"clone",E,E,34,[[["self"]],[R[115]]]],[11,"clone",E,E,42,[[["self"]],[R[116]]]],[11,"clone",R[100],E,37,[[["self"]],[R[117]]]],[11,"eq",R[89],E,21,[[["self"],[R[112]]],["bool"]]],[11,"eq",R[95],E,28,[[["self"],[R[112]]],["bool"]]],[11,"eq",R[28],E,11,[[["self"],[R[12]]],["bool"]]],[11,"ne",E,E,11,[[["self"],[R[12]]],["bool"]]],[11,"eq",E,E,12,[[["self"],[R[10]]],["bool"]]],[11,"ne",E,E,12,[[["self"],[R[10]]],["bool"]]],[11,"eq",E,E,13,[[["self"],[R[7]]],["bool"]]],[11,"ne",E,E,13,[[["self"],[R[7]]],["bool"]]],[11,"eq",E,E,14,[[["self"],[R[114]]],["bool"]]],[11,"ne",E,E,14,[[["self"],[R[114]]],["bool"]]],[11,"eq",E,E,15,[[["self"],[R[20]]],["bool"]]],[11,"ne",E,E,15,[[["self"],[R[20]]],["bool"]]],[11,"eq",E,E,16,[[["self"],[R[8]]],["bool"]]],[11,"ne",E,E,16,[[["self"],[R[8]]],["bool"]]],[11,"eq",R[97],E,33,[[["self"],[R[53]]],["bool"]]],[11,"ne",E,E,33,[[["self"],[R[53]]],["bool"]]],[11,"hash",R[89],E,21,[[["self"],["__h"]]]],[11,"hash",R[95],E,28,[[["self"],["__h"]]]],[11,"hash",R[28],E,11,[[["self"],["__h"]]]],[11,"hash",E,E,12,[[["self"],["__h"]]]],[11,"hash",E,E,13,[[["self"],["__h"]]]],[11,"hash",E,E,14,[[["self"],["__h"]]]],[11,"hash",E,E,15,[[["self"],["__h"]]]],[11,"hash",E,E,16,[[["self"],["__h"]]]],[11,"hash",R[97],E,33,[[["self"],["__h"]]]],[11,"fmt",R[67],E,1,[[["self"],[R[118]]],[R[81]]]],[11,"fmt",R[79],E,2,[[["self"],[R[118]]],[R[81]]]],[11,"fmt",E,E,3,[[["self"],[R[118]]],[R[81]]]],[11,"fmt",R[86],E,5,[[["self"],[R[118]]],[R[81]]]],[11,"fmt",E,E,6,[[["self"],[R[118]]],[R[81]]]],[11,"fmt",E,E,10,[[["self"],[R[118]]],[R[81]]]],[11,"fmt",R[91],E,23,[[["self"],[R[118]]],[R[81]]]],[11,"fmt",R[92],E,24,[[["self"],[R[118]]],[R[81]]]],[11,"fmt",R[28],E,11,[[["self"],[R[118]]],[R[81]]]],[11,"fmt",E,E,12,[[["self"],[R[118]]],[R[81]]]],[11,"fmt",E,E,13,[[["self"],[R[118]]],[R[81]]]],[11,"fmt",E,E,14,[[["self"],[R[118]]],[R[81]]]],[11,"fmt",E,E,15,[[["self"],[R[118]]],[R[81]]]],[11,"fmt",E,E,16,[[["self"],[R[118]]],[R[81]]]],[11,"fmt",R[97],E,33,[[["self"],[R[118]]],[R[81]]]],[11,"fmt",E,E,42,[[["self"],[R[118]]],[R[81]]]],[11,"decode",R[92],E,24,[[["self"],["vec",["arc"]],["arc",["bufferaccess"]]]]],[11,"descriptors",R[97],E,42,[[]]],[11,R[119],R[92],"Builds the vertex definition to use to link this…",24,[[["self"],["i"]],[[R[93]],[R[81],[R[93]]]]]],[11,"member",R[67],E,1,[[["str"]],[[R[6],[R[120]]],[R[120]]]]],[11,"member",R[79],E,2,[[["str"]],[[R[6],[R[120]]],[R[120]]]]],[11,"member",E,E,3,[[["str"]],[[R[6],[R[120]]],[R[120]]]]],[11,"member",R[91],E,23,[[["str"]],[[R[6],[R[120]]],[R[120]]]]]],"p":[[3,"Timer"],[3,"Vertex2D"],[3,"Vertex3D"],[3,R[121]],[3,R[122]],[3,"Sprite"],[3,"Poly"],[8,R[123]],[8,R[124]],[8,R[125]],[3,"Text"],[3,R[126]],[3,R[127]],[3,R[128]],[3,R[129]],[3,R[130]],[3,R[131]],[8,R[132]],[8,R[41]],[3,R[38]],[3,R[133]],[4,R[39]],[8,R[134]],[3,R[135]],[3,R[136]],[3,R[37]],[3,R[137]],[3,R[138]],[4,R[39]],[8,"Vertex"],[8,R[41]],[3,R[38]],[3,R[139]],[3,R[140]],[3,R[141]],[3,R[142]],[3,R[143]],[3,R[144]],[3,R[145]],[3,R[146]],[3,R[147]],[3,R[37]],[3,R[148]]]};
+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]]]};
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 cb6003a5..1c9288e5 100644
--- a/doc/sfml_rust/all.html
+++ b/doc/sfml_rust/all.html
@@ -1,3 +1,3 @@