﻿<?xml version="1.0" encoding="utf-8"?>
<Document xmlns:p="property" xmlns:r="reflection" Id="BFafROoiYBzPVgZY3491nS" LanguageVersion="2025.7.2" Version="0.128">
  <NugetDependency Id="DPtgObojUSaQZqCoWyH23Y" Location="VL.CoreLib" Version="2025.7.2" />
  <Patch Id="VMzIlhH6mQNPCtc9W0ZlrE">
    <Canvas Id="KX0gl3JcJhdOUdmN4SMC3M" DefaultCategory="Main" CanvasType="FullCategory" />
    <!--

    ************************ Application ************************

-->
    <Node Name="Application" Bounds="100,100" Id="LGCP2Y3sOYrNRttS769wPQ">
      <p:NodeReference>
        <Choice Kind="ContainerDefinition" Name="Process" />
        <FullNameCategoryReference ID="Primitive" />
      </p:NodeReference>
      <Patch Id="D1A29EYYdy2MkenOtXRLhr">
        <Canvas Id="MkrCTJBO6AbP7yurpIQlQ3" CanvasType="Group">
          <Node Bounds="105,1545,101,19" Id="GuCadV7F1FSMkXbrnoOhvJ">
            <p:NodeReference LastCategoryFullName="Stride.Utils" LastDependency="VL.Stride.Runtime.vl">
              <Choice Kind="NodeFlag" Name="Node" Fixed="true" />
              <Choice Kind="ProcessAppFlag" Name="RendererScheduler" />
            </p:NodeReference>
            <Pin Id="Kf6ffMUMpUvL7qgXTkb70A" Name="Node Context" Kind="InputPin" IsHidden="true" />
            <Pin Id="V6iig81eOqKOV2Q0qKOhBX" Name="Renderer" Kind="InputPin" />
            <Pin Id="Vt70UR5GiCDLbTlRqOJv6I" Name="Output" Kind="OutputPin" />
          </Node>
          <Node Bounds="1015,550,106,19" Id="AxRiZ7dfxPoORJmCxVu8i6">
            <p:NodeReference LastCategoryFullName="Stride.Textures" LastDependency="VL.Stride.Runtime.vl">
              <Choice Kind="NodeFlag" Name="Node" Fixed="true" />
              <Choice Kind="ProcessAppFlag" Name="ComputeTexture2D" />
            </p:NodeReference>
            <Pin Id="KWOx4KgR7KwPaIH1Ad9eUb" Name="Node Context" Kind="InputPin" IsHidden="true" />
            <Pin Id="DfwbZJmlywBMMPf3U3yaTx" Name="Size" Kind="InputPin" />
            <Pin Id="OyRCvwN0vjjQACsLnAwwJg" Name="Initial Data" Kind="InputPin" IsHidden="true" />
            <Pin Id="U5NrgwfOBucQUvptitq3X3" Name="Array Size" Kind="InputPin" IsHidden="true" />
            <Pin Id="MBYHC1pf4OPPT1nA0SENwa" Name="Mip Levels" Kind="InputPin" IsHidden="true" />
            <Pin Id="Un8g1CU74pSPgZwjwikloR" Name="Format" Kind="InputPin" />
            <Pin Id="RFLmPhDeXY5OZ3QOWG4z2c" Name="View Format" Kind="InputPin" />
            <Pin Id="BQYRc9ufZt7L3Fnx1r4ikH" Name="Is Unordered Access" Kind="InputPin" IsHidden="true" />
            <Pin Id="GSsOY3952yxM4r1Cof5FYe" Name="Is Render Target" Kind="InputPin" IsHidden="true" />
            <Pin Id="VIwHryYhGPTOZO1sUhUMJs" Name="Is Depth Stencil" Kind="InputPin" IsHidden="true" />
            <Pin Id="J1bCagTvdTJNvhWBEuF8eF" Name="Is Shared" Kind="InputPin" IsHidden="true" />
            <Pin Id="I1w6SndOTYnM6O2eoBOUo5" Name="Recreate" Kind="InputPin" />
            <Pin Id="L39cso7qriALUH5RzJYI8R" Name="Output" Kind="OutputPin" />
            <Pin Id="TB3EzfPtQjsNMHrnLTPIKu" Name="Has Changed" Kind="OutputPin" />
          </Node>
          <Node Bounds="1015,720,60,19" Id="D44i2dxbYPtQNRAixs7CeA">
            <p:NodeReference LastCategoryFullName="Fuse.Core.Texture" LastDependency="VL.Fuse.vl">
              <Choice Kind="NodeFlag" Name="Node" Fixed="true" />
              <Choice Kind="ProcessAppFlag" Name="TextureIn (Fuse)" />
            </p:NodeReference>
            <Pin Id="UdDi5QJHWaOLMEw33FLz9p" Name="Node Context" Kind="InputPin" IsHidden="true" />
            <Pin Id="DMfFZZ4PlMcP2mFVbpyLBB" Name="Texture" Kind="InputPin" />
            <Pin Id="PHLNQBZF58ZNlntFAKWRp9" Name="RW" Kind="InputPin" DefaultValue="True" />
            <Pin Id="MYY94j2vC2cMBbalc4bid6" Name="Output" Kind="OutputPin" />
          </Node>
          <Node Bounds="1015,1600,65,19" Id="MD0N815gXCEQGmiqPLxixx">
            <p:NodeReference LastCategoryFullName="Fuse.Core.ComputeShader.FixedType" LastDependency="VL.Fuse.vl">
              <Choice Kind="NodeFlag" Name="Node" Fixed="true" />
              <Choice Kind="ProcessAppFlag" Name="TextureSet" />
            </p:NodeReference>
            <Pin Id="LAbZxWLVZYLOGOOSVIOren" Name="Node Context" Kind="InputPin" IsHidden="true" />
            <Pin Id="K4qBarg54fQPThkEU2wNcK" Name="Texture" Kind="InputPin" />
            <Pin Id="PIRFKGlw2ihNazyzmlFKTG" Name="index" Kind="InputPin" />
            <Pin Id="PAF7Bq0oYFrM8kxFoN9YSJ" Name="value" Kind="InputPin" />
            <Pin Id="LqyCSMGlmnFLiBILKKbQBs" Name="Output" Kind="OutputPin" />
          </Node>
          <Node Bounds="350,1250,65,19" Id="Df0LN0Fb6n0Ot14OIf5svg">
            <p:NodeReference LastCategoryFullName="Fuse.Core.ComputeShader.FixedType" LastDependency="VL.Fuse.vl">
              <Choice Kind="NodeFlag" Name="Node" Fixed="true" />
              <Choice Kind="ProcessAppFlag" Name="TextureSet" />
            </p:NodeReference>
            <p:HelpFocus p:Assembly="VL.Lang" p:Type="VL.Model.HelpPriority">High</p:HelpFocus>
            <Pin Id="VRBirAZ1O7aLTTD5LIuhAA" Name="Node Context" Kind="InputPin" IsHidden="true" />
            <Pin Id="CmtEImfmDFMOukJwiEDnnf" Name="Texture" Kind="InputPin" />
            <Pin Id="EGbY1GlTxmZLEWBJPr7W3X" Name="index" Kind="InputPin" />
            <Pin Id="V2nYXptKzJqO4LDB4L0omd" Name="value" Kind="InputPin" />
            <Pin Id="Vvq2rMzqXshQCHoae3sudS" Name="Output" Kind="OutputPin" />
          </Node>
          <Node Bounds="350,550,106,19" Id="Le7z0wfVcQ3NkZmr8fSydg">
            <p:NodeReference LastCategoryFullName="Stride.Textures" LastDependency="VL.Stride.Runtime.vl">
              <Choice Kind="NodeFlag" Name="Node" Fixed="true" />
              <Choice Kind="ProcessAppFlag" Name="ComputeTexture2D" />
            </p:NodeReference>
            <Pin Id="IsBopMgb0KrOGLzIAaqQlI" Name="Node Context" Kind="InputPin" IsHidden="true" />
            <Pin Id="JDC6IXham7IMHuErg5Fq1h" Name="Size" Kind="InputPin" />
            <Pin Id="CMtma309XECO9NluiMXNKn" Name="Initial Data" Kind="InputPin" IsHidden="true" />
            <Pin Id="Lti7TItmWMtPotzFvtLGmh" Name="Array Size" Kind="InputPin" IsHidden="true" />
            <Pin Id="LZxKjFG8Vu0MDqqOGYL54I" Name="Mip Levels" Kind="InputPin" IsHidden="true" />
            <Pin Id="IJpCWl6QnjvL91w8yjlft6" Name="Format" Kind="InputPin" />
            <Pin Id="BLHKiPIp8axLOv1CXen2QJ" Name="View Format" Kind="InputPin" />
            <Pin Id="Hsxsznl05HaNktYaCEowfm" Name="Is Unordered Access" Kind="InputPin" IsHidden="true" />
            <Pin Id="Bk3n4D6cn0wMm67In3m8D9" Name="Is Render Target" Kind="InputPin" IsHidden="true" />
            <Pin Id="OYiOxzdtTf3NtXieMIyFHg" Name="Is Depth Stencil" Kind="InputPin" IsHidden="true" />
            <Pin Id="GdXHyMQ7cqJQQPpi0S7Fgi" Name="Is Shared" Kind="InputPin" IsHidden="true" />
            <Pin Id="TzM9FOh3qupQNk7qh4CaMo" Name="Recreate" Kind="InputPin" />
            <Pin Id="MjlkRUm6umPOzf5ofvy08V" Name="Output" Kind="OutputPin" />
            <Pin Id="O4ewP0XkwYuOi5IUsr2MzL" Name="Has Changed" Kind="OutputPin" />
          </Node>
          <Node Bounds="350,720,60,19" Id="H4XvS7ylF8PQI6ALOTaQIY">
            <p:NodeReference LastCategoryFullName="Fuse.Core.Texture" LastDependency="VL.Fuse.vl">
              <Choice Kind="NodeFlag" Name="Node" Fixed="true" />
              <Choice Kind="ProcessAppFlag" Name="TextureIn (Fuse)" />
            </p:NodeReference>
            <p:HelpFocus p:Assembly="VL.Lang" p:Type="VL.Model.HelpPriority">High</p:HelpFocus>
            <Pin Id="J2mIRCsFMSkNwK8imnk1kX" Name="Node Context" Kind="InputPin" IsHidden="true" />
            <Pin Id="CZTHkJL9xy8OCZeDZxRHSx" Name="Texture" Kind="InputPin" />
            <Pin Id="HXmD7Cjk8FQLBT5Uq1mJV1" Name="RW" Kind="InputPin" DefaultValue="True" />
            <Pin Id="Is85HJfmL2qNiPEC7m6qiS" Name="Output" Kind="OutputPin" />
          </Node>
          <Pad Id="FSTZvxo4WEUNgCZefNj3av" Comment="Format" Bounds="403,520,174,15" ShowValueBox="true" isIOBox="true" Value="R32G32_Float">
            <p:TypeAnnotation LastCategoryFullName="Stride.API.Graphics" LastDependency="VL.Stride.vl">
              <Choice Kind="TypeFlag" Name="PixelFormat" />
            </p:TypeAnnotation>
          </Pad>
          <Pad Id="NSJ50RgazpFLIz8gdKtjNC" Comment="Resolution" Bounds="106,482,35,28" ShowValueBox="true" isIOBox="true" Value="256, 256">
            <p:TypeAnnotation LastCategoryFullName="Primitive" LastDependency="VL.CoreLib.vl">
              <Choice Kind="TypeFlag" Name="Int2" />
            </p:TypeAnnotation>
          </Pad>
          <Pad Id="HxWD9AuMNgSOL7lyxWmp3O" Comment="Format" Bounds="1067,520,174,18" ShowValueBox="true" isIOBox="true" Value="R32G32B32A32_Float">
            <p:TypeAnnotation LastCategoryFullName="Stride.API.Graphics" LastDependency="VL.Stride.vl">
              <Choice Kind="TypeFlag" Name="PixelFormat" />
            </p:TypeAnnotation>
          </Pad>
          <Node Bounds="1075,1400,165,19" Id="PEOajKkQ0VeLCZYKCodpIK">
            <p:NodeReference LastCategoryFullName="Fuse.Common.Noise" LastDependency="VL.Fuse.vl">
              <Choice Kind="NodeFlag" Name="Node" Fixed="true" />
              <CategoryReference Kind="Category" Name="Noise" NeedsToBeDirectParent="true" />
              <Choice Kind="ProcessAppFlag" Name="Noise" />
            </p:NodeReference>
            <Pin Id="FV7Ml5JuV4oMG0MWNc0u1D" Name="Node Context" Kind="InputPin" IsHidden="true" />
            <Pin Id="U1vU32obMF9NEq6TeL0sLI" Name="~Domain" Kind="InputPin" />
            <Pin Id="JvSD9obCPCvLVMTyDSCI35" Name="Frequency" Kind="InputPin" />
            <Pin Id="UNp34w0PMDVPVPorZrfmob" Name="Amplitude" Kind="InputPin" />
            <Pin Id="OpfGX1xqf9fMGjrWMJ3Ccs" Name="Offset" Kind="InputPin" />
            <Pin Id="F3UZU4CpD9iL6oNq66vl7K" Name="Center" Kind="InputPin" />
            <Pin Id="VBw5t2MOkahLkXnTCFGQ8l" Name="Bias" Kind="InputPin" />
            <Pin Id="PCDFMXej4xfQJCi1cOvEu7" Name="Inflection" Kind="InputPin" />
            <Pin Id="K5L6hQ64ozwMqnHqoyLNVu" Name="Override Remap" Kind="InputPin" IsHidden="true" />
            <Pin Id="DXZEuUzkRUdNSHdcPSnF3z" Name="Noise Type" Kind="InputPin" />
            <Pin Id="OV1g0L7B4VONIaGsJEA3I8" Name="Output" Kind="OutputPin" />
          </Node>
          <Node Bounds="1075,1050,63,19" Id="E0xcrGG5zo1MxpAdI8zDGT">
            <p:NodeReference LastCategoryFullName="Fuse.Core" LastDependency="Fuse.Core.vl">
              <Choice Kind="NodeFlag" Name="Node" Fixed="true" />
              <Choice Kind="ProcessAppFlag" Name="ToVector2" />
            </p:NodeReference>
            <Pin Id="T00OJsOadxoQVkmMkvYTOl" Name="Node Context" Kind="InputPin" IsHidden="true" />
            <Pin Id="RENbLXWvfCNPOVVhlkZ2fb" Name="x" Kind="InputPin" />
            <Pin Id="KMhw4gp9SWLNXjDw2UjxJC" Name="Output" Kind="OutputPin" />
          </Node>
          <Node Bounds="1075,1500,47,19" Id="H8DCzZJWKnqLofQOvd7Sib">
            <p:NodeReference LastCategoryFullName="Fuse.Core.Join" LastDependency="VL.Fuse.vl">
              <Choice Kind="NodeFlag" Name="Node" Fixed="true" />
              <Choice Kind="ProcessAppFlag" Name="xyz+w (join)" />
            </p:NodeReference>
            <Pin Id="GzlhzlJLX6CPPx4bHbKgNL" Name="Node Context" Kind="InputPin" IsHidden="true" />
            <Pin Id="AlKcTp9yOFBMynGUfMgigD" Name="xyz" Kind="InputPin" />
            <Pin Id="OVFvnRFsVH1MNvKGL3zGSy" Name="w" Kind="InputPin" />
            <Pin Id="Nzkr7WjhzstPkvXqcTkkvS" Name="Output" Kind="OutputPin" />
          </Node>
          <Node Bounds="1075,1147,25,19" Id="TJ8EKolp89RONyhfm7Puw8">
            <p:NodeReference LastCategoryFullName="Fuse.Math" LastDependency="VL.Fuse.vl">
              <Choice Kind="NodeFlag" Name="Node" Fixed="true" />
              <CategoryReference Kind="Category" Name="Math" NeedsToBeDirectParent="true">
                <p:OuterCategoryReference Kind="Category" Name="Fuse" NeedsToBeDirectParent="true" />
              </CategoryReference>
              <Choice Kind="ProcessAppFlag" Name="*" />
            </p:NodeReference>
            <Pin Id="St3XM5BTQROMnZd3qtxTjO" Name="Node Context" Kind="InputPin" IsHidden="true" />
            <Pin Id="RXuEVeHXpekOc2e3ypGL2F" Name="Input" Kind="InputPin" />
            <Pin Id="EHAbFXwKAsJQLNT3ySl7jw" Name="Input 2" Kind="InputPin" />
            <Pin Id="S8Hi8gRErwNPGwQDndUucC" Name="Output" Kind="OutputPin" />
          </Node>
          <Node Bounds="1075,1300,40,19" Id="ReNYDFkQ9KGNV4BwAgfJqm">
            <p:NodeReference LastCategoryFullName="Fuse.Core.Join" LastDependency="VL.Fuse.vl">
              <Choice Kind="NodeFlag" Name="Node" Fixed="true" />
              <Choice Kind="ProcessAppFlag" Name="xy+z (join)" />
            </p:NodeReference>
            <Pin Id="BYDlAHVpfl0Pok7O8uTAni" Name="Node Context" Kind="InputPin" IsHidden="true" />
            <Pin Id="Fuss4Y0cf3UQM5XicuRey7" Name="xy" Kind="InputPin" />
            <Pin Id="UXTDU3HM6wRMfUh8xjYcOn" Name="z" Kind="InputPin" />
            <Pin Id="KGy0yixWpteOXf2EnLPiMc" Name="Output" Kind="OutputPin" />
          </Node>
          <Node Bounds="786,757,214,209" Id="CVBDvHtJzSzPhbppGQKck6">
            <p:NodeReference LastCategoryFullName="Primitive" LastDependency="Builtin">
              <Choice Kind="StatefulRegion" Name="Region (Stateful)" Fixed="true" />
              <Choice Kind="ApplicationStatefulRegion" Name="If" />
              <FullNameCategoryReference ID="Primitive" />
            </p:NodeReference>
            <Pin Id="PBpAm0Bx2QLN1R6ouFQxE7" Name="Condition" Kind="InputPin" />
            <Patch Id="QjAK0DzAepKLsAHZMbeksw" ManuallySortedPins="true">
              <Patch Id="AJdTy9NPwX5QLD0unBXT04" Name="Create" ManuallySortedPins="true" />
              <Patch Id="PBWfmvHR2F3MskcxKzJyjc" Name="Then" ManuallySortedPins="true" />
              <Node Bounds="812,780,95,19" Id="DijlP0MkeSNMupukC19Lny">
                <p:NodeReference LastCategoryFullName="Stride.Textures" LastDependency="VL.Stride.Runtime.vl">
                  <Choice Kind="NodeFlag" Name="Node" Fixed="true" />
                  <Choice Kind="ProcessAppFlag" Name="ReadBackTexture" />
                </p:NodeReference>
                <Pin Id="KspUj963eTuLdUQeyOMrfJ" Name="Node Context" Kind="InputPin" IsHidden="true" />
                <Pin Id="EAwp9dd6nz2NTnYn09UoPy" Name="Input" Kind="InputPin" />
                <Pin Id="N5hngVLCGwJOY5bDKm1wf6" Name="Frame Delay" Kind="InputPin" />
                <Pin Id="SUBZOYBKSRcLRdlmOiVLaS" Name="Auto Draw" Kind="InputPin" IsHidden="true" />
                <Pin Id="J4reezoIWfTOiZ3B2dtqDT" Name="Output" Kind="OutputPin" />
                <Pin Id="FPcvxAF2TbWLmslzr9qxrX" Name="Result Available" Kind="OutputPin" />
                <Pin Id="KAQgV75yO6kMFmsCupBlEt" Name="Is Blocking" Kind="OutputPin" />
                <Pin Id="EDQBy66Vz0pOeX014WAUvR" Name="Readback Time" Kind="OutputPin" />
                <Pin Id="I7ApI5vcF0yLvci41DRSgG" Name="Renderer" Kind="OutputPin" IsHidden="true" />
              </Node>
              <Pad Id="QLifbMmaZW6Oxwq56nTy8c" Bounds="814,819">
                <p:TypeAnnotation LastCategoryFullName="Collections.Mutable" LastDependency="VL.CoreLib.vl">
                  <Choice Kind="TypeFlag" Name="MutableArray" />
                  <p:TypeArguments>
                    <TypeReference>
                      <Choice Kind="TypeFlag" Name="Vector4" />
                    </TypeReference>
                  </p:TypeArguments>
                </p:TypeAnnotation>
              </Pad>
              <Pad Id="Kmd1Kdk3Lh3LBxz22fQN3U" Comment="" Bounds="814,847,155,96" ShowValueBox="true" isIOBox="true" />
            </Patch>
          </Node>
          <Node Bounds="153,647,133,204" Id="VhbWoKPKuqIPxaSAGrQcSP">
            <p:NodeReference LastCategoryFullName="Primitive" LastDependency="Builtin">
              <Choice Kind="StatefulRegion" Name="Region (Stateful)" Fixed="true" />
              <Choice Kind="ApplicationStatefulRegion" Name="If" />
              <FullNameCategoryReference ID="Primitive" />
            </p:NodeReference>
            <Pin Id="IVLZkLSkqSgPCY4oVBwXsu" Name="Condition" Kind="InputPin" />
            <Patch Id="V6xrTnMnXEPLu5BaxzI7UY" ManuallySortedPins="true">
              <Patch Id="KGTwhbrZ7W8M3hsZwFDob4" Name="Create" ManuallySortedPins="true" />
              <Patch Id="LRhKDcEfuEPMRuCE8clJvV" Name="Then" ManuallySortedPins="true" />
              <Node Bounds="179,670,95,19" Id="JbiqjAW97uCM7nQiI5AZpR">
                <p:NodeReference LastCategoryFullName="Stride.Textures" LastDependency="VL.Stride.Runtime.vl">
                  <Choice Kind="NodeFlag" Name="Node" Fixed="true" />
                  <Choice Kind="ProcessAppFlag" Name="ReadBackTexture" />
                </p:NodeReference>
                <Pin Id="B4xZZH46Sm8NwULft72q2x" Name="Node Context" Kind="InputPin" IsHidden="true" />
                <Pin Id="DZcbTdA2islOUKSxNkBKmC" Name="Input" Kind="InputPin" />
                <Pin Id="AK4t7VxsbnTPwac92GB6U1" Name="Frame Delay" Kind="InputPin" />
                <Pin Id="H1BTMdkgDlnLBnYDF5Wi2I" Name="Auto Draw" Kind="InputPin" IsHidden="true" />
                <Pin Id="JlxVx9x7iSTMAnQO4vSuFE" Name="Output" Kind="OutputPin" />
                <Pin Id="LwAyCnua6fvNMpKjQqwK2y" Name="Result Available" Kind="OutputPin" />
                <Pin Id="JxlgQEVL49pLEwDVXkzZLa" Name="Is Blocking" Kind="OutputPin" />
                <Pin Id="FawoDnnUZ6uMoci1qsIPO3" Name="Readback Time" Kind="OutputPin" />
                <Pin Id="IQAPWr9tNY2NciIy0jyVX9" Name="Renderer" Kind="OutputPin" IsHidden="true" />
              </Node>
              <Pad Id="CsePouzBIBIMKD3rTLJvav" Bounds="181,719">
                <p:TypeAnnotation LastCategoryFullName="Collections.Mutable" LastDependency="VL.CoreLib.vl">
                  <Choice Kind="TypeFlag" Name="MutableArray" />
                  <p:TypeArguments>
                    <TypeReference>
                      <Choice Kind="TypeFlag" Name="Vector2" />
                    </TypeReference>
                  </p:TypeArguments>
                </p:TypeAnnotation>
              </Pad>
              <Pad Id="GdjrBpbAyNCOeNaOVTZNKy" Comment="" Bounds="181,743,65,95" ShowValueBox="true" isIOBox="true" />
            </Patch>
          </Node>
          <Node Bounds="380,850,96,19" Id="OKJ9UVhFPRtOYPazCAcfDK">
            <p:NodeReference LastCategoryFullName="Fuse.Core.ComputeShader" LastDependency="VL.Fuse.vl">
              <Choice Kind="NodeFlag" Name="Node" Fixed="true" />
              <Choice Kind="ProcessAppFlag" Name="DispatchThreadId" />
            </p:NodeReference>
            <Pin Id="MJxnak0IXOAMRMjbvSLrmd" Name="Node Context" Kind="InputPin" IsHidden="true" />
            <Pin Id="LemSlMX3f7KNP1RJ7DnI13" Name="Output" Kind="OutputPin" />
          </Node>
          <Node Bounds="380,958,27,19" Id="IQ41cbbsfmtMZpAkPeFH0M">
            <p:NodeReference LastCategoryFullName="Fuse.Core.Swizzle" LastDependency="VL.Fuse.vl">
              <Choice Kind="NodeFlag" Name="Node" Fixed="true" />
              <Choice Kind="ProcessAppFlag" Name="xy (int)" />
            </p:NodeReference>
            <Pin Id="KHwJYPKP4K6MgtPla6BeXZ" Name="Node Context" Kind="InputPin" IsHidden="true" />
            <Pin Id="PVvQTuF335LOnLGVYXkIA0" Name="Input" Kind="InputPin" />
            <Pin Id="OZf7EsmskHALosTuawlhdq" Name="Output" Kind="OutputPin" />
          </Node>
          <Node Bounds="447,1147,46,19" Id="Q7MKwh8QjnpL7K8Qc58Tms">
            <p:NodeReference LastCategoryFullName="2D.Vector2" LastDependency="VL.CoreLib.vl">
              <Choice Kind="NodeFlag" Name="Node" Fixed="true" />
              <Choice Kind="OperationCallFlag" Name="Vector (Join)" />
              <CategoryReference Kind="Vector2Type" Name="Vector2" NeedsToBeDirectParent="true" />
            </p:NodeReference>
            <Pin Id="Og4z1HjZH9lQWkk4S5hPw3" Name="X" Kind="InputPin" />
            <Pin Id="RnmFAIZE0fIMEoY5JQrpdU" Name="Y" Kind="InputPin" DefaultValue="0.23" />
            <Pin Id="VrgglKIqymeQVNI8FYl7BD" Name="Output" Kind="StateOutputPin" />
          </Node>
          <Node Bounds="447,1050,45,19" Id="OHN3r5BAFlGN1F9ik5fp3J">
            <p:NodeReference LastCategoryFullName="Animation" LastDependency="VL.CoreLib.vl">
              <Choice Kind="NodeFlag" Name="Node" Fixed="true" />
              <Choice Kind="ProcessAppFlag" Name="LFO" />
            </p:NodeReference>
            <Pin Id="LVIpiJaiL0QOYbUuFh8WKG" Name="Node Context" Kind="InputPin" IsHidden="true" />
            <Pin Id="QSNpSee1wQzL7EgCs0boDn" Name="Clock" Kind="InputPin" IsHidden="true" />
            <Pin Id="SQpt2NuoI2YM5qGfKzaLtx" Name="New Clock" Kind="InputPin" IsHidden="true" />
            <Pin Id="D86J59FIOkqOiEdgnRrjBt" Name="Period" Kind="InputPin" DefaultValue="5" />
            <Pin Id="M4WssZXEzmaNi9ZkliBGkR" Name="Pause" Kind="InputPin" />
            <Pin Id="APahkYj0I6NLBRsqwKRP4q" Name="Reset" Kind="ApplyPin" />
            <Pin Id="Sbp3YPGivTBQIuN5ScNlQl" Name="Phase" Kind="OutputPin" />
            <Pin Id="If0mSU6oDs3MuDNyHo8n8y" Name="On New Cycle" Kind="OutputPin" />
            <Pin Id="FQrqMRrgaBRPkGyK2k2Amt" Name="Cycles" Kind="OutputPin" />
          </Node>
          <Pad Id="H4tLdnwRfzaO4ChmgFa6Yu" Comment="" Bounds="369,590,115,125" ShowValueBox="true" isIOBox="true" />
          <Pad Id="B6BKXDLZgWlPw4rVx4guzD" Comment="Readback Enabled" Bounds="155,601,35,15" ShowValueBox="true" isIOBox="true" Value="False">
            <p:TypeAnnotation LastCategoryFullName="Primitive" LastDependency="VL.CoreLib.vl">
              <Choice Kind="TypeFlag" Name="Boolean" />
              <FullNameCategoryReference ID="Primitive" />
            </p:TypeAnnotation>
            <p:ValueBoxSettings>
              <p:buttonmode p:Assembly="VL.UI.Forms" p:Type="VL.HDE.PatchEditor.Editors.ButtonModeEnum">Toggle</p:buttonmode>
            </p:ValueBoxSettings>
          </Pad>
          <Pad Id="KXfqUneIPiOMfBelfLNKzR" Comment="Resolution" Bounds="735,482,35,28" ShowValueBox="true" isIOBox="true" Value="256, 256">
            <p:TypeAnnotation LastCategoryFullName="Primitive" LastDependency="VL.CoreLib.vl">
              <Choice Kind="TypeFlag" Name="Int2" />
            </p:TypeAnnotation>
          </Pad>
          <Pad Id="LGZRjt5A3RePwYnMgeediw" Comment="Readback Enabled" Bounds="788,699,35,15" ShowValueBox="true" isIOBox="true" Value="False">
            <p:TypeAnnotation LastCategoryFullName="Primitive" LastDependency="VL.CoreLib.vl">
              <Choice Kind="TypeFlag" Name="Boolean" />
              <FullNameCategoryReference ID="Primitive" />
            </p:TypeAnnotation>
            <p:ValueBoxSettings>
              <p:buttonmode p:Assembly="VL.UI.Forms" p:Type="VL.HDE.PatchEditor.Editors.ButtonModeEnum">Toggle</p:buttonmode>
            </p:ValueBoxSettings>
          </Pad>
          <Node Bounds="1043,850,96,19" Id="VKCKa50YYUuPAbxUMJZtjA">
            <p:NodeReference LastCategoryFullName="Fuse.Core.ComputeShader" LastDependency="VL.Fuse.vl">
              <Choice Kind="NodeFlag" Name="Node" Fixed="true" />
              <Choice Kind="ProcessAppFlag" Name="DispatchThreadId" />
            </p:NodeReference>
            <Pin Id="Gs32RGpKeQ0QQQdj4XYyWB" Name="Node Context" Kind="InputPin" IsHidden="true" />
            <Pin Id="LCIJ6d3cDmbOEhMkzHkNMZ" Name="Output" Kind="OutputPin" />
          </Node>
          <Node Bounds="1043,958,27,19" Id="TcflT0efkQoMWj1h7l3hFX">
            <p:NodeReference LastCategoryFullName="Fuse.Core.Swizzle" LastDependency="VL.Fuse.vl">
              <Choice Kind="NodeFlag" Name="Node" Fixed="true" />
              <Choice Kind="ProcessAppFlag" Name="xy (int)" />
            </p:NodeReference>
            <Pin Id="VamhoGUTOblOj3wluOCk2U" Name="Node Context" Kind="InputPin" IsHidden="true" />
            <Pin Id="Gllc6cBtPaVO4SfJ7tQlTN" Name="Input" Kind="InputPin" />
            <Pin Id="FGjh09mqWlDNdagXUbwrsa" Name="Output" Kind="OutputPin" />
          </Node>
          <Node Bounds="1165,1220,63,19" Id="EIojduXMGp2MhXqP8z8ykd">
            <p:NodeReference LastCategoryFullName="Animation" LastDependency="VL.CoreLib.vl">
              <Choice Kind="NodeFlag" Name="Node" Fixed="true" />
              <Choice Kind="ProcessAppFlag" Name="Stopwatch" />
            </p:NodeReference>
            <Pin Id="Rhy1LtKW2xGNnfI9JQr6Aj" Name="Node Context" Kind="InputPin" IsHidden="true" />
            <Pin Id="SeN7cy1CamxMxDIgk7FV0A" Name="Clock" Kind="InputPin" IsHidden="true" />
            <Pin Id="RbTVBeiYAk1OC7gH5NQjpz" Name="Time" Kind="InputPin" IsHidden="true" />
            <Pin Id="UHYTunmr6dqLr6X6wkW6x9" Name="New Clock" Kind="InputPin" IsHidden="true" />
            <Pin Id="HFWcTyZjPx7M1dEQPpJ2HJ" Name="New Time" Kind="InputPin" IsHidden="true" />
            <Pin Id="F3kyRUhILzyMah5nOXFIbn" Name="Enabled" Kind="InputPin" DefaultValue="True" />
            <Pin Id="SrO6u26b6LpMpIlZ5m9l4m" Name="Reset" Kind="InputPin" />
            <Pin Id="NY67N2qL26cOZ2gY1frNwT" Name="Time" Kind="OutputPin" />
          </Node>
          <Pad Id="UMEAeJ4tHoGLYntROjXhru" Comment="Time" Bounds="1167,1260,45,15" ShowValueBox="true" isIOBox="true" />
          <Node Bounds="734,1875,101,19" Id="UcKHRwJlJD8NEP3UaGuouU">
            <p:NodeReference LastCategoryFullName="Stride.Utils" LastDependency="VL.Stride.Runtime.vl">
              <Choice Kind="NodeFlag" Name="Node" Fixed="true" />
              <Choice Kind="ProcessAppFlag" Name="RendererScheduler" />
            </p:NodeReference>
            <Pin Id="SrLyWT0WpUaL20YFBWz7wA" Name="Node Context" Kind="InputPin" IsHidden="true" />
            <Pin Id="CChEiHMYFGcLXVLNsXlu04" Name="Renderer" Kind="InputPin" />
            <Pin Id="OVYeBslYtqUO5cPzwMtQJs" Name="Output" Kind="OutputPin" />
          </Node>
          <Pad Id="PINsjcY6Id2LeiaYK0VcSj" Comment="" Bounds="1257,600,111,113" ShowValueBox="true" isIOBox="true" />
          <Pad Id="JgZOIqDQulkMMdq0LnQdM9" Comment="" Bounds="459,1190,39,31" ShowValueBox="true" isIOBox="true" />
          <Pad Id="BX4uJZqxKoyNGp46KVYmJu" Comment="" Bounds="1030,1100,35,28" ShowValueBox="true" isIOBox="true" Value="0.01, 0.01">
            <p:TypeAnnotation LastCategoryFullName="2D" LastDependency="VL.CoreLib.vl">
              <Choice Kind="TypeFlag" Name="Vector2" />
            </p:TypeAnnotation>
          </Pad>
          <Pad Id="QsXixRIQS5XPXF5UlxIWFL" Bounds="98,40,445,45" ShowValueBox="true" isIOBox="true" Value="How to compute a Texture2D">
            <p:TypeAnnotation LastCategoryFullName="Primitive" LastDependency="VL.CoreLib.vl">
              <Choice Kind="TypeFlag" Name="String" />
            </p:TypeAnnotation>
            <p:ValueBoxSettings>
              <p:fontsize p:Type="Int32">20</p:fontsize>
              <p:stringtype p:Assembly="VL.Core" p:Type="VL.Core.StringType">Comment</p:stringtype>
            </p:ValueBoxSettings>
          </Pad>
          <Pad Id="EtZuGv4hRgxOE8UavC5Km6" Bounds="98,100,928,263" ShowValueBox="true" isIOBox="true" Value="PATCH OVERVIEW&#xA;&#xA;This patch shows how to compute 2D textures on the GPU.&#xA;&#xA;A ComputeGraph2D runs one GPU thread for each pixel of the texture. Each thread receives its pixel coordinate through DispatchThreadId and writes a value into that pixel using TextureSet.&#xA;&#xA;The left example writes a simple animated Vector2 value into an R32G32 texture.&#xA;The right example evaluates noise at each pixel position and writes the result into an RGBA float texture.&#xA;&#xA;Both examples use the same core pattern:&#xA;Texture2D -&gt; TextureIn -&gt; DispatchThreadId -&gt; compute value -&gt; TextureSet -&gt; ComputeGraph2D -&gt; RendererScheduler">
            <p:TypeAnnotation LastCategoryFullName="Primitive" LastDependency="VL.CoreLib.vl">
              <Choice Kind="TypeFlag" Name="String" />
            </p:TypeAnnotation>
            <p:ValueBoxSettings>
              <p:fontsize p:Type="Int32">9</p:fontsize>
              <p:stringtype p:Assembly="VL.Core" p:Type="VL.Core.StringType">Comment</p:stringtype>
            </p:ValueBoxSettings>
          </Pad>
          <Node Bounds="105,1390,98,19" Id="IUIg0rGhyfFN7adNMjSfkx">
            <p:NodeReference LastCategoryFullName="Fuse.Core.StrideIntegration" LastDependency="VL.Fuse.vl">
              <Choice Kind="NodeFlag" Name="Node" Fixed="true" />
              <Choice Kind="ProcessAppFlag" Name="ComputeGraph2D" />
            </p:NodeReference>
            <p:HelpFocus p:Assembly="VL.Lang" p:Type="VL.Model.HelpPriority">High</p:HelpFocus>
            <Pin Id="RPEGUagCSiSN9cHsk7ifge" Name="Node Context" Kind="InputPin" IsHidden="true" />
            <Pin Id="OnJtgbLWcLOPwLcL4DjYjZ" Name="Count" Kind="InputPin" />
            <Pin Id="SHVOyvHV5g2Lb3Ep6CGe7V" Name="Thread Group Size" Kind="InputPin" />
            <Pin Id="E9wcVP2jdZjNQ6dxTxfwtj" Name="ShaderNode" Kind="InputPin" />
            <Pin Id="RFy2bmvcHt0MhaVAqDMsH4" Name="Enabled" Kind="InputPin" />
            <Pin Id="L8mtwpTCYOAOMDVmjm9pwE" Name="Dispatcher" Kind="OutputPin" />
            <Pin Id="P2X1WGFitdINHxPpf6L8CG" Name="Last Error" Kind="OutputPin" />
            <Pin Id="K50JHI6JPOIOJ36dihNr1i" Name="Shader Code" Kind="OutputPin" />
          </Node>
          <Node Bounds="737,1740,98,19" Id="VJTI8GEn1dmMBYGezYRUFF">
            <p:NodeReference LastCategoryFullName="Fuse.Core.StrideIntegration" LastDependency="VL.Fuse.vl">
              <Choice Kind="NodeFlag" Name="Node" Fixed="true" />
              <Choice Kind="ProcessAppFlag" Name="ComputeGraph2D" />
            </p:NodeReference>
            <Pin Id="QvRvwrROyDCPvsj68ESFgc" Name="Node Context" Kind="InputPin" IsHidden="true" />
            <Pin Id="IyG2gUrecnoM6XYc6E9um3" Name="Count" Kind="InputPin" />
            <Pin Id="ErpgPz1vRPqN5qpUQ69T0s" Name="Thread Group Size" Kind="InputPin" />
            <Pin Id="U1LYJr0rGerOUDUtsZOkf1" Name="ShaderNode" Kind="InputPin" />
            <Pin Id="DrDi9bmSnlFO5Lu5o576Dt" Name="Enabled" Kind="InputPin" />
            <Pin Id="Id6Jz7s1atAO3G7ooWopcl" Name="Dispatcher" Kind="OutputPin" />
            <Pin Id="DcmGtAPBRP0NN9Sv73aBZf" Name="Last Error" Kind="OutputPin" />
            <Pin Id="GQC2KRIFD32OjIqvlSylCF" Name="Shader Code" Kind="OutputPin" />
          </Node>
          <Pad Id="CPbAajwa4v5Ur4COshaezb" Bounds="352,419,326,80" ShowValueBox="true" isIOBox="true" Value="SIMPLE 2D TEXTURE WRITE&#xA;&#xA;This side computes a small animated value for every pixel and writes it into a 2-channel float texture.">
            <p:TypeAnnotation LastCategoryFullName="Primitive" LastDependency="VL.CoreLib.vl">
              <Choice Kind="TypeFlag" Name="String" />
            </p:TypeAnnotation>
            <p:ValueBoxSettings>
              <p:fontsize p:Type="Int32">9</p:fontsize>
              <p:stringtype p:Assembly="VL.Core" p:Type="VL.Core.StringType">Comment</p:stringtype>
            </p:ValueBoxSettings>
          </Pad>
          <Pad Id="sc5HrUuxqXObmSooKjUqp1" Bounds="1015,430,390,58" ShowValueBox="true" isIOBox="true" Value="NOISE 2D TEXTURE WRITE&#xA;&#xA;This side uses the current pixel coordinate as a noise-domain position and writes the resulting color into an RGBA float texture.">
            <p:TypeAnnotation LastCategoryFullName="Primitive" LastDependency="VL.CoreLib.vl">
              <Choice Kind="TypeFlag" Name="String" />
            </p:TypeAnnotation>
            <p:ValueBoxSettings>
              <p:fontsize p:Type="Int32">9</p:fontsize>
              <p:stringtype p:Assembly="VL.Core" p:Type="VL.Core.StringType">Comment</p:stringtype>
            </p:ValueBoxSettings>
          </Pad>
          <Pad Id="DN1S4urSMrRLqCMS7TMjLo" Bounds="491,550,268,79" ShowValueBox="true" isIOBox="true" Value="&lt;- Creates the 2D data texture that will be written to by the compute shader. The resolution defines how many pixels the texture contains.">
            <p:TypeAnnotation LastCategoryFullName="Primitive" LastDependency="VL.CoreLib.vl">
              <Choice Kind="TypeFlag" Name="String" />
            </p:TypeAnnotation>
            <p:ValueBoxSettings>
              <p:fontsize p:Type="Int32">9</p:fontsize>
              <p:stringtype p:Assembly="VL.Core" p:Type="VL.Core.StringType">Comment</p:stringtype>
            </p:ValueBoxSettings>
          </Pad>
          <Pad Id="OqQCurOUfcadxS4ctueljh" Bounds="415,723,285,74" ShowValueBox="true" isIOBox="true" Value="&lt;- Makes the Stride texture available inside the Fuse compute shader. RW means that the shader is allowed to write into the texture.">
            <p:TypeAnnotation LastCategoryFullName="Primitive" LastDependency="VL.CoreLib.vl">
              <Choice Kind="TypeFlag" Name="String" />
            </p:TypeAnnotation>
            <p:ValueBoxSettings>
              <p:fontsize p:Type="Int32">9</p:fontsize>
              <p:stringtype p:Assembly="VL.Core" p:Type="VL.Core.StringType">Comment</p:stringtype>
            </p:ValueBoxSettings>
          </Pad>
          <Pad Id="fbuHCiC67WUMLQg4dDyncc" Bounds="469,852,282,58" ShowValueBox="true" isIOBox="true" Value="&lt;- The current pixel coordinate of this GPU thread. For a 256 x 256 texture, this goes from (0,0) to (255,255).">
            <p:TypeAnnotation LastCategoryFullName="Primitive" LastDependency="VL.CoreLib.vl">
              <Choice Kind="TypeFlag" Name="String" />
            </p:TypeAnnotation>
            <p:ValueBoxSettings>
              <p:fontsize p:Type="Int32">9</p:fontsize>
              <p:stringtype p:Assembly="VL.Core" p:Type="VL.Core.StringType">Comment</p:stringtype>
            </p:ValueBoxSettings>
          </Pad>
          <Pad Id="15yiVFCmjTEp8ptr6F6ynv" Bounds="415,958,260,50" ShowValueBox="true" isIOBox="true" Value="&lt;- Extracts the x and y pixel indices from DispatchThreadId. Texture2D writes need a 2D pixel index.">
            <p:TypeAnnotation LastCategoryFullName="Primitive" LastDependency="VL.CoreLib.vl">
              <Choice Kind="TypeFlag" Name="String" />
            </p:TypeAnnotation>
            <p:ValueBoxSettings>
              <p:fontsize p:Type="Int32">9</p:fontsize>
              <p:stringtype p:Assembly="VL.Core" p:Type="VL.Core.StringType">Comment</p:stringtype>
            </p:ValueBoxSettings>
          </Pad>
          <Pad Id="t0FeCXcKsKidVmlIxDh5Kq" Bounds="500,1050,245,55" ShowValueBox="true" isIOBox="true" Value="&lt;- Creates an animated value that is written into the texture. This is just a simple test signal, not noise.">
            <p:TypeAnnotation LastCategoryFullName="Primitive" LastDependency="VL.CoreLib.vl">
              <Choice Kind="TypeFlag" Name="String" />
            </p:TypeAnnotation>
            <p:ValueBoxSettings>
              <p:fontsize p:Type="Int32">9</p:fontsize>
              <p:stringtype p:Assembly="VL.Core" p:Type="VL.Core.StringType">Comment</p:stringtype>
            </p:ValueBoxSettings>
          </Pad>
          <Pad Id="oR4BtWInsLKlNvOR3LWwGm" Bounds="420,1250,242,77" ShowValueBox="true" isIOBox="true" Value="&lt;- Writes the computed value into the pixel addressed by DispatchThreadId.xy.">
            <p:TypeAnnotation LastCategoryFullName="Primitive" LastDependency="VL.CoreLib.vl">
              <Choice Kind="TypeFlag" Name="String" />
            </p:TypeAnnotation>
            <p:ValueBoxSettings>
              <p:fontsize p:Type="Int32">9</p:fontsize>
              <p:stringtype p:Assembly="VL.Core" p:Type="VL.Core.StringType">Comment</p:stringtype>
            </p:ValueBoxSettings>
          </Pad>
          <Pad Id="qEISLwsIPSZn0yj9XU60gn" Bounds="210,1390,395,105" ShowValueBox="true" isIOBox="true" Value="&lt;- Runs a 2D compute shader.&#xA;&#xA;Count defines how many GPU threads are launched in X and Y.&#xA;In this patch, one thread computes one pixel of the 2D texture.">
            <p:TypeAnnotation LastCategoryFullName="Primitive" LastDependency="VL.CoreLib.vl">
              <Choice Kind="TypeFlag" Name="String" />
            </p:TypeAnnotation>
            <p:ValueBoxSettings>
              <p:fontsize p:Type="Int32">9</p:fontsize>
              <p:stringtype p:Assembly="VL.Core" p:Type="VL.Core.StringType">Comment</p:stringtype>
            </p:ValueBoxSettings>
          </Pad>
          <Pad Id="oKLj1uT6qyhfE7eZAqFk8M" Bounds="210,1545,430,105" ShowValueBox="true" isIOBox="true" Value="&lt;- Schedules the ComputeGraph2D dispatcher in the Stride render loop.&#xA;&#xA;The compute graph creates the GPU job, but RendererScheduler makes sure it is actually submitted to the renderer.">
            <p:TypeAnnotation LastCategoryFullName="Primitive" LastDependency="VL.CoreLib.vl">
              <Choice Kind="TypeFlag" Name="String" />
            </p:TypeAnnotation>
            <p:ValueBoxSettings>
              <p:fontsize p:Type="Int32">9</p:fontsize>
              <p:stringtype p:Assembly="VL.Core" p:Type="VL.Core.StringType">Comment</p:stringtype>
            </p:ValueBoxSettings>
          </Pad>
          <Pad Id="7JfPLTXuCJLlVufppDfIsB" Bounds="1130,550,300,55" ShowValueBox="true" isIOBox="true" Value="&lt;- Creates the 2D texture used by the noise example. This texture has four float channels: R, G, B and A.">
            <p:TypeAnnotation LastCategoryFullName="Primitive" LastDependency="VL.CoreLib.vl">
              <Choice Kind="TypeFlag" Name="String" />
            </p:TypeAnnotation>
            <p:ValueBoxSettings>
              <p:fontsize p:Type="Int32">9</p:fontsize>
              <p:stringtype p:Assembly="VL.Core" p:Type="VL.Core.StringType">Comment</p:stringtype>
            </p:ValueBoxSettings>
          </Pad>
          <Pad Id="e905CLVEK0EqcL35BJTuDq" Bounds="1085,720,250,45" ShowValueBox="true" isIOBox="true" Value="&lt;- Makes this texture writable inside the Fuse compute shader.">
            <p:TypeAnnotation LastCategoryFullName="Primitive" LastDependency="VL.CoreLib.vl">
              <Choice Kind="TypeFlag" Name="String" />
            </p:TypeAnnotation>
            <p:ValueBoxSettings>
              <p:fontsize p:Type="Int32">9</p:fontsize>
              <p:stringtype p:Assembly="VL.Core" p:Type="VL.Core.StringType">Comment</p:stringtype>
            </p:ValueBoxSettings>
          </Pad>
          <Pad Id="PyzTMs0bOBTy161yiEeVDo" Bounds="1145,850,335,72" ShowValueBox="true" isIOBox="true" Value="&lt;- The current pixel coordinate of this GPU thread. The same coordinate is used both as texture index and as the starting point for the noise domain.">
            <p:TypeAnnotation LastCategoryFullName="Primitive" LastDependency="VL.CoreLib.vl">
              <Choice Kind="TypeFlag" Name="String" />
            </p:TypeAnnotation>
            <p:ValueBoxSettings>
              <p:fontsize p:Type="Int32">9</p:fontsize>
              <p:stringtype p:Assembly="VL.Core" p:Type="VL.Core.StringType">Comment</p:stringtype>
            </p:ValueBoxSettings>
          </Pad>
          <Pad Id="b9SeRM1AAm7gGhJm7EpLVn" Bounds="1080,958,230,40" ShowValueBox="true" isIOBox="true" Value="&lt;- Extracts the 2D pixel coordinate from DispatchThreadId.">
            <p:TypeAnnotation LastCategoryFullName="Primitive" LastDependency="VL.CoreLib.vl">
              <Choice Kind="TypeFlag" Name="String" />
            </p:TypeAnnotation>
            <p:ValueBoxSettings>
              <p:fontsize p:Type="Int32">9</p:fontsize>
              <p:stringtype p:Assembly="VL.Core" p:Type="VL.Core.StringType">Comment</p:stringtype>
            </p:ValueBoxSettings>
          </Pad>
          <Pad Id="z0OixnGqD4oQkW1i4gbuoC" Bounds="1145,1050,285,58" ShowValueBox="true" isIOBox="true" Value="&lt;- Converts the integer pixel coordinate into a Vector2, so it can be used for math and noise-domain construction.">
            <p:TypeAnnotation LastCategoryFullName="Primitive" LastDependency="VL.CoreLib.vl">
              <Choice Kind="TypeFlag" Name="String" />
            </p:TypeAnnotation>
            <p:ValueBoxSettings>
              <p:fontsize p:Type="Int32">9</p:fontsize>
              <p:stringtype p:Assembly="VL.Core" p:Type="VL.Core.StringType">Comment</p:stringtype>
            </p:ValueBoxSettings>
          </Pad>
          <Pad Id="3uKDLjsZA3OlDvG1dP4J6M" Bounds="1110,1147,310,58" ShowValueBox="true" isIOBox="true" Value="&lt;- Scales the pixel coordinate before using it as noise input. Smaller values zoom out and create larger noise features.">
            <p:TypeAnnotation LastCategoryFullName="Primitive" LastDependency="VL.CoreLib.vl">
              <Choice Kind="TypeFlag" Name="String" />
            </p:TypeAnnotation>
            <p:ValueBoxSettings>
              <p:fontsize p:Type="Int32">9</p:fontsize>
              <p:stringtype p:Assembly="VL.Core" p:Type="VL.Core.StringType">Comment</p:stringtype>
            </p:ValueBoxSettings>
          </Pad>
          <Pad Id="DECMACJoITyAeqgYlHsWqi" Bounds="1120,1300,315,58" ShowValueBox="true" isIOBox="true" Value="&lt;- Adds time as a third coordinate. The 2D texture becomes an animated slice through 3D noise space.">
            <p:TypeAnnotation LastCategoryFullName="Primitive" LastDependency="VL.CoreLib.vl">
              <Choice Kind="TypeFlag" Name="String" />
            </p:TypeAnnotation>
            <p:ValueBoxSettings>
              <p:fontsize p:Type="Int32">9</p:fontsize>
              <p:stringtype p:Assembly="VL.Core" p:Type="VL.Core.StringType">Comment</p:stringtype>
            </p:ValueBoxSettings>
          </Pad>
          <Pad Id="59pWAJhDyNM51jd8xUj9UF" Bounds="1245,1400,335,58" ShowValueBox="true" isIOBox="true" Value="&lt;- Evaluates noise at the current domain position. The noise node does not know about textures or pixels; it only receives a position.">
            <p:TypeAnnotation LastCategoryFullName="Primitive" LastDependency="VL.CoreLib.vl">
              <Choice Kind="TypeFlag" Name="String" />
            </p:TypeAnnotation>
            <p:ValueBoxSettings>
              <p:fontsize p:Type="Int32">9</p:fontsize>
              <p:stringtype p:Assembly="VL.Core" p:Type="VL.Core.StringType">Comment</p:stringtype>
            </p:ValueBoxSettings>
          </Pad>
          <Pad Id="txu8TCqKcSNDroAtVbEyS5" Bounds="1125,1500,310,58" ShowValueBox="true" isIOBox="true" Value="&lt;- Combines the RGB noise value with a W/alpha channel into a Vector4, because the texture stores four float channels.">
            <p:TypeAnnotation LastCategoryFullName="Primitive" LastDependency="VL.CoreLib.vl">
              <Choice Kind="TypeFlag" Name="String" />
            </p:TypeAnnotation>
            <p:ValueBoxSettings>
              <p:fontsize p:Type="Int32">9</p:fontsize>
              <p:stringtype p:Assembly="VL.Core" p:Type="VL.Core.StringType">Comment</p:stringtype>
            </p:ValueBoxSettings>
          </Pad>
          <Pad Id="8MVeaVpYmkzgapw50AzxFG" Bounds="1085,1600,280,45" ShowValueBox="true" isIOBox="true" Value="&lt;- Writes the computed RGBA value into the pixel addressed by DispatchThreadId.xy.">
            <p:TypeAnnotation LastCategoryFullName="Primitive" LastDependency="VL.CoreLib.vl">
              <Choice Kind="TypeFlag" Name="String" />
            </p:TypeAnnotation>
            <p:ValueBoxSettings>
              <p:fontsize p:Type="Int32">9</p:fontsize>
              <p:stringtype p:Assembly="VL.Core" p:Type="VL.Core.StringType">Comment</p:stringtype>
            </p:ValueBoxSettings>
          </Pad>
          <Pad Id="GK2EgxfI3BhvYWpBkeNvmf" Bounds="840,1740,360,68" ShowValueBox="true" isIOBox="true" Value="&lt;- Runs the noise-writing compute shader. One GPU thread is launched for each pixel of the 2D texture.">
            <p:TypeAnnotation LastCategoryFullName="Primitive" LastDependency="VL.CoreLib.vl">
              <Choice Kind="TypeFlag" Name="String" />
            </p:TypeAnnotation>
            <p:ValueBoxSettings>
              <p:fontsize p:Type="Int32">9</p:fontsize>
              <p:stringtype p:Assembly="VL.Core" p:Type="VL.Core.StringType">Comment</p:stringtype>
            </p:ValueBoxSettings>
          </Pad>
          <Pad Id="YQwqbSKJrxbvWL5YQJb4Wp" Bounds="840,1875,350,50" ShowValueBox="true" isIOBox="true" Value="&lt;- Submits the noise compute shader job to the renderer, so the texture gets updated.">
            <p:TypeAnnotation LastCategoryFullName="Primitive" LastDependency="VL.CoreLib.vl">
              <Choice Kind="TypeFlag" Name="String" />
            </p:TypeAnnotation>
            <p:ValueBoxSettings>
              <p:fontsize p:Type="Int32">9</p:fontsize>
              <p:stringtype p:Assembly="VL.Core" p:Type="VL.Core.StringType">Comment</p:stringtype>
            </p:ValueBoxSettings>
          </Pad>
        </Canvas>
        <Patch Id="MHHUhHpA9aeL5KnoHWfNVd" Name="Create" />
        <Patch Id="K2vf7tXNmtoLPfaTW44wad" Name="Update" />
        <ProcessDefinition Id="IojJE19ywOFO8aGTdS2FdM">
          <Fragment Id="F5WacMG5767P9fYvjVmyH8" Patch="MHHUhHpA9aeL5KnoHWfNVd" Enabled="true" />
          <Fragment Id="Ui8XgR6z4EKLvKIGafrBRs" Patch="K2vf7tXNmtoLPfaTW44wad" Enabled="true" />
        </ProcessDefinition>
        <Link Id="JUsM6Ygnu2sQB0x8Hcjo6x" Ids="L39cso7qriALUH5RzJYI8R,EAwp9dd6nz2NTnYn09UoPy" />
        <Link Id="QA5Mt7DNIjLQcUQU1TPJvT" Ids="MjlkRUm6umPOzf5ofvy08V,DZcbTdA2islOUKSxNkBKmC" />
        <Link Id="S2trd8lrl3oNLQt1Qc8VT2" Ids="FSTZvxo4WEUNgCZefNj3av,IJpCWl6QnjvL91w8yjlft6" />
        <Link Id="ESk2tVR0S5cQEM8kAU0Krz" Ids="NSJ50RgazpFLIz8gdKtjNC,JDC6IXham7IMHuErg5Fq1h" />
        <Link Id="S5RyQqzVJouL8kQSrzMdlP" Ids="HxWD9AuMNgSOL7lyxWmp3O,Un8g1CU74pSPgZwjwikloR" />
        <Link Id="KJ8tdtN2WG2OBvuvWIenG9" Ids="KMhw4gp9SWLNXjDw2UjxJC,RXuEVeHXpekOc2e3ypGL2F" />
        <Link Id="QWq5q3YgttMLSOTyARe5q2" Ids="MjlkRUm6umPOzf5ofvy08V,CZTHkJL9xy8OCZeDZxRHSx" />
        <Link Id="PSdY8yA5jLeML19lWNbGqg" Ids="L39cso7qriALUH5RzJYI8R,DMfFZZ4PlMcP2mFVbpyLBB" />
        <Link Id="TgsRnqQCyfPOmhksr8gCFh" Ids="J4reezoIWfTOiZ3B2dtqDT,QLifbMmaZW6Oxwq56nTy8c" />
        <Link Id="LgSHxpvKRDRP9ZUPU6vBXb" Ids="JlxVx9x7iSTMAnQO4vSuFE,CsePouzBIBIMKD3rTLJvav" />
        <Link Id="EByRrHMSnEqQZIZB0Cpxs7" Ids="LemSlMX3f7KNP1RJ7DnI13,PVvQTuF335LOnLGVYXkIA0" />
        <Link Id="CiEE1YW7hpMN1e7pclh2iQ" Ids="VrgglKIqymeQVNI8FYl7BD,V2nYXptKzJqO4LDB4L0omd" />
        <Link Id="Q83QAlCvaokPXn1OZn9Fsz" Ids="Sbp3YPGivTBQIuN5ScNlQl,Og4z1HjZH9lQWkk4S5hPw3" />
        <Link Id="Dgga6h7ozoCOGd87mO4XjZ" Ids="MjlkRUm6umPOzf5ofvy08V,H4tLdnwRfzaO4ChmgFa6Yu" />
        <Link Id="DPrLzLeJcvENzf6vp53pnz" Ids="Is85HJfmL2qNiPEC7m6qiS,CmtEImfmDFMOukJwiEDnnf" />
        <Link Id="O4U39sIi2XvMWr9uMGXeMv" Ids="B6BKXDLZgWlPw4rVx4guzD,IVLZkLSkqSgPCY4oVBwXsu" />
        <Link Id="QpncYxLgXWALuOQdpfMdYS" Ids="CsePouzBIBIMKD3rTLJvav,GdjrBpbAyNCOeNaOVTZNKy" />
        <Link Id="FIwYdJ5aXMkPntDQtrOrUS" Ids="KXfqUneIPiOMfBelfLNKzR,DfwbZJmlywBMMPf3U3yaTx" />
        <Link Id="Tms7yD5XPrvPCYde88lzdu" Ids="LGZRjt5A3RePwYnMgeediw,PBpAm0Bx2QLN1R6ouFQxE7" />
        <Link Id="J8VMos593d7LoEfzkfvkA7" Ids="MYY94j2vC2cMBbalc4bid6,K4qBarg54fQPThkEU2wNcK" />
        <Link Id="DlqHmBWJ2B0N17PGJZEvYn" Ids="LCIJ6d3cDmbOEhMkzHkNMZ,Gllc6cBtPaVO4SfJ7tQlTN" />
        <Link Id="R1yzaK1QmVNQLwB9rNfNIo" Ids="S8Hi8gRErwNPGwQDndUucC,Fuss4Y0cf3UQM5XicuRey7" />
        <Link Id="KFHcjv7Z6XHLHiUsLslB4J" Ids="NY67N2qL26cOZ2gY1frNwT,UMEAeJ4tHoGLYntROjXhru" />
        <Link Id="DEpuuJjlA1ONBSnJbjEw7b" Ids="UMEAeJ4tHoGLYntROjXhru,UXTDU3HM6wRMfUh8xjYcOn" />
        <Link Id="VFoxDCN9D3COzPmIlE1Fte" Ids="L39cso7qriALUH5RzJYI8R,PINsjcY6Id2LeiaYK0VcSj" />
        <Link Id="UN6kkhYjWGuLJ2SPsoiKzl" Ids="QLifbMmaZW6Oxwq56nTy8c,Kmd1Kdk3Lh3LBxz22fQN3U" />
        <Link Id="Q40X6Hb0G5xLt5iHcSkGo1" Ids="VrgglKIqymeQVNI8FYl7BD,JgZOIqDQulkMMdq0LnQdM9" />
        <Link Id="EkbX76zNvDFNzFJpZFwMCF" Ids="KGy0yixWpteOXf2EnLPiMc,U1vU32obMF9NEq6TeL0sLI" />
        <Link Id="G6dNTJYYqf3PQiC26qsP8A" Ids="Nzkr7WjhzstPkvXqcTkkvS,PAF7Bq0oYFrM8kxFoN9YSJ" />
        <Link Id="DyptCOKKk2TMximeloZDBe" Ids="BX4uJZqxKoyNGp46KVYmJu,EHAbFXwKAsJQLNT3ySl7jw" />
        <Link Id="S9ebA2Ro2kmQKXHPSezMzp" Ids="OZf7EsmskHALosTuawlhdq,EGbY1GlTxmZLEWBJPr7W3X" />
        <Link Id="M7zg7WSGZg3QP7PA3BDuwP" Ids="FGjh09mqWlDNdagXUbwrsa,RENbLXWvfCNPOVVhlkZ2fb" />
        <Link Id="N5mi6MC3tAsLNP1hCjHZ9x" Ids="FGjh09mqWlDNdagXUbwrsa,PIRFKGlw2ihNazyzmlFKTG" />
        <Link Id="QT5tbv1kzkwMglk1c4G5IE" Ids="OV1g0L7B4VONIaGsJEA3I8,AlKcTp9yOFBMynGUfMgigD" />
        <Link Id="TCTcdzcT9RzQZa5igLsDqg" Ids="NSJ50RgazpFLIz8gdKtjNC,OnJtgbLWcLOPwLcL4DjYjZ" />
        <Link Id="V6cpUlYyEzPNGHUjA2k9Ce" Ids="L8mtwpTCYOAOMDVmjm9pwE,V6iig81eOqKOV2Q0qKOhBX" />
        <Link Id="SD0o9uwW4GlQV1AlAa6pZK" Ids="Vvq2rMzqXshQCHoae3sudS,E9wcVP2jdZjNQ6dxTxfwtj" />
        <Link Id="QTrGz2LANvELVuDCvnt60D" Ids="KXfqUneIPiOMfBelfLNKzR,IyG2gUrecnoM6XYc6E9um3" />
        <Link Id="IONYOGWpaIQQLjRNJPChj1" Ids="LqyCSMGlmnFLiBILKKbQBs,U1LYJr0rGerOUDUtsZOkf1" />
        <Link Id="GEbO8KqcbN1MMdNaUKlUNr" Ids="Id6Jz7s1atAO3G7ooWopcl,CChEiHMYFGcLXVLNsXlu04" />
      </Patch>
    </Node>
  </Patch>
  <NugetDependency Id="VseghZMGO3QLvpdnShSiyv" Location="VL.Stride" Version="2025.7.2" />
  <NugetDependency Id="CXhUJGbSJGNNkhc5OXSX1s" Location="VL.Stride.Runtime" Version="2025.7.2" />
  <NugetDependency Id="HXDCoQ99LFCMzdU0HbwrFo" Location="VL.Fuse" Version="1.0.3-beta03" />
  <NugetDependency Id="EkfHOJVcEQNPCKrZxvO08T" Location="VL.Stride.TextureFX" Version="2025.7.2" />
</Document>