1
0
mirror of https://github.com/Mojang/bedrock-protocol-docs.git synced 2025-07-19 20:11:47 +00:00
Files
bedrock-protocol-docs/html/svg/CameraPreset.svg
Oswaldo Leyva Barrientos a27d6bb22a Protocol for r/21_u6 NetworkProtocolVersion 776 (#18)
* Protocol for r/21_u6 NetworkProtocolVersion 776

* Protocol for r/21_u6 NetworkProtocolVersion 776 - Fix README version

* Protocol for r/21_u6 NetworkProtocolVersion 776 - Fix changelog release

* Protocol for r/21_u6 NetworkProtocolVersion 776 - Add NoteBlockInstrument to protocol doc
2025-02-13 19:28:13 -08:00

593 lines
33 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 12.2.1 (20241206.2353)
-->
<!-- Title: CameraPreset Pages: 1 -->
<svg width="1101pt" height="1178pt"
viewBox="0.00 0.00 1100.55 1178.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 1174)">
<title>CameraPreset</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-1174 1096.55,-1174 1096.55,4 -4,4"/>
<!-- 8 -->
<!-- name: &quot;CameraPreset&quot;, typeName: &quot;&quot;, id: 8, branchId: 0, recurseId: &#45;1, attributes: 0, notes: &quot;&quot; -->
<g id="node1" class="node">
<title>8</title>
<ellipse fill="none" stroke="black" cx="62.61" cy="-585" rx="62.61" ry="18"/>
<text text-anchor="middle" x="62.61" y="-579.95" font-family="Times New Roman,serif" font-size="14.00">CameraPreset</text>
</g>
<!-- 9 -->
<!-- name: &quot;Name&quot;, typeName: &quot;&quot;, id: 9, branchId: 0, recurseId: &#45;1, attributes: 0, notes: &quot;&quot; -->
<g id="node2" class="node">
<title>9</title>
<ellipse fill="none" stroke="black" cx="293.95" cy="-1152" rx="33.44" ry="18"/>
<text text-anchor="middle" x="293.95" y="-1146.95" font-family="Times New Roman,serif" font-size="14.00">Name</text>
</g>
<!-- 8&#45;&gt;9 -->
<g id="edge1" class="edge">
<title>8&#45;&gt;9</title>
<path fill="none" stroke="black" d="M64.26,-603.46C67.68,-689.3 86.33,-1048.33 161.22,-1125 183.73,-1148.04 220.25,-1154.09 249.13,-1154.77"/>
<polygon fill="black" stroke="black" points="249.06,-1158.27 259.07,-1154.77 249.07,-1151.27 249.06,-1158.27"/>
</g>
<!-- 11 -->
<!-- name: &quot;Inherit From&quot;, typeName: &quot;&quot;, id: 11, branchId: 0, recurseId: &#45;1, attributes: 0, notes: &quot;&quot; -->
<g id="node4" class="node">
<title>11</title>
<ellipse fill="none" stroke="black" cx="293.95" cy="-1098" rx="58.52" ry="18"/>
<text text-anchor="middle" x="293.95" y="-1092.95" font-family="Times New Roman,serif" font-size="14.00">Inherit From</text>
</g>
<!-- 8&#45;&gt;11 -->
<g id="edge3" class="edge">
<title>8&#45;&gt;11</title>
<path fill="none" stroke="black" d="M64.67,-603.48C69.64,-683.98 93.43,-1002.94 161.22,-1071 177.64,-1087.48 201.24,-1095.23 223.94,-1098.53"/>
<polygon fill="black" stroke="black" points="223.49,-1102 233.83,-1099.68 224.3,-1095.05 223.49,-1102"/>
</g>
<!-- 13 -->
<!-- name: &quot;Pos X&quot;, typeName: &quot;std::optional&lt;float&gt;&quot;, id: 13, branchId: 0, recurseId: &#45;1, attributes: 256, notes: &quot;&quot; -->
<g id="node6" class="node">
<title>13</title>
<ellipse fill="none" stroke="black" cx="293.95" cy="-1044" rx="33.44" ry="18"/>
<text text-anchor="middle" x="293.95" y="-1038.95" font-family="Times New Roman,serif" font-size="14.00">Pos X</text>
</g>
<!-- 8&#45;&gt;13 -->
<g id="edge5" class="edge">
<title>8&#45;&gt;13</title>
<path fill="none" stroke="black" d="M65.16,-603.43C71.82,-678.16 100.48,-957.46 161.22,-1017 184.15,-1039.48 220.47,-1045.59 249.17,-1046.44"/>
<polygon fill="black" stroke="black" points="249.01,-1049.94 259.03,-1046.51 249.06,-1042.94 249.01,-1049.94"/>
</g>
<!-- 18 -->
<!-- name: &quot;Pos Y&quot;, typeName: &quot;std::optional&lt;float&gt;&quot;, id: 18, branchId: 0, recurseId: &#45;1, attributes: 256, notes: &quot;&quot; -->
<g id="node8" class="node">
<title>18</title>
<ellipse fill="none" stroke="black" cx="293.95" cy="-990" rx="32.93" ry="18"/>
<text text-anchor="middle" x="293.95" y="-984.95" font-family="Times New Roman,serif" font-size="14.00">Pos Y</text>
</g>
<!-- 8&#45;&gt;18 -->
<g id="edge7" class="edge">
<title>8&#45;&gt;18</title>
<path fill="none" stroke="black" d="M65.77,-603.2C74.24,-671.59 107.43,-911.86 161.22,-963 184.57,-985.2 221.02,-991.31 249.66,-992.23"/>
<polygon fill="black" stroke="black" points="249.46,-995.72 259.49,-992.32 249.53,-988.73 249.46,-995.72"/>
</g>
<!-- 20 -->
<!-- name: &quot;Pos Z&quot;, typeName: &quot;std::optional&lt;float&gt;&quot;, id: 20, branchId: 0, recurseId: &#45;1, attributes: 256, notes: &quot;&quot; -->
<g id="node10" class="node">
<title>20</title>
<ellipse fill="none" stroke="black" cx="293.95" cy="-936" rx="32.41" ry="18"/>
<text text-anchor="middle" x="293.95" y="-930.95" font-family="Times New Roman,serif" font-size="14.00">Pos Z</text>
</g>
<!-- 8&#45;&gt;20 -->
<g id="edge9" class="edge">
<title>8&#45;&gt;20</title>
<path fill="none" stroke="black" d="M63.12,-603.37C62.7,-658.72 69.48,-825.2 161.22,-909 185.08,-930.79 221.66,-936.91 250.22,-937.94"/>
<polygon fill="black" stroke="black" points="249.95,-941.43 260,-938.08 250.05,-934.43 249.95,-941.43"/>
</g>
<!-- 22 -->
<!-- name: &quot;Rot X&quot;, typeName: &quot;std::optional&lt;float&gt;&quot;, id: 22, branchId: 0, recurseId: &#45;1, attributes: 256, notes: &quot;&quot; -->
<g id="node12" class="node">
<title>22</title>
<ellipse fill="none" stroke="black" cx="293.95" cy="-882" rx="33.44" ry="18"/>
<text text-anchor="middle" x="293.95" y="-876.95" font-family="Times New Roman,serif" font-size="14.00">Rot X</text>
</g>
<!-- 8&#45;&gt;22 -->
<g id="edge11" class="edge">
<title>8&#45;&gt;22</title>
<path fill="none" stroke="black" d="M64.39,-603.47C67.53,-652.63 83.18,-787.51 161.22,-855 185.28,-875.8 221.03,-882.11 249.23,-883.46"/>
<polygon fill="black" stroke="black" points="248.79,-886.95 258.89,-883.72 248.98,-879.95 248.79,-886.95"/>
</g>
<!-- 24 -->
<!-- name: &quot;Rot Y&quot;, typeName: &quot;std::optional&lt;float&gt;&quot;, id: 24, branchId: 0, recurseId: &#45;1, attributes: 256, notes: &quot;&quot; -->
<g id="node14" class="node">
<title>24</title>
<ellipse fill="none" stroke="black" cx="293.95" cy="-828" rx="32.93" ry="18"/>
<text text-anchor="middle" x="293.95" y="-822.95" font-family="Times New Roman,serif" font-size="14.00">Rot Y</text>
</g>
<!-- 8&#45;&gt;24 -->
<g id="edge13" class="edge">
<title>8&#45;&gt;24</title>
<path fill="none" stroke="black" d="M66.19,-603.16C73.17,-645.14 96.45,-749.23 161.22,-801 185.96,-820.77 221.45,-827.17 249.37,-828.82"/>
<polygon fill="black" stroke="black" points="249.18,-832.31 259.3,-829.2 249.45,-825.32 249.18,-832.31"/>
</g>
<!-- 26 -->
<!-- name: &quot;Rotation Speed&quot;, typeName: &quot;std::optional&lt;float&gt;&quot;, id: 26, branchId: 0, recurseId: &#45;1, attributes: 256, notes: &quot;&quot; -->
<g id="node16" class="node">
<title>26</title>
<ellipse fill="none" stroke="black" cx="293.95" cy="-774" rx="67.73" ry="18"/>
<text text-anchor="middle" x="293.95" y="-768.95" font-family="Times New Roman,serif" font-size="14.00">Rotation Speed</text>
</g>
<!-- 8&#45;&gt;26 -->
<g id="edge15" class="edge">
<title>8&#45;&gt;26</title>
<path fill="none" stroke="black" d="M69.12,-603.22C80.42,-637.3 109.61,-710.51 161.22,-747 177.08,-758.21 196.54,-764.98 215.58,-769.02"/>
<polygon fill="black" stroke="black" points="214.76,-772.43 225.23,-770.82 216.04,-765.55 214.76,-772.43"/>
</g>
<!-- 28 -->
<!-- name: &quot;Snap to Target&quot;, typeName: &quot;std::optional&lt;bool&gt;&quot;, id: 28, branchId: 0, recurseId: &#45;1, attributes: 256, notes: &quot;&quot; -->
<g id="node18" class="node">
<title>28</title>
<ellipse fill="none" stroke="black" cx="293.95" cy="-720" rx="64.66" ry="18"/>
<text text-anchor="middle" x="293.95" y="-714.95" font-family="Times New Roman,serif" font-size="14.00">Snap to Target</text>
</g>
<!-- 8&#45;&gt;28 -->
<g id="edge17" class="edge">
<title>8&#45;&gt;28</title>
<path fill="none" stroke="black" d="M74.4,-602.75C90.23,-627.19 122.16,-670.69 161.22,-693 178.93,-703.11 199.89,-709.47 219.82,-713.45"/>
<polygon fill="black" stroke="black" points="219.12,-716.89 229.59,-715.22 220.37,-710 219.12,-716.89"/>
</g>
<!-- 33 -->
<!-- name: &quot;Horizontal Rotation Limit&quot;, typeName: &quot;std::optional&lt;class Vec2&gt;&quot;, id: 33, branchId: 0, recurseId: &#45;1, attributes: 256, notes: &quot;&quot; -->
<g id="node20" class="node">
<title>33</title>
<ellipse fill="none" stroke="black" cx="293.95" cy="-666" rx="108.16" ry="18"/>
<text text-anchor="middle" x="293.95" y="-660.95" font-family="Times New Roman,serif" font-size="14.00">Horizontal Rotation Limit</text>
</g>
<!-- 8&#45;&gt;33 -->
<g id="edge19" class="edge">
<title>8&#45;&gt;33</title>
<path fill="none" stroke="black" d="M88.69,-601.67C107.83,-613.68 135.24,-629.41 161.22,-639 174.18,-643.79 188.19,-647.8 202.07,-651.15"/>
<polygon fill="black" stroke="black" points="201.14,-654.53 211.67,-653.35 202.71,-647.7 201.14,-654.53"/>
</g>
<!-- 38 -->
<!-- name: &quot;Vertical Rotation Limit&quot;, typeName: &quot;std::optional&lt;class Vec2&gt;&quot;, id: 38, branchId: 0, recurseId: &#45;1, attributes: 256, notes: &quot;&quot; -->
<g id="node22" class="node">
<title>38</title>
<ellipse fill="none" stroke="black" cx="293.95" cy="-612" rx="97.41" ry="18"/>
<text text-anchor="middle" x="293.95" y="-606.95" font-family="Times New Roman,serif" font-size="14.00">Vertical Rotation Limit</text>
</g>
<!-- 8&#45;&gt;38 -->
<g id="edge21" class="edge">
<title>8&#45;&gt;38</title>
<path fill="none" stroke="black" d="M121.19,-591.78C144.87,-594.57 172.92,-597.87 199.41,-600.99"/>
<polygon fill="black" stroke="black" points="198.8,-604.44 209.14,-602.13 199.62,-597.49 198.8,-604.44"/>
</g>
<!-- 40 -->
<!-- name: &quot;Continue Targeting&quot;, typeName: &quot;std::optional&lt;bool&gt;&quot;, id: 40, branchId: 0, recurseId: &#45;1, attributes: 256, notes: &quot;&quot; -->
<g id="node24" class="node">
<title>40</title>
<ellipse fill="none" stroke="black" cx="293.95" cy="-558" rx="82.06" ry="18"/>
<text text-anchor="middle" x="293.95" y="-552.95" font-family="Times New Roman,serif" font-size="14.00">Continue Targeting</text>
</g>
<!-- 8&#45;&gt;40 -->
<g id="edge23" class="edge">
<title>8&#45;&gt;40</title>
<path fill="none" stroke="black" d="M121.19,-578.22C148.01,-575.06 180.43,-571.25 209.85,-567.78"/>
<polygon fill="black" stroke="black" points="209.93,-571.3 219.46,-566.65 209.12,-564.35 209.93,-571.3"/>
</g>
<!-- 42 -->
<!-- name: &quot;Block Listening Radius&quot;, typeName: &quot;std::optional&lt;float&gt;&quot;, id: 42, branchId: 0, recurseId: &#45;1, attributes: 256, notes: &quot;&quot; -->
<g id="node26" class="node">
<title>42</title>
<ellipse fill="none" stroke="black" cx="293.95" cy="-504" rx="98.44" ry="18"/>
<text text-anchor="middle" x="293.95" y="-498.95" font-family="Times New Roman,serif" font-size="14.00">Block Listening Radius</text>
</g>
<!-- 8&#45;&gt;42 -->
<g id="edge25" class="edge">
<title>8&#45;&gt;42</title>
<path fill="none" stroke="black" d="M88.69,-568.33C107.83,-556.32 135.24,-540.59 161.22,-531 175.41,-525.76 190.85,-521.45 206,-517.92"/>
<polygon fill="black" stroke="black" points="206.48,-521.4 215.49,-515.82 204.96,-514.57 206.48,-521.4"/>
</g>
<!-- 44 -->
<!-- name: &quot;View Offset&quot;, typeName: &quot;std::optional&lt;class Vec2&gt;&quot;, id: 44, branchId: 0, recurseId: &#45;1, attributes: 256, notes: &quot;&quot; -->
<g id="node28" class="node">
<title>44</title>
<ellipse fill="none" stroke="black" cx="293.95" cy="-450" rx="55.96" ry="18"/>
<text text-anchor="middle" x="293.95" y="-444.95" font-family="Times New Roman,serif" font-size="14.00">View Offset</text>
</g>
<!-- 8&#45;&gt;44 -->
<g id="edge27" class="edge">
<title>8&#45;&gt;44</title>
<path fill="none" stroke="black" d="M74.4,-567.25C90.23,-542.81 122.16,-499.31 161.22,-477 181.16,-465.61 205.22,-458.99 227.3,-455.15"/>
<polygon fill="black" stroke="black" points="227.79,-458.61 237.13,-453.62 226.71,-451.7 227.79,-458.61"/>
</g>
<!-- 46 -->
<!-- name: &quot;Entity Offset&quot;, typeName: &quot;std::optional&lt;class Vec3&gt;&quot;, id: 46, branchId: 0, recurseId: &#45;1, attributes: 256, notes: &quot;Changing the camera&#39;s pivot point from the center of the entity&quot; -->
<g id="node30" class="node">
<title>46</title>
<ellipse fill="none" stroke="black" cx="293.95" cy="-396" rx="59.03" ry="18"/>
<text text-anchor="middle" x="293.95" y="-390.95" font-family="Times New Roman,serif" font-size="14.00">Entity Offset</text>
</g>
<!-- 8&#45;&gt;46 -->
<g id="edge29" class="edge">
<title>8&#45;&gt;46</title>
<path fill="none" stroke="black" d="M69.12,-566.78C80.42,-532.7 109.61,-459.49 161.22,-423 179.32,-410.21 202.12,-403.19 223.63,-399.42"/>
<polygon fill="black" stroke="black" points="223.88,-402.92 233.24,-397.96 222.83,-396 223.88,-402.92"/>
</g>
<!-- 51 -->
<!-- name: &quot;Radius&quot;, typeName: &quot;std::optional&lt;float&gt;&quot;, id: 51, branchId: 0, recurseId: &#45;1, attributes: 256, notes: &quot;&quot; -->
<g id="node32" class="node">
<title>51</title>
<ellipse fill="none" stroke="black" cx="293.95" cy="-342" rx="36.51" ry="18"/>
<text text-anchor="middle" x="293.95" y="-336.95" font-family="Times New Roman,serif" font-size="14.00">Radius</text>
</g>
<!-- 8&#45;&gt;51 -->
<g id="edge31" class="edge">
<title>8&#45;&gt;51</title>
<path fill="none" stroke="black" d="M66.19,-566.84C73.17,-524.86 96.45,-420.77 161.22,-369 184.92,-350.06 218.5,-343.39 245.82,-341.42"/>
<polygon fill="black" stroke="black" points="245.78,-344.92 255.59,-340.91 245.42,-337.93 245.78,-344.92"/>
</g>
<!-- 53 -->
<!-- name: &quot;Yaw Limit Min&quot;, typeName: &quot;std::optional&lt;float&gt;&quot;, id: 53, branchId: 0, recurseId: &#45;1, attributes: 256, notes: &quot;&quot; -->
<g id="node34" class="node">
<title>53</title>
<ellipse fill="none" stroke="black" cx="293.95" cy="-288" rx="69.78" ry="18"/>
<text text-anchor="middle" x="293.95" y="-282.95" font-family="Times New Roman,serif" font-size="14.00">Yaw Limit Min</text>
</g>
<!-- 8&#45;&gt;53 -->
<g id="edge33" class="edge">
<title>8&#45;&gt;53</title>
<path fill="none" stroke="black" d="M64.39,-566.53C67.53,-517.37 83.18,-382.49 161.22,-315 175.62,-302.55 194.21,-295.29 212.86,-291.18"/>
<polygon fill="black" stroke="black" points="213.46,-294.63 222.64,-289.34 212.17,-287.75 213.46,-294.63"/>
</g>
<!-- 55 -->
<!-- name: &quot;Yaw Limit Max&quot;, typeName: &quot;std::optional&lt;float&gt;&quot;, id: 55, branchId: 0, recurseId: &#45;1, attributes: 256, notes: &quot;&quot; -->
<g id="node36" class="node">
<title>55</title>
<ellipse fill="none" stroke="black" cx="293.95" cy="-234" rx="71.31" ry="18"/>
<text text-anchor="middle" x="293.95" y="-228.95" font-family="Times New Roman,serif" font-size="14.00">Yaw Limit Max</text>
</g>
<!-- 8&#45;&gt;55 -->
<g id="edge35" class="edge">
<title>8&#45;&gt;55</title>
<path fill="none" stroke="black" d="M63.12,-566.63C62.7,-511.28 69.48,-344.8 161.22,-261 174.99,-248.42 192.99,-241.07 211.24,-236.9"/>
<polygon fill="black" stroke="black" points="211.66,-240.38 220.81,-235.03 210.32,-233.51 211.66,-240.38"/>
</g>
<!-- 57 -->
<!-- name: &quot;Listener&quot;, typeName: &quot;std::optional&lt;enum CameraPreset::AudioListener&gt;&quot;, id: 57, branchId: 0, recurseId: &#45;1, attributes: 256, notes: &quot;&quot; -->
<g id="node38" class="node">
<title>57</title>
<ellipse fill="none" stroke="black" cx="293.95" cy="-180" rx="41.12" ry="18"/>
<text text-anchor="middle" x="293.95" y="-174.95" font-family="Times New Roman,serif" font-size="14.00">Listener</text>
</g>
<!-- 8&#45;&gt;57 -->
<g id="edge37" class="edge">
<title>8&#45;&gt;57</title>
<path fill="none" stroke="black" d="M65.77,-566.8C74.24,-498.41 107.43,-258.14 161.22,-207 182.39,-186.87 214.34,-179.97 241.47,-178.17"/>
<polygon fill="black" stroke="black" points="241.4,-181.68 251.24,-177.76 241.1,-174.69 241.4,-181.68"/>
</g>
<!-- 67 -->
<!-- name: &quot;Player Effects&quot;, typeName: &quot;std::optional&lt;bool&gt;&quot;, id: 67, branchId: 0, recurseId: &#45;1, attributes: 256, notes: &quot;&quot; -->
<g id="node40" class="node">
<title>67</title>
<ellipse fill="none" stroke="black" cx="293.95" cy="-126" rx="63.12" ry="18"/>
<text text-anchor="middle" x="293.95" y="-120.95" font-family="Times New Roman,serif" font-size="14.00">Player Effects</text>
</g>
<!-- 8&#45;&gt;67 -->
<g id="edge39" class="edge">
<title>8&#45;&gt;67</title>
<path fill="none" stroke="black" d="M65.16,-566.57C71.82,-491.84 100.48,-212.54 161.22,-153 176.63,-137.9 198.07,-130.18 219.19,-126.49"/>
<polygon fill="black" stroke="black" points="219.61,-129.96 229.01,-125.08 218.61,-123.03 219.61,-129.96"/>
</g>
<!-- 69 -->
<!-- name: &quot;Align target and camera forward&quot;, typeName: &quot;std::optional&lt;bool&gt;&quot;, id: 69, branchId: 0, recurseId: &#45;1, attributes: 256, notes: &quot;&quot; -->
<g id="node42" class="node">
<title>69</title>
<ellipse fill="none" stroke="black" cx="293.95" cy="-72" rx="132.73" ry="18"/>
<text text-anchor="middle" x="293.95" y="-66.95" font-family="Times New Roman,serif" font-size="14.00">Align target and camera forward</text>
</g>
<!-- 8&#45;&gt;69 -->
<g id="edge41" class="edge">
<title>8&#45;&gt;69</title>
<path fill="none" stroke="black" d="M64.67,-566.52C69.64,-486.02 93.43,-167.06 161.22,-99 165.44,-94.77 170.13,-91.11 175.16,-87.96"/>
<polygon fill="black" stroke="black" points="176.76,-91.07 183.87,-83.22 173.41,-84.92 176.76,-91.07"/>
</g>
<!-- 71 -->
<!-- name: &quot;Aim Assist&quot;, typeName: &quot;std::optional&lt;struct SharedTypes::v1_21_50::CameraPresetAimAssistDefinition&gt;&quot;, id: 71, branchId: 0, recurseId: &#45;1, attributes: 256, notes: &quot;&quot; -->
<g id="node44" class="node">
<title>71</title>
<ellipse fill="none" stroke="black" cx="293.95" cy="-18" rx="52.38" ry="18"/>
<text text-anchor="middle" x="293.95" y="-12.95" font-family="Times New Roman,serif" font-size="14.00">Aim Assist</text>
</g>
<!-- 8&#45;&gt;71 -->
<g id="edge43" class="edge">
<title>8&#45;&gt;71</title>
<path fill="none" stroke="black" d="M64.26,-566.54C67.68,-480.7 86.33,-121.67 161.22,-45 179.12,-26.68 205.87,-19.1 230.59,-16.43"/>
<polygon fill="black" stroke="black" points="230.58,-19.94 240.26,-15.64 230.01,-12.96 230.58,-19.94"/>
</g>
<!-- 10 -->
<!-- name: &quot;string&quot;, typeName: &quot;&quot;, id: 10, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node3" class="node">
<title>10</title>
<ellipse fill="none" stroke="black" cx="777.61" cy="-1152" rx="31.9" ry="18"/>
<text text-anchor="middle" x="777.61" y="-1146.95" font-family="Times New Roman,serif" font-size="14.00">string</text>
</g>
<!-- 9&#45;&gt;10 -->
<g id="edge2" class="edge">
<title>9&#45;&gt;10</title>
<path fill="none" stroke="black" d="M327.68,-1152C412.45,-1152 639.17,-1152 733.99,-1152"/>
<polygon fill="black" stroke="black" points="733.9,-1155.5 743.9,-1152 733.9,-1148.5 733.9,-1155.5"/>
</g>
<!-- 12 -->
<!-- name: &quot;string&quot;, typeName: &quot;&quot;, id: 12, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node5" class="node">
<title>12</title>
<ellipse fill="none" stroke="black" cx="777.61" cy="-1098" rx="31.9" ry="18"/>
<text text-anchor="middle" x="777.61" y="-1092.95" font-family="Times New Roman,serif" font-size="14.00">string</text>
</g>
<!-- 11&#45;&gt;12 -->
<g id="edge4" class="edge">
<title>11&#45;&gt;12</title>
<path fill="none" stroke="black" d="M352.57,-1098C450.47,-1098 647.08,-1098 733.82,-1098"/>
<polygon fill="black" stroke="black" points="733.8,-1101.5 743.8,-1098 733.8,-1094.5 733.8,-1101.5"/>
</g>
<!-- 17 -->
<!-- name: &quot;std::optional&lt;float&gt;&quot;, typeName: &quot;&quot;, id: 17, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node7" class="node">
<title>17</title>
<ellipse fill="none" stroke="black" cx="777.61" cy="-1044" rx="85.13" ry="18"/>
<text text-anchor="middle" x="777.61" y="-1038.95" font-family="Times New Roman,serif" font-size="14.00">std::optional&lt;float&gt;</text>
</g>
<!-- 13&#45;&gt;17 -->
<g id="edge6" class="edge">
<title>13&#45;&gt;17</title>
<path fill="none" stroke="black" d="M327.68,-1044C399.15,-1044 571.51,-1044 680.67,-1044"/>
<polygon fill="black" stroke="black" points="680.5,-1047.5 690.5,-1044 680.5,-1040.5 680.5,-1047.5"/>
</g>
<!-- 19 -->
<!-- name: &quot;std::optional&lt;float&gt;&quot;, typeName: &quot;&quot;, id: 19, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node9" class="node">
<title>19</title>
<ellipse fill="none" stroke="black" cx="777.61" cy="-990" rx="85.13" ry="18"/>
<text text-anchor="middle" x="777.61" y="-984.95" font-family="Times New Roman,serif" font-size="14.00">std::optional&lt;float&gt;</text>
</g>
<!-- 18&#45;&gt;19 -->
<g id="edge8" class="edge">
<title>18&#45;&gt;19</title>
<path fill="none" stroke="black" d="M327.3,-990C398.6,-990 571.61,-990 680.94,-990"/>
<polygon fill="black" stroke="black" points="680.79,-993.5 690.79,-990 680.79,-986.5 680.79,-993.5"/>
</g>
<!-- 21 -->
<!-- name: &quot;std::optional&lt;float&gt;&quot;, typeName: &quot;&quot;, id: 21, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node11" class="node">
<title>21</title>
<ellipse fill="none" stroke="black" cx="777.61" cy="-936" rx="85.13" ry="18"/>
<text text-anchor="middle" x="777.61" y="-930.95" font-family="Times New Roman,serif" font-size="14.00">std::optional&lt;float&gt;</text>
</g>
<!-- 20&#45;&gt;21 -->
<g id="edge10" class="edge">
<title>20&#45;&gt;21</title>
<path fill="none" stroke="black" d="M326.55,-936C397.4,-936 571.31,-936 681.02,-936"/>
<polygon fill="black" stroke="black" points="680.91,-939.5 690.91,-936 680.91,-932.5 680.91,-939.5"/>
</g>
<!-- 23 -->
<!-- name: &quot;std::optional&lt;float&gt;&quot;, typeName: &quot;&quot;, id: 23, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node13" class="node">
<title>23</title>
<ellipse fill="none" stroke="black" cx="777.61" cy="-882" rx="85.13" ry="18"/>
<text text-anchor="middle" x="777.61" y="-876.95" font-family="Times New Roman,serif" font-size="14.00">std::optional&lt;float&gt;</text>
</g>
<!-- 22&#45;&gt;23 -->
<g id="edge12" class="edge">
<title>22&#45;&gt;23</title>
<path fill="none" stroke="black" d="M327.68,-882C399.15,-882 571.51,-882 680.67,-882"/>
<polygon fill="black" stroke="black" points="680.5,-885.5 690.5,-882 680.5,-878.5 680.5,-885.5"/>
</g>
<!-- 25 -->
<!-- name: &quot;std::optional&lt;float&gt;&quot;, typeName: &quot;&quot;, id: 25, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node15" class="node">
<title>25</title>
<ellipse fill="none" stroke="black" cx="777.61" cy="-828" rx="85.13" ry="18"/>
<text text-anchor="middle" x="777.61" y="-822.95" font-family="Times New Roman,serif" font-size="14.00">std::optional&lt;float&gt;</text>
</g>
<!-- 24&#45;&gt;25 -->
<g id="edge14" class="edge">
<title>24&#45;&gt;25</title>
<path fill="none" stroke="black" d="M327.3,-828C398.6,-828 571.61,-828 680.94,-828"/>
<polygon fill="black" stroke="black" points="680.79,-831.5 690.79,-828 680.79,-824.5 680.79,-831.5"/>
</g>
<!-- 27 -->
<!-- name: &quot;std::optional&lt;float&gt;&quot;, typeName: &quot;&quot;, id: 27, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node17" class="node">
<title>27</title>
<ellipse fill="none" stroke="black" cx="777.61" cy="-774" rx="85.13" ry="18"/>
<text text-anchor="middle" x="777.61" y="-768.95" font-family="Times New Roman,serif" font-size="14.00">std::optional&lt;float&gt;</text>
</g>
<!-- 26&#45;&gt;27 -->
<g id="edge16" class="edge">
<title>26&#45;&gt;27</title>
<path fill="none" stroke="black" d="M362.18,-774C445.08,-774 586.57,-774 680.82,-774"/>
<polygon fill="black" stroke="black" points="680.56,-777.5 690.56,-774 680.56,-770.5 680.56,-777.5"/>
</g>
<!-- 32 -->
<!-- name: &quot;std::optional&lt;bool&gt;&quot;, typeName: &quot;&quot;, id: 32, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node19" class="node">
<title>32</title>
<ellipse fill="none" stroke="black" cx="777.61" cy="-720" rx="84.62" ry="18"/>
<text text-anchor="middle" x="777.61" y="-714.95" font-family="Times New Roman,serif" font-size="14.00">std::optional&lt;bool&gt;</text>
</g>
<!-- 28&#45;&gt;32 -->
<g id="edge18" class="edge">
<title>28&#45;&gt;32</title>
<path fill="none" stroke="black" d="M358.91,-720C441.41,-720 585.63,-720 681.13,-720"/>
<polygon fill="black" stroke="black" points="681.02,-723.5 691.02,-720 681.02,-716.5 681.02,-723.5"/>
</g>
<!-- 37 -->
<!-- name: &quot;std::optional&lt;class Vec2&gt;&quot;, typeName: &quot;&quot;, id: 37, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node21" class="node">
<title>37</title>
<ellipse fill="none" stroke="black" cx="777.61" cy="-666" rx="106.63" ry="18"/>
<text text-anchor="middle" x="777.61" y="-660.95" font-family="Times New Roman,serif" font-size="14.00">std::optional&lt;class Vec2&gt;</text>
</g>
<!-- 33&#45;&gt;37 -->
<g id="edge20" class="edge">
<title>33&#45;&gt;37</title>
<path fill="none" stroke="black" d="M402.45,-666C478.69,-666 580.96,-666 659.31,-666"/>
<polygon fill="black" stroke="black" points="659.18,-669.5 669.18,-666 659.18,-662.5 659.18,-669.5"/>
</g>
<!-- 39 -->
<!-- name: &quot;std::optional&lt;class Vec2&gt;&quot;, typeName: &quot;&quot;, id: 39, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node23" class="node">
<title>39</title>
<ellipse fill="none" stroke="black" cx="777.61" cy="-612" rx="106.63" ry="18"/>
<text text-anchor="middle" x="777.61" y="-606.95" font-family="Times New Roman,serif" font-size="14.00">std::optional&lt;class Vec2&gt;</text>
</g>
<!-- 38&#45;&gt;39 -->
<g id="edge22" class="edge">
<title>38&#45;&gt;39</title>
<path fill="none" stroke="black" d="M391.84,-612C468.98,-612 577.24,-612 659.28,-612"/>
<polygon fill="black" stroke="black" points="659.16,-615.5 669.16,-612 659.16,-608.5 659.16,-615.5"/>
</g>
<!-- 41 -->
<!-- name: &quot;std::optional&lt;bool&gt;&quot;, typeName: &quot;&quot;, id: 41, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node25" class="node">
<title>41</title>
<ellipse fill="none" stroke="black" cx="777.61" cy="-558" rx="84.62" ry="18"/>
<text text-anchor="middle" x="777.61" y="-552.95" font-family="Times New Roman,serif" font-size="14.00">std::optional&lt;bool&gt;</text>
</g>
<!-- 40&#45;&gt;41 -->
<g id="edge24" class="edge">
<title>40&#45;&gt;41</title>
<path fill="none" stroke="black" d="M376.39,-558C460.68,-558 592.25,-558 681.33,-558"/>
<polygon fill="black" stroke="black" points="681.27,-561.5 691.27,-558 681.27,-554.5 681.27,-561.5"/>
</g>
<!-- 43 -->
<!-- name: &quot;std::optional&lt;float&gt;&quot;, typeName: &quot;&quot;, id: 43, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node27" class="node">
<title>43</title>
<ellipse fill="none" stroke="black" cx="777.61" cy="-504" rx="85.13" ry="18"/>
<text text-anchor="middle" x="777.61" y="-498.95" font-family="Times New Roman,serif" font-size="14.00">std::optional&lt;float&gt;</text>
</g>
<!-- 42&#45;&gt;43 -->
<g id="edge26" class="edge">
<title>42&#45;&gt;43</title>
<path fill="none" stroke="black" d="M392.71,-504C476.84,-504 597.5,-504 680.99,-504"/>
<polygon fill="black" stroke="black" points="680.75,-507.5 690.75,-504 680.75,-500.5 680.75,-507.5"/>
</g>
<!-- 45 -->
<!-- name: &quot;std::optional&lt;class Vec2&gt;&quot;, typeName: &quot;&quot;, id: 45, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node29" class="node">
<title>45</title>
<ellipse fill="none" stroke="black" cx="777.61" cy="-450" rx="106.63" ry="18"/>
<text text-anchor="middle" x="777.61" y="-444.95" font-family="Times New Roman,serif" font-size="14.00">std::optional&lt;class Vec2&gt;</text>
</g>
<!-- 44&#45;&gt;45 -->
<g id="edge28" class="edge">
<title>44&#45;&gt;45</title>
<path fill="none" stroke="black" d="M350.2,-450C425.2,-450 561.1,-450 659.36,-450"/>
<polygon fill="black" stroke="black" points="659.34,-453.5 669.34,-450 659.34,-446.5 659.34,-453.5"/>
</g>
<!-- 50 -->
<!-- name: &quot;std::optional&lt;class Vec3&gt;&quot;, typeName: &quot;&quot;, id: 50, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node31" class="node">
<title>50</title>
<ellipse fill="none" stroke="black" cx="777.61" cy="-396" rx="106.63" ry="18"/>
<text text-anchor="middle" x="777.61" y="-390.95" font-family="Times New Roman,serif" font-size="14.00">std::optional&lt;class Vec3&gt;</text>
</g>
<!-- 46&#45;&gt;50 -->
<g id="edge30" class="edge">
<title>46&#45;&gt;50</title>
<path fill="none" stroke="black" d="M353.05,-396C428.62,-396 562.44,-396 659.47,-396"/>
<polygon fill="black" stroke="black" points="659.31,-399.5 669.31,-396 659.31,-392.5 659.31,-399.5"/>
</g>
<!-- 52 -->
<!-- name: &quot;std::optional&lt;float&gt;&quot;, typeName: &quot;&quot;, id: 52, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node33" class="node">
<title>52</title>
<ellipse fill="none" stroke="black" cx="777.61" cy="-342" rx="85.13" ry="18"/>
<text text-anchor="middle" x="777.61" y="-336.95" font-family="Times New Roman,serif" font-size="14.00">std::optional&lt;float&gt;</text>
</g>
<!-- 51&#45;&gt;52 -->
<g id="edge32" class="edge">
<title>51&#45;&gt;52</title>
<path fill="none" stroke="black" d="M330.76,-342C403.96,-342 572.9,-342 680.52,-342"/>
<polygon fill="black" stroke="black" points="680.52,-345.5 690.52,-342 680.52,-338.5 680.52,-345.5"/>
</g>
<!-- 54 -->
<!-- name: &quot;std::optional&lt;float&gt;&quot;, typeName: &quot;&quot;, id: 54, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node35" class="node">
<title>54</title>
<ellipse fill="none" stroke="black" cx="777.61" cy="-288" rx="85.13" ry="18"/>
<text text-anchor="middle" x="777.61" y="-282.95" font-family="Times New Roman,serif" font-size="14.00">std::optional&lt;float&gt;</text>
</g>
<!-- 53&#45;&gt;54 -->
<g id="edge34" class="edge">
<title>53&#45;&gt;54</title>
<path fill="none" stroke="black" d="M364.22,-288C447.31,-288 587.07,-288 680.56,-288"/>
<polygon fill="black" stroke="black" points="680.49,-291.5 690.49,-288 680.49,-284.5 680.49,-291.5"/>
</g>
<!-- 56 -->
<!-- name: &quot;std::optional&lt;float&gt;&quot;, typeName: &quot;&quot;, id: 56, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node37" class="node">
<title>56</title>
<ellipse fill="none" stroke="black" cx="777.61" cy="-234" rx="85.13" ry="18"/>
<text text-anchor="middle" x="777.61" y="-228.95" font-family="Times New Roman,serif" font-size="14.00">std::optional&lt;float&gt;</text>
</g>
<!-- 55&#45;&gt;56 -->
<g id="edge36" class="edge">
<title>55&#45;&gt;56</title>
<path fill="none" stroke="black" d="M365.5,-234C448.78,-234 587.68,-234 680.68,-234"/>
<polygon fill="black" stroke="black" points="680.56,-237.5 690.56,-234 680.56,-230.5 680.56,-237.5"/>
</g>
<!-- 66 -->
<!-- name: &quot;std::optional&lt;enum CameraPreset::AudioListener&gt;&quot;, typeName: &quot;&quot;, id: 66, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node39" class="node">
<title>66</title>
<ellipse fill="none" stroke="black" cx="777.61" cy="-180" rx="201.82" ry="18"/>
<text text-anchor="middle" x="777.61" y="-174.95" font-family="Times New Roman,serif" font-size="14.00">std::optional&lt;enum CameraPreset::AudioListener&gt;</text>
</g>
<!-- 57&#45;&gt;66 -->
<g id="edge38" class="edge">
<title>57&#45;&gt;66</title>
<path fill="none" stroke="black" d="M335.19,-180C386.09,-180 477.58,-180 564.11,-180"/>
<polygon fill="black" stroke="black" points="563.95,-183.5 573.95,-180 563.95,-176.5 563.95,-183.5"/>
</g>
<!-- 68 -->
<!-- name: &quot;std::optional&lt;bool&gt;&quot;, typeName: &quot;&quot;, id: 68, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node41" class="node">
<title>68</title>
<ellipse fill="none" stroke="black" cx="777.61" cy="-126" rx="84.62" ry="18"/>
<text text-anchor="middle" x="777.61" y="-120.95" font-family="Times New Roman,serif" font-size="14.00">std::optional&lt;bool&gt;</text>
</g>
<!-- 67&#45;&gt;68 -->
<g id="edge40" class="edge">
<title>67&#45;&gt;68</title>
<path fill="none" stroke="black" d="M357.43,-126C439.73,-126 585.28,-126 681.35,-126"/>
<polygon fill="black" stroke="black" points="681.3,-129.5 691.3,-126 681.3,-122.5 681.3,-129.5"/>
</g>
<!-- 70 -->
<!-- name: &quot;std::optional&lt;bool&gt;&quot;, typeName: &quot;&quot;, id: 70, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node43" class="node">
<title>70</title>
<ellipse fill="none" stroke="black" cx="777.61" cy="-72" rx="84.62" ry="18"/>
<text text-anchor="middle" x="777.61" y="-66.95" font-family="Times New Roman,serif" font-size="14.00">std::optional&lt;bool&gt;</text>
</g>
<!-- 69&#45;&gt;70 -->
<g id="edge42" class="edge">
<title>69&#45;&gt;70</title>
<path fill="none" stroke="black" d="M426.89,-72C507.39,-72 608.45,-72 681.21,-72"/>
<polygon fill="black" stroke="black" points="681.12,-75.5 691.12,-72 681.12,-68.5 681.12,-75.5"/>
</g>
<!-- 94 -->
<!-- name: &quot;std::optional&lt;struct SharedTypes::v1_21_50::CameraPresetAimAssistDefinition&gt;&quot;, typeName: &quot;&quot;, id: 94, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node45" class="node">
<title>94</title>
<ellipse fill="none" stroke="black" cx="777.61" cy="-18" rx="314.93" ry="18"/>
<text text-anchor="middle" x="777.61" y="-12.95" font-family="Times New Roman,serif" font-size="14.00">std::optional&lt;struct SharedTypes::v1_21_50::CameraPresetAimAssistDefinition&gt;</text>
</g>
<!-- 71&#45;&gt;94 -->
<g id="edge44" class="edge">
<title>71&#45;&gt;94</title>
<path fill="none" stroke="black" d="M346.5,-18C374.12,-18 410.71,-18 450.91,-18"/>
<polygon fill="black" stroke="black" points="450.83,-21.5 460.83,-18 450.83,-14.5 450.83,-21.5"/>
</g>
</g>
</svg>