@jbrowse/render-core 5.0.0-beta.11 → 5.0.0-beta.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (190) hide show
  1. package/esm/OverlayCanvas.d.ts +3 -2
  2. package/esm/OverlayCanvas.js +4 -2
  3. package/esm/RenderCanvas.d.ts +4 -3
  4. package/esm/RenderCanvas.js +4 -2
  5. package/esm/ScrollLockedOverlay.d.ts +2 -2
  6. package/esm/ScrollLockedOverlay.js +3 -2
  7. package/esm/blockClipUtils.d.ts +5 -5
  8. package/esm/blockClipUtils.js +4 -3
  9. package/esm/canvas2dUtils.d.ts +15 -21
  10. package/esm/canvas2dUtils.js +25 -55
  11. package/esm/colorRampLut.d.ts +2 -2
  12. package/esm/colorRampLut.js +2 -2
  13. package/esm/coverageBand.d.ts +0 -1
  14. package/esm/coverageBand.js +0 -5
  15. package/esm/coverageBandBuffers.d.ts +8 -5
  16. package/esm/createRenderingBackend.d.ts +1 -1
  17. package/esm/displayPhase.d.ts +5 -9
  18. package/esm/displayPhase.js +2 -2
  19. package/esm/hal/mockHal.d.ts +3 -4
  20. package/esm/hal/mockHal.js +5 -4
  21. package/esm/hal/types.d.ts +5 -5
  22. package/esm/hal/webgl2Hal.d.ts +4 -1
  23. package/esm/hal/webgl2Hal.js +18 -6
  24. package/esm/hal/webgpuHal.js +2 -2
  25. package/esm/linkFeet.d.ts +4 -0
  26. package/esm/linkFeet.js +7 -0
  27. package/esm/marks/barMark.d.ts +1 -1
  28. package/esm/marks/barMark.js +4 -2
  29. package/esm/marks/colorFill.d.ts +4 -4
  30. package/esm/marks/colorFill.js +4 -4
  31. package/esm/marks/connectorMark.d.ts +48 -0
  32. package/esm/marks/connectorMark.js +285 -0
  33. package/esm/marks/drawAgainstHit.d.ts +1 -1
  34. package/esm/marks/drawAgainstHit.js +4 -4
  35. package/esm/marks/glyphPaint.d.ts +5 -4
  36. package/esm/marks/glyphPaint.js +17 -7
  37. package/esm/marks/index.d.ts +8 -5
  38. package/esm/marks/index.js +6 -4
  39. package/esm/marks/lineMark.d.ts +47 -7
  40. package/esm/marks/lineMark.js +53 -39
  41. package/esm/marks/linkMark.d.ts +43 -6
  42. package/esm/marks/linkMark.js +118 -21
  43. package/esm/marks/markBackend.d.ts +1 -1
  44. package/esm/marks/markBackend.js +1 -1
  45. package/esm/marks/markPlan.d.ts +4 -3
  46. package/esm/marks/markPlan.js +5 -4
  47. package/esm/marks/markRamp.d.ts +11 -11
  48. package/esm/marks/markRamp.js +9 -9
  49. package/esm/marks/pointMark.d.ts +11 -5
  50. package/esm/marks/pointMark.js +34 -9
  51. package/esm/marks/rowLane.d.ts +4 -2
  52. package/esm/marks/rowLane.js +7 -3
  53. package/esm/marks/rowTable.d.ts +5 -5
  54. package/esm/marks/rowTable.js +4 -4
  55. package/esm/marks/ruleMark.js +1 -0
  56. package/esm/marks/spanMark.d.ts +8 -7
  57. package/esm/marks/spanMark.js +3 -3
  58. package/esm/marks/types.d.ts +8 -5
  59. package/esm/marks/types.js +8 -1
  60. package/esm/perRegionRenderingBackend.d.ts +1 -1
  61. package/esm/perRegionRenderingBackend.js +1 -1
  62. package/esm/regionDataMap.d.ts +2 -2
  63. package/esm/regionDataMap.js +2 -2
  64. package/esm/shaders/barMark.glsl.generated.d.ts +1 -1
  65. package/esm/shaders/barMark.glsl.generated.js +1 -1
  66. package/esm/shaders/barMark.wgsl.generated.d.ts +1 -1
  67. package/esm/shaders/barMark.wgsl.generated.js +1 -1
  68. package/esm/shaders/capsule.js.generated.d.ts +1 -1
  69. package/esm/shaders/capsule.js.generated.js +2 -2
  70. package/esm/shaders/connectorMark.consts.generated.d.ts +11 -0
  71. package/esm/shaders/connectorMark.consts.generated.js +13 -0
  72. package/esm/shaders/{coverageIndicator.generated.d.ts → connectorMark.generated.d.ts} +2 -1
  73. package/esm/shaders/connectorMark.generated.js +8 -0
  74. package/esm/shaders/connectorMark.glsl.generated.d.ts +2 -0
  75. package/esm/shaders/connectorMark.glsl.generated.js +4 -0
  76. package/esm/shaders/connectorMark.iface.generated.d.ts +88 -0
  77. package/esm/shaders/connectorMark.iface.generated.js +1194 -0
  78. package/esm/shaders/connectorMark.js.generated.d.ts +5 -0
  79. package/esm/shaders/connectorMark.js.generated.js +47 -0
  80. package/esm/shaders/connectorMark.wgsl.generated.d.ts +1 -0
  81. package/esm/shaders/connectorMark.wgsl.generated.js +3 -0
  82. package/esm/shaders/coverageInterbase.glsl.generated.d.ts +1 -1
  83. package/esm/shaders/coverageInterbase.glsl.generated.js +1 -1
  84. package/esm/shaders/coverageInterbase.wgsl.generated.d.ts +1 -1
  85. package/esm/shaders/coverageInterbase.wgsl.generated.js +1 -1
  86. package/esm/shaders/curveDistance.js.generated.d.ts +4 -0
  87. package/esm/shaders/curveDistance.js.generated.js +113 -0
  88. package/esm/shaders/insertionGlyph.generated.d.ts +6 -0
  89. package/esm/shaders/insertionGlyph.generated.js +8 -0
  90. package/esm/shaders/lineCenterMark.glsl.generated.d.ts +2 -2
  91. package/esm/shaders/lineCenterMark.glsl.generated.js +2 -2
  92. package/esm/shaders/lineCenterMark.iface.generated.d.ts +11 -9
  93. package/esm/shaders/lineCenterMark.iface.generated.js +20 -18
  94. package/esm/shaders/lineCenterMark.wgsl.generated.d.ts +1 -1
  95. package/esm/shaders/lineCenterMark.wgsl.generated.js +1 -1
  96. package/esm/shaders/lineCommon.js.generated.d.ts +1 -0
  97. package/esm/shaders/lineCommon.js.generated.js +20 -0
  98. package/esm/shaders/lineStepMark.glsl.generated.d.ts +2 -2
  99. package/esm/shaders/lineStepMark.glsl.generated.js +2 -2
  100. package/esm/shaders/lineStepMark.iface.generated.d.ts +11 -9
  101. package/esm/shaders/lineStepMark.iface.generated.js +20 -18
  102. package/esm/shaders/lineStepMark.wgsl.generated.d.ts +1 -1
  103. package/esm/shaders/lineStepMark.wgsl.generated.js +1 -1
  104. package/esm/shaders/linkMark.consts.generated.d.ts +1 -0
  105. package/esm/shaders/linkMark.consts.generated.js +1 -0
  106. package/esm/shaders/linkMark.glsl.generated.d.ts +2 -2
  107. package/esm/shaders/linkMark.glsl.generated.js +2 -2
  108. package/esm/shaders/linkMark.js.generated.d.ts +4 -2
  109. package/esm/shaders/linkMark.js.generated.js +33 -4
  110. package/esm/shaders/linkMark.wgsl.generated.d.ts +1 -1
  111. package/esm/shaders/linkMark.wgsl.generated.js +1 -1
  112. package/esm/shaders/pointMark.glsl.generated.d.ts +1 -1
  113. package/esm/shaders/pointMark.glsl.generated.js +1 -1
  114. package/esm/shaders/pointMark.iface.generated.d.ts +10 -8
  115. package/esm/shaders/pointMark.iface.generated.js +18 -16
  116. package/esm/shaders/pointMark.wgsl.generated.d.ts +1 -1
  117. package/esm/shaders/pointMark.wgsl.generated.js +1 -1
  118. package/esm/shaders/spanMark.glsl.generated.d.ts +1 -1
  119. package/esm/shaders/spanMark.glsl.generated.js +1 -1
  120. package/esm/shaders/spanMark.wgsl.generated.d.ts +1 -1
  121. package/esm/shaders/spanMark.wgsl.generated.js +1 -1
  122. package/esm/slangPass.d.ts +5 -3
  123. package/esm/slangPass.js +2 -2
  124. package/package.json +7 -4
  125. package/src/shaders/arcHull.test.ts +87 -0
  126. package/src/shaders/barMark.glsl.generated.ts +1 -1
  127. package/src/shaders/barMark.slang +2 -2
  128. package/src/shaders/barMark.wgsl.generated.ts +1 -1
  129. package/src/shaders/capsule.js.generated.ts +2 -2
  130. package/src/shaders/capsule.slang +69 -24
  131. package/src/shaders/clipStrip.slang +1 -1
  132. package/src/shaders/colorPack.slang +2 -2
  133. package/src/shaders/colorRampLut.slang +7 -7
  134. package/src/shaders/connectorMark.consts.generated.ts +24 -0
  135. package/src/shaders/connectorMark.generated.ts +12 -0
  136. package/src/shaders/connectorMark.glsl.generated.ts +6 -0
  137. package/src/shaders/connectorMark.iface.generated.ts +1270 -0
  138. package/src/shaders/connectorMark.js.generated.ts +52 -0
  139. package/src/shaders/connectorMark.slang +287 -0
  140. package/src/shaders/connectorMark.wgsl.generated.ts +4 -0
  141. package/src/shaders/coverageBand.slang +10 -12
  142. package/src/shaders/coverageInterbase.glsl.generated.ts +1 -1
  143. package/src/shaders/coverageInterbase.slang +24 -21
  144. package/src/shaders/coverageInterbase.wgsl.generated.ts +1 -1
  145. package/src/shaders/coverageSnp.slang +1 -1
  146. package/src/shaders/curveDistance.js.generated.ts +112 -0
  147. package/src/shaders/curveDistance.slang +104 -1
  148. package/src/shaders/farDome.test.ts +117 -0
  149. package/src/shaders/hpClampFloor.test.ts +0 -4
  150. package/src/shaders/insertionGlyph.generated.ts +14 -0
  151. package/src/shaders/insertionGlyph.slang +59 -0
  152. package/src/shaders/lineCenterMark.glsl.generated.ts +2 -2
  153. package/src/shaders/lineCenterMark.iface.generated.ts +21 -18
  154. package/src/shaders/lineCenterMark.slang +19 -23
  155. package/src/shaders/lineCenterMark.wgsl.generated.ts +1 -1
  156. package/src/shaders/lineCommon.js.generated.ts +20 -0
  157. package/src/shaders/lineCommon.slang +18 -8
  158. package/src/shaders/lineStepMark.glsl.generated.ts +2 -2
  159. package/src/shaders/lineStepMark.iface.generated.ts +21 -18
  160. package/src/shaders/lineStepMark.slang +10 -6
  161. package/src/shaders/lineStepMark.wgsl.generated.ts +1 -1
  162. package/src/shaders/linkMark.consts.generated.ts +2 -0
  163. package/src/shaders/linkMark.glsl.generated.ts +2 -2
  164. package/src/shaders/linkMark.js.generated.ts +30 -4
  165. package/src/shaders/linkMark.slang +67 -24
  166. package/src/shaders/linkMark.wgsl.generated.ts +1 -1
  167. package/src/shaders/markColor.slang +10 -10
  168. package/src/shaders/pointMark.glsl.generated.ts +1 -1
  169. package/src/shaders/pointMark.iface.generated.ts +19 -16
  170. package/src/shaders/pointMark.slang +12 -8
  171. package/src/shaders/pointMark.wgsl.generated.ts +1 -1
  172. package/src/shaders/rowRect.slang +3 -3
  173. package/src/shaders/rowTable.slang +12 -8
  174. package/src/shaders/scoreScale.slang +1 -1
  175. package/src/shaders/spanMark.glsl.generated.ts +1 -1
  176. package/src/shaders/spanMark.slang +5 -5
  177. package/src/shaders/spanMark.wgsl.generated.ts +1 -1
  178. package/src/shaders/viewRegion.slang +13 -0
  179. package/esm/shaders/coverageIndicator.generated.js +0 -7
  180. package/esm/shaders/coverageIndicator.glsl.generated.d.ts +0 -2
  181. package/esm/shaders/coverageIndicator.glsl.generated.js +0 -4
  182. package/esm/shaders/coverageIndicator.iface.generated.d.ts +0 -85
  183. package/esm/shaders/coverageIndicator.iface.generated.js +0 -114
  184. package/esm/shaders/coverageIndicator.wgsl.generated.d.ts +0 -1
  185. package/esm/shaders/coverageIndicator.wgsl.generated.js +0 -3
  186. package/src/shaders/coverageIndicator.generated.ts +0 -11
  187. package/src/shaders/coverageIndicator.glsl.generated.ts +0 -6
  188. package/src/shaders/coverageIndicator.iface.generated.ts +0 -172
  189. package/src/shaders/coverageIndicator.slang +0 -61
  190. package/src/shaders/coverageIndicator.wgsl.generated.ts +0 -4
@@ -0,0 +1,1194 @@
1
+ // AUTO-GENERATED by packages/shader-tools/src/shader-codegen from connectorMark.slang.
2
+ // Do not edit. Run `pnpm gen:shaders` to regenerate.
3
+ export const BINDINGS = [
4
+ { index: 1, kind: 'uniform', name: 'u', stages: ['vertex', 'fragment'] },
5
+ ];
6
+ export const VERTS_PER_INSTANCE = 110;
7
+ export const TOPOLOGY = 'triangle-strip';
8
+ export const COVERAGE = 'analytic';
9
+ export const UNIFORMS_SIZE_BYTES = 4160;
10
+ // Word indices into a Float32Array view over the uniform buffer.
11
+ export const UNIFORM_OFFSET_F32 = {
12
+ canvasHeight: 0,
13
+ canvasWidth: 1,
14
+ devicePixelRatio: 2,
15
+ rowOffsetPx: 3,
16
+ rowPitchPx: 4,
17
+ maxHandlePx: 5,
18
+ dashPx: 6,
19
+ gapPx: 7,
20
+ arrowPx: 8,
21
+ zero: 10,
22
+ ownEntry: 12,
23
+ };
24
+ // Word indices into a Uint32Array view over the uniform buffer.
25
+ export const UNIFORM_OFFSET_U32 = {
26
+ regionCount: 9,
27
+ };
28
+ // Word indices of each array field’s elements, into a 4-byte-word
29
+ // view over the uniform buffer (Uint32Array or Float32Array — the
30
+ // field’s scalar type picks, same as UNIFORM_OFFSET_*). NOT
31
+ // consecutive: std140 pads every array element to 16 bytes.
32
+ export const UNIFORM_SLOT_ARRAYS = {
33
+ regionTable: [16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 64, 68, 72, 76, 80, 84, 88, 92, 96, 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140, 144, 148, 152, 156, 160, 164, 168, 172, 176, 180, 184, 188, 192, 196, 200, 204, 208, 212, 216, 220, 224, 228, 232, 236, 240, 244, 248, 252, 256, 260, 264, 268, 272, 276, 280, 284, 288, 292, 296, 300, 304, 308, 312, 316, 320, 324, 328, 332, 336, 340, 344, 348, 352, 356, 360, 364, 368, 372, 376, 380, 384, 388, 392, 396, 400, 404, 408, 412, 416, 420, 424, 428, 432, 436, 440, 444, 448, 452, 456, 460, 464, 468, 472, 476, 480, 484, 488, 492, 496, 500, 504, 508, 512, 516, 520, 524, 528, 532, 536, 540, 544, 548, 552, 556, 560, 564, 568, 572, 576, 580, 584, 588, 592, 596, 600, 604, 608, 612, 616, 620, 624, 628, 632, 636, 640, 644, 648, 652, 656, 660, 664, 668, 672, 676, 680, 684, 688, 692, 696, 700, 704, 708, 712, 716, 720, 724, 728, 732, 736, 740, 744, 748, 752, 756, 760, 764, 768, 772, 776, 780, 784, 788, 792, 796, 800, 804, 808, 812, 816, 820, 824, 828, 832, 836, 840, 844, 848, 852, 856, 860, 864, 868, 872, 876, 880, 884, 888, 892, 896, 900, 904, 908, 912, 916, 920, 924, 928, 932, 936, 940, 944, 948, 952, 956, 960, 964, 968, 972, 976, 980, 984, 988, 992, 996, 1000, 1004, 1008, 1012, 1016, 1020, 1024, 1028, 1032, 1036],
34
+ };
35
+ // Element `i` of the `regionTable` uniform array (4 components).
36
+ export function setUniformRegionTable(f32, i, v0, v1, v2, v3) {
37
+ const o = UNIFORM_SLOT_ARRAYS.regionTable[i];
38
+ f32[o] = v0;
39
+ f32[o + 1] = v1;
40
+ f32[o + 2] = v2;
41
+ f32[o + 3] = v3;
42
+ }
43
+ export function writeUniforms(buf, uniforms) {
44
+ const f32 = new Float32Array(buf);
45
+ const u32 = new Uint32Array(buf);
46
+ f32[0] = uniforms.canvasHeight;
47
+ f32[1] = uniforms.canvasWidth;
48
+ f32[2] = uniforms.devicePixelRatio;
49
+ f32[3] = uniforms.rowOffsetPx;
50
+ f32[4] = uniforms.rowPitchPx;
51
+ f32[5] = uniforms.maxHandlePx;
52
+ f32[6] = uniforms.dashPx;
53
+ f32[7] = uniforms.gapPx;
54
+ f32[8] = uniforms.arrowPx;
55
+ u32[9] = uniforms.regionCount;
56
+ f32[10] = uniforms.zero;
57
+ f32[12] = uniforms.ownEntry[0];
58
+ f32[13] = uniforms.ownEntry[1];
59
+ f32[14] = uniforms.ownEntry[2];
60
+ f32[15] = uniforms.ownEntry[3];
61
+ f32[16] = uniforms.regionTable[0][0];
62
+ f32[17] = uniforms.regionTable[0][1];
63
+ f32[18] = uniforms.regionTable[0][2];
64
+ f32[19] = uniforms.regionTable[0][3];
65
+ f32[20] = uniforms.regionTable[1][0];
66
+ f32[21] = uniforms.regionTable[1][1];
67
+ f32[22] = uniforms.regionTable[1][2];
68
+ f32[23] = uniforms.regionTable[1][3];
69
+ f32[24] = uniforms.regionTable[2][0];
70
+ f32[25] = uniforms.regionTable[2][1];
71
+ f32[26] = uniforms.regionTable[2][2];
72
+ f32[27] = uniforms.regionTable[2][3];
73
+ f32[28] = uniforms.regionTable[3][0];
74
+ f32[29] = uniforms.regionTable[3][1];
75
+ f32[30] = uniforms.regionTable[3][2];
76
+ f32[31] = uniforms.regionTable[3][3];
77
+ f32[32] = uniforms.regionTable[4][0];
78
+ f32[33] = uniforms.regionTable[4][1];
79
+ f32[34] = uniforms.regionTable[4][2];
80
+ f32[35] = uniforms.regionTable[4][3];
81
+ f32[36] = uniforms.regionTable[5][0];
82
+ f32[37] = uniforms.regionTable[5][1];
83
+ f32[38] = uniforms.regionTable[5][2];
84
+ f32[39] = uniforms.regionTable[5][3];
85
+ f32[40] = uniforms.regionTable[6][0];
86
+ f32[41] = uniforms.regionTable[6][1];
87
+ f32[42] = uniforms.regionTable[6][2];
88
+ f32[43] = uniforms.regionTable[6][3];
89
+ f32[44] = uniforms.regionTable[7][0];
90
+ f32[45] = uniforms.regionTable[7][1];
91
+ f32[46] = uniforms.regionTable[7][2];
92
+ f32[47] = uniforms.regionTable[7][3];
93
+ f32[48] = uniforms.regionTable[8][0];
94
+ f32[49] = uniforms.regionTable[8][1];
95
+ f32[50] = uniforms.regionTable[8][2];
96
+ f32[51] = uniforms.regionTable[8][3];
97
+ f32[52] = uniforms.regionTable[9][0];
98
+ f32[53] = uniforms.regionTable[9][1];
99
+ f32[54] = uniforms.regionTable[9][2];
100
+ f32[55] = uniforms.regionTable[9][3];
101
+ f32[56] = uniforms.regionTable[10][0];
102
+ f32[57] = uniforms.regionTable[10][1];
103
+ f32[58] = uniforms.regionTable[10][2];
104
+ f32[59] = uniforms.regionTable[10][3];
105
+ f32[60] = uniforms.regionTable[11][0];
106
+ f32[61] = uniforms.regionTable[11][1];
107
+ f32[62] = uniforms.regionTable[11][2];
108
+ f32[63] = uniforms.regionTable[11][3];
109
+ f32[64] = uniforms.regionTable[12][0];
110
+ f32[65] = uniforms.regionTable[12][1];
111
+ f32[66] = uniforms.regionTable[12][2];
112
+ f32[67] = uniforms.regionTable[12][3];
113
+ f32[68] = uniforms.regionTable[13][0];
114
+ f32[69] = uniforms.regionTable[13][1];
115
+ f32[70] = uniforms.regionTable[13][2];
116
+ f32[71] = uniforms.regionTable[13][3];
117
+ f32[72] = uniforms.regionTable[14][0];
118
+ f32[73] = uniforms.regionTable[14][1];
119
+ f32[74] = uniforms.regionTable[14][2];
120
+ f32[75] = uniforms.regionTable[14][3];
121
+ f32[76] = uniforms.regionTable[15][0];
122
+ f32[77] = uniforms.regionTable[15][1];
123
+ f32[78] = uniforms.regionTable[15][2];
124
+ f32[79] = uniforms.regionTable[15][3];
125
+ f32[80] = uniforms.regionTable[16][0];
126
+ f32[81] = uniforms.regionTable[16][1];
127
+ f32[82] = uniforms.regionTable[16][2];
128
+ f32[83] = uniforms.regionTable[16][3];
129
+ f32[84] = uniforms.regionTable[17][0];
130
+ f32[85] = uniforms.regionTable[17][1];
131
+ f32[86] = uniforms.regionTable[17][2];
132
+ f32[87] = uniforms.regionTable[17][3];
133
+ f32[88] = uniforms.regionTable[18][0];
134
+ f32[89] = uniforms.regionTable[18][1];
135
+ f32[90] = uniforms.regionTable[18][2];
136
+ f32[91] = uniforms.regionTable[18][3];
137
+ f32[92] = uniforms.regionTable[19][0];
138
+ f32[93] = uniforms.regionTable[19][1];
139
+ f32[94] = uniforms.regionTable[19][2];
140
+ f32[95] = uniforms.regionTable[19][3];
141
+ f32[96] = uniforms.regionTable[20][0];
142
+ f32[97] = uniforms.regionTable[20][1];
143
+ f32[98] = uniforms.regionTable[20][2];
144
+ f32[99] = uniforms.regionTable[20][3];
145
+ f32[100] = uniforms.regionTable[21][0];
146
+ f32[101] = uniforms.regionTable[21][1];
147
+ f32[102] = uniforms.regionTable[21][2];
148
+ f32[103] = uniforms.regionTable[21][3];
149
+ f32[104] = uniforms.regionTable[22][0];
150
+ f32[105] = uniforms.regionTable[22][1];
151
+ f32[106] = uniforms.regionTable[22][2];
152
+ f32[107] = uniforms.regionTable[22][3];
153
+ f32[108] = uniforms.regionTable[23][0];
154
+ f32[109] = uniforms.regionTable[23][1];
155
+ f32[110] = uniforms.regionTable[23][2];
156
+ f32[111] = uniforms.regionTable[23][3];
157
+ f32[112] = uniforms.regionTable[24][0];
158
+ f32[113] = uniforms.regionTable[24][1];
159
+ f32[114] = uniforms.regionTable[24][2];
160
+ f32[115] = uniforms.regionTable[24][3];
161
+ f32[116] = uniforms.regionTable[25][0];
162
+ f32[117] = uniforms.regionTable[25][1];
163
+ f32[118] = uniforms.regionTable[25][2];
164
+ f32[119] = uniforms.regionTable[25][3];
165
+ f32[120] = uniforms.regionTable[26][0];
166
+ f32[121] = uniforms.regionTable[26][1];
167
+ f32[122] = uniforms.regionTable[26][2];
168
+ f32[123] = uniforms.regionTable[26][3];
169
+ f32[124] = uniforms.regionTable[27][0];
170
+ f32[125] = uniforms.regionTable[27][1];
171
+ f32[126] = uniforms.regionTable[27][2];
172
+ f32[127] = uniforms.regionTable[27][3];
173
+ f32[128] = uniforms.regionTable[28][0];
174
+ f32[129] = uniforms.regionTable[28][1];
175
+ f32[130] = uniforms.regionTable[28][2];
176
+ f32[131] = uniforms.regionTable[28][3];
177
+ f32[132] = uniforms.regionTable[29][0];
178
+ f32[133] = uniforms.regionTable[29][1];
179
+ f32[134] = uniforms.regionTable[29][2];
180
+ f32[135] = uniforms.regionTable[29][3];
181
+ f32[136] = uniforms.regionTable[30][0];
182
+ f32[137] = uniforms.regionTable[30][1];
183
+ f32[138] = uniforms.regionTable[30][2];
184
+ f32[139] = uniforms.regionTable[30][3];
185
+ f32[140] = uniforms.regionTable[31][0];
186
+ f32[141] = uniforms.regionTable[31][1];
187
+ f32[142] = uniforms.regionTable[31][2];
188
+ f32[143] = uniforms.regionTable[31][3];
189
+ f32[144] = uniforms.regionTable[32][0];
190
+ f32[145] = uniforms.regionTable[32][1];
191
+ f32[146] = uniforms.regionTable[32][2];
192
+ f32[147] = uniforms.regionTable[32][3];
193
+ f32[148] = uniforms.regionTable[33][0];
194
+ f32[149] = uniforms.regionTable[33][1];
195
+ f32[150] = uniforms.regionTable[33][2];
196
+ f32[151] = uniforms.regionTable[33][3];
197
+ f32[152] = uniforms.regionTable[34][0];
198
+ f32[153] = uniforms.regionTable[34][1];
199
+ f32[154] = uniforms.regionTable[34][2];
200
+ f32[155] = uniforms.regionTable[34][3];
201
+ f32[156] = uniforms.regionTable[35][0];
202
+ f32[157] = uniforms.regionTable[35][1];
203
+ f32[158] = uniforms.regionTable[35][2];
204
+ f32[159] = uniforms.regionTable[35][3];
205
+ f32[160] = uniforms.regionTable[36][0];
206
+ f32[161] = uniforms.regionTable[36][1];
207
+ f32[162] = uniforms.regionTable[36][2];
208
+ f32[163] = uniforms.regionTable[36][3];
209
+ f32[164] = uniforms.regionTable[37][0];
210
+ f32[165] = uniforms.regionTable[37][1];
211
+ f32[166] = uniforms.regionTable[37][2];
212
+ f32[167] = uniforms.regionTable[37][3];
213
+ f32[168] = uniforms.regionTable[38][0];
214
+ f32[169] = uniforms.regionTable[38][1];
215
+ f32[170] = uniforms.regionTable[38][2];
216
+ f32[171] = uniforms.regionTable[38][3];
217
+ f32[172] = uniforms.regionTable[39][0];
218
+ f32[173] = uniforms.regionTable[39][1];
219
+ f32[174] = uniforms.regionTable[39][2];
220
+ f32[175] = uniforms.regionTable[39][3];
221
+ f32[176] = uniforms.regionTable[40][0];
222
+ f32[177] = uniforms.regionTable[40][1];
223
+ f32[178] = uniforms.regionTable[40][2];
224
+ f32[179] = uniforms.regionTable[40][3];
225
+ f32[180] = uniforms.regionTable[41][0];
226
+ f32[181] = uniforms.regionTable[41][1];
227
+ f32[182] = uniforms.regionTable[41][2];
228
+ f32[183] = uniforms.regionTable[41][3];
229
+ f32[184] = uniforms.regionTable[42][0];
230
+ f32[185] = uniforms.regionTable[42][1];
231
+ f32[186] = uniforms.regionTable[42][2];
232
+ f32[187] = uniforms.regionTable[42][3];
233
+ f32[188] = uniforms.regionTable[43][0];
234
+ f32[189] = uniforms.regionTable[43][1];
235
+ f32[190] = uniforms.regionTable[43][2];
236
+ f32[191] = uniforms.regionTable[43][3];
237
+ f32[192] = uniforms.regionTable[44][0];
238
+ f32[193] = uniforms.regionTable[44][1];
239
+ f32[194] = uniforms.regionTable[44][2];
240
+ f32[195] = uniforms.regionTable[44][3];
241
+ f32[196] = uniforms.regionTable[45][0];
242
+ f32[197] = uniforms.regionTable[45][1];
243
+ f32[198] = uniforms.regionTable[45][2];
244
+ f32[199] = uniforms.regionTable[45][3];
245
+ f32[200] = uniforms.regionTable[46][0];
246
+ f32[201] = uniforms.regionTable[46][1];
247
+ f32[202] = uniforms.regionTable[46][2];
248
+ f32[203] = uniforms.regionTable[46][3];
249
+ f32[204] = uniforms.regionTable[47][0];
250
+ f32[205] = uniforms.regionTable[47][1];
251
+ f32[206] = uniforms.regionTable[47][2];
252
+ f32[207] = uniforms.regionTable[47][3];
253
+ f32[208] = uniforms.regionTable[48][0];
254
+ f32[209] = uniforms.regionTable[48][1];
255
+ f32[210] = uniforms.regionTable[48][2];
256
+ f32[211] = uniforms.regionTable[48][3];
257
+ f32[212] = uniforms.regionTable[49][0];
258
+ f32[213] = uniforms.regionTable[49][1];
259
+ f32[214] = uniforms.regionTable[49][2];
260
+ f32[215] = uniforms.regionTable[49][3];
261
+ f32[216] = uniforms.regionTable[50][0];
262
+ f32[217] = uniforms.regionTable[50][1];
263
+ f32[218] = uniforms.regionTable[50][2];
264
+ f32[219] = uniforms.regionTable[50][3];
265
+ f32[220] = uniforms.regionTable[51][0];
266
+ f32[221] = uniforms.regionTable[51][1];
267
+ f32[222] = uniforms.regionTable[51][2];
268
+ f32[223] = uniforms.regionTable[51][3];
269
+ f32[224] = uniforms.regionTable[52][0];
270
+ f32[225] = uniforms.regionTable[52][1];
271
+ f32[226] = uniforms.regionTable[52][2];
272
+ f32[227] = uniforms.regionTable[52][3];
273
+ f32[228] = uniforms.regionTable[53][0];
274
+ f32[229] = uniforms.regionTable[53][1];
275
+ f32[230] = uniforms.regionTable[53][2];
276
+ f32[231] = uniforms.regionTable[53][3];
277
+ f32[232] = uniforms.regionTable[54][0];
278
+ f32[233] = uniforms.regionTable[54][1];
279
+ f32[234] = uniforms.regionTable[54][2];
280
+ f32[235] = uniforms.regionTable[54][3];
281
+ f32[236] = uniforms.regionTable[55][0];
282
+ f32[237] = uniforms.regionTable[55][1];
283
+ f32[238] = uniforms.regionTable[55][2];
284
+ f32[239] = uniforms.regionTable[55][3];
285
+ f32[240] = uniforms.regionTable[56][0];
286
+ f32[241] = uniforms.regionTable[56][1];
287
+ f32[242] = uniforms.regionTable[56][2];
288
+ f32[243] = uniforms.regionTable[56][3];
289
+ f32[244] = uniforms.regionTable[57][0];
290
+ f32[245] = uniforms.regionTable[57][1];
291
+ f32[246] = uniforms.regionTable[57][2];
292
+ f32[247] = uniforms.regionTable[57][3];
293
+ f32[248] = uniforms.regionTable[58][0];
294
+ f32[249] = uniforms.regionTable[58][1];
295
+ f32[250] = uniforms.regionTable[58][2];
296
+ f32[251] = uniforms.regionTable[58][3];
297
+ f32[252] = uniforms.regionTable[59][0];
298
+ f32[253] = uniforms.regionTable[59][1];
299
+ f32[254] = uniforms.regionTable[59][2];
300
+ f32[255] = uniforms.regionTable[59][3];
301
+ f32[256] = uniforms.regionTable[60][0];
302
+ f32[257] = uniforms.regionTable[60][1];
303
+ f32[258] = uniforms.regionTable[60][2];
304
+ f32[259] = uniforms.regionTable[60][3];
305
+ f32[260] = uniforms.regionTable[61][0];
306
+ f32[261] = uniforms.regionTable[61][1];
307
+ f32[262] = uniforms.regionTable[61][2];
308
+ f32[263] = uniforms.regionTable[61][3];
309
+ f32[264] = uniforms.regionTable[62][0];
310
+ f32[265] = uniforms.regionTable[62][1];
311
+ f32[266] = uniforms.regionTable[62][2];
312
+ f32[267] = uniforms.regionTable[62][3];
313
+ f32[268] = uniforms.regionTable[63][0];
314
+ f32[269] = uniforms.regionTable[63][1];
315
+ f32[270] = uniforms.regionTable[63][2];
316
+ f32[271] = uniforms.regionTable[63][3];
317
+ f32[272] = uniforms.regionTable[64][0];
318
+ f32[273] = uniforms.regionTable[64][1];
319
+ f32[274] = uniforms.regionTable[64][2];
320
+ f32[275] = uniforms.regionTable[64][3];
321
+ f32[276] = uniforms.regionTable[65][0];
322
+ f32[277] = uniforms.regionTable[65][1];
323
+ f32[278] = uniforms.regionTable[65][2];
324
+ f32[279] = uniforms.regionTable[65][3];
325
+ f32[280] = uniforms.regionTable[66][0];
326
+ f32[281] = uniforms.regionTable[66][1];
327
+ f32[282] = uniforms.regionTable[66][2];
328
+ f32[283] = uniforms.regionTable[66][3];
329
+ f32[284] = uniforms.regionTable[67][0];
330
+ f32[285] = uniforms.regionTable[67][1];
331
+ f32[286] = uniforms.regionTable[67][2];
332
+ f32[287] = uniforms.regionTable[67][3];
333
+ f32[288] = uniforms.regionTable[68][0];
334
+ f32[289] = uniforms.regionTable[68][1];
335
+ f32[290] = uniforms.regionTable[68][2];
336
+ f32[291] = uniforms.regionTable[68][3];
337
+ f32[292] = uniforms.regionTable[69][0];
338
+ f32[293] = uniforms.regionTable[69][1];
339
+ f32[294] = uniforms.regionTable[69][2];
340
+ f32[295] = uniforms.regionTable[69][3];
341
+ f32[296] = uniforms.regionTable[70][0];
342
+ f32[297] = uniforms.regionTable[70][1];
343
+ f32[298] = uniforms.regionTable[70][2];
344
+ f32[299] = uniforms.regionTable[70][3];
345
+ f32[300] = uniforms.regionTable[71][0];
346
+ f32[301] = uniforms.regionTable[71][1];
347
+ f32[302] = uniforms.regionTable[71][2];
348
+ f32[303] = uniforms.regionTable[71][3];
349
+ f32[304] = uniforms.regionTable[72][0];
350
+ f32[305] = uniforms.regionTable[72][1];
351
+ f32[306] = uniforms.regionTable[72][2];
352
+ f32[307] = uniforms.regionTable[72][3];
353
+ f32[308] = uniforms.regionTable[73][0];
354
+ f32[309] = uniforms.regionTable[73][1];
355
+ f32[310] = uniforms.regionTable[73][2];
356
+ f32[311] = uniforms.regionTable[73][3];
357
+ f32[312] = uniforms.regionTable[74][0];
358
+ f32[313] = uniforms.regionTable[74][1];
359
+ f32[314] = uniforms.regionTable[74][2];
360
+ f32[315] = uniforms.regionTable[74][3];
361
+ f32[316] = uniforms.regionTable[75][0];
362
+ f32[317] = uniforms.regionTable[75][1];
363
+ f32[318] = uniforms.regionTable[75][2];
364
+ f32[319] = uniforms.regionTable[75][3];
365
+ f32[320] = uniforms.regionTable[76][0];
366
+ f32[321] = uniforms.regionTable[76][1];
367
+ f32[322] = uniforms.regionTable[76][2];
368
+ f32[323] = uniforms.regionTable[76][3];
369
+ f32[324] = uniforms.regionTable[77][0];
370
+ f32[325] = uniforms.regionTable[77][1];
371
+ f32[326] = uniforms.regionTable[77][2];
372
+ f32[327] = uniforms.regionTable[77][3];
373
+ f32[328] = uniforms.regionTable[78][0];
374
+ f32[329] = uniforms.regionTable[78][1];
375
+ f32[330] = uniforms.regionTable[78][2];
376
+ f32[331] = uniforms.regionTable[78][3];
377
+ f32[332] = uniforms.regionTable[79][0];
378
+ f32[333] = uniforms.regionTable[79][1];
379
+ f32[334] = uniforms.regionTable[79][2];
380
+ f32[335] = uniforms.regionTable[79][3];
381
+ f32[336] = uniforms.regionTable[80][0];
382
+ f32[337] = uniforms.regionTable[80][1];
383
+ f32[338] = uniforms.regionTable[80][2];
384
+ f32[339] = uniforms.regionTable[80][3];
385
+ f32[340] = uniforms.regionTable[81][0];
386
+ f32[341] = uniforms.regionTable[81][1];
387
+ f32[342] = uniforms.regionTable[81][2];
388
+ f32[343] = uniforms.regionTable[81][3];
389
+ f32[344] = uniforms.regionTable[82][0];
390
+ f32[345] = uniforms.regionTable[82][1];
391
+ f32[346] = uniforms.regionTable[82][2];
392
+ f32[347] = uniforms.regionTable[82][3];
393
+ f32[348] = uniforms.regionTable[83][0];
394
+ f32[349] = uniforms.regionTable[83][1];
395
+ f32[350] = uniforms.regionTable[83][2];
396
+ f32[351] = uniforms.regionTable[83][3];
397
+ f32[352] = uniforms.regionTable[84][0];
398
+ f32[353] = uniforms.regionTable[84][1];
399
+ f32[354] = uniforms.regionTable[84][2];
400
+ f32[355] = uniforms.regionTable[84][3];
401
+ f32[356] = uniforms.regionTable[85][0];
402
+ f32[357] = uniforms.regionTable[85][1];
403
+ f32[358] = uniforms.regionTable[85][2];
404
+ f32[359] = uniforms.regionTable[85][3];
405
+ f32[360] = uniforms.regionTable[86][0];
406
+ f32[361] = uniforms.regionTable[86][1];
407
+ f32[362] = uniforms.regionTable[86][2];
408
+ f32[363] = uniforms.regionTable[86][3];
409
+ f32[364] = uniforms.regionTable[87][0];
410
+ f32[365] = uniforms.regionTable[87][1];
411
+ f32[366] = uniforms.regionTable[87][2];
412
+ f32[367] = uniforms.regionTable[87][3];
413
+ f32[368] = uniforms.regionTable[88][0];
414
+ f32[369] = uniforms.regionTable[88][1];
415
+ f32[370] = uniforms.regionTable[88][2];
416
+ f32[371] = uniforms.regionTable[88][3];
417
+ f32[372] = uniforms.regionTable[89][0];
418
+ f32[373] = uniforms.regionTable[89][1];
419
+ f32[374] = uniforms.regionTable[89][2];
420
+ f32[375] = uniforms.regionTable[89][3];
421
+ f32[376] = uniforms.regionTable[90][0];
422
+ f32[377] = uniforms.regionTable[90][1];
423
+ f32[378] = uniforms.regionTable[90][2];
424
+ f32[379] = uniforms.regionTable[90][3];
425
+ f32[380] = uniforms.regionTable[91][0];
426
+ f32[381] = uniforms.regionTable[91][1];
427
+ f32[382] = uniforms.regionTable[91][2];
428
+ f32[383] = uniforms.regionTable[91][3];
429
+ f32[384] = uniforms.regionTable[92][0];
430
+ f32[385] = uniforms.regionTable[92][1];
431
+ f32[386] = uniforms.regionTable[92][2];
432
+ f32[387] = uniforms.regionTable[92][3];
433
+ f32[388] = uniforms.regionTable[93][0];
434
+ f32[389] = uniforms.regionTable[93][1];
435
+ f32[390] = uniforms.regionTable[93][2];
436
+ f32[391] = uniforms.regionTable[93][3];
437
+ f32[392] = uniforms.regionTable[94][0];
438
+ f32[393] = uniforms.regionTable[94][1];
439
+ f32[394] = uniforms.regionTable[94][2];
440
+ f32[395] = uniforms.regionTable[94][3];
441
+ f32[396] = uniforms.regionTable[95][0];
442
+ f32[397] = uniforms.regionTable[95][1];
443
+ f32[398] = uniforms.regionTable[95][2];
444
+ f32[399] = uniforms.regionTable[95][3];
445
+ f32[400] = uniforms.regionTable[96][0];
446
+ f32[401] = uniforms.regionTable[96][1];
447
+ f32[402] = uniforms.regionTable[96][2];
448
+ f32[403] = uniforms.regionTable[96][3];
449
+ f32[404] = uniforms.regionTable[97][0];
450
+ f32[405] = uniforms.regionTable[97][1];
451
+ f32[406] = uniforms.regionTable[97][2];
452
+ f32[407] = uniforms.regionTable[97][3];
453
+ f32[408] = uniforms.regionTable[98][0];
454
+ f32[409] = uniforms.regionTable[98][1];
455
+ f32[410] = uniforms.regionTable[98][2];
456
+ f32[411] = uniforms.regionTable[98][3];
457
+ f32[412] = uniforms.regionTable[99][0];
458
+ f32[413] = uniforms.regionTable[99][1];
459
+ f32[414] = uniforms.regionTable[99][2];
460
+ f32[415] = uniforms.regionTable[99][3];
461
+ f32[416] = uniforms.regionTable[100][0];
462
+ f32[417] = uniforms.regionTable[100][1];
463
+ f32[418] = uniforms.regionTable[100][2];
464
+ f32[419] = uniforms.regionTable[100][3];
465
+ f32[420] = uniforms.regionTable[101][0];
466
+ f32[421] = uniforms.regionTable[101][1];
467
+ f32[422] = uniforms.regionTable[101][2];
468
+ f32[423] = uniforms.regionTable[101][3];
469
+ f32[424] = uniforms.regionTable[102][0];
470
+ f32[425] = uniforms.regionTable[102][1];
471
+ f32[426] = uniforms.regionTable[102][2];
472
+ f32[427] = uniforms.regionTable[102][3];
473
+ f32[428] = uniforms.regionTable[103][0];
474
+ f32[429] = uniforms.regionTable[103][1];
475
+ f32[430] = uniforms.regionTable[103][2];
476
+ f32[431] = uniforms.regionTable[103][3];
477
+ f32[432] = uniforms.regionTable[104][0];
478
+ f32[433] = uniforms.regionTable[104][1];
479
+ f32[434] = uniforms.regionTable[104][2];
480
+ f32[435] = uniforms.regionTable[104][3];
481
+ f32[436] = uniforms.regionTable[105][0];
482
+ f32[437] = uniforms.regionTable[105][1];
483
+ f32[438] = uniforms.regionTable[105][2];
484
+ f32[439] = uniforms.regionTable[105][3];
485
+ f32[440] = uniforms.regionTable[106][0];
486
+ f32[441] = uniforms.regionTable[106][1];
487
+ f32[442] = uniforms.regionTable[106][2];
488
+ f32[443] = uniforms.regionTable[106][3];
489
+ f32[444] = uniforms.regionTable[107][0];
490
+ f32[445] = uniforms.regionTable[107][1];
491
+ f32[446] = uniforms.regionTable[107][2];
492
+ f32[447] = uniforms.regionTable[107][3];
493
+ f32[448] = uniforms.regionTable[108][0];
494
+ f32[449] = uniforms.regionTable[108][1];
495
+ f32[450] = uniforms.regionTable[108][2];
496
+ f32[451] = uniforms.regionTable[108][3];
497
+ f32[452] = uniforms.regionTable[109][0];
498
+ f32[453] = uniforms.regionTable[109][1];
499
+ f32[454] = uniforms.regionTable[109][2];
500
+ f32[455] = uniforms.regionTable[109][3];
501
+ f32[456] = uniforms.regionTable[110][0];
502
+ f32[457] = uniforms.regionTable[110][1];
503
+ f32[458] = uniforms.regionTable[110][2];
504
+ f32[459] = uniforms.regionTable[110][3];
505
+ f32[460] = uniforms.regionTable[111][0];
506
+ f32[461] = uniforms.regionTable[111][1];
507
+ f32[462] = uniforms.regionTable[111][2];
508
+ f32[463] = uniforms.regionTable[111][3];
509
+ f32[464] = uniforms.regionTable[112][0];
510
+ f32[465] = uniforms.regionTable[112][1];
511
+ f32[466] = uniforms.regionTable[112][2];
512
+ f32[467] = uniforms.regionTable[112][3];
513
+ f32[468] = uniforms.regionTable[113][0];
514
+ f32[469] = uniforms.regionTable[113][1];
515
+ f32[470] = uniforms.regionTable[113][2];
516
+ f32[471] = uniforms.regionTable[113][3];
517
+ f32[472] = uniforms.regionTable[114][0];
518
+ f32[473] = uniforms.regionTable[114][1];
519
+ f32[474] = uniforms.regionTable[114][2];
520
+ f32[475] = uniforms.regionTable[114][3];
521
+ f32[476] = uniforms.regionTable[115][0];
522
+ f32[477] = uniforms.regionTable[115][1];
523
+ f32[478] = uniforms.regionTable[115][2];
524
+ f32[479] = uniforms.regionTable[115][3];
525
+ f32[480] = uniforms.regionTable[116][0];
526
+ f32[481] = uniforms.regionTable[116][1];
527
+ f32[482] = uniforms.regionTable[116][2];
528
+ f32[483] = uniforms.regionTable[116][3];
529
+ f32[484] = uniforms.regionTable[117][0];
530
+ f32[485] = uniforms.regionTable[117][1];
531
+ f32[486] = uniforms.regionTable[117][2];
532
+ f32[487] = uniforms.regionTable[117][3];
533
+ f32[488] = uniforms.regionTable[118][0];
534
+ f32[489] = uniforms.regionTable[118][1];
535
+ f32[490] = uniforms.regionTable[118][2];
536
+ f32[491] = uniforms.regionTable[118][3];
537
+ f32[492] = uniforms.regionTable[119][0];
538
+ f32[493] = uniforms.regionTable[119][1];
539
+ f32[494] = uniforms.regionTable[119][2];
540
+ f32[495] = uniforms.regionTable[119][3];
541
+ f32[496] = uniforms.regionTable[120][0];
542
+ f32[497] = uniforms.regionTable[120][1];
543
+ f32[498] = uniforms.regionTable[120][2];
544
+ f32[499] = uniforms.regionTable[120][3];
545
+ f32[500] = uniforms.regionTable[121][0];
546
+ f32[501] = uniforms.regionTable[121][1];
547
+ f32[502] = uniforms.regionTable[121][2];
548
+ f32[503] = uniforms.regionTable[121][3];
549
+ f32[504] = uniforms.regionTable[122][0];
550
+ f32[505] = uniforms.regionTable[122][1];
551
+ f32[506] = uniforms.regionTable[122][2];
552
+ f32[507] = uniforms.regionTable[122][3];
553
+ f32[508] = uniforms.regionTable[123][0];
554
+ f32[509] = uniforms.regionTable[123][1];
555
+ f32[510] = uniforms.regionTable[123][2];
556
+ f32[511] = uniforms.regionTable[123][3];
557
+ f32[512] = uniforms.regionTable[124][0];
558
+ f32[513] = uniforms.regionTable[124][1];
559
+ f32[514] = uniforms.regionTable[124][2];
560
+ f32[515] = uniforms.regionTable[124][3];
561
+ f32[516] = uniforms.regionTable[125][0];
562
+ f32[517] = uniforms.regionTable[125][1];
563
+ f32[518] = uniforms.regionTable[125][2];
564
+ f32[519] = uniforms.regionTable[125][3];
565
+ f32[520] = uniforms.regionTable[126][0];
566
+ f32[521] = uniforms.regionTable[126][1];
567
+ f32[522] = uniforms.regionTable[126][2];
568
+ f32[523] = uniforms.regionTable[126][3];
569
+ f32[524] = uniforms.regionTable[127][0];
570
+ f32[525] = uniforms.regionTable[127][1];
571
+ f32[526] = uniforms.regionTable[127][2];
572
+ f32[527] = uniforms.regionTable[127][3];
573
+ f32[528] = uniforms.regionTable[128][0];
574
+ f32[529] = uniforms.regionTable[128][1];
575
+ f32[530] = uniforms.regionTable[128][2];
576
+ f32[531] = uniforms.regionTable[128][3];
577
+ f32[532] = uniforms.regionTable[129][0];
578
+ f32[533] = uniforms.regionTable[129][1];
579
+ f32[534] = uniforms.regionTable[129][2];
580
+ f32[535] = uniforms.regionTable[129][3];
581
+ f32[536] = uniforms.regionTable[130][0];
582
+ f32[537] = uniforms.regionTable[130][1];
583
+ f32[538] = uniforms.regionTable[130][2];
584
+ f32[539] = uniforms.regionTable[130][3];
585
+ f32[540] = uniforms.regionTable[131][0];
586
+ f32[541] = uniforms.regionTable[131][1];
587
+ f32[542] = uniforms.regionTable[131][2];
588
+ f32[543] = uniforms.regionTable[131][3];
589
+ f32[544] = uniforms.regionTable[132][0];
590
+ f32[545] = uniforms.regionTable[132][1];
591
+ f32[546] = uniforms.regionTable[132][2];
592
+ f32[547] = uniforms.regionTable[132][3];
593
+ f32[548] = uniforms.regionTable[133][0];
594
+ f32[549] = uniforms.regionTable[133][1];
595
+ f32[550] = uniforms.regionTable[133][2];
596
+ f32[551] = uniforms.regionTable[133][3];
597
+ f32[552] = uniforms.regionTable[134][0];
598
+ f32[553] = uniforms.regionTable[134][1];
599
+ f32[554] = uniforms.regionTable[134][2];
600
+ f32[555] = uniforms.regionTable[134][3];
601
+ f32[556] = uniforms.regionTable[135][0];
602
+ f32[557] = uniforms.regionTable[135][1];
603
+ f32[558] = uniforms.regionTable[135][2];
604
+ f32[559] = uniforms.regionTable[135][3];
605
+ f32[560] = uniforms.regionTable[136][0];
606
+ f32[561] = uniforms.regionTable[136][1];
607
+ f32[562] = uniforms.regionTable[136][2];
608
+ f32[563] = uniforms.regionTable[136][3];
609
+ f32[564] = uniforms.regionTable[137][0];
610
+ f32[565] = uniforms.regionTable[137][1];
611
+ f32[566] = uniforms.regionTable[137][2];
612
+ f32[567] = uniforms.regionTable[137][3];
613
+ f32[568] = uniforms.regionTable[138][0];
614
+ f32[569] = uniforms.regionTable[138][1];
615
+ f32[570] = uniforms.regionTable[138][2];
616
+ f32[571] = uniforms.regionTable[138][3];
617
+ f32[572] = uniforms.regionTable[139][0];
618
+ f32[573] = uniforms.regionTable[139][1];
619
+ f32[574] = uniforms.regionTable[139][2];
620
+ f32[575] = uniforms.regionTable[139][3];
621
+ f32[576] = uniforms.regionTable[140][0];
622
+ f32[577] = uniforms.regionTable[140][1];
623
+ f32[578] = uniforms.regionTable[140][2];
624
+ f32[579] = uniforms.regionTable[140][3];
625
+ f32[580] = uniforms.regionTable[141][0];
626
+ f32[581] = uniforms.regionTable[141][1];
627
+ f32[582] = uniforms.regionTable[141][2];
628
+ f32[583] = uniforms.regionTable[141][3];
629
+ f32[584] = uniforms.regionTable[142][0];
630
+ f32[585] = uniforms.regionTable[142][1];
631
+ f32[586] = uniforms.regionTable[142][2];
632
+ f32[587] = uniforms.regionTable[142][3];
633
+ f32[588] = uniforms.regionTable[143][0];
634
+ f32[589] = uniforms.regionTable[143][1];
635
+ f32[590] = uniforms.regionTable[143][2];
636
+ f32[591] = uniforms.regionTable[143][3];
637
+ f32[592] = uniforms.regionTable[144][0];
638
+ f32[593] = uniforms.regionTable[144][1];
639
+ f32[594] = uniforms.regionTable[144][2];
640
+ f32[595] = uniforms.regionTable[144][3];
641
+ f32[596] = uniforms.regionTable[145][0];
642
+ f32[597] = uniforms.regionTable[145][1];
643
+ f32[598] = uniforms.regionTable[145][2];
644
+ f32[599] = uniforms.regionTable[145][3];
645
+ f32[600] = uniforms.regionTable[146][0];
646
+ f32[601] = uniforms.regionTable[146][1];
647
+ f32[602] = uniforms.regionTable[146][2];
648
+ f32[603] = uniforms.regionTable[146][3];
649
+ f32[604] = uniforms.regionTable[147][0];
650
+ f32[605] = uniforms.regionTable[147][1];
651
+ f32[606] = uniforms.regionTable[147][2];
652
+ f32[607] = uniforms.regionTable[147][3];
653
+ f32[608] = uniforms.regionTable[148][0];
654
+ f32[609] = uniforms.regionTable[148][1];
655
+ f32[610] = uniforms.regionTable[148][2];
656
+ f32[611] = uniforms.regionTable[148][3];
657
+ f32[612] = uniforms.regionTable[149][0];
658
+ f32[613] = uniforms.regionTable[149][1];
659
+ f32[614] = uniforms.regionTable[149][2];
660
+ f32[615] = uniforms.regionTable[149][3];
661
+ f32[616] = uniforms.regionTable[150][0];
662
+ f32[617] = uniforms.regionTable[150][1];
663
+ f32[618] = uniforms.regionTable[150][2];
664
+ f32[619] = uniforms.regionTable[150][3];
665
+ f32[620] = uniforms.regionTable[151][0];
666
+ f32[621] = uniforms.regionTable[151][1];
667
+ f32[622] = uniforms.regionTable[151][2];
668
+ f32[623] = uniforms.regionTable[151][3];
669
+ f32[624] = uniforms.regionTable[152][0];
670
+ f32[625] = uniforms.regionTable[152][1];
671
+ f32[626] = uniforms.regionTable[152][2];
672
+ f32[627] = uniforms.regionTable[152][3];
673
+ f32[628] = uniforms.regionTable[153][0];
674
+ f32[629] = uniforms.regionTable[153][1];
675
+ f32[630] = uniforms.regionTable[153][2];
676
+ f32[631] = uniforms.regionTable[153][3];
677
+ f32[632] = uniforms.regionTable[154][0];
678
+ f32[633] = uniforms.regionTable[154][1];
679
+ f32[634] = uniforms.regionTable[154][2];
680
+ f32[635] = uniforms.regionTable[154][3];
681
+ f32[636] = uniforms.regionTable[155][0];
682
+ f32[637] = uniforms.regionTable[155][1];
683
+ f32[638] = uniforms.regionTable[155][2];
684
+ f32[639] = uniforms.regionTable[155][3];
685
+ f32[640] = uniforms.regionTable[156][0];
686
+ f32[641] = uniforms.regionTable[156][1];
687
+ f32[642] = uniforms.regionTable[156][2];
688
+ f32[643] = uniforms.regionTable[156][3];
689
+ f32[644] = uniforms.regionTable[157][0];
690
+ f32[645] = uniforms.regionTable[157][1];
691
+ f32[646] = uniforms.regionTable[157][2];
692
+ f32[647] = uniforms.regionTable[157][3];
693
+ f32[648] = uniforms.regionTable[158][0];
694
+ f32[649] = uniforms.regionTable[158][1];
695
+ f32[650] = uniforms.regionTable[158][2];
696
+ f32[651] = uniforms.regionTable[158][3];
697
+ f32[652] = uniforms.regionTable[159][0];
698
+ f32[653] = uniforms.regionTable[159][1];
699
+ f32[654] = uniforms.regionTable[159][2];
700
+ f32[655] = uniforms.regionTable[159][3];
701
+ f32[656] = uniforms.regionTable[160][0];
702
+ f32[657] = uniforms.regionTable[160][1];
703
+ f32[658] = uniforms.regionTable[160][2];
704
+ f32[659] = uniforms.regionTable[160][3];
705
+ f32[660] = uniforms.regionTable[161][0];
706
+ f32[661] = uniforms.regionTable[161][1];
707
+ f32[662] = uniforms.regionTable[161][2];
708
+ f32[663] = uniforms.regionTable[161][3];
709
+ f32[664] = uniforms.regionTable[162][0];
710
+ f32[665] = uniforms.regionTable[162][1];
711
+ f32[666] = uniforms.regionTable[162][2];
712
+ f32[667] = uniforms.regionTable[162][3];
713
+ f32[668] = uniforms.regionTable[163][0];
714
+ f32[669] = uniforms.regionTable[163][1];
715
+ f32[670] = uniforms.regionTable[163][2];
716
+ f32[671] = uniforms.regionTable[163][3];
717
+ f32[672] = uniforms.regionTable[164][0];
718
+ f32[673] = uniforms.regionTable[164][1];
719
+ f32[674] = uniforms.regionTable[164][2];
720
+ f32[675] = uniforms.regionTable[164][3];
721
+ f32[676] = uniforms.regionTable[165][0];
722
+ f32[677] = uniforms.regionTable[165][1];
723
+ f32[678] = uniforms.regionTable[165][2];
724
+ f32[679] = uniforms.regionTable[165][3];
725
+ f32[680] = uniforms.regionTable[166][0];
726
+ f32[681] = uniforms.regionTable[166][1];
727
+ f32[682] = uniforms.regionTable[166][2];
728
+ f32[683] = uniforms.regionTable[166][3];
729
+ f32[684] = uniforms.regionTable[167][0];
730
+ f32[685] = uniforms.regionTable[167][1];
731
+ f32[686] = uniforms.regionTable[167][2];
732
+ f32[687] = uniforms.regionTable[167][3];
733
+ f32[688] = uniforms.regionTable[168][0];
734
+ f32[689] = uniforms.regionTable[168][1];
735
+ f32[690] = uniforms.regionTable[168][2];
736
+ f32[691] = uniforms.regionTable[168][3];
737
+ f32[692] = uniforms.regionTable[169][0];
738
+ f32[693] = uniforms.regionTable[169][1];
739
+ f32[694] = uniforms.regionTable[169][2];
740
+ f32[695] = uniforms.regionTable[169][3];
741
+ f32[696] = uniforms.regionTable[170][0];
742
+ f32[697] = uniforms.regionTable[170][1];
743
+ f32[698] = uniforms.regionTable[170][2];
744
+ f32[699] = uniforms.regionTable[170][3];
745
+ f32[700] = uniforms.regionTable[171][0];
746
+ f32[701] = uniforms.regionTable[171][1];
747
+ f32[702] = uniforms.regionTable[171][2];
748
+ f32[703] = uniforms.regionTable[171][3];
749
+ f32[704] = uniforms.regionTable[172][0];
750
+ f32[705] = uniforms.regionTable[172][1];
751
+ f32[706] = uniforms.regionTable[172][2];
752
+ f32[707] = uniforms.regionTable[172][3];
753
+ f32[708] = uniforms.regionTable[173][0];
754
+ f32[709] = uniforms.regionTable[173][1];
755
+ f32[710] = uniforms.regionTable[173][2];
756
+ f32[711] = uniforms.regionTable[173][3];
757
+ f32[712] = uniforms.regionTable[174][0];
758
+ f32[713] = uniforms.regionTable[174][1];
759
+ f32[714] = uniforms.regionTable[174][2];
760
+ f32[715] = uniforms.regionTable[174][3];
761
+ f32[716] = uniforms.regionTable[175][0];
762
+ f32[717] = uniforms.regionTable[175][1];
763
+ f32[718] = uniforms.regionTable[175][2];
764
+ f32[719] = uniforms.regionTable[175][3];
765
+ f32[720] = uniforms.regionTable[176][0];
766
+ f32[721] = uniforms.regionTable[176][1];
767
+ f32[722] = uniforms.regionTable[176][2];
768
+ f32[723] = uniforms.regionTable[176][3];
769
+ f32[724] = uniforms.regionTable[177][0];
770
+ f32[725] = uniforms.regionTable[177][1];
771
+ f32[726] = uniforms.regionTable[177][2];
772
+ f32[727] = uniforms.regionTable[177][3];
773
+ f32[728] = uniforms.regionTable[178][0];
774
+ f32[729] = uniforms.regionTable[178][1];
775
+ f32[730] = uniforms.regionTable[178][2];
776
+ f32[731] = uniforms.regionTable[178][3];
777
+ f32[732] = uniforms.regionTable[179][0];
778
+ f32[733] = uniforms.regionTable[179][1];
779
+ f32[734] = uniforms.regionTable[179][2];
780
+ f32[735] = uniforms.regionTable[179][3];
781
+ f32[736] = uniforms.regionTable[180][0];
782
+ f32[737] = uniforms.regionTable[180][1];
783
+ f32[738] = uniforms.regionTable[180][2];
784
+ f32[739] = uniforms.regionTable[180][3];
785
+ f32[740] = uniforms.regionTable[181][0];
786
+ f32[741] = uniforms.regionTable[181][1];
787
+ f32[742] = uniforms.regionTable[181][2];
788
+ f32[743] = uniforms.regionTable[181][3];
789
+ f32[744] = uniforms.regionTable[182][0];
790
+ f32[745] = uniforms.regionTable[182][1];
791
+ f32[746] = uniforms.regionTable[182][2];
792
+ f32[747] = uniforms.regionTable[182][3];
793
+ f32[748] = uniforms.regionTable[183][0];
794
+ f32[749] = uniforms.regionTable[183][1];
795
+ f32[750] = uniforms.regionTable[183][2];
796
+ f32[751] = uniforms.regionTable[183][3];
797
+ f32[752] = uniforms.regionTable[184][0];
798
+ f32[753] = uniforms.regionTable[184][1];
799
+ f32[754] = uniforms.regionTable[184][2];
800
+ f32[755] = uniforms.regionTable[184][3];
801
+ f32[756] = uniforms.regionTable[185][0];
802
+ f32[757] = uniforms.regionTable[185][1];
803
+ f32[758] = uniforms.regionTable[185][2];
804
+ f32[759] = uniforms.regionTable[185][3];
805
+ f32[760] = uniforms.regionTable[186][0];
806
+ f32[761] = uniforms.regionTable[186][1];
807
+ f32[762] = uniforms.regionTable[186][2];
808
+ f32[763] = uniforms.regionTable[186][3];
809
+ f32[764] = uniforms.regionTable[187][0];
810
+ f32[765] = uniforms.regionTable[187][1];
811
+ f32[766] = uniforms.regionTable[187][2];
812
+ f32[767] = uniforms.regionTable[187][3];
813
+ f32[768] = uniforms.regionTable[188][0];
814
+ f32[769] = uniforms.regionTable[188][1];
815
+ f32[770] = uniforms.regionTable[188][2];
816
+ f32[771] = uniforms.regionTable[188][3];
817
+ f32[772] = uniforms.regionTable[189][0];
818
+ f32[773] = uniforms.regionTable[189][1];
819
+ f32[774] = uniforms.regionTable[189][2];
820
+ f32[775] = uniforms.regionTable[189][3];
821
+ f32[776] = uniforms.regionTable[190][0];
822
+ f32[777] = uniforms.regionTable[190][1];
823
+ f32[778] = uniforms.regionTable[190][2];
824
+ f32[779] = uniforms.regionTable[190][3];
825
+ f32[780] = uniforms.regionTable[191][0];
826
+ f32[781] = uniforms.regionTable[191][1];
827
+ f32[782] = uniforms.regionTable[191][2];
828
+ f32[783] = uniforms.regionTable[191][3];
829
+ f32[784] = uniforms.regionTable[192][0];
830
+ f32[785] = uniforms.regionTable[192][1];
831
+ f32[786] = uniforms.regionTable[192][2];
832
+ f32[787] = uniforms.regionTable[192][3];
833
+ f32[788] = uniforms.regionTable[193][0];
834
+ f32[789] = uniforms.regionTable[193][1];
835
+ f32[790] = uniforms.regionTable[193][2];
836
+ f32[791] = uniforms.regionTable[193][3];
837
+ f32[792] = uniforms.regionTable[194][0];
838
+ f32[793] = uniforms.regionTable[194][1];
839
+ f32[794] = uniforms.regionTable[194][2];
840
+ f32[795] = uniforms.regionTable[194][3];
841
+ f32[796] = uniforms.regionTable[195][0];
842
+ f32[797] = uniforms.regionTable[195][1];
843
+ f32[798] = uniforms.regionTable[195][2];
844
+ f32[799] = uniforms.regionTable[195][3];
845
+ f32[800] = uniforms.regionTable[196][0];
846
+ f32[801] = uniforms.regionTable[196][1];
847
+ f32[802] = uniforms.regionTable[196][2];
848
+ f32[803] = uniforms.regionTable[196][3];
849
+ f32[804] = uniforms.regionTable[197][0];
850
+ f32[805] = uniforms.regionTable[197][1];
851
+ f32[806] = uniforms.regionTable[197][2];
852
+ f32[807] = uniforms.regionTable[197][3];
853
+ f32[808] = uniforms.regionTable[198][0];
854
+ f32[809] = uniforms.regionTable[198][1];
855
+ f32[810] = uniforms.regionTable[198][2];
856
+ f32[811] = uniforms.regionTable[198][3];
857
+ f32[812] = uniforms.regionTable[199][0];
858
+ f32[813] = uniforms.regionTable[199][1];
859
+ f32[814] = uniforms.regionTable[199][2];
860
+ f32[815] = uniforms.regionTable[199][3];
861
+ f32[816] = uniforms.regionTable[200][0];
862
+ f32[817] = uniforms.regionTable[200][1];
863
+ f32[818] = uniforms.regionTable[200][2];
864
+ f32[819] = uniforms.regionTable[200][3];
865
+ f32[820] = uniforms.regionTable[201][0];
866
+ f32[821] = uniforms.regionTable[201][1];
867
+ f32[822] = uniforms.regionTable[201][2];
868
+ f32[823] = uniforms.regionTable[201][3];
869
+ f32[824] = uniforms.regionTable[202][0];
870
+ f32[825] = uniforms.regionTable[202][1];
871
+ f32[826] = uniforms.regionTable[202][2];
872
+ f32[827] = uniforms.regionTable[202][3];
873
+ f32[828] = uniforms.regionTable[203][0];
874
+ f32[829] = uniforms.regionTable[203][1];
875
+ f32[830] = uniforms.regionTable[203][2];
876
+ f32[831] = uniforms.regionTable[203][3];
877
+ f32[832] = uniforms.regionTable[204][0];
878
+ f32[833] = uniforms.regionTable[204][1];
879
+ f32[834] = uniforms.regionTable[204][2];
880
+ f32[835] = uniforms.regionTable[204][3];
881
+ f32[836] = uniforms.regionTable[205][0];
882
+ f32[837] = uniforms.regionTable[205][1];
883
+ f32[838] = uniforms.regionTable[205][2];
884
+ f32[839] = uniforms.regionTable[205][3];
885
+ f32[840] = uniforms.regionTable[206][0];
886
+ f32[841] = uniforms.regionTable[206][1];
887
+ f32[842] = uniforms.regionTable[206][2];
888
+ f32[843] = uniforms.regionTable[206][3];
889
+ f32[844] = uniforms.regionTable[207][0];
890
+ f32[845] = uniforms.regionTable[207][1];
891
+ f32[846] = uniforms.regionTable[207][2];
892
+ f32[847] = uniforms.regionTable[207][3];
893
+ f32[848] = uniforms.regionTable[208][0];
894
+ f32[849] = uniforms.regionTable[208][1];
895
+ f32[850] = uniforms.regionTable[208][2];
896
+ f32[851] = uniforms.regionTable[208][3];
897
+ f32[852] = uniforms.regionTable[209][0];
898
+ f32[853] = uniforms.regionTable[209][1];
899
+ f32[854] = uniforms.regionTable[209][2];
900
+ f32[855] = uniforms.regionTable[209][3];
901
+ f32[856] = uniforms.regionTable[210][0];
902
+ f32[857] = uniforms.regionTable[210][1];
903
+ f32[858] = uniforms.regionTable[210][2];
904
+ f32[859] = uniforms.regionTable[210][3];
905
+ f32[860] = uniforms.regionTable[211][0];
906
+ f32[861] = uniforms.regionTable[211][1];
907
+ f32[862] = uniforms.regionTable[211][2];
908
+ f32[863] = uniforms.regionTable[211][3];
909
+ f32[864] = uniforms.regionTable[212][0];
910
+ f32[865] = uniforms.regionTable[212][1];
911
+ f32[866] = uniforms.regionTable[212][2];
912
+ f32[867] = uniforms.regionTable[212][3];
913
+ f32[868] = uniforms.regionTable[213][0];
914
+ f32[869] = uniforms.regionTable[213][1];
915
+ f32[870] = uniforms.regionTable[213][2];
916
+ f32[871] = uniforms.regionTable[213][3];
917
+ f32[872] = uniforms.regionTable[214][0];
918
+ f32[873] = uniforms.regionTable[214][1];
919
+ f32[874] = uniforms.regionTable[214][2];
920
+ f32[875] = uniforms.regionTable[214][3];
921
+ f32[876] = uniforms.regionTable[215][0];
922
+ f32[877] = uniforms.regionTable[215][1];
923
+ f32[878] = uniforms.regionTable[215][2];
924
+ f32[879] = uniforms.regionTable[215][3];
925
+ f32[880] = uniforms.regionTable[216][0];
926
+ f32[881] = uniforms.regionTable[216][1];
927
+ f32[882] = uniforms.regionTable[216][2];
928
+ f32[883] = uniforms.regionTable[216][3];
929
+ f32[884] = uniforms.regionTable[217][0];
930
+ f32[885] = uniforms.regionTable[217][1];
931
+ f32[886] = uniforms.regionTable[217][2];
932
+ f32[887] = uniforms.regionTable[217][3];
933
+ f32[888] = uniforms.regionTable[218][0];
934
+ f32[889] = uniforms.regionTable[218][1];
935
+ f32[890] = uniforms.regionTable[218][2];
936
+ f32[891] = uniforms.regionTable[218][3];
937
+ f32[892] = uniforms.regionTable[219][0];
938
+ f32[893] = uniforms.regionTable[219][1];
939
+ f32[894] = uniforms.regionTable[219][2];
940
+ f32[895] = uniforms.regionTable[219][3];
941
+ f32[896] = uniforms.regionTable[220][0];
942
+ f32[897] = uniforms.regionTable[220][1];
943
+ f32[898] = uniforms.regionTable[220][2];
944
+ f32[899] = uniforms.regionTable[220][3];
945
+ f32[900] = uniforms.regionTable[221][0];
946
+ f32[901] = uniforms.regionTable[221][1];
947
+ f32[902] = uniforms.regionTable[221][2];
948
+ f32[903] = uniforms.regionTable[221][3];
949
+ f32[904] = uniforms.regionTable[222][0];
950
+ f32[905] = uniforms.regionTable[222][1];
951
+ f32[906] = uniforms.regionTable[222][2];
952
+ f32[907] = uniforms.regionTable[222][3];
953
+ f32[908] = uniforms.regionTable[223][0];
954
+ f32[909] = uniforms.regionTable[223][1];
955
+ f32[910] = uniforms.regionTable[223][2];
956
+ f32[911] = uniforms.regionTable[223][3];
957
+ f32[912] = uniforms.regionTable[224][0];
958
+ f32[913] = uniforms.regionTable[224][1];
959
+ f32[914] = uniforms.regionTable[224][2];
960
+ f32[915] = uniforms.regionTable[224][3];
961
+ f32[916] = uniforms.regionTable[225][0];
962
+ f32[917] = uniforms.regionTable[225][1];
963
+ f32[918] = uniforms.regionTable[225][2];
964
+ f32[919] = uniforms.regionTable[225][3];
965
+ f32[920] = uniforms.regionTable[226][0];
966
+ f32[921] = uniforms.regionTable[226][1];
967
+ f32[922] = uniforms.regionTable[226][2];
968
+ f32[923] = uniforms.regionTable[226][3];
969
+ f32[924] = uniforms.regionTable[227][0];
970
+ f32[925] = uniforms.regionTable[227][1];
971
+ f32[926] = uniforms.regionTable[227][2];
972
+ f32[927] = uniforms.regionTable[227][3];
973
+ f32[928] = uniforms.regionTable[228][0];
974
+ f32[929] = uniforms.regionTable[228][1];
975
+ f32[930] = uniforms.regionTable[228][2];
976
+ f32[931] = uniforms.regionTable[228][3];
977
+ f32[932] = uniforms.regionTable[229][0];
978
+ f32[933] = uniforms.regionTable[229][1];
979
+ f32[934] = uniforms.regionTable[229][2];
980
+ f32[935] = uniforms.regionTable[229][3];
981
+ f32[936] = uniforms.regionTable[230][0];
982
+ f32[937] = uniforms.regionTable[230][1];
983
+ f32[938] = uniforms.regionTable[230][2];
984
+ f32[939] = uniforms.regionTable[230][3];
985
+ f32[940] = uniforms.regionTable[231][0];
986
+ f32[941] = uniforms.regionTable[231][1];
987
+ f32[942] = uniforms.regionTable[231][2];
988
+ f32[943] = uniforms.regionTable[231][3];
989
+ f32[944] = uniforms.regionTable[232][0];
990
+ f32[945] = uniforms.regionTable[232][1];
991
+ f32[946] = uniforms.regionTable[232][2];
992
+ f32[947] = uniforms.regionTable[232][3];
993
+ f32[948] = uniforms.regionTable[233][0];
994
+ f32[949] = uniforms.regionTable[233][1];
995
+ f32[950] = uniforms.regionTable[233][2];
996
+ f32[951] = uniforms.regionTable[233][3];
997
+ f32[952] = uniforms.regionTable[234][0];
998
+ f32[953] = uniforms.regionTable[234][1];
999
+ f32[954] = uniforms.regionTable[234][2];
1000
+ f32[955] = uniforms.regionTable[234][3];
1001
+ f32[956] = uniforms.regionTable[235][0];
1002
+ f32[957] = uniforms.regionTable[235][1];
1003
+ f32[958] = uniforms.regionTable[235][2];
1004
+ f32[959] = uniforms.regionTable[235][3];
1005
+ f32[960] = uniforms.regionTable[236][0];
1006
+ f32[961] = uniforms.regionTable[236][1];
1007
+ f32[962] = uniforms.regionTable[236][2];
1008
+ f32[963] = uniforms.regionTable[236][3];
1009
+ f32[964] = uniforms.regionTable[237][0];
1010
+ f32[965] = uniforms.regionTable[237][1];
1011
+ f32[966] = uniforms.regionTable[237][2];
1012
+ f32[967] = uniforms.regionTable[237][3];
1013
+ f32[968] = uniforms.regionTable[238][0];
1014
+ f32[969] = uniforms.regionTable[238][1];
1015
+ f32[970] = uniforms.regionTable[238][2];
1016
+ f32[971] = uniforms.regionTable[238][3];
1017
+ f32[972] = uniforms.regionTable[239][0];
1018
+ f32[973] = uniforms.regionTable[239][1];
1019
+ f32[974] = uniforms.regionTable[239][2];
1020
+ f32[975] = uniforms.regionTable[239][3];
1021
+ f32[976] = uniforms.regionTable[240][0];
1022
+ f32[977] = uniforms.regionTable[240][1];
1023
+ f32[978] = uniforms.regionTable[240][2];
1024
+ f32[979] = uniforms.regionTable[240][3];
1025
+ f32[980] = uniforms.regionTable[241][0];
1026
+ f32[981] = uniforms.regionTable[241][1];
1027
+ f32[982] = uniforms.regionTable[241][2];
1028
+ f32[983] = uniforms.regionTable[241][3];
1029
+ f32[984] = uniforms.regionTable[242][0];
1030
+ f32[985] = uniforms.regionTable[242][1];
1031
+ f32[986] = uniforms.regionTable[242][2];
1032
+ f32[987] = uniforms.regionTable[242][3];
1033
+ f32[988] = uniforms.regionTable[243][0];
1034
+ f32[989] = uniforms.regionTable[243][1];
1035
+ f32[990] = uniforms.regionTable[243][2];
1036
+ f32[991] = uniforms.regionTable[243][3];
1037
+ f32[992] = uniforms.regionTable[244][0];
1038
+ f32[993] = uniforms.regionTable[244][1];
1039
+ f32[994] = uniforms.regionTable[244][2];
1040
+ f32[995] = uniforms.regionTable[244][3];
1041
+ f32[996] = uniforms.regionTable[245][0];
1042
+ f32[997] = uniforms.regionTable[245][1];
1043
+ f32[998] = uniforms.regionTable[245][2];
1044
+ f32[999] = uniforms.regionTable[245][3];
1045
+ f32[1000] = uniforms.regionTable[246][0];
1046
+ f32[1001] = uniforms.regionTable[246][1];
1047
+ f32[1002] = uniforms.regionTable[246][2];
1048
+ f32[1003] = uniforms.regionTable[246][3];
1049
+ f32[1004] = uniforms.regionTable[247][0];
1050
+ f32[1005] = uniforms.regionTable[247][1];
1051
+ f32[1006] = uniforms.regionTable[247][2];
1052
+ f32[1007] = uniforms.regionTable[247][3];
1053
+ f32[1008] = uniforms.regionTable[248][0];
1054
+ f32[1009] = uniforms.regionTable[248][1];
1055
+ f32[1010] = uniforms.regionTable[248][2];
1056
+ f32[1011] = uniforms.regionTable[248][3];
1057
+ f32[1012] = uniforms.regionTable[249][0];
1058
+ f32[1013] = uniforms.regionTable[249][1];
1059
+ f32[1014] = uniforms.regionTable[249][2];
1060
+ f32[1015] = uniforms.regionTable[249][3];
1061
+ f32[1016] = uniforms.regionTable[250][0];
1062
+ f32[1017] = uniforms.regionTable[250][1];
1063
+ f32[1018] = uniforms.regionTable[250][2];
1064
+ f32[1019] = uniforms.regionTable[250][3];
1065
+ f32[1020] = uniforms.regionTable[251][0];
1066
+ f32[1021] = uniforms.regionTable[251][1];
1067
+ f32[1022] = uniforms.regionTable[251][2];
1068
+ f32[1023] = uniforms.regionTable[251][3];
1069
+ f32[1024] = uniforms.regionTable[252][0];
1070
+ f32[1025] = uniforms.regionTable[252][1];
1071
+ f32[1026] = uniforms.regionTable[252][2];
1072
+ f32[1027] = uniforms.regionTable[252][3];
1073
+ f32[1028] = uniforms.regionTable[253][0];
1074
+ f32[1029] = uniforms.regionTable[253][1];
1075
+ f32[1030] = uniforms.regionTable[253][2];
1076
+ f32[1031] = uniforms.regionTable[253][3];
1077
+ f32[1032] = uniforms.regionTable[254][0];
1078
+ f32[1033] = uniforms.regionTable[254][1];
1079
+ f32[1034] = uniforms.regionTable[254][2];
1080
+ f32[1035] = uniforms.regionTable[254][3];
1081
+ f32[1036] = uniforms.regionTable[255][0];
1082
+ f32[1037] = uniforms.regionTable[255][1];
1083
+ f32[1038] = uniforms.regionTable[255][2];
1084
+ f32[1039] = uniforms.regionTable[255][3];
1085
+ }
1086
+ export const INSTANCE_STRIDE_BYTES = 36;
1087
+ export const INSTANCE_STRIDE_WORDS = 9;
1088
+ // Word indices into a Float32Array view over the instance buffer.
1089
+ export const INSTANCE_OFFSET_F32 = {
1090
+ bend: 5,
1091
+ width: 6,
1092
+ };
1093
+ // Word indices into a Uint32Array view over the instance buffer.
1094
+ export const INSTANCE_OFFSET_U32 = {
1095
+ x: 0,
1096
+ x2: 1,
1097
+ x2Region: 2,
1098
+ row: 3,
1099
+ row2: 4,
1100
+ color: 7,
1101
+ bits: 8,
1102
+ };
1103
+ export const VERTEX_ATTRIBUTES = [
1104
+ { name: 'a_x', components: 1, type: 'uint', offsetBytes: 0, integer: true },
1105
+ { name: 'a_x2', components: 1, type: 'uint', offsetBytes: 4, integer: true },
1106
+ { name: 'a_x2Region', components: 1, type: 'uint', offsetBytes: 8, integer: true },
1107
+ { name: 'a_row', components: 1, type: 'uint', offsetBytes: 12, integer: true },
1108
+ { name: 'a_row2', components: 1, type: 'uint', offsetBytes: 16, integer: true },
1109
+ { name: 'a_bend', components: 1, type: 'float', offsetBytes: 20, integer: false },
1110
+ { name: 'a_width', components: 1, type: 'float', offsetBytes: 24, integer: false },
1111
+ { name: 'a_color', components: 1, type: 'uint', offsetBytes: 28, integer: true },
1112
+ { name: 'a_bits', components: 1, type: 'uint', offsetBytes: 32, integer: true },
1113
+ ];
1114
+ export function packInstances(arrays, numInstances, buf = new ArrayBuffer(numInstances * INSTANCE_STRIDE_BYTES)) {
1115
+ const f32 = new Float32Array(buf);
1116
+ const u32 = new Uint32Array(buf);
1117
+ const { x, x2, x2Region, row, row2, bend, width, color, bits } = arrays;
1118
+ for (let i = 0; i < numInstances; i++) {
1119
+ const o = i * INSTANCE_STRIDE_WORDS;
1120
+ u32[o + 0] = x[i];
1121
+ u32[o + 1] = x2[i];
1122
+ u32[o + 2] = x2Region[i];
1123
+ u32[o + 3] = row[i];
1124
+ u32[o + 4] = row2[i];
1125
+ f32[o + 5] = bend[i];
1126
+ f32[o + 6] = width[i];
1127
+ u32[o + 7] = color[i];
1128
+ u32[o + 8] = bits[i];
1129
+ }
1130
+ return buf;
1131
+ }
1132
+ // Instance `i`'s `x`.
1133
+ export function getInstanceX(u32, i) {
1134
+ return u32[i * INSTANCE_STRIDE_WORDS];
1135
+ }
1136
+ export function setInstanceX(u32, i, v) {
1137
+ u32[i * INSTANCE_STRIDE_WORDS] = v;
1138
+ }
1139
+ // Instance `i`'s `x2`.
1140
+ export function getInstanceX2(u32, i) {
1141
+ return u32[i * INSTANCE_STRIDE_WORDS + 1];
1142
+ }
1143
+ export function setInstanceX2(u32, i, v) {
1144
+ u32[i * INSTANCE_STRIDE_WORDS + 1] = v;
1145
+ }
1146
+ // Instance `i`'s `x2Region`.
1147
+ export function getInstanceX2Region(u32, i) {
1148
+ return u32[i * INSTANCE_STRIDE_WORDS + 2];
1149
+ }
1150
+ export function setInstanceX2Region(u32, i, v) {
1151
+ u32[i * INSTANCE_STRIDE_WORDS + 2] = v;
1152
+ }
1153
+ // Instance `i`'s `row`.
1154
+ export function getInstanceRow(u32, i) {
1155
+ return u32[i * INSTANCE_STRIDE_WORDS + 3];
1156
+ }
1157
+ export function setInstanceRow(u32, i, v) {
1158
+ u32[i * INSTANCE_STRIDE_WORDS + 3] = v;
1159
+ }
1160
+ // Instance `i`'s `row2`.
1161
+ export function getInstanceRow2(u32, i) {
1162
+ return u32[i * INSTANCE_STRIDE_WORDS + 4];
1163
+ }
1164
+ export function setInstanceRow2(u32, i, v) {
1165
+ u32[i * INSTANCE_STRIDE_WORDS + 4] = v;
1166
+ }
1167
+ // Instance `i`'s `bend`.
1168
+ export function getInstanceBend(f32, i) {
1169
+ return f32[i * INSTANCE_STRIDE_WORDS + 5];
1170
+ }
1171
+ export function setInstanceBend(f32, i, v) {
1172
+ f32[i * INSTANCE_STRIDE_WORDS + 5] = v;
1173
+ }
1174
+ // Instance `i`'s `width`.
1175
+ export function getInstanceWidth(f32, i) {
1176
+ return f32[i * INSTANCE_STRIDE_WORDS + 6];
1177
+ }
1178
+ export function setInstanceWidth(f32, i, v) {
1179
+ f32[i * INSTANCE_STRIDE_WORDS + 6] = v;
1180
+ }
1181
+ // Instance `i`'s `color`.
1182
+ export function getInstanceColor(u32, i) {
1183
+ return u32[i * INSTANCE_STRIDE_WORDS + 7];
1184
+ }
1185
+ export function setInstanceColor(u32, i, v) {
1186
+ u32[i * INSTANCE_STRIDE_WORDS + 7] = v;
1187
+ }
1188
+ // Instance `i`'s `bits`.
1189
+ export function getInstanceBits(u32, i) {
1190
+ return u32[i * INSTANCE_STRIDE_WORDS + 8];
1191
+ }
1192
+ export function setInstanceBits(u32, i, v) {
1193
+ u32[i * INSTANCE_STRIDE_WORDS + 8] = v;
1194
+ }