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

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 (353) hide show
  1. package/esm/RenderCanvas.d.ts +3 -3
  2. package/esm/RenderCanvas.js +1 -1
  3. package/esm/RenderLifecycleMixin.d.ts +52 -20
  4. package/esm/RenderLifecycleMixin.js +89 -23
  5. package/esm/canvas2dUtils.d.ts +90 -23
  6. package/esm/canvas2dUtils.js +120 -37
  7. package/esm/colorRampLut.d.ts +5 -5
  8. package/esm/colorRampLut.js +6 -6
  9. package/esm/computePipeline.d.ts +14 -0
  10. package/esm/computePipeline.js +62 -0
  11. package/esm/contractReports.d.ts +54 -0
  12. package/esm/contractReports.js +112 -0
  13. package/esm/coverageBand.d.ts +13 -8
  14. package/esm/coverageBand.js +15 -5
  15. package/esm/coverageBandBuffers.d.ts +2 -9
  16. package/esm/coverageBandBuffers.js +1 -13
  17. package/esm/createRenderingBackend.d.ts +16 -20
  18. package/esm/createRenderingBackend.js +6 -4
  19. package/esm/displayPhase.d.ts +83 -104
  20. package/esm/displayPhase.js +42 -82
  21. package/esm/encodeMemo.d.ts +14 -0
  22. package/esm/encodeMemo.js +48 -0
  23. package/esm/gpuContextLostError.d.ts +30 -0
  24. package/esm/gpuContextLostError.js +40 -0
  25. package/esm/gpuDevice.d.ts +29 -10
  26. package/esm/gpuDevice.js +35 -16
  27. package/esm/graphicsCapabilities.d.ts +27 -19
  28. package/esm/graphicsCapabilities.js +41 -19
  29. package/esm/hal/createHal.d.ts +4 -5
  30. package/esm/hal/createHal.js +15 -5
  31. package/esm/hal/deviceGpuCache.d.ts +25 -30
  32. package/esm/hal/deviceGpuCache.js +85 -97
  33. package/esm/hal/gpuHalBase.d.ts +5 -4
  34. package/esm/hal/gpuHalBase.js +25 -14
  35. package/esm/hal/index.d.ts +2 -2
  36. package/esm/hal/index.js +1 -1
  37. package/esm/hal/mockHal.d.ts +15 -10
  38. package/esm/hal/mockHal.js +31 -18
  39. package/esm/hal/oomReporter.d.ts +7 -0
  40. package/esm/hal/oomReporter.js +10 -0
  41. package/esm/hal/passIds.d.ts +8 -7
  42. package/esm/hal/passIds.js +11 -10
  43. package/esm/hal/regionRegistry.d.ts +0 -1
  44. package/esm/hal/regionRegistry.js +3 -15
  45. package/esm/hal/types.d.ts +53 -18
  46. package/esm/hal/webgl2Hal.d.ts +23 -6
  47. package/esm/hal/webgl2Hal.js +158 -155
  48. package/esm/hal/webgpuHal.d.ts +29 -13
  49. package/esm/hal/webgpuHal.js +220 -153
  50. package/esm/installUpload.d.ts +16 -3
  51. package/esm/installUpload.js +13 -41
  52. package/esm/instanceCache.d.ts +10 -7
  53. package/esm/instanceCache.js +14 -15
  54. package/esm/instancePass.d.ts +2 -1
  55. package/esm/mapUploadSync.d.ts +2 -10
  56. package/esm/mapUploadSync.js +2 -3
  57. package/esm/marks/barMark.d.ts +30 -0
  58. package/esm/marks/barMark.js +149 -0
  59. package/esm/marks/colorFill.d.ts +17 -0
  60. package/esm/marks/colorFill.js +26 -0
  61. package/esm/marks/drawAgainstHit.d.ts +113 -0
  62. package/esm/marks/drawAgainstHit.js +407 -0
  63. package/esm/marks/ellipseDistance.d.ts +10 -0
  64. package/esm/marks/ellipseDistance.js +136 -0
  65. package/esm/marks/glyphPaint.d.ts +36 -0
  66. package/esm/marks/glyphPaint.js +77 -0
  67. package/esm/marks/index.d.ts +33 -0
  68. package/esm/marks/index.js +20 -0
  69. package/esm/marks/lineMark.d.ts +37 -0
  70. package/esm/marks/lineMark.js +416 -0
  71. package/esm/marks/linkMark.d.ts +76 -0
  72. package/esm/marks/linkMark.js +585 -0
  73. package/esm/marks/markBackend.d.ts +118 -0
  74. package/esm/marks/markBackend.js +196 -0
  75. package/esm/marks/markHit.d.ts +32 -0
  76. package/esm/marks/markHit.js +61 -0
  77. package/esm/marks/markInk.d.ts +18 -0
  78. package/esm/marks/markInk.js +71 -0
  79. package/esm/marks/markPaint.d.ts +14 -0
  80. package/esm/marks/markPaint.js +32 -0
  81. package/esm/marks/markPlan.d.ts +25 -0
  82. package/esm/marks/markPlan.js +20 -0
  83. package/esm/marks/markRamp.d.ts +74 -0
  84. package/esm/marks/markRamp.js +205 -0
  85. package/esm/marks/nearestMarkHit.d.ts +55 -0
  86. package/esm/marks/nearestMarkHit.js +158 -0
  87. package/esm/marks/pathRecorder.d.ts +14 -0
  88. package/esm/marks/pathRecorder.js +80 -0
  89. package/esm/marks/pointMark.d.ts +42 -0
  90. package/esm/marks/pointMark.js +125 -0
  91. package/esm/marks/rowLane.d.ts +39 -0
  92. package/esm/marks/rowLane.js +41 -0
  93. package/esm/marks/rowSpanIndex.d.ts +30 -0
  94. package/esm/marks/rowSpanIndex.js +151 -0
  95. package/esm/marks/rowTable.d.ts +41 -0
  96. package/esm/marks/rowTable.js +75 -0
  97. package/esm/marks/ruleMark.d.ts +21 -0
  98. package/esm/marks/ruleMark.js +91 -0
  99. package/esm/marks/spanMark.d.ts +42 -0
  100. package/esm/marks/spanMark.js +81 -0
  101. package/esm/marks/types.d.ts +261 -0
  102. package/esm/marks/types.js +175 -0
  103. package/esm/marks/valueScale.d.ts +23 -0
  104. package/esm/marks/valueScale.js +11 -0
  105. package/esm/namedReactions.d.ts +3 -4
  106. package/esm/namedReactions.js +3 -4
  107. package/esm/perRegionRenderingBackend.d.ts +21 -3
  108. package/esm/perRegionRenderingBackend.js +37 -3
  109. package/esm/regionDataMap.d.ts +2 -2
  110. package/esm/regionDataMap.js +25 -23
  111. package/esm/renderBlock.d.ts +14 -0
  112. package/esm/renderBlock.js +25 -0
  113. package/esm/renderingBackendBase.d.ts +20 -14
  114. package/esm/renderingBackendBase.js +12 -7
  115. package/esm/scoreScale.d.ts +27 -0
  116. package/esm/scoreScale.js +88 -0
  117. package/esm/shaders/barMark.generated.d.ts +3 -0
  118. package/esm/shaders/barMark.generated.js +7 -0
  119. package/esm/shaders/barMark.glsl.generated.d.ts +2 -0
  120. package/esm/shaders/barMark.glsl.generated.js +4 -0
  121. package/esm/shaders/barMark.iface.generated.d.ts +90 -0
  122. package/esm/shaders/barMark.iface.generated.js +205 -0
  123. package/esm/shaders/barMark.wgsl.generated.d.ts +1 -0
  124. package/esm/shaders/barMark.wgsl.generated.js +3 -0
  125. package/esm/shaders/capsule.js.generated.d.ts +1 -0
  126. package/esm/shaders/capsule.js.generated.js +11 -0
  127. package/esm/shaders/clipStrip.generated.d.ts +2 -0
  128. package/esm/shaders/clipStrip.generated.js +4 -0
  129. package/esm/shaders/clipStrip.js.generated.d.ts +1 -0
  130. package/esm/shaders/clipStrip.js.generated.js +21 -0
  131. package/esm/shaders/colorRampLut.js.generated.d.ts +1 -0
  132. package/esm/shaders/colorRampLut.js.generated.js +17 -0
  133. package/esm/shaders/coverageBar.generated.d.ts +2 -3
  134. package/esm/shaders/coverageBar.generated.js +4 -3
  135. package/esm/shaders/coverageBar.glsl.generated.d.ts +2 -0
  136. package/esm/shaders/coverageBar.glsl.generated.js +4 -0
  137. package/esm/shaders/coverageBar.iface.generated.js +1 -1
  138. package/esm/shaders/coverageBar.wgsl.generated.d.ts +1 -0
  139. package/esm/shaders/coverageBar.wgsl.generated.js +3 -0
  140. package/esm/shaders/coverageClip.generated.d.ts +3 -0
  141. package/esm/shaders/coverageClip.generated.js +7 -0
  142. package/esm/shaders/coverageClip.glsl.generated.d.ts +2 -0
  143. package/esm/shaders/coverageClip.glsl.generated.js +4 -0
  144. package/esm/shaders/coverageClip.iface.generated.d.ts +85 -0
  145. package/esm/shaders/coverageClip.iface.generated.js +114 -0
  146. package/esm/shaders/coverageClip.wgsl.generated.d.ts +1 -0
  147. package/esm/shaders/coverageClip.wgsl.generated.js +3 -0
  148. package/esm/shaders/coverageIndicator.generated.d.ts +2 -3
  149. package/esm/shaders/coverageIndicator.generated.js +4 -3
  150. package/esm/shaders/coverageIndicator.glsl.generated.d.ts +2 -0
  151. package/esm/shaders/coverageIndicator.glsl.generated.js +4 -0
  152. package/esm/shaders/coverageIndicator.iface.generated.js +1 -1
  153. package/esm/shaders/coverageIndicator.wgsl.generated.d.ts +1 -0
  154. package/esm/shaders/coverageIndicator.wgsl.generated.js +3 -0
  155. package/esm/shaders/coverageInterbase.generated.d.ts +2 -3
  156. package/esm/shaders/coverageInterbase.generated.js +4 -3
  157. package/esm/shaders/coverageInterbase.glsl.generated.d.ts +2 -0
  158. package/esm/shaders/coverageInterbase.glsl.generated.js +4 -0
  159. package/esm/shaders/coverageInterbase.iface.generated.js +1 -1
  160. package/esm/shaders/coverageInterbase.wgsl.generated.d.ts +1 -0
  161. package/esm/shaders/coverageInterbase.wgsl.generated.js +3 -0
  162. package/esm/shaders/coverageMod.generated.d.ts +2 -3
  163. package/esm/shaders/coverageMod.generated.js +4 -3
  164. package/esm/shaders/coverageMod.glsl.generated.d.ts +2 -0
  165. package/esm/shaders/coverageMod.glsl.generated.js +4 -0
  166. package/esm/shaders/coverageMod.iface.generated.js +1 -1
  167. package/esm/shaders/coverageMod.wgsl.generated.d.ts +1 -0
  168. package/esm/shaders/coverageMod.wgsl.generated.js +3 -0
  169. package/esm/shaders/coverageSnp.generated.d.ts +2 -3
  170. package/esm/shaders/coverageSnp.generated.js +4 -3
  171. package/esm/shaders/coverageSnp.glsl.generated.d.ts +2 -0
  172. package/esm/shaders/coverageSnp.glsl.generated.js +4 -0
  173. package/esm/shaders/coverageSnp.iface.generated.js +1 -1
  174. package/esm/shaders/coverageSnp.wgsl.generated.d.ts +1 -0
  175. package/esm/shaders/coverageSnp.wgsl.generated.js +3 -0
  176. package/esm/shaders/curveDistance.js.generated.d.ts +5 -0
  177. package/esm/shaders/curveDistance.js.generated.js +87 -0
  178. package/esm/shaders/hpmath.js.generated.d.ts +2 -1
  179. package/esm/shaders/hpmath.js.generated.js +5 -2
  180. package/esm/shaders/lineCenterMark.generated.d.ts +3 -0
  181. package/esm/shaders/lineCenterMark.generated.js +7 -0
  182. package/esm/shaders/lineCenterMark.glsl.generated.d.ts +2 -0
  183. package/esm/shaders/lineCenterMark.glsl.generated.js +4 -0
  184. package/esm/shaders/lineCenterMark.iface.generated.d.ts +104 -0
  185. package/esm/shaders/lineCenterMark.iface.generated.js +237 -0
  186. package/esm/shaders/lineCenterMark.wgsl.generated.d.ts +1 -0
  187. package/esm/shaders/lineCenterMark.wgsl.generated.js +3 -0
  188. package/esm/shaders/lineCommon.generated.d.ts +2 -0
  189. package/esm/shaders/lineCommon.generated.js +4 -0
  190. package/esm/shaders/lineStepMark.generated.d.ts +3 -0
  191. package/esm/shaders/lineStepMark.generated.js +7 -0
  192. package/esm/shaders/lineStepMark.glsl.generated.d.ts +2 -0
  193. package/esm/shaders/lineStepMark.glsl.generated.js +4 -0
  194. package/esm/shaders/lineStepMark.iface.generated.d.ts +98 -0
  195. package/esm/shaders/lineStepMark.iface.generated.js +225 -0
  196. package/esm/shaders/lineStepMark.wgsl.generated.d.ts +1 -0
  197. package/esm/shaders/lineStepMark.wgsl.generated.js +3 -0
  198. package/esm/shaders/linkMark.consts.generated.d.ts +14 -0
  199. package/esm/shaders/linkMark.consts.generated.js +16 -0
  200. package/esm/shaders/linkMark.generated.d.ts +4 -0
  201. package/esm/shaders/linkMark.generated.js +8 -0
  202. package/esm/shaders/linkMark.glsl.generated.d.ts +2 -0
  203. package/esm/shaders/linkMark.glsl.generated.js +4 -0
  204. package/esm/shaders/linkMark.iface.generated.d.ts +142 -0
  205. package/esm/shaders/linkMark.iface.generated.js +1829 -0
  206. package/esm/shaders/linkMark.js.generated.d.ts +7 -0
  207. package/esm/shaders/linkMark.js.generated.js +159 -0
  208. package/esm/shaders/linkMark.wgsl.generated.d.ts +1 -0
  209. package/esm/shaders/linkMark.wgsl.generated.js +3 -0
  210. package/esm/shaders/markColor.generated.d.ts +9 -0
  211. package/esm/shaders/markColor.generated.js +11 -0
  212. package/esm/shaders/pointGlyph.js.generated.d.ts +2 -0
  213. package/esm/shaders/pointGlyph.js.generated.js +15 -0
  214. package/esm/shaders/pointMark.consts.generated.d.ts +7 -0
  215. package/esm/shaders/pointMark.consts.generated.js +9 -0
  216. package/esm/shaders/pointMark.generated.d.ts +4 -0
  217. package/esm/shaders/pointMark.generated.js +8 -0
  218. package/esm/shaders/pointMark.glsl.generated.d.ts +2 -0
  219. package/esm/shaders/pointMark.glsl.generated.js +4 -0
  220. package/esm/shaders/pointMark.iface.generated.d.ts +98 -0
  221. package/esm/shaders/pointMark.iface.generated.js +219 -0
  222. package/esm/shaders/pointMark.js.generated.d.ts +3 -0
  223. package/esm/shaders/pointMark.js.generated.js +93 -0
  224. package/esm/shaders/pointMark.wgsl.generated.d.ts +1 -0
  225. package/esm/shaders/pointMark.wgsl.generated.js +3 -0
  226. package/esm/shaders/rowRect.generated.d.ts +0 -1
  227. package/esm/shaders/rowRect.generated.js +0 -1
  228. package/esm/shaders/rowTable.generated.d.ts +1 -0
  229. package/esm/shaders/rowTable.generated.js +3 -0
  230. package/esm/shaders/rowTable.js.generated.d.ts +5 -0
  231. package/esm/shaders/rowTable.js.generated.js +29 -0
  232. package/esm/shaders/scoreScale.generated.d.ts +2 -0
  233. package/esm/shaders/scoreScale.generated.js +4 -0
  234. package/esm/shaders/scoreScale.js.generated.d.ts +1 -0
  235. package/esm/shaders/scoreScale.js.generated.js +50 -23
  236. package/esm/shaders/spanMark.generated.d.ts +3 -0
  237. package/esm/shaders/spanMark.generated.js +7 -0
  238. package/esm/shaders/spanMark.glsl.generated.d.ts +2 -0
  239. package/esm/shaders/spanMark.glsl.generated.js +4 -0
  240. package/esm/shaders/spanMark.iface.generated.d.ts +81 -0
  241. package/esm/shaders/spanMark.iface.generated.js +215 -0
  242. package/esm/shaders/spanMark.wgsl.generated.d.ts +1 -0
  243. package/esm/shaders/spanMark.wgsl.generated.js +3 -0
  244. package/esm/sharedBackendKey.d.ts +18 -0
  245. package/esm/{keyedRenderingBackend.js → sharedBackendKey.js} +5 -0
  246. package/esm/slangPass.d.ts +17 -11
  247. package/esm/slangPass.js +12 -4
  248. package/esm/useGraphicsCapabilities.d.ts +1 -1
  249. package/esm/useGraphicsCapabilities.js +1 -1
  250. package/esm/useRenderingBackend.d.ts +13 -13
  251. package/esm/useRenderingBackend.js +58 -20
  252. package/esm/webgpuUtils.d.ts +3 -11
  253. package/esm/webgpuUtils.js +12 -33
  254. package/package.json +32 -7
  255. package/src/shaders/antialias.slang +46 -0
  256. package/src/shaders/arcHull.test.ts +267 -0
  257. package/src/shaders/barMark.generated.ts +11 -0
  258. package/src/shaders/barMark.glsl.generated.ts +6 -0
  259. package/src/shaders/barMark.iface.generated.ts +285 -0
  260. package/src/shaders/barMark.slang +167 -0
  261. package/src/shaders/barMark.wgsl.generated.ts +4 -0
  262. package/src/shaders/capsule.js.generated.ts +14 -0
  263. package/src/shaders/capsule.slang +13 -5
  264. package/src/shaders/clipStrip.generated.ts +6 -0
  265. package/src/shaders/clipStrip.js.generated.ts +22 -0
  266. package/src/shaders/clipStrip.slang +34 -0
  267. package/src/shaders/clipStrip.test.ts +39 -0
  268. package/src/shaders/colorPack.slang +5 -1
  269. package/src/shaders/colorRampLut.js.generated.ts +22 -0
  270. package/src/shaders/colorRampLut.slang +15 -1
  271. package/src/shaders/coverageBand.slang +64 -32
  272. package/src/shaders/coverageBar.generated.ts +6 -5
  273. package/src/shaders/coverageBar.glsl.generated.ts +6 -0
  274. package/src/shaders/coverageBar.iface.generated.ts +1 -1
  275. package/src/shaders/coverageBar.slang +10 -10
  276. package/src/shaders/coverageBar.wgsl.generated.ts +4 -0
  277. package/src/shaders/coverageClip.generated.ts +11 -0
  278. package/src/shaders/coverageClip.glsl.generated.ts +6 -0
  279. package/src/shaders/coverageClip.iface.generated.ts +172 -0
  280. package/src/shaders/coverageClip.slang +38 -0
  281. package/src/shaders/coverageClip.wgsl.generated.ts +4 -0
  282. package/src/shaders/coverageIndicator.generated.ts +6 -5
  283. package/src/shaders/coverageIndicator.glsl.generated.ts +6 -0
  284. package/src/shaders/coverageIndicator.iface.generated.ts +1 -1
  285. package/src/shaders/coverageIndicator.wgsl.generated.ts +4 -0
  286. package/src/shaders/coverageInterbase.generated.ts +6 -5
  287. package/src/shaders/coverageInterbase.glsl.generated.ts +6 -0
  288. package/src/shaders/coverageInterbase.iface.generated.ts +1 -1
  289. package/src/shaders/coverageInterbase.wgsl.generated.ts +4 -0
  290. package/src/shaders/coverageMod.generated.ts +6 -5
  291. package/src/shaders/coverageMod.glsl.generated.ts +6 -0
  292. package/src/shaders/coverageMod.iface.generated.ts +1 -1
  293. package/src/shaders/coverageMod.wgsl.generated.ts +4 -0
  294. package/src/shaders/coverageSnp.generated.ts +6 -5
  295. package/src/shaders/coverageSnp.glsl.generated.ts +6 -0
  296. package/src/shaders/coverageSnp.iface.generated.ts +1 -1
  297. package/src/shaders/coverageSnp.wgsl.generated.ts +4 -0
  298. package/src/shaders/curveDistance.js.generated.ts +91 -0
  299. package/src/shaders/curveDistance.slang +265 -0
  300. package/src/shaders/hpClampFloor.test.ts +87 -0
  301. package/src/shaders/hpmath.js.generated.ts +6 -2
  302. package/src/shaders/hpmath.slang +100 -48
  303. package/src/shaders/insetValueScale.test.ts +67 -0
  304. package/src/shaders/lineCenterMark.generated.ts +11 -0
  305. package/src/shaders/lineCenterMark.glsl.generated.ts +6 -0
  306. package/src/shaders/lineCenterMark.iface.generated.ts +328 -0
  307. package/src/shaders/lineCenterMark.slang +127 -0
  308. package/src/shaders/lineCenterMark.wgsl.generated.ts +4 -0
  309. package/src/shaders/lineCommon.generated.ts +6 -0
  310. package/src/shaders/lineCommon.slang +102 -0
  311. package/src/shaders/lineStepMark.generated.ts +11 -0
  312. package/src/shaders/lineStepMark.glsl.generated.ts +6 -0
  313. package/src/shaders/lineStepMark.iface.generated.ts +311 -0
  314. package/src/shaders/lineStepMark.slang +125 -0
  315. package/src/shaders/lineStepMark.wgsl.generated.ts +4 -0
  316. package/src/shaders/linkMark.consts.generated.ts +30 -0
  317. package/src/shaders/linkMark.generated.ts +12 -0
  318. package/src/shaders/linkMark.glsl.generated.ts +6 -0
  319. package/src/shaders/linkMark.iface.generated.ts +1954 -0
  320. package/src/shaders/linkMark.js.generated.ts +167 -0
  321. package/src/shaders/linkMark.slang +439 -0
  322. package/src/shaders/linkMark.wgsl.generated.ts +4 -0
  323. package/src/shaders/markColor.generated.ts +20 -0
  324. package/src/shaders/markColor.slang +128 -0
  325. package/src/shaders/pointGlyph.js.generated.ts +20 -0
  326. package/src/shaders/pointGlyph.slang +23 -7
  327. package/src/shaders/pointGlyphPad.test.ts +242 -0
  328. package/src/shaders/pointMark.consts.generated.ts +16 -0
  329. package/src/shaders/pointMark.generated.ts +12 -0
  330. package/src/shaders/pointMark.glsl.generated.ts +6 -0
  331. package/src/shaders/pointMark.iface.generated.ts +304 -0
  332. package/src/shaders/pointMark.js.generated.ts +99 -0
  333. package/src/shaders/pointMark.slang +227 -0
  334. package/src/shaders/pointMark.wgsl.generated.ts +4 -0
  335. package/src/shaders/rowRect.generated.ts +0 -2
  336. package/src/shaders/rowRect.slang +39 -58
  337. package/src/shaders/rowTable.generated.ts +4 -0
  338. package/src/shaders/rowTable.js.generated.ts +37 -0
  339. package/src/shaders/rowTable.slang +98 -0
  340. package/src/shaders/scoreScale.generated.ts +6 -0
  341. package/src/shaders/scoreScale.js.generated.ts +48 -23
  342. package/src/shaders/scoreScale.slang +49 -55
  343. package/src/shaders/sdEllipse.test.ts +211 -0
  344. package/src/shaders/spanMark.generated.ts +11 -0
  345. package/src/shaders/spanMark.glsl.generated.ts +6 -0
  346. package/src/shaders/spanMark.iface.generated.ts +289 -0
  347. package/src/shaders/spanMark.slang +77 -0
  348. package/src/shaders/spanMark.wgsl.generated.ts +4 -0
  349. package/src/shaders/valueScale.slang +26 -0
  350. package/src/shaders/wideCircleLeg.test.ts +85 -0
  351. package/esm/globalRenderingBackend.d.ts +0 -90
  352. package/esm/globalRenderingBackend.js +0 -53
  353. package/esm/keyedRenderingBackend.d.ts +0 -41
@@ -0,0 +1,1829 @@
1
+ // AUTO-GENERATED by packages/shader-tools/src/shader-codegen from linkMark.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
+ { index: 2, kind: 'texture', name: 'colorRamp', stages: ['vertex'] },
6
+ { index: 3, kind: 'sampler', name: 'colorRamp', stages: ['vertex'] },
7
+ { index: 4, kind: 'texture', name: 'rowTable', stages: ['vertex'] },
8
+ { index: 5, kind: 'sampler', name: 'rowTable', stages: ['vertex'] },
9
+ ];
10
+ export const VERTS_PER_INSTANCE = 142;
11
+ export const TOPOLOGY = 'triangle-strip';
12
+ export const COVERAGE = 'analytic';
13
+ export const UNIFORMS_SIZE_BYTES = 6496;
14
+ // Word indices into a Float32Array view over the uniform buffer.
15
+ export const UNIFORM_OFFSET_F32 = {
16
+ canvasHeight: 0,
17
+ devicePixelRatio: 1,
18
+ rowHeight: 2,
19
+ rowOffsetPx: 3,
20
+ stemPx: 5,
21
+ dashPx: 6,
22
+ gapPx: 7,
23
+ footPx: 8,
24
+ insetPx: 10,
25
+ domainMin: 11,
26
+ domainMax: 12,
27
+ valueSymlogConstant: 14,
28
+ rampMin: 16,
29
+ rampMax: 17,
30
+ rampMidNorm: 18,
31
+ sizeConstantPx: 67,
32
+ sizeDomainMin: 68,
33
+ sizeDomainMax: 69,
34
+ sizeRangeMin: 71,
35
+ sizeRangeMax: 72,
36
+ canvasWidth: 73,
37
+ zero: 75,
38
+ ownEntry: 76,
39
+ ownSpan: 80,
40
+ };
41
+ // Word indices into a Uint32Array view over the uniform buffer.
42
+ export const UNIFORM_OFFSET_U32 = {
43
+ curveSegments: 9,
44
+ regionCount: 74,
45
+ };
46
+ // Word indices into a Int32Array view over the uniform buffer.
47
+ export const UNIFORM_OFFSET_I32 = {
48
+ reverse: 4,
49
+ valueScaleType: 13,
50
+ rampMode: 15,
51
+ colorCutCount: 19,
52
+ valued: 64,
53
+ linkShape: 65,
54
+ sizeMode: 66,
55
+ sizeScaleType: 70,
56
+ rowTableKeys: 1620,
57
+ };
58
+ // Word indices of each array field’s elements, into a 4-byte-word
59
+ // view over the uniform buffer (Uint32Array or Float32Array — the
60
+ // field’s scalar type picks, same as UNIFORM_OFFSET_*). NOT
61
+ // consecutive: std140 pads every array element to 16 bytes.
62
+ export const UNIFORM_SLOT_ARRAYS = {
63
+ colorCuts: [20, 24],
64
+ colorBands: [28, 32, 36, 40, 44, 48, 52, 56, 60],
65
+ regionTable: [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, 1040, 1044, 1048, 1052, 1056, 1060, 1064, 1068, 1072, 1076, 1080, 1084, 1088, 1092, 1096, 1100, 1104],
66
+ regionSpan: [1108, 1112, 1116, 1120, 1124, 1128, 1132, 1136, 1140, 1144, 1148, 1152, 1156, 1160, 1164, 1168, 1172, 1176, 1180, 1184, 1188, 1192, 1196, 1200, 1204, 1208, 1212, 1216, 1220, 1224, 1228, 1232, 1236, 1240, 1244, 1248, 1252, 1256, 1260, 1264, 1268, 1272, 1276, 1280, 1284, 1288, 1292, 1296, 1300, 1304, 1308, 1312, 1316, 1320, 1324, 1328, 1332, 1336, 1340, 1344, 1348, 1352, 1356, 1360, 1364, 1368, 1372, 1376, 1380, 1384, 1388, 1392, 1396, 1400, 1404, 1408, 1412, 1416, 1420, 1424, 1428, 1432, 1436, 1440, 1444, 1448, 1452, 1456, 1460, 1464, 1468, 1472, 1476, 1480, 1484, 1488, 1492, 1496, 1500, 1504, 1508, 1512, 1516, 1520, 1524, 1528, 1532, 1536, 1540, 1544, 1548, 1552, 1556, 1560, 1564, 1568, 1572, 1576, 1580, 1584, 1588, 1592, 1596, 1600, 1604, 1608, 1612, 1616],
67
+ };
68
+ // Element `i` of the `colorCuts` uniform array (4 components).
69
+ export function setUniformColorCuts(f32, i, v0, v1, v2, v3) {
70
+ const o = UNIFORM_SLOT_ARRAYS.colorCuts[i];
71
+ f32[o] = v0;
72
+ f32[o + 1] = v1;
73
+ f32[o + 2] = v2;
74
+ f32[o + 3] = v3;
75
+ }
76
+ // Element `i` of the `colorBands` uniform array (4 components).
77
+ export function setUniformColorBands(f32, i, v0, v1, v2, v3) {
78
+ const o = UNIFORM_SLOT_ARRAYS.colorBands[i];
79
+ f32[o] = v0;
80
+ f32[o + 1] = v1;
81
+ f32[o + 2] = v2;
82
+ f32[o + 3] = v3;
83
+ }
84
+ // Element `i` of the `regionTable` uniform array (4 components).
85
+ export function setUniformRegionTable(f32, i, v0, v1, v2, v3) {
86
+ const o = UNIFORM_SLOT_ARRAYS.regionTable[i];
87
+ f32[o] = v0;
88
+ f32[o + 1] = v1;
89
+ f32[o + 2] = v2;
90
+ f32[o + 3] = v3;
91
+ }
92
+ // Element `i` of the `regionSpan` uniform array (4 components).
93
+ export function setUniformRegionSpan(f32, i, v0, v1, v2, v3) {
94
+ const o = UNIFORM_SLOT_ARRAYS.regionSpan[i];
95
+ f32[o] = v0;
96
+ f32[o + 1] = v1;
97
+ f32[o + 2] = v2;
98
+ f32[o + 3] = v3;
99
+ }
100
+ export function writeUniforms(buf, uniforms) {
101
+ const f32 = new Float32Array(buf);
102
+ const u32 = new Uint32Array(buf);
103
+ const i32 = new Int32Array(buf);
104
+ f32[0] = uniforms.canvasHeight;
105
+ f32[1] = uniforms.devicePixelRatio;
106
+ f32[2] = uniforms.rowHeight;
107
+ f32[3] = uniforms.rowOffsetPx;
108
+ i32[4] = uniforms.reverse;
109
+ f32[5] = uniforms.stemPx;
110
+ f32[6] = uniforms.dashPx;
111
+ f32[7] = uniforms.gapPx;
112
+ f32[8] = uniforms.footPx;
113
+ u32[9] = uniforms.curveSegments;
114
+ f32[10] = uniforms.insetPx;
115
+ f32[11] = uniforms.domainMin;
116
+ f32[12] = uniforms.domainMax;
117
+ i32[13] = uniforms.valueScaleType;
118
+ f32[14] = uniforms.valueSymlogConstant;
119
+ i32[15] = uniforms.rampMode;
120
+ f32[16] = uniforms.rampMin;
121
+ f32[17] = uniforms.rampMax;
122
+ f32[18] = uniforms.rampMidNorm;
123
+ i32[19] = uniforms.colorCutCount;
124
+ f32[20] = uniforms.colorCuts[0][0];
125
+ f32[21] = uniforms.colorCuts[0][1];
126
+ f32[22] = uniforms.colorCuts[0][2];
127
+ f32[23] = uniforms.colorCuts[0][3];
128
+ f32[24] = uniforms.colorCuts[1][0];
129
+ f32[25] = uniforms.colorCuts[1][1];
130
+ f32[26] = uniforms.colorCuts[1][2];
131
+ f32[27] = uniforms.colorCuts[1][3];
132
+ f32[28] = uniforms.colorBands[0][0];
133
+ f32[29] = uniforms.colorBands[0][1];
134
+ f32[30] = uniforms.colorBands[0][2];
135
+ f32[31] = uniforms.colorBands[0][3];
136
+ f32[32] = uniforms.colorBands[1][0];
137
+ f32[33] = uniforms.colorBands[1][1];
138
+ f32[34] = uniforms.colorBands[1][2];
139
+ f32[35] = uniforms.colorBands[1][3];
140
+ f32[36] = uniforms.colorBands[2][0];
141
+ f32[37] = uniforms.colorBands[2][1];
142
+ f32[38] = uniforms.colorBands[2][2];
143
+ f32[39] = uniforms.colorBands[2][3];
144
+ f32[40] = uniforms.colorBands[3][0];
145
+ f32[41] = uniforms.colorBands[3][1];
146
+ f32[42] = uniforms.colorBands[3][2];
147
+ f32[43] = uniforms.colorBands[3][3];
148
+ f32[44] = uniforms.colorBands[4][0];
149
+ f32[45] = uniforms.colorBands[4][1];
150
+ f32[46] = uniforms.colorBands[4][2];
151
+ f32[47] = uniforms.colorBands[4][3];
152
+ f32[48] = uniforms.colorBands[5][0];
153
+ f32[49] = uniforms.colorBands[5][1];
154
+ f32[50] = uniforms.colorBands[5][2];
155
+ f32[51] = uniforms.colorBands[5][3];
156
+ f32[52] = uniforms.colorBands[6][0];
157
+ f32[53] = uniforms.colorBands[6][1];
158
+ f32[54] = uniforms.colorBands[6][2];
159
+ f32[55] = uniforms.colorBands[6][3];
160
+ f32[56] = uniforms.colorBands[7][0];
161
+ f32[57] = uniforms.colorBands[7][1];
162
+ f32[58] = uniforms.colorBands[7][2];
163
+ f32[59] = uniforms.colorBands[7][3];
164
+ f32[60] = uniforms.colorBands[8][0];
165
+ f32[61] = uniforms.colorBands[8][1];
166
+ f32[62] = uniforms.colorBands[8][2];
167
+ f32[63] = uniforms.colorBands[8][3];
168
+ i32[64] = uniforms.valued;
169
+ i32[65] = uniforms.linkShape;
170
+ i32[66] = uniforms.sizeMode;
171
+ f32[67] = uniforms.sizeConstantPx;
172
+ f32[68] = uniforms.sizeDomainMin;
173
+ f32[69] = uniforms.sizeDomainMax;
174
+ i32[70] = uniforms.sizeScaleType;
175
+ f32[71] = uniforms.sizeRangeMin;
176
+ f32[72] = uniforms.sizeRangeMax;
177
+ f32[73] = uniforms.canvasWidth;
178
+ u32[74] = uniforms.regionCount;
179
+ f32[75] = uniforms.zero;
180
+ f32[76] = uniforms.ownEntry[0];
181
+ f32[77] = uniforms.ownEntry[1];
182
+ f32[78] = uniforms.ownEntry[2];
183
+ f32[79] = uniforms.ownEntry[3];
184
+ f32[80] = uniforms.ownSpan[0];
185
+ f32[81] = uniforms.ownSpan[1];
186
+ f32[82] = uniforms.ownSpan[2];
187
+ f32[83] = uniforms.ownSpan[3];
188
+ f32[84] = uniforms.regionTable[0][0];
189
+ f32[85] = uniforms.regionTable[0][1];
190
+ f32[86] = uniforms.regionTable[0][2];
191
+ f32[87] = uniforms.regionTable[0][3];
192
+ f32[88] = uniforms.regionTable[1][0];
193
+ f32[89] = uniforms.regionTable[1][1];
194
+ f32[90] = uniforms.regionTable[1][2];
195
+ f32[91] = uniforms.regionTable[1][3];
196
+ f32[92] = uniforms.regionTable[2][0];
197
+ f32[93] = uniforms.regionTable[2][1];
198
+ f32[94] = uniforms.regionTable[2][2];
199
+ f32[95] = uniforms.regionTable[2][3];
200
+ f32[96] = uniforms.regionTable[3][0];
201
+ f32[97] = uniforms.regionTable[3][1];
202
+ f32[98] = uniforms.regionTable[3][2];
203
+ f32[99] = uniforms.regionTable[3][3];
204
+ f32[100] = uniforms.regionTable[4][0];
205
+ f32[101] = uniforms.regionTable[4][1];
206
+ f32[102] = uniforms.regionTable[4][2];
207
+ f32[103] = uniforms.regionTable[4][3];
208
+ f32[104] = uniforms.regionTable[5][0];
209
+ f32[105] = uniforms.regionTable[5][1];
210
+ f32[106] = uniforms.regionTable[5][2];
211
+ f32[107] = uniforms.regionTable[5][3];
212
+ f32[108] = uniforms.regionTable[6][0];
213
+ f32[109] = uniforms.regionTable[6][1];
214
+ f32[110] = uniforms.regionTable[6][2];
215
+ f32[111] = uniforms.regionTable[6][3];
216
+ f32[112] = uniforms.regionTable[7][0];
217
+ f32[113] = uniforms.regionTable[7][1];
218
+ f32[114] = uniforms.regionTable[7][2];
219
+ f32[115] = uniforms.regionTable[7][3];
220
+ f32[116] = uniforms.regionTable[8][0];
221
+ f32[117] = uniforms.regionTable[8][1];
222
+ f32[118] = uniforms.regionTable[8][2];
223
+ f32[119] = uniforms.regionTable[8][3];
224
+ f32[120] = uniforms.regionTable[9][0];
225
+ f32[121] = uniforms.regionTable[9][1];
226
+ f32[122] = uniforms.regionTable[9][2];
227
+ f32[123] = uniforms.regionTable[9][3];
228
+ f32[124] = uniforms.regionTable[10][0];
229
+ f32[125] = uniforms.regionTable[10][1];
230
+ f32[126] = uniforms.regionTable[10][2];
231
+ f32[127] = uniforms.regionTable[10][3];
232
+ f32[128] = uniforms.regionTable[11][0];
233
+ f32[129] = uniforms.regionTable[11][1];
234
+ f32[130] = uniforms.regionTable[11][2];
235
+ f32[131] = uniforms.regionTable[11][3];
236
+ f32[132] = uniforms.regionTable[12][0];
237
+ f32[133] = uniforms.regionTable[12][1];
238
+ f32[134] = uniforms.regionTable[12][2];
239
+ f32[135] = uniforms.regionTable[12][3];
240
+ f32[136] = uniforms.regionTable[13][0];
241
+ f32[137] = uniforms.regionTable[13][1];
242
+ f32[138] = uniforms.regionTable[13][2];
243
+ f32[139] = uniforms.regionTable[13][3];
244
+ f32[140] = uniforms.regionTable[14][0];
245
+ f32[141] = uniforms.regionTable[14][1];
246
+ f32[142] = uniforms.regionTable[14][2];
247
+ f32[143] = uniforms.regionTable[14][3];
248
+ f32[144] = uniforms.regionTable[15][0];
249
+ f32[145] = uniforms.regionTable[15][1];
250
+ f32[146] = uniforms.regionTable[15][2];
251
+ f32[147] = uniforms.regionTable[15][3];
252
+ f32[148] = uniforms.regionTable[16][0];
253
+ f32[149] = uniforms.regionTable[16][1];
254
+ f32[150] = uniforms.regionTable[16][2];
255
+ f32[151] = uniforms.regionTable[16][3];
256
+ f32[152] = uniforms.regionTable[17][0];
257
+ f32[153] = uniforms.regionTable[17][1];
258
+ f32[154] = uniforms.regionTable[17][2];
259
+ f32[155] = uniforms.regionTable[17][3];
260
+ f32[156] = uniforms.regionTable[18][0];
261
+ f32[157] = uniforms.regionTable[18][1];
262
+ f32[158] = uniforms.regionTable[18][2];
263
+ f32[159] = uniforms.regionTable[18][3];
264
+ f32[160] = uniforms.regionTable[19][0];
265
+ f32[161] = uniforms.regionTable[19][1];
266
+ f32[162] = uniforms.regionTable[19][2];
267
+ f32[163] = uniforms.regionTable[19][3];
268
+ f32[164] = uniforms.regionTable[20][0];
269
+ f32[165] = uniforms.regionTable[20][1];
270
+ f32[166] = uniforms.regionTable[20][2];
271
+ f32[167] = uniforms.regionTable[20][3];
272
+ f32[168] = uniforms.regionTable[21][0];
273
+ f32[169] = uniforms.regionTable[21][1];
274
+ f32[170] = uniforms.regionTable[21][2];
275
+ f32[171] = uniforms.regionTable[21][3];
276
+ f32[172] = uniforms.regionTable[22][0];
277
+ f32[173] = uniforms.regionTable[22][1];
278
+ f32[174] = uniforms.regionTable[22][2];
279
+ f32[175] = uniforms.regionTable[22][3];
280
+ f32[176] = uniforms.regionTable[23][0];
281
+ f32[177] = uniforms.regionTable[23][1];
282
+ f32[178] = uniforms.regionTable[23][2];
283
+ f32[179] = uniforms.regionTable[23][3];
284
+ f32[180] = uniforms.regionTable[24][0];
285
+ f32[181] = uniforms.regionTable[24][1];
286
+ f32[182] = uniforms.regionTable[24][2];
287
+ f32[183] = uniforms.regionTable[24][3];
288
+ f32[184] = uniforms.regionTable[25][0];
289
+ f32[185] = uniforms.regionTable[25][1];
290
+ f32[186] = uniforms.regionTable[25][2];
291
+ f32[187] = uniforms.regionTable[25][3];
292
+ f32[188] = uniforms.regionTable[26][0];
293
+ f32[189] = uniforms.regionTable[26][1];
294
+ f32[190] = uniforms.regionTable[26][2];
295
+ f32[191] = uniforms.regionTable[26][3];
296
+ f32[192] = uniforms.regionTable[27][0];
297
+ f32[193] = uniforms.regionTable[27][1];
298
+ f32[194] = uniforms.regionTable[27][2];
299
+ f32[195] = uniforms.regionTable[27][3];
300
+ f32[196] = uniforms.regionTable[28][0];
301
+ f32[197] = uniforms.regionTable[28][1];
302
+ f32[198] = uniforms.regionTable[28][2];
303
+ f32[199] = uniforms.regionTable[28][3];
304
+ f32[200] = uniforms.regionTable[29][0];
305
+ f32[201] = uniforms.regionTable[29][1];
306
+ f32[202] = uniforms.regionTable[29][2];
307
+ f32[203] = uniforms.regionTable[29][3];
308
+ f32[204] = uniforms.regionTable[30][0];
309
+ f32[205] = uniforms.regionTable[30][1];
310
+ f32[206] = uniforms.regionTable[30][2];
311
+ f32[207] = uniforms.regionTable[30][3];
312
+ f32[208] = uniforms.regionTable[31][0];
313
+ f32[209] = uniforms.regionTable[31][1];
314
+ f32[210] = uniforms.regionTable[31][2];
315
+ f32[211] = uniforms.regionTable[31][3];
316
+ f32[212] = uniforms.regionTable[32][0];
317
+ f32[213] = uniforms.regionTable[32][1];
318
+ f32[214] = uniforms.regionTable[32][2];
319
+ f32[215] = uniforms.regionTable[32][3];
320
+ f32[216] = uniforms.regionTable[33][0];
321
+ f32[217] = uniforms.regionTable[33][1];
322
+ f32[218] = uniforms.regionTable[33][2];
323
+ f32[219] = uniforms.regionTable[33][3];
324
+ f32[220] = uniforms.regionTable[34][0];
325
+ f32[221] = uniforms.regionTable[34][1];
326
+ f32[222] = uniforms.regionTable[34][2];
327
+ f32[223] = uniforms.regionTable[34][3];
328
+ f32[224] = uniforms.regionTable[35][0];
329
+ f32[225] = uniforms.regionTable[35][1];
330
+ f32[226] = uniforms.regionTable[35][2];
331
+ f32[227] = uniforms.regionTable[35][3];
332
+ f32[228] = uniforms.regionTable[36][0];
333
+ f32[229] = uniforms.regionTable[36][1];
334
+ f32[230] = uniforms.regionTable[36][2];
335
+ f32[231] = uniforms.regionTable[36][3];
336
+ f32[232] = uniforms.regionTable[37][0];
337
+ f32[233] = uniforms.regionTable[37][1];
338
+ f32[234] = uniforms.regionTable[37][2];
339
+ f32[235] = uniforms.regionTable[37][3];
340
+ f32[236] = uniforms.regionTable[38][0];
341
+ f32[237] = uniforms.regionTable[38][1];
342
+ f32[238] = uniforms.regionTable[38][2];
343
+ f32[239] = uniforms.regionTable[38][3];
344
+ f32[240] = uniforms.regionTable[39][0];
345
+ f32[241] = uniforms.regionTable[39][1];
346
+ f32[242] = uniforms.regionTable[39][2];
347
+ f32[243] = uniforms.regionTable[39][3];
348
+ f32[244] = uniforms.regionTable[40][0];
349
+ f32[245] = uniforms.regionTable[40][1];
350
+ f32[246] = uniforms.regionTable[40][2];
351
+ f32[247] = uniforms.regionTable[40][3];
352
+ f32[248] = uniforms.regionTable[41][0];
353
+ f32[249] = uniforms.regionTable[41][1];
354
+ f32[250] = uniforms.regionTable[41][2];
355
+ f32[251] = uniforms.regionTable[41][3];
356
+ f32[252] = uniforms.regionTable[42][0];
357
+ f32[253] = uniforms.regionTable[42][1];
358
+ f32[254] = uniforms.regionTable[42][2];
359
+ f32[255] = uniforms.regionTable[42][3];
360
+ f32[256] = uniforms.regionTable[43][0];
361
+ f32[257] = uniforms.regionTable[43][1];
362
+ f32[258] = uniforms.regionTable[43][2];
363
+ f32[259] = uniforms.regionTable[43][3];
364
+ f32[260] = uniforms.regionTable[44][0];
365
+ f32[261] = uniforms.regionTable[44][1];
366
+ f32[262] = uniforms.regionTable[44][2];
367
+ f32[263] = uniforms.regionTable[44][3];
368
+ f32[264] = uniforms.regionTable[45][0];
369
+ f32[265] = uniforms.regionTable[45][1];
370
+ f32[266] = uniforms.regionTable[45][2];
371
+ f32[267] = uniforms.regionTable[45][3];
372
+ f32[268] = uniforms.regionTable[46][0];
373
+ f32[269] = uniforms.regionTable[46][1];
374
+ f32[270] = uniforms.regionTable[46][2];
375
+ f32[271] = uniforms.regionTable[46][3];
376
+ f32[272] = uniforms.regionTable[47][0];
377
+ f32[273] = uniforms.regionTable[47][1];
378
+ f32[274] = uniforms.regionTable[47][2];
379
+ f32[275] = uniforms.regionTable[47][3];
380
+ f32[276] = uniforms.regionTable[48][0];
381
+ f32[277] = uniforms.regionTable[48][1];
382
+ f32[278] = uniforms.regionTable[48][2];
383
+ f32[279] = uniforms.regionTable[48][3];
384
+ f32[280] = uniforms.regionTable[49][0];
385
+ f32[281] = uniforms.regionTable[49][1];
386
+ f32[282] = uniforms.regionTable[49][2];
387
+ f32[283] = uniforms.regionTable[49][3];
388
+ f32[284] = uniforms.regionTable[50][0];
389
+ f32[285] = uniforms.regionTable[50][1];
390
+ f32[286] = uniforms.regionTable[50][2];
391
+ f32[287] = uniforms.regionTable[50][3];
392
+ f32[288] = uniforms.regionTable[51][0];
393
+ f32[289] = uniforms.regionTable[51][1];
394
+ f32[290] = uniforms.regionTable[51][2];
395
+ f32[291] = uniforms.regionTable[51][3];
396
+ f32[292] = uniforms.regionTable[52][0];
397
+ f32[293] = uniforms.regionTable[52][1];
398
+ f32[294] = uniforms.regionTable[52][2];
399
+ f32[295] = uniforms.regionTable[52][3];
400
+ f32[296] = uniforms.regionTable[53][0];
401
+ f32[297] = uniforms.regionTable[53][1];
402
+ f32[298] = uniforms.regionTable[53][2];
403
+ f32[299] = uniforms.regionTable[53][3];
404
+ f32[300] = uniforms.regionTable[54][0];
405
+ f32[301] = uniforms.regionTable[54][1];
406
+ f32[302] = uniforms.regionTable[54][2];
407
+ f32[303] = uniforms.regionTable[54][3];
408
+ f32[304] = uniforms.regionTable[55][0];
409
+ f32[305] = uniforms.regionTable[55][1];
410
+ f32[306] = uniforms.regionTable[55][2];
411
+ f32[307] = uniforms.regionTable[55][3];
412
+ f32[308] = uniforms.regionTable[56][0];
413
+ f32[309] = uniforms.regionTable[56][1];
414
+ f32[310] = uniforms.regionTable[56][2];
415
+ f32[311] = uniforms.regionTable[56][3];
416
+ f32[312] = uniforms.regionTable[57][0];
417
+ f32[313] = uniforms.regionTable[57][1];
418
+ f32[314] = uniforms.regionTable[57][2];
419
+ f32[315] = uniforms.regionTable[57][3];
420
+ f32[316] = uniforms.regionTable[58][0];
421
+ f32[317] = uniforms.regionTable[58][1];
422
+ f32[318] = uniforms.regionTable[58][2];
423
+ f32[319] = uniforms.regionTable[58][3];
424
+ f32[320] = uniforms.regionTable[59][0];
425
+ f32[321] = uniforms.regionTable[59][1];
426
+ f32[322] = uniforms.regionTable[59][2];
427
+ f32[323] = uniforms.regionTable[59][3];
428
+ f32[324] = uniforms.regionTable[60][0];
429
+ f32[325] = uniforms.regionTable[60][1];
430
+ f32[326] = uniforms.regionTable[60][2];
431
+ f32[327] = uniforms.regionTable[60][3];
432
+ f32[328] = uniforms.regionTable[61][0];
433
+ f32[329] = uniforms.regionTable[61][1];
434
+ f32[330] = uniforms.regionTable[61][2];
435
+ f32[331] = uniforms.regionTable[61][3];
436
+ f32[332] = uniforms.regionTable[62][0];
437
+ f32[333] = uniforms.regionTable[62][1];
438
+ f32[334] = uniforms.regionTable[62][2];
439
+ f32[335] = uniforms.regionTable[62][3];
440
+ f32[336] = uniforms.regionTable[63][0];
441
+ f32[337] = uniforms.regionTable[63][1];
442
+ f32[338] = uniforms.regionTable[63][2];
443
+ f32[339] = uniforms.regionTable[63][3];
444
+ f32[340] = uniforms.regionTable[64][0];
445
+ f32[341] = uniforms.regionTable[64][1];
446
+ f32[342] = uniforms.regionTable[64][2];
447
+ f32[343] = uniforms.regionTable[64][3];
448
+ f32[344] = uniforms.regionTable[65][0];
449
+ f32[345] = uniforms.regionTable[65][1];
450
+ f32[346] = uniforms.regionTable[65][2];
451
+ f32[347] = uniforms.regionTable[65][3];
452
+ f32[348] = uniforms.regionTable[66][0];
453
+ f32[349] = uniforms.regionTable[66][1];
454
+ f32[350] = uniforms.regionTable[66][2];
455
+ f32[351] = uniforms.regionTable[66][3];
456
+ f32[352] = uniforms.regionTable[67][0];
457
+ f32[353] = uniforms.regionTable[67][1];
458
+ f32[354] = uniforms.regionTable[67][2];
459
+ f32[355] = uniforms.regionTable[67][3];
460
+ f32[356] = uniforms.regionTable[68][0];
461
+ f32[357] = uniforms.regionTable[68][1];
462
+ f32[358] = uniforms.regionTable[68][2];
463
+ f32[359] = uniforms.regionTable[68][3];
464
+ f32[360] = uniforms.regionTable[69][0];
465
+ f32[361] = uniforms.regionTable[69][1];
466
+ f32[362] = uniforms.regionTable[69][2];
467
+ f32[363] = uniforms.regionTable[69][3];
468
+ f32[364] = uniforms.regionTable[70][0];
469
+ f32[365] = uniforms.regionTable[70][1];
470
+ f32[366] = uniforms.regionTable[70][2];
471
+ f32[367] = uniforms.regionTable[70][3];
472
+ f32[368] = uniforms.regionTable[71][0];
473
+ f32[369] = uniforms.regionTable[71][1];
474
+ f32[370] = uniforms.regionTable[71][2];
475
+ f32[371] = uniforms.regionTable[71][3];
476
+ f32[372] = uniforms.regionTable[72][0];
477
+ f32[373] = uniforms.regionTable[72][1];
478
+ f32[374] = uniforms.regionTable[72][2];
479
+ f32[375] = uniforms.regionTable[72][3];
480
+ f32[376] = uniforms.regionTable[73][0];
481
+ f32[377] = uniforms.regionTable[73][1];
482
+ f32[378] = uniforms.regionTable[73][2];
483
+ f32[379] = uniforms.regionTable[73][3];
484
+ f32[380] = uniforms.regionTable[74][0];
485
+ f32[381] = uniforms.regionTable[74][1];
486
+ f32[382] = uniforms.regionTable[74][2];
487
+ f32[383] = uniforms.regionTable[74][3];
488
+ f32[384] = uniforms.regionTable[75][0];
489
+ f32[385] = uniforms.regionTable[75][1];
490
+ f32[386] = uniforms.regionTable[75][2];
491
+ f32[387] = uniforms.regionTable[75][3];
492
+ f32[388] = uniforms.regionTable[76][0];
493
+ f32[389] = uniforms.regionTable[76][1];
494
+ f32[390] = uniforms.regionTable[76][2];
495
+ f32[391] = uniforms.regionTable[76][3];
496
+ f32[392] = uniforms.regionTable[77][0];
497
+ f32[393] = uniforms.regionTable[77][1];
498
+ f32[394] = uniforms.regionTable[77][2];
499
+ f32[395] = uniforms.regionTable[77][3];
500
+ f32[396] = uniforms.regionTable[78][0];
501
+ f32[397] = uniforms.regionTable[78][1];
502
+ f32[398] = uniforms.regionTable[78][2];
503
+ f32[399] = uniforms.regionTable[78][3];
504
+ f32[400] = uniforms.regionTable[79][0];
505
+ f32[401] = uniforms.regionTable[79][1];
506
+ f32[402] = uniforms.regionTable[79][2];
507
+ f32[403] = uniforms.regionTable[79][3];
508
+ f32[404] = uniforms.regionTable[80][0];
509
+ f32[405] = uniforms.regionTable[80][1];
510
+ f32[406] = uniforms.regionTable[80][2];
511
+ f32[407] = uniforms.regionTable[80][3];
512
+ f32[408] = uniforms.regionTable[81][0];
513
+ f32[409] = uniforms.regionTable[81][1];
514
+ f32[410] = uniforms.regionTable[81][2];
515
+ f32[411] = uniforms.regionTable[81][3];
516
+ f32[412] = uniforms.regionTable[82][0];
517
+ f32[413] = uniforms.regionTable[82][1];
518
+ f32[414] = uniforms.regionTable[82][2];
519
+ f32[415] = uniforms.regionTable[82][3];
520
+ f32[416] = uniforms.regionTable[83][0];
521
+ f32[417] = uniforms.regionTable[83][1];
522
+ f32[418] = uniforms.regionTable[83][2];
523
+ f32[419] = uniforms.regionTable[83][3];
524
+ f32[420] = uniforms.regionTable[84][0];
525
+ f32[421] = uniforms.regionTable[84][1];
526
+ f32[422] = uniforms.regionTable[84][2];
527
+ f32[423] = uniforms.regionTable[84][3];
528
+ f32[424] = uniforms.regionTable[85][0];
529
+ f32[425] = uniforms.regionTable[85][1];
530
+ f32[426] = uniforms.regionTable[85][2];
531
+ f32[427] = uniforms.regionTable[85][3];
532
+ f32[428] = uniforms.regionTable[86][0];
533
+ f32[429] = uniforms.regionTable[86][1];
534
+ f32[430] = uniforms.regionTable[86][2];
535
+ f32[431] = uniforms.regionTable[86][3];
536
+ f32[432] = uniforms.regionTable[87][0];
537
+ f32[433] = uniforms.regionTable[87][1];
538
+ f32[434] = uniforms.regionTable[87][2];
539
+ f32[435] = uniforms.regionTable[87][3];
540
+ f32[436] = uniforms.regionTable[88][0];
541
+ f32[437] = uniforms.regionTable[88][1];
542
+ f32[438] = uniforms.regionTable[88][2];
543
+ f32[439] = uniforms.regionTable[88][3];
544
+ f32[440] = uniforms.regionTable[89][0];
545
+ f32[441] = uniforms.regionTable[89][1];
546
+ f32[442] = uniforms.regionTable[89][2];
547
+ f32[443] = uniforms.regionTable[89][3];
548
+ f32[444] = uniforms.regionTable[90][0];
549
+ f32[445] = uniforms.regionTable[90][1];
550
+ f32[446] = uniforms.regionTable[90][2];
551
+ f32[447] = uniforms.regionTable[90][3];
552
+ f32[448] = uniforms.regionTable[91][0];
553
+ f32[449] = uniforms.regionTable[91][1];
554
+ f32[450] = uniforms.regionTable[91][2];
555
+ f32[451] = uniforms.regionTable[91][3];
556
+ f32[452] = uniforms.regionTable[92][0];
557
+ f32[453] = uniforms.regionTable[92][1];
558
+ f32[454] = uniforms.regionTable[92][2];
559
+ f32[455] = uniforms.regionTable[92][3];
560
+ f32[456] = uniforms.regionTable[93][0];
561
+ f32[457] = uniforms.regionTable[93][1];
562
+ f32[458] = uniforms.regionTable[93][2];
563
+ f32[459] = uniforms.regionTable[93][3];
564
+ f32[460] = uniforms.regionTable[94][0];
565
+ f32[461] = uniforms.regionTable[94][1];
566
+ f32[462] = uniforms.regionTable[94][2];
567
+ f32[463] = uniforms.regionTable[94][3];
568
+ f32[464] = uniforms.regionTable[95][0];
569
+ f32[465] = uniforms.regionTable[95][1];
570
+ f32[466] = uniforms.regionTable[95][2];
571
+ f32[467] = uniforms.regionTable[95][3];
572
+ f32[468] = uniforms.regionTable[96][0];
573
+ f32[469] = uniforms.regionTable[96][1];
574
+ f32[470] = uniforms.regionTable[96][2];
575
+ f32[471] = uniforms.regionTable[96][3];
576
+ f32[472] = uniforms.regionTable[97][0];
577
+ f32[473] = uniforms.regionTable[97][1];
578
+ f32[474] = uniforms.regionTable[97][2];
579
+ f32[475] = uniforms.regionTable[97][3];
580
+ f32[476] = uniforms.regionTable[98][0];
581
+ f32[477] = uniforms.regionTable[98][1];
582
+ f32[478] = uniforms.regionTable[98][2];
583
+ f32[479] = uniforms.regionTable[98][3];
584
+ f32[480] = uniforms.regionTable[99][0];
585
+ f32[481] = uniforms.regionTable[99][1];
586
+ f32[482] = uniforms.regionTable[99][2];
587
+ f32[483] = uniforms.regionTable[99][3];
588
+ f32[484] = uniforms.regionTable[100][0];
589
+ f32[485] = uniforms.regionTable[100][1];
590
+ f32[486] = uniforms.regionTable[100][2];
591
+ f32[487] = uniforms.regionTable[100][3];
592
+ f32[488] = uniforms.regionTable[101][0];
593
+ f32[489] = uniforms.regionTable[101][1];
594
+ f32[490] = uniforms.regionTable[101][2];
595
+ f32[491] = uniforms.regionTable[101][3];
596
+ f32[492] = uniforms.regionTable[102][0];
597
+ f32[493] = uniforms.regionTable[102][1];
598
+ f32[494] = uniforms.regionTable[102][2];
599
+ f32[495] = uniforms.regionTable[102][3];
600
+ f32[496] = uniforms.regionTable[103][0];
601
+ f32[497] = uniforms.regionTable[103][1];
602
+ f32[498] = uniforms.regionTable[103][2];
603
+ f32[499] = uniforms.regionTable[103][3];
604
+ f32[500] = uniforms.regionTable[104][0];
605
+ f32[501] = uniforms.regionTable[104][1];
606
+ f32[502] = uniforms.regionTable[104][2];
607
+ f32[503] = uniforms.regionTable[104][3];
608
+ f32[504] = uniforms.regionTable[105][0];
609
+ f32[505] = uniforms.regionTable[105][1];
610
+ f32[506] = uniforms.regionTable[105][2];
611
+ f32[507] = uniforms.regionTable[105][3];
612
+ f32[508] = uniforms.regionTable[106][0];
613
+ f32[509] = uniforms.regionTable[106][1];
614
+ f32[510] = uniforms.regionTable[106][2];
615
+ f32[511] = uniforms.regionTable[106][3];
616
+ f32[512] = uniforms.regionTable[107][0];
617
+ f32[513] = uniforms.regionTable[107][1];
618
+ f32[514] = uniforms.regionTable[107][2];
619
+ f32[515] = uniforms.regionTable[107][3];
620
+ f32[516] = uniforms.regionTable[108][0];
621
+ f32[517] = uniforms.regionTable[108][1];
622
+ f32[518] = uniforms.regionTable[108][2];
623
+ f32[519] = uniforms.regionTable[108][3];
624
+ f32[520] = uniforms.regionTable[109][0];
625
+ f32[521] = uniforms.regionTable[109][1];
626
+ f32[522] = uniforms.regionTable[109][2];
627
+ f32[523] = uniforms.regionTable[109][3];
628
+ f32[524] = uniforms.regionTable[110][0];
629
+ f32[525] = uniforms.regionTable[110][1];
630
+ f32[526] = uniforms.regionTable[110][2];
631
+ f32[527] = uniforms.regionTable[110][3];
632
+ f32[528] = uniforms.regionTable[111][0];
633
+ f32[529] = uniforms.regionTable[111][1];
634
+ f32[530] = uniforms.regionTable[111][2];
635
+ f32[531] = uniforms.regionTable[111][3];
636
+ f32[532] = uniforms.regionTable[112][0];
637
+ f32[533] = uniforms.regionTable[112][1];
638
+ f32[534] = uniforms.regionTable[112][2];
639
+ f32[535] = uniforms.regionTable[112][3];
640
+ f32[536] = uniforms.regionTable[113][0];
641
+ f32[537] = uniforms.regionTable[113][1];
642
+ f32[538] = uniforms.regionTable[113][2];
643
+ f32[539] = uniforms.regionTable[113][3];
644
+ f32[540] = uniforms.regionTable[114][0];
645
+ f32[541] = uniforms.regionTable[114][1];
646
+ f32[542] = uniforms.regionTable[114][2];
647
+ f32[543] = uniforms.regionTable[114][3];
648
+ f32[544] = uniforms.regionTable[115][0];
649
+ f32[545] = uniforms.regionTable[115][1];
650
+ f32[546] = uniforms.regionTable[115][2];
651
+ f32[547] = uniforms.regionTable[115][3];
652
+ f32[548] = uniforms.regionTable[116][0];
653
+ f32[549] = uniforms.regionTable[116][1];
654
+ f32[550] = uniforms.regionTable[116][2];
655
+ f32[551] = uniforms.regionTable[116][3];
656
+ f32[552] = uniforms.regionTable[117][0];
657
+ f32[553] = uniforms.regionTable[117][1];
658
+ f32[554] = uniforms.regionTable[117][2];
659
+ f32[555] = uniforms.regionTable[117][3];
660
+ f32[556] = uniforms.regionTable[118][0];
661
+ f32[557] = uniforms.regionTable[118][1];
662
+ f32[558] = uniforms.regionTable[118][2];
663
+ f32[559] = uniforms.regionTable[118][3];
664
+ f32[560] = uniforms.regionTable[119][0];
665
+ f32[561] = uniforms.regionTable[119][1];
666
+ f32[562] = uniforms.regionTable[119][2];
667
+ f32[563] = uniforms.regionTable[119][3];
668
+ f32[564] = uniforms.regionTable[120][0];
669
+ f32[565] = uniforms.regionTable[120][1];
670
+ f32[566] = uniforms.regionTable[120][2];
671
+ f32[567] = uniforms.regionTable[120][3];
672
+ f32[568] = uniforms.regionTable[121][0];
673
+ f32[569] = uniforms.regionTable[121][1];
674
+ f32[570] = uniforms.regionTable[121][2];
675
+ f32[571] = uniforms.regionTable[121][3];
676
+ f32[572] = uniforms.regionTable[122][0];
677
+ f32[573] = uniforms.regionTable[122][1];
678
+ f32[574] = uniforms.regionTable[122][2];
679
+ f32[575] = uniforms.regionTable[122][3];
680
+ f32[576] = uniforms.regionTable[123][0];
681
+ f32[577] = uniforms.regionTable[123][1];
682
+ f32[578] = uniforms.regionTable[123][2];
683
+ f32[579] = uniforms.regionTable[123][3];
684
+ f32[580] = uniforms.regionTable[124][0];
685
+ f32[581] = uniforms.regionTable[124][1];
686
+ f32[582] = uniforms.regionTable[124][2];
687
+ f32[583] = uniforms.regionTable[124][3];
688
+ f32[584] = uniforms.regionTable[125][0];
689
+ f32[585] = uniforms.regionTable[125][1];
690
+ f32[586] = uniforms.regionTable[125][2];
691
+ f32[587] = uniforms.regionTable[125][3];
692
+ f32[588] = uniforms.regionTable[126][0];
693
+ f32[589] = uniforms.regionTable[126][1];
694
+ f32[590] = uniforms.regionTable[126][2];
695
+ f32[591] = uniforms.regionTable[126][3];
696
+ f32[592] = uniforms.regionTable[127][0];
697
+ f32[593] = uniforms.regionTable[127][1];
698
+ f32[594] = uniforms.regionTable[127][2];
699
+ f32[595] = uniforms.regionTable[127][3];
700
+ f32[596] = uniforms.regionTable[128][0];
701
+ f32[597] = uniforms.regionTable[128][1];
702
+ f32[598] = uniforms.regionTable[128][2];
703
+ f32[599] = uniforms.regionTable[128][3];
704
+ f32[600] = uniforms.regionTable[129][0];
705
+ f32[601] = uniforms.regionTable[129][1];
706
+ f32[602] = uniforms.regionTable[129][2];
707
+ f32[603] = uniforms.regionTable[129][3];
708
+ f32[604] = uniforms.regionTable[130][0];
709
+ f32[605] = uniforms.regionTable[130][1];
710
+ f32[606] = uniforms.regionTable[130][2];
711
+ f32[607] = uniforms.regionTable[130][3];
712
+ f32[608] = uniforms.regionTable[131][0];
713
+ f32[609] = uniforms.regionTable[131][1];
714
+ f32[610] = uniforms.regionTable[131][2];
715
+ f32[611] = uniforms.regionTable[131][3];
716
+ f32[612] = uniforms.regionTable[132][0];
717
+ f32[613] = uniforms.regionTable[132][1];
718
+ f32[614] = uniforms.regionTable[132][2];
719
+ f32[615] = uniforms.regionTable[132][3];
720
+ f32[616] = uniforms.regionTable[133][0];
721
+ f32[617] = uniforms.regionTable[133][1];
722
+ f32[618] = uniforms.regionTable[133][2];
723
+ f32[619] = uniforms.regionTable[133][3];
724
+ f32[620] = uniforms.regionTable[134][0];
725
+ f32[621] = uniforms.regionTable[134][1];
726
+ f32[622] = uniforms.regionTable[134][2];
727
+ f32[623] = uniforms.regionTable[134][3];
728
+ f32[624] = uniforms.regionTable[135][0];
729
+ f32[625] = uniforms.regionTable[135][1];
730
+ f32[626] = uniforms.regionTable[135][2];
731
+ f32[627] = uniforms.regionTable[135][3];
732
+ f32[628] = uniforms.regionTable[136][0];
733
+ f32[629] = uniforms.regionTable[136][1];
734
+ f32[630] = uniforms.regionTable[136][2];
735
+ f32[631] = uniforms.regionTable[136][3];
736
+ f32[632] = uniforms.regionTable[137][0];
737
+ f32[633] = uniforms.regionTable[137][1];
738
+ f32[634] = uniforms.regionTable[137][2];
739
+ f32[635] = uniforms.regionTable[137][3];
740
+ f32[636] = uniforms.regionTable[138][0];
741
+ f32[637] = uniforms.regionTable[138][1];
742
+ f32[638] = uniforms.regionTable[138][2];
743
+ f32[639] = uniforms.regionTable[138][3];
744
+ f32[640] = uniforms.regionTable[139][0];
745
+ f32[641] = uniforms.regionTable[139][1];
746
+ f32[642] = uniforms.regionTable[139][2];
747
+ f32[643] = uniforms.regionTable[139][3];
748
+ f32[644] = uniforms.regionTable[140][0];
749
+ f32[645] = uniforms.regionTable[140][1];
750
+ f32[646] = uniforms.regionTable[140][2];
751
+ f32[647] = uniforms.regionTable[140][3];
752
+ f32[648] = uniforms.regionTable[141][0];
753
+ f32[649] = uniforms.regionTable[141][1];
754
+ f32[650] = uniforms.regionTable[141][2];
755
+ f32[651] = uniforms.regionTable[141][3];
756
+ f32[652] = uniforms.regionTable[142][0];
757
+ f32[653] = uniforms.regionTable[142][1];
758
+ f32[654] = uniforms.regionTable[142][2];
759
+ f32[655] = uniforms.regionTable[142][3];
760
+ f32[656] = uniforms.regionTable[143][0];
761
+ f32[657] = uniforms.regionTable[143][1];
762
+ f32[658] = uniforms.regionTable[143][2];
763
+ f32[659] = uniforms.regionTable[143][3];
764
+ f32[660] = uniforms.regionTable[144][0];
765
+ f32[661] = uniforms.regionTable[144][1];
766
+ f32[662] = uniforms.regionTable[144][2];
767
+ f32[663] = uniforms.regionTable[144][3];
768
+ f32[664] = uniforms.regionTable[145][0];
769
+ f32[665] = uniforms.regionTable[145][1];
770
+ f32[666] = uniforms.regionTable[145][2];
771
+ f32[667] = uniforms.regionTable[145][3];
772
+ f32[668] = uniforms.regionTable[146][0];
773
+ f32[669] = uniforms.regionTable[146][1];
774
+ f32[670] = uniforms.regionTable[146][2];
775
+ f32[671] = uniforms.regionTable[146][3];
776
+ f32[672] = uniforms.regionTable[147][0];
777
+ f32[673] = uniforms.regionTable[147][1];
778
+ f32[674] = uniforms.regionTable[147][2];
779
+ f32[675] = uniforms.regionTable[147][3];
780
+ f32[676] = uniforms.regionTable[148][0];
781
+ f32[677] = uniforms.regionTable[148][1];
782
+ f32[678] = uniforms.regionTable[148][2];
783
+ f32[679] = uniforms.regionTable[148][3];
784
+ f32[680] = uniforms.regionTable[149][0];
785
+ f32[681] = uniforms.regionTable[149][1];
786
+ f32[682] = uniforms.regionTable[149][2];
787
+ f32[683] = uniforms.regionTable[149][3];
788
+ f32[684] = uniforms.regionTable[150][0];
789
+ f32[685] = uniforms.regionTable[150][1];
790
+ f32[686] = uniforms.regionTable[150][2];
791
+ f32[687] = uniforms.regionTable[150][3];
792
+ f32[688] = uniforms.regionTable[151][0];
793
+ f32[689] = uniforms.regionTable[151][1];
794
+ f32[690] = uniforms.regionTable[151][2];
795
+ f32[691] = uniforms.regionTable[151][3];
796
+ f32[692] = uniforms.regionTable[152][0];
797
+ f32[693] = uniforms.regionTable[152][1];
798
+ f32[694] = uniforms.regionTable[152][2];
799
+ f32[695] = uniforms.regionTable[152][3];
800
+ f32[696] = uniforms.regionTable[153][0];
801
+ f32[697] = uniforms.regionTable[153][1];
802
+ f32[698] = uniforms.regionTable[153][2];
803
+ f32[699] = uniforms.regionTable[153][3];
804
+ f32[700] = uniforms.regionTable[154][0];
805
+ f32[701] = uniforms.regionTable[154][1];
806
+ f32[702] = uniforms.regionTable[154][2];
807
+ f32[703] = uniforms.regionTable[154][3];
808
+ f32[704] = uniforms.regionTable[155][0];
809
+ f32[705] = uniforms.regionTable[155][1];
810
+ f32[706] = uniforms.regionTable[155][2];
811
+ f32[707] = uniforms.regionTable[155][3];
812
+ f32[708] = uniforms.regionTable[156][0];
813
+ f32[709] = uniforms.regionTable[156][1];
814
+ f32[710] = uniforms.regionTable[156][2];
815
+ f32[711] = uniforms.regionTable[156][3];
816
+ f32[712] = uniforms.regionTable[157][0];
817
+ f32[713] = uniforms.regionTable[157][1];
818
+ f32[714] = uniforms.regionTable[157][2];
819
+ f32[715] = uniforms.regionTable[157][3];
820
+ f32[716] = uniforms.regionTable[158][0];
821
+ f32[717] = uniforms.regionTable[158][1];
822
+ f32[718] = uniforms.regionTable[158][2];
823
+ f32[719] = uniforms.regionTable[158][3];
824
+ f32[720] = uniforms.regionTable[159][0];
825
+ f32[721] = uniforms.regionTable[159][1];
826
+ f32[722] = uniforms.regionTable[159][2];
827
+ f32[723] = uniforms.regionTable[159][3];
828
+ f32[724] = uniforms.regionTable[160][0];
829
+ f32[725] = uniforms.regionTable[160][1];
830
+ f32[726] = uniforms.regionTable[160][2];
831
+ f32[727] = uniforms.regionTable[160][3];
832
+ f32[728] = uniforms.regionTable[161][0];
833
+ f32[729] = uniforms.regionTable[161][1];
834
+ f32[730] = uniforms.regionTable[161][2];
835
+ f32[731] = uniforms.regionTable[161][3];
836
+ f32[732] = uniforms.regionTable[162][0];
837
+ f32[733] = uniforms.regionTable[162][1];
838
+ f32[734] = uniforms.regionTable[162][2];
839
+ f32[735] = uniforms.regionTable[162][3];
840
+ f32[736] = uniforms.regionTable[163][0];
841
+ f32[737] = uniforms.regionTable[163][1];
842
+ f32[738] = uniforms.regionTable[163][2];
843
+ f32[739] = uniforms.regionTable[163][3];
844
+ f32[740] = uniforms.regionTable[164][0];
845
+ f32[741] = uniforms.regionTable[164][1];
846
+ f32[742] = uniforms.regionTable[164][2];
847
+ f32[743] = uniforms.regionTable[164][3];
848
+ f32[744] = uniforms.regionTable[165][0];
849
+ f32[745] = uniforms.regionTable[165][1];
850
+ f32[746] = uniforms.regionTable[165][2];
851
+ f32[747] = uniforms.regionTable[165][3];
852
+ f32[748] = uniforms.regionTable[166][0];
853
+ f32[749] = uniforms.regionTable[166][1];
854
+ f32[750] = uniforms.regionTable[166][2];
855
+ f32[751] = uniforms.regionTable[166][3];
856
+ f32[752] = uniforms.regionTable[167][0];
857
+ f32[753] = uniforms.regionTable[167][1];
858
+ f32[754] = uniforms.regionTable[167][2];
859
+ f32[755] = uniforms.regionTable[167][3];
860
+ f32[756] = uniforms.regionTable[168][0];
861
+ f32[757] = uniforms.regionTable[168][1];
862
+ f32[758] = uniforms.regionTable[168][2];
863
+ f32[759] = uniforms.regionTable[168][3];
864
+ f32[760] = uniforms.regionTable[169][0];
865
+ f32[761] = uniforms.regionTable[169][1];
866
+ f32[762] = uniforms.regionTable[169][2];
867
+ f32[763] = uniforms.regionTable[169][3];
868
+ f32[764] = uniforms.regionTable[170][0];
869
+ f32[765] = uniforms.regionTable[170][1];
870
+ f32[766] = uniforms.regionTable[170][2];
871
+ f32[767] = uniforms.regionTable[170][3];
872
+ f32[768] = uniforms.regionTable[171][0];
873
+ f32[769] = uniforms.regionTable[171][1];
874
+ f32[770] = uniforms.regionTable[171][2];
875
+ f32[771] = uniforms.regionTable[171][3];
876
+ f32[772] = uniforms.regionTable[172][0];
877
+ f32[773] = uniforms.regionTable[172][1];
878
+ f32[774] = uniforms.regionTable[172][2];
879
+ f32[775] = uniforms.regionTable[172][3];
880
+ f32[776] = uniforms.regionTable[173][0];
881
+ f32[777] = uniforms.regionTable[173][1];
882
+ f32[778] = uniforms.regionTable[173][2];
883
+ f32[779] = uniforms.regionTable[173][3];
884
+ f32[780] = uniforms.regionTable[174][0];
885
+ f32[781] = uniforms.regionTable[174][1];
886
+ f32[782] = uniforms.regionTable[174][2];
887
+ f32[783] = uniforms.regionTable[174][3];
888
+ f32[784] = uniforms.regionTable[175][0];
889
+ f32[785] = uniforms.regionTable[175][1];
890
+ f32[786] = uniforms.regionTable[175][2];
891
+ f32[787] = uniforms.regionTable[175][3];
892
+ f32[788] = uniforms.regionTable[176][0];
893
+ f32[789] = uniforms.regionTable[176][1];
894
+ f32[790] = uniforms.regionTable[176][2];
895
+ f32[791] = uniforms.regionTable[176][3];
896
+ f32[792] = uniforms.regionTable[177][0];
897
+ f32[793] = uniforms.regionTable[177][1];
898
+ f32[794] = uniforms.regionTable[177][2];
899
+ f32[795] = uniforms.regionTable[177][3];
900
+ f32[796] = uniforms.regionTable[178][0];
901
+ f32[797] = uniforms.regionTable[178][1];
902
+ f32[798] = uniforms.regionTable[178][2];
903
+ f32[799] = uniforms.regionTable[178][3];
904
+ f32[800] = uniforms.regionTable[179][0];
905
+ f32[801] = uniforms.regionTable[179][1];
906
+ f32[802] = uniforms.regionTable[179][2];
907
+ f32[803] = uniforms.regionTable[179][3];
908
+ f32[804] = uniforms.regionTable[180][0];
909
+ f32[805] = uniforms.regionTable[180][1];
910
+ f32[806] = uniforms.regionTable[180][2];
911
+ f32[807] = uniforms.regionTable[180][3];
912
+ f32[808] = uniforms.regionTable[181][0];
913
+ f32[809] = uniforms.regionTable[181][1];
914
+ f32[810] = uniforms.regionTable[181][2];
915
+ f32[811] = uniforms.regionTable[181][3];
916
+ f32[812] = uniforms.regionTable[182][0];
917
+ f32[813] = uniforms.regionTable[182][1];
918
+ f32[814] = uniforms.regionTable[182][2];
919
+ f32[815] = uniforms.regionTable[182][3];
920
+ f32[816] = uniforms.regionTable[183][0];
921
+ f32[817] = uniforms.regionTable[183][1];
922
+ f32[818] = uniforms.regionTable[183][2];
923
+ f32[819] = uniforms.regionTable[183][3];
924
+ f32[820] = uniforms.regionTable[184][0];
925
+ f32[821] = uniforms.regionTable[184][1];
926
+ f32[822] = uniforms.regionTable[184][2];
927
+ f32[823] = uniforms.regionTable[184][3];
928
+ f32[824] = uniforms.regionTable[185][0];
929
+ f32[825] = uniforms.regionTable[185][1];
930
+ f32[826] = uniforms.regionTable[185][2];
931
+ f32[827] = uniforms.regionTable[185][3];
932
+ f32[828] = uniforms.regionTable[186][0];
933
+ f32[829] = uniforms.regionTable[186][1];
934
+ f32[830] = uniforms.regionTable[186][2];
935
+ f32[831] = uniforms.regionTable[186][3];
936
+ f32[832] = uniforms.regionTable[187][0];
937
+ f32[833] = uniforms.regionTable[187][1];
938
+ f32[834] = uniforms.regionTable[187][2];
939
+ f32[835] = uniforms.regionTable[187][3];
940
+ f32[836] = uniforms.regionTable[188][0];
941
+ f32[837] = uniforms.regionTable[188][1];
942
+ f32[838] = uniforms.regionTable[188][2];
943
+ f32[839] = uniforms.regionTable[188][3];
944
+ f32[840] = uniforms.regionTable[189][0];
945
+ f32[841] = uniforms.regionTable[189][1];
946
+ f32[842] = uniforms.regionTable[189][2];
947
+ f32[843] = uniforms.regionTable[189][3];
948
+ f32[844] = uniforms.regionTable[190][0];
949
+ f32[845] = uniforms.regionTable[190][1];
950
+ f32[846] = uniforms.regionTable[190][2];
951
+ f32[847] = uniforms.regionTable[190][3];
952
+ f32[848] = uniforms.regionTable[191][0];
953
+ f32[849] = uniforms.regionTable[191][1];
954
+ f32[850] = uniforms.regionTable[191][2];
955
+ f32[851] = uniforms.regionTable[191][3];
956
+ f32[852] = uniforms.regionTable[192][0];
957
+ f32[853] = uniforms.regionTable[192][1];
958
+ f32[854] = uniforms.regionTable[192][2];
959
+ f32[855] = uniforms.regionTable[192][3];
960
+ f32[856] = uniforms.regionTable[193][0];
961
+ f32[857] = uniforms.regionTable[193][1];
962
+ f32[858] = uniforms.regionTable[193][2];
963
+ f32[859] = uniforms.regionTable[193][3];
964
+ f32[860] = uniforms.regionTable[194][0];
965
+ f32[861] = uniforms.regionTable[194][1];
966
+ f32[862] = uniforms.regionTable[194][2];
967
+ f32[863] = uniforms.regionTable[194][3];
968
+ f32[864] = uniforms.regionTable[195][0];
969
+ f32[865] = uniforms.regionTable[195][1];
970
+ f32[866] = uniforms.regionTable[195][2];
971
+ f32[867] = uniforms.regionTable[195][3];
972
+ f32[868] = uniforms.regionTable[196][0];
973
+ f32[869] = uniforms.regionTable[196][1];
974
+ f32[870] = uniforms.regionTable[196][2];
975
+ f32[871] = uniforms.regionTable[196][3];
976
+ f32[872] = uniforms.regionTable[197][0];
977
+ f32[873] = uniforms.regionTable[197][1];
978
+ f32[874] = uniforms.regionTable[197][2];
979
+ f32[875] = uniforms.regionTable[197][3];
980
+ f32[876] = uniforms.regionTable[198][0];
981
+ f32[877] = uniforms.regionTable[198][1];
982
+ f32[878] = uniforms.regionTable[198][2];
983
+ f32[879] = uniforms.regionTable[198][3];
984
+ f32[880] = uniforms.regionTable[199][0];
985
+ f32[881] = uniforms.regionTable[199][1];
986
+ f32[882] = uniforms.regionTable[199][2];
987
+ f32[883] = uniforms.regionTable[199][3];
988
+ f32[884] = uniforms.regionTable[200][0];
989
+ f32[885] = uniforms.regionTable[200][1];
990
+ f32[886] = uniforms.regionTable[200][2];
991
+ f32[887] = uniforms.regionTable[200][3];
992
+ f32[888] = uniforms.regionTable[201][0];
993
+ f32[889] = uniforms.regionTable[201][1];
994
+ f32[890] = uniforms.regionTable[201][2];
995
+ f32[891] = uniforms.regionTable[201][3];
996
+ f32[892] = uniforms.regionTable[202][0];
997
+ f32[893] = uniforms.regionTable[202][1];
998
+ f32[894] = uniforms.regionTable[202][2];
999
+ f32[895] = uniforms.regionTable[202][3];
1000
+ f32[896] = uniforms.regionTable[203][0];
1001
+ f32[897] = uniforms.regionTable[203][1];
1002
+ f32[898] = uniforms.regionTable[203][2];
1003
+ f32[899] = uniforms.regionTable[203][3];
1004
+ f32[900] = uniforms.regionTable[204][0];
1005
+ f32[901] = uniforms.regionTable[204][1];
1006
+ f32[902] = uniforms.regionTable[204][2];
1007
+ f32[903] = uniforms.regionTable[204][3];
1008
+ f32[904] = uniforms.regionTable[205][0];
1009
+ f32[905] = uniforms.regionTable[205][1];
1010
+ f32[906] = uniforms.regionTable[205][2];
1011
+ f32[907] = uniforms.regionTable[205][3];
1012
+ f32[908] = uniforms.regionTable[206][0];
1013
+ f32[909] = uniforms.regionTable[206][1];
1014
+ f32[910] = uniforms.regionTable[206][2];
1015
+ f32[911] = uniforms.regionTable[206][3];
1016
+ f32[912] = uniforms.regionTable[207][0];
1017
+ f32[913] = uniforms.regionTable[207][1];
1018
+ f32[914] = uniforms.regionTable[207][2];
1019
+ f32[915] = uniforms.regionTable[207][3];
1020
+ f32[916] = uniforms.regionTable[208][0];
1021
+ f32[917] = uniforms.regionTable[208][1];
1022
+ f32[918] = uniforms.regionTable[208][2];
1023
+ f32[919] = uniforms.regionTable[208][3];
1024
+ f32[920] = uniforms.regionTable[209][0];
1025
+ f32[921] = uniforms.regionTable[209][1];
1026
+ f32[922] = uniforms.regionTable[209][2];
1027
+ f32[923] = uniforms.regionTable[209][3];
1028
+ f32[924] = uniforms.regionTable[210][0];
1029
+ f32[925] = uniforms.regionTable[210][1];
1030
+ f32[926] = uniforms.regionTable[210][2];
1031
+ f32[927] = uniforms.regionTable[210][3];
1032
+ f32[928] = uniforms.regionTable[211][0];
1033
+ f32[929] = uniforms.regionTable[211][1];
1034
+ f32[930] = uniforms.regionTable[211][2];
1035
+ f32[931] = uniforms.regionTable[211][3];
1036
+ f32[932] = uniforms.regionTable[212][0];
1037
+ f32[933] = uniforms.regionTable[212][1];
1038
+ f32[934] = uniforms.regionTable[212][2];
1039
+ f32[935] = uniforms.regionTable[212][3];
1040
+ f32[936] = uniforms.regionTable[213][0];
1041
+ f32[937] = uniforms.regionTable[213][1];
1042
+ f32[938] = uniforms.regionTable[213][2];
1043
+ f32[939] = uniforms.regionTable[213][3];
1044
+ f32[940] = uniforms.regionTable[214][0];
1045
+ f32[941] = uniforms.regionTable[214][1];
1046
+ f32[942] = uniforms.regionTable[214][2];
1047
+ f32[943] = uniforms.regionTable[214][3];
1048
+ f32[944] = uniforms.regionTable[215][0];
1049
+ f32[945] = uniforms.regionTable[215][1];
1050
+ f32[946] = uniforms.regionTable[215][2];
1051
+ f32[947] = uniforms.regionTable[215][3];
1052
+ f32[948] = uniforms.regionTable[216][0];
1053
+ f32[949] = uniforms.regionTable[216][1];
1054
+ f32[950] = uniforms.regionTable[216][2];
1055
+ f32[951] = uniforms.regionTable[216][3];
1056
+ f32[952] = uniforms.regionTable[217][0];
1057
+ f32[953] = uniforms.regionTable[217][1];
1058
+ f32[954] = uniforms.regionTable[217][2];
1059
+ f32[955] = uniforms.regionTable[217][3];
1060
+ f32[956] = uniforms.regionTable[218][0];
1061
+ f32[957] = uniforms.regionTable[218][1];
1062
+ f32[958] = uniforms.regionTable[218][2];
1063
+ f32[959] = uniforms.regionTable[218][3];
1064
+ f32[960] = uniforms.regionTable[219][0];
1065
+ f32[961] = uniforms.regionTable[219][1];
1066
+ f32[962] = uniforms.regionTable[219][2];
1067
+ f32[963] = uniforms.regionTable[219][3];
1068
+ f32[964] = uniforms.regionTable[220][0];
1069
+ f32[965] = uniforms.regionTable[220][1];
1070
+ f32[966] = uniforms.regionTable[220][2];
1071
+ f32[967] = uniforms.regionTable[220][3];
1072
+ f32[968] = uniforms.regionTable[221][0];
1073
+ f32[969] = uniforms.regionTable[221][1];
1074
+ f32[970] = uniforms.regionTable[221][2];
1075
+ f32[971] = uniforms.regionTable[221][3];
1076
+ f32[972] = uniforms.regionTable[222][0];
1077
+ f32[973] = uniforms.regionTable[222][1];
1078
+ f32[974] = uniforms.regionTable[222][2];
1079
+ f32[975] = uniforms.regionTable[222][3];
1080
+ f32[976] = uniforms.regionTable[223][0];
1081
+ f32[977] = uniforms.regionTable[223][1];
1082
+ f32[978] = uniforms.regionTable[223][2];
1083
+ f32[979] = uniforms.regionTable[223][3];
1084
+ f32[980] = uniforms.regionTable[224][0];
1085
+ f32[981] = uniforms.regionTable[224][1];
1086
+ f32[982] = uniforms.regionTable[224][2];
1087
+ f32[983] = uniforms.regionTable[224][3];
1088
+ f32[984] = uniforms.regionTable[225][0];
1089
+ f32[985] = uniforms.regionTable[225][1];
1090
+ f32[986] = uniforms.regionTable[225][2];
1091
+ f32[987] = uniforms.regionTable[225][3];
1092
+ f32[988] = uniforms.regionTable[226][0];
1093
+ f32[989] = uniforms.regionTable[226][1];
1094
+ f32[990] = uniforms.regionTable[226][2];
1095
+ f32[991] = uniforms.regionTable[226][3];
1096
+ f32[992] = uniforms.regionTable[227][0];
1097
+ f32[993] = uniforms.regionTable[227][1];
1098
+ f32[994] = uniforms.regionTable[227][2];
1099
+ f32[995] = uniforms.regionTable[227][3];
1100
+ f32[996] = uniforms.regionTable[228][0];
1101
+ f32[997] = uniforms.regionTable[228][1];
1102
+ f32[998] = uniforms.regionTable[228][2];
1103
+ f32[999] = uniforms.regionTable[228][3];
1104
+ f32[1000] = uniforms.regionTable[229][0];
1105
+ f32[1001] = uniforms.regionTable[229][1];
1106
+ f32[1002] = uniforms.regionTable[229][2];
1107
+ f32[1003] = uniforms.regionTable[229][3];
1108
+ f32[1004] = uniforms.regionTable[230][0];
1109
+ f32[1005] = uniforms.regionTable[230][1];
1110
+ f32[1006] = uniforms.regionTable[230][2];
1111
+ f32[1007] = uniforms.regionTable[230][3];
1112
+ f32[1008] = uniforms.regionTable[231][0];
1113
+ f32[1009] = uniforms.regionTable[231][1];
1114
+ f32[1010] = uniforms.regionTable[231][2];
1115
+ f32[1011] = uniforms.regionTable[231][3];
1116
+ f32[1012] = uniforms.regionTable[232][0];
1117
+ f32[1013] = uniforms.regionTable[232][1];
1118
+ f32[1014] = uniforms.regionTable[232][2];
1119
+ f32[1015] = uniforms.regionTable[232][3];
1120
+ f32[1016] = uniforms.regionTable[233][0];
1121
+ f32[1017] = uniforms.regionTable[233][1];
1122
+ f32[1018] = uniforms.regionTable[233][2];
1123
+ f32[1019] = uniforms.regionTable[233][3];
1124
+ f32[1020] = uniforms.regionTable[234][0];
1125
+ f32[1021] = uniforms.regionTable[234][1];
1126
+ f32[1022] = uniforms.regionTable[234][2];
1127
+ f32[1023] = uniforms.regionTable[234][3];
1128
+ f32[1024] = uniforms.regionTable[235][0];
1129
+ f32[1025] = uniforms.regionTable[235][1];
1130
+ f32[1026] = uniforms.regionTable[235][2];
1131
+ f32[1027] = uniforms.regionTable[235][3];
1132
+ f32[1028] = uniforms.regionTable[236][0];
1133
+ f32[1029] = uniforms.regionTable[236][1];
1134
+ f32[1030] = uniforms.regionTable[236][2];
1135
+ f32[1031] = uniforms.regionTable[236][3];
1136
+ f32[1032] = uniforms.regionTable[237][0];
1137
+ f32[1033] = uniforms.regionTable[237][1];
1138
+ f32[1034] = uniforms.regionTable[237][2];
1139
+ f32[1035] = uniforms.regionTable[237][3];
1140
+ f32[1036] = uniforms.regionTable[238][0];
1141
+ f32[1037] = uniforms.regionTable[238][1];
1142
+ f32[1038] = uniforms.regionTable[238][2];
1143
+ f32[1039] = uniforms.regionTable[238][3];
1144
+ f32[1040] = uniforms.regionTable[239][0];
1145
+ f32[1041] = uniforms.regionTable[239][1];
1146
+ f32[1042] = uniforms.regionTable[239][2];
1147
+ f32[1043] = uniforms.regionTable[239][3];
1148
+ f32[1044] = uniforms.regionTable[240][0];
1149
+ f32[1045] = uniforms.regionTable[240][1];
1150
+ f32[1046] = uniforms.regionTable[240][2];
1151
+ f32[1047] = uniforms.regionTable[240][3];
1152
+ f32[1048] = uniforms.regionTable[241][0];
1153
+ f32[1049] = uniforms.regionTable[241][1];
1154
+ f32[1050] = uniforms.regionTable[241][2];
1155
+ f32[1051] = uniforms.regionTable[241][3];
1156
+ f32[1052] = uniforms.regionTable[242][0];
1157
+ f32[1053] = uniforms.regionTable[242][1];
1158
+ f32[1054] = uniforms.regionTable[242][2];
1159
+ f32[1055] = uniforms.regionTable[242][3];
1160
+ f32[1056] = uniforms.regionTable[243][0];
1161
+ f32[1057] = uniforms.regionTable[243][1];
1162
+ f32[1058] = uniforms.regionTable[243][2];
1163
+ f32[1059] = uniforms.regionTable[243][3];
1164
+ f32[1060] = uniforms.regionTable[244][0];
1165
+ f32[1061] = uniforms.regionTable[244][1];
1166
+ f32[1062] = uniforms.regionTable[244][2];
1167
+ f32[1063] = uniforms.regionTable[244][3];
1168
+ f32[1064] = uniforms.regionTable[245][0];
1169
+ f32[1065] = uniforms.regionTable[245][1];
1170
+ f32[1066] = uniforms.regionTable[245][2];
1171
+ f32[1067] = uniforms.regionTable[245][3];
1172
+ f32[1068] = uniforms.regionTable[246][0];
1173
+ f32[1069] = uniforms.regionTable[246][1];
1174
+ f32[1070] = uniforms.regionTable[246][2];
1175
+ f32[1071] = uniforms.regionTable[246][3];
1176
+ f32[1072] = uniforms.regionTable[247][0];
1177
+ f32[1073] = uniforms.regionTable[247][1];
1178
+ f32[1074] = uniforms.regionTable[247][2];
1179
+ f32[1075] = uniforms.regionTable[247][3];
1180
+ f32[1076] = uniforms.regionTable[248][0];
1181
+ f32[1077] = uniforms.regionTable[248][1];
1182
+ f32[1078] = uniforms.regionTable[248][2];
1183
+ f32[1079] = uniforms.regionTable[248][3];
1184
+ f32[1080] = uniforms.regionTable[249][0];
1185
+ f32[1081] = uniforms.regionTable[249][1];
1186
+ f32[1082] = uniforms.regionTable[249][2];
1187
+ f32[1083] = uniforms.regionTable[249][3];
1188
+ f32[1084] = uniforms.regionTable[250][0];
1189
+ f32[1085] = uniforms.regionTable[250][1];
1190
+ f32[1086] = uniforms.regionTable[250][2];
1191
+ f32[1087] = uniforms.regionTable[250][3];
1192
+ f32[1088] = uniforms.regionTable[251][0];
1193
+ f32[1089] = uniforms.regionTable[251][1];
1194
+ f32[1090] = uniforms.regionTable[251][2];
1195
+ f32[1091] = uniforms.regionTable[251][3];
1196
+ f32[1092] = uniforms.regionTable[252][0];
1197
+ f32[1093] = uniforms.regionTable[252][1];
1198
+ f32[1094] = uniforms.regionTable[252][2];
1199
+ f32[1095] = uniforms.regionTable[252][3];
1200
+ f32[1096] = uniforms.regionTable[253][0];
1201
+ f32[1097] = uniforms.regionTable[253][1];
1202
+ f32[1098] = uniforms.regionTable[253][2];
1203
+ f32[1099] = uniforms.regionTable[253][3];
1204
+ f32[1100] = uniforms.regionTable[254][0];
1205
+ f32[1101] = uniforms.regionTable[254][1];
1206
+ f32[1102] = uniforms.regionTable[254][2];
1207
+ f32[1103] = uniforms.regionTable[254][3];
1208
+ f32[1104] = uniforms.regionTable[255][0];
1209
+ f32[1105] = uniforms.regionTable[255][1];
1210
+ f32[1106] = uniforms.regionTable[255][2];
1211
+ f32[1107] = uniforms.regionTable[255][3];
1212
+ f32[1108] = uniforms.regionSpan[0][0];
1213
+ f32[1109] = uniforms.regionSpan[0][1];
1214
+ f32[1110] = uniforms.regionSpan[0][2];
1215
+ f32[1111] = uniforms.regionSpan[0][3];
1216
+ f32[1112] = uniforms.regionSpan[1][0];
1217
+ f32[1113] = uniforms.regionSpan[1][1];
1218
+ f32[1114] = uniforms.regionSpan[1][2];
1219
+ f32[1115] = uniforms.regionSpan[1][3];
1220
+ f32[1116] = uniforms.regionSpan[2][0];
1221
+ f32[1117] = uniforms.regionSpan[2][1];
1222
+ f32[1118] = uniforms.regionSpan[2][2];
1223
+ f32[1119] = uniforms.regionSpan[2][3];
1224
+ f32[1120] = uniforms.regionSpan[3][0];
1225
+ f32[1121] = uniforms.regionSpan[3][1];
1226
+ f32[1122] = uniforms.regionSpan[3][2];
1227
+ f32[1123] = uniforms.regionSpan[3][3];
1228
+ f32[1124] = uniforms.regionSpan[4][0];
1229
+ f32[1125] = uniforms.regionSpan[4][1];
1230
+ f32[1126] = uniforms.regionSpan[4][2];
1231
+ f32[1127] = uniforms.regionSpan[4][3];
1232
+ f32[1128] = uniforms.regionSpan[5][0];
1233
+ f32[1129] = uniforms.regionSpan[5][1];
1234
+ f32[1130] = uniforms.regionSpan[5][2];
1235
+ f32[1131] = uniforms.regionSpan[5][3];
1236
+ f32[1132] = uniforms.regionSpan[6][0];
1237
+ f32[1133] = uniforms.regionSpan[6][1];
1238
+ f32[1134] = uniforms.regionSpan[6][2];
1239
+ f32[1135] = uniforms.regionSpan[6][3];
1240
+ f32[1136] = uniforms.regionSpan[7][0];
1241
+ f32[1137] = uniforms.regionSpan[7][1];
1242
+ f32[1138] = uniforms.regionSpan[7][2];
1243
+ f32[1139] = uniforms.regionSpan[7][3];
1244
+ f32[1140] = uniforms.regionSpan[8][0];
1245
+ f32[1141] = uniforms.regionSpan[8][1];
1246
+ f32[1142] = uniforms.regionSpan[8][2];
1247
+ f32[1143] = uniforms.regionSpan[8][3];
1248
+ f32[1144] = uniforms.regionSpan[9][0];
1249
+ f32[1145] = uniforms.regionSpan[9][1];
1250
+ f32[1146] = uniforms.regionSpan[9][2];
1251
+ f32[1147] = uniforms.regionSpan[9][3];
1252
+ f32[1148] = uniforms.regionSpan[10][0];
1253
+ f32[1149] = uniforms.regionSpan[10][1];
1254
+ f32[1150] = uniforms.regionSpan[10][2];
1255
+ f32[1151] = uniforms.regionSpan[10][3];
1256
+ f32[1152] = uniforms.regionSpan[11][0];
1257
+ f32[1153] = uniforms.regionSpan[11][1];
1258
+ f32[1154] = uniforms.regionSpan[11][2];
1259
+ f32[1155] = uniforms.regionSpan[11][3];
1260
+ f32[1156] = uniforms.regionSpan[12][0];
1261
+ f32[1157] = uniforms.regionSpan[12][1];
1262
+ f32[1158] = uniforms.regionSpan[12][2];
1263
+ f32[1159] = uniforms.regionSpan[12][3];
1264
+ f32[1160] = uniforms.regionSpan[13][0];
1265
+ f32[1161] = uniforms.regionSpan[13][1];
1266
+ f32[1162] = uniforms.regionSpan[13][2];
1267
+ f32[1163] = uniforms.regionSpan[13][3];
1268
+ f32[1164] = uniforms.regionSpan[14][0];
1269
+ f32[1165] = uniforms.regionSpan[14][1];
1270
+ f32[1166] = uniforms.regionSpan[14][2];
1271
+ f32[1167] = uniforms.regionSpan[14][3];
1272
+ f32[1168] = uniforms.regionSpan[15][0];
1273
+ f32[1169] = uniforms.regionSpan[15][1];
1274
+ f32[1170] = uniforms.regionSpan[15][2];
1275
+ f32[1171] = uniforms.regionSpan[15][3];
1276
+ f32[1172] = uniforms.regionSpan[16][0];
1277
+ f32[1173] = uniforms.regionSpan[16][1];
1278
+ f32[1174] = uniforms.regionSpan[16][2];
1279
+ f32[1175] = uniforms.regionSpan[16][3];
1280
+ f32[1176] = uniforms.regionSpan[17][0];
1281
+ f32[1177] = uniforms.regionSpan[17][1];
1282
+ f32[1178] = uniforms.regionSpan[17][2];
1283
+ f32[1179] = uniforms.regionSpan[17][3];
1284
+ f32[1180] = uniforms.regionSpan[18][0];
1285
+ f32[1181] = uniforms.regionSpan[18][1];
1286
+ f32[1182] = uniforms.regionSpan[18][2];
1287
+ f32[1183] = uniforms.regionSpan[18][3];
1288
+ f32[1184] = uniforms.regionSpan[19][0];
1289
+ f32[1185] = uniforms.regionSpan[19][1];
1290
+ f32[1186] = uniforms.regionSpan[19][2];
1291
+ f32[1187] = uniforms.regionSpan[19][3];
1292
+ f32[1188] = uniforms.regionSpan[20][0];
1293
+ f32[1189] = uniforms.regionSpan[20][1];
1294
+ f32[1190] = uniforms.regionSpan[20][2];
1295
+ f32[1191] = uniforms.regionSpan[20][3];
1296
+ f32[1192] = uniforms.regionSpan[21][0];
1297
+ f32[1193] = uniforms.regionSpan[21][1];
1298
+ f32[1194] = uniforms.regionSpan[21][2];
1299
+ f32[1195] = uniforms.regionSpan[21][3];
1300
+ f32[1196] = uniforms.regionSpan[22][0];
1301
+ f32[1197] = uniforms.regionSpan[22][1];
1302
+ f32[1198] = uniforms.regionSpan[22][2];
1303
+ f32[1199] = uniforms.regionSpan[22][3];
1304
+ f32[1200] = uniforms.regionSpan[23][0];
1305
+ f32[1201] = uniforms.regionSpan[23][1];
1306
+ f32[1202] = uniforms.regionSpan[23][2];
1307
+ f32[1203] = uniforms.regionSpan[23][3];
1308
+ f32[1204] = uniforms.regionSpan[24][0];
1309
+ f32[1205] = uniforms.regionSpan[24][1];
1310
+ f32[1206] = uniforms.regionSpan[24][2];
1311
+ f32[1207] = uniforms.regionSpan[24][3];
1312
+ f32[1208] = uniforms.regionSpan[25][0];
1313
+ f32[1209] = uniforms.regionSpan[25][1];
1314
+ f32[1210] = uniforms.regionSpan[25][2];
1315
+ f32[1211] = uniforms.regionSpan[25][3];
1316
+ f32[1212] = uniforms.regionSpan[26][0];
1317
+ f32[1213] = uniforms.regionSpan[26][1];
1318
+ f32[1214] = uniforms.regionSpan[26][2];
1319
+ f32[1215] = uniforms.regionSpan[26][3];
1320
+ f32[1216] = uniforms.regionSpan[27][0];
1321
+ f32[1217] = uniforms.regionSpan[27][1];
1322
+ f32[1218] = uniforms.regionSpan[27][2];
1323
+ f32[1219] = uniforms.regionSpan[27][3];
1324
+ f32[1220] = uniforms.regionSpan[28][0];
1325
+ f32[1221] = uniforms.regionSpan[28][1];
1326
+ f32[1222] = uniforms.regionSpan[28][2];
1327
+ f32[1223] = uniforms.regionSpan[28][3];
1328
+ f32[1224] = uniforms.regionSpan[29][0];
1329
+ f32[1225] = uniforms.regionSpan[29][1];
1330
+ f32[1226] = uniforms.regionSpan[29][2];
1331
+ f32[1227] = uniforms.regionSpan[29][3];
1332
+ f32[1228] = uniforms.regionSpan[30][0];
1333
+ f32[1229] = uniforms.regionSpan[30][1];
1334
+ f32[1230] = uniforms.regionSpan[30][2];
1335
+ f32[1231] = uniforms.regionSpan[30][3];
1336
+ f32[1232] = uniforms.regionSpan[31][0];
1337
+ f32[1233] = uniforms.regionSpan[31][1];
1338
+ f32[1234] = uniforms.regionSpan[31][2];
1339
+ f32[1235] = uniforms.regionSpan[31][3];
1340
+ f32[1236] = uniforms.regionSpan[32][0];
1341
+ f32[1237] = uniforms.regionSpan[32][1];
1342
+ f32[1238] = uniforms.regionSpan[32][2];
1343
+ f32[1239] = uniforms.regionSpan[32][3];
1344
+ f32[1240] = uniforms.regionSpan[33][0];
1345
+ f32[1241] = uniforms.regionSpan[33][1];
1346
+ f32[1242] = uniforms.regionSpan[33][2];
1347
+ f32[1243] = uniforms.regionSpan[33][3];
1348
+ f32[1244] = uniforms.regionSpan[34][0];
1349
+ f32[1245] = uniforms.regionSpan[34][1];
1350
+ f32[1246] = uniforms.regionSpan[34][2];
1351
+ f32[1247] = uniforms.regionSpan[34][3];
1352
+ f32[1248] = uniforms.regionSpan[35][0];
1353
+ f32[1249] = uniforms.regionSpan[35][1];
1354
+ f32[1250] = uniforms.regionSpan[35][2];
1355
+ f32[1251] = uniforms.regionSpan[35][3];
1356
+ f32[1252] = uniforms.regionSpan[36][0];
1357
+ f32[1253] = uniforms.regionSpan[36][1];
1358
+ f32[1254] = uniforms.regionSpan[36][2];
1359
+ f32[1255] = uniforms.regionSpan[36][3];
1360
+ f32[1256] = uniforms.regionSpan[37][0];
1361
+ f32[1257] = uniforms.regionSpan[37][1];
1362
+ f32[1258] = uniforms.regionSpan[37][2];
1363
+ f32[1259] = uniforms.regionSpan[37][3];
1364
+ f32[1260] = uniforms.regionSpan[38][0];
1365
+ f32[1261] = uniforms.regionSpan[38][1];
1366
+ f32[1262] = uniforms.regionSpan[38][2];
1367
+ f32[1263] = uniforms.regionSpan[38][3];
1368
+ f32[1264] = uniforms.regionSpan[39][0];
1369
+ f32[1265] = uniforms.regionSpan[39][1];
1370
+ f32[1266] = uniforms.regionSpan[39][2];
1371
+ f32[1267] = uniforms.regionSpan[39][3];
1372
+ f32[1268] = uniforms.regionSpan[40][0];
1373
+ f32[1269] = uniforms.regionSpan[40][1];
1374
+ f32[1270] = uniforms.regionSpan[40][2];
1375
+ f32[1271] = uniforms.regionSpan[40][3];
1376
+ f32[1272] = uniforms.regionSpan[41][0];
1377
+ f32[1273] = uniforms.regionSpan[41][1];
1378
+ f32[1274] = uniforms.regionSpan[41][2];
1379
+ f32[1275] = uniforms.regionSpan[41][3];
1380
+ f32[1276] = uniforms.regionSpan[42][0];
1381
+ f32[1277] = uniforms.regionSpan[42][1];
1382
+ f32[1278] = uniforms.regionSpan[42][2];
1383
+ f32[1279] = uniforms.regionSpan[42][3];
1384
+ f32[1280] = uniforms.regionSpan[43][0];
1385
+ f32[1281] = uniforms.regionSpan[43][1];
1386
+ f32[1282] = uniforms.regionSpan[43][2];
1387
+ f32[1283] = uniforms.regionSpan[43][3];
1388
+ f32[1284] = uniforms.regionSpan[44][0];
1389
+ f32[1285] = uniforms.regionSpan[44][1];
1390
+ f32[1286] = uniforms.regionSpan[44][2];
1391
+ f32[1287] = uniforms.regionSpan[44][3];
1392
+ f32[1288] = uniforms.regionSpan[45][0];
1393
+ f32[1289] = uniforms.regionSpan[45][1];
1394
+ f32[1290] = uniforms.regionSpan[45][2];
1395
+ f32[1291] = uniforms.regionSpan[45][3];
1396
+ f32[1292] = uniforms.regionSpan[46][0];
1397
+ f32[1293] = uniforms.regionSpan[46][1];
1398
+ f32[1294] = uniforms.regionSpan[46][2];
1399
+ f32[1295] = uniforms.regionSpan[46][3];
1400
+ f32[1296] = uniforms.regionSpan[47][0];
1401
+ f32[1297] = uniforms.regionSpan[47][1];
1402
+ f32[1298] = uniforms.regionSpan[47][2];
1403
+ f32[1299] = uniforms.regionSpan[47][3];
1404
+ f32[1300] = uniforms.regionSpan[48][0];
1405
+ f32[1301] = uniforms.regionSpan[48][1];
1406
+ f32[1302] = uniforms.regionSpan[48][2];
1407
+ f32[1303] = uniforms.regionSpan[48][3];
1408
+ f32[1304] = uniforms.regionSpan[49][0];
1409
+ f32[1305] = uniforms.regionSpan[49][1];
1410
+ f32[1306] = uniforms.regionSpan[49][2];
1411
+ f32[1307] = uniforms.regionSpan[49][3];
1412
+ f32[1308] = uniforms.regionSpan[50][0];
1413
+ f32[1309] = uniforms.regionSpan[50][1];
1414
+ f32[1310] = uniforms.regionSpan[50][2];
1415
+ f32[1311] = uniforms.regionSpan[50][3];
1416
+ f32[1312] = uniforms.regionSpan[51][0];
1417
+ f32[1313] = uniforms.regionSpan[51][1];
1418
+ f32[1314] = uniforms.regionSpan[51][2];
1419
+ f32[1315] = uniforms.regionSpan[51][3];
1420
+ f32[1316] = uniforms.regionSpan[52][0];
1421
+ f32[1317] = uniforms.regionSpan[52][1];
1422
+ f32[1318] = uniforms.regionSpan[52][2];
1423
+ f32[1319] = uniforms.regionSpan[52][3];
1424
+ f32[1320] = uniforms.regionSpan[53][0];
1425
+ f32[1321] = uniforms.regionSpan[53][1];
1426
+ f32[1322] = uniforms.regionSpan[53][2];
1427
+ f32[1323] = uniforms.regionSpan[53][3];
1428
+ f32[1324] = uniforms.regionSpan[54][0];
1429
+ f32[1325] = uniforms.regionSpan[54][1];
1430
+ f32[1326] = uniforms.regionSpan[54][2];
1431
+ f32[1327] = uniforms.regionSpan[54][3];
1432
+ f32[1328] = uniforms.regionSpan[55][0];
1433
+ f32[1329] = uniforms.regionSpan[55][1];
1434
+ f32[1330] = uniforms.regionSpan[55][2];
1435
+ f32[1331] = uniforms.regionSpan[55][3];
1436
+ f32[1332] = uniforms.regionSpan[56][0];
1437
+ f32[1333] = uniforms.regionSpan[56][1];
1438
+ f32[1334] = uniforms.regionSpan[56][2];
1439
+ f32[1335] = uniforms.regionSpan[56][3];
1440
+ f32[1336] = uniforms.regionSpan[57][0];
1441
+ f32[1337] = uniforms.regionSpan[57][1];
1442
+ f32[1338] = uniforms.regionSpan[57][2];
1443
+ f32[1339] = uniforms.regionSpan[57][3];
1444
+ f32[1340] = uniforms.regionSpan[58][0];
1445
+ f32[1341] = uniforms.regionSpan[58][1];
1446
+ f32[1342] = uniforms.regionSpan[58][2];
1447
+ f32[1343] = uniforms.regionSpan[58][3];
1448
+ f32[1344] = uniforms.regionSpan[59][0];
1449
+ f32[1345] = uniforms.regionSpan[59][1];
1450
+ f32[1346] = uniforms.regionSpan[59][2];
1451
+ f32[1347] = uniforms.regionSpan[59][3];
1452
+ f32[1348] = uniforms.regionSpan[60][0];
1453
+ f32[1349] = uniforms.regionSpan[60][1];
1454
+ f32[1350] = uniforms.regionSpan[60][2];
1455
+ f32[1351] = uniforms.regionSpan[60][3];
1456
+ f32[1352] = uniforms.regionSpan[61][0];
1457
+ f32[1353] = uniforms.regionSpan[61][1];
1458
+ f32[1354] = uniforms.regionSpan[61][2];
1459
+ f32[1355] = uniforms.regionSpan[61][3];
1460
+ f32[1356] = uniforms.regionSpan[62][0];
1461
+ f32[1357] = uniforms.regionSpan[62][1];
1462
+ f32[1358] = uniforms.regionSpan[62][2];
1463
+ f32[1359] = uniforms.regionSpan[62][3];
1464
+ f32[1360] = uniforms.regionSpan[63][0];
1465
+ f32[1361] = uniforms.regionSpan[63][1];
1466
+ f32[1362] = uniforms.regionSpan[63][2];
1467
+ f32[1363] = uniforms.regionSpan[63][3];
1468
+ f32[1364] = uniforms.regionSpan[64][0];
1469
+ f32[1365] = uniforms.regionSpan[64][1];
1470
+ f32[1366] = uniforms.regionSpan[64][2];
1471
+ f32[1367] = uniforms.regionSpan[64][3];
1472
+ f32[1368] = uniforms.regionSpan[65][0];
1473
+ f32[1369] = uniforms.regionSpan[65][1];
1474
+ f32[1370] = uniforms.regionSpan[65][2];
1475
+ f32[1371] = uniforms.regionSpan[65][3];
1476
+ f32[1372] = uniforms.regionSpan[66][0];
1477
+ f32[1373] = uniforms.regionSpan[66][1];
1478
+ f32[1374] = uniforms.regionSpan[66][2];
1479
+ f32[1375] = uniforms.regionSpan[66][3];
1480
+ f32[1376] = uniforms.regionSpan[67][0];
1481
+ f32[1377] = uniforms.regionSpan[67][1];
1482
+ f32[1378] = uniforms.regionSpan[67][2];
1483
+ f32[1379] = uniforms.regionSpan[67][3];
1484
+ f32[1380] = uniforms.regionSpan[68][0];
1485
+ f32[1381] = uniforms.regionSpan[68][1];
1486
+ f32[1382] = uniforms.regionSpan[68][2];
1487
+ f32[1383] = uniforms.regionSpan[68][3];
1488
+ f32[1384] = uniforms.regionSpan[69][0];
1489
+ f32[1385] = uniforms.regionSpan[69][1];
1490
+ f32[1386] = uniforms.regionSpan[69][2];
1491
+ f32[1387] = uniforms.regionSpan[69][3];
1492
+ f32[1388] = uniforms.regionSpan[70][0];
1493
+ f32[1389] = uniforms.regionSpan[70][1];
1494
+ f32[1390] = uniforms.regionSpan[70][2];
1495
+ f32[1391] = uniforms.regionSpan[70][3];
1496
+ f32[1392] = uniforms.regionSpan[71][0];
1497
+ f32[1393] = uniforms.regionSpan[71][1];
1498
+ f32[1394] = uniforms.regionSpan[71][2];
1499
+ f32[1395] = uniforms.regionSpan[71][3];
1500
+ f32[1396] = uniforms.regionSpan[72][0];
1501
+ f32[1397] = uniforms.regionSpan[72][1];
1502
+ f32[1398] = uniforms.regionSpan[72][2];
1503
+ f32[1399] = uniforms.regionSpan[72][3];
1504
+ f32[1400] = uniforms.regionSpan[73][0];
1505
+ f32[1401] = uniforms.regionSpan[73][1];
1506
+ f32[1402] = uniforms.regionSpan[73][2];
1507
+ f32[1403] = uniforms.regionSpan[73][3];
1508
+ f32[1404] = uniforms.regionSpan[74][0];
1509
+ f32[1405] = uniforms.regionSpan[74][1];
1510
+ f32[1406] = uniforms.regionSpan[74][2];
1511
+ f32[1407] = uniforms.regionSpan[74][3];
1512
+ f32[1408] = uniforms.regionSpan[75][0];
1513
+ f32[1409] = uniforms.regionSpan[75][1];
1514
+ f32[1410] = uniforms.regionSpan[75][2];
1515
+ f32[1411] = uniforms.regionSpan[75][3];
1516
+ f32[1412] = uniforms.regionSpan[76][0];
1517
+ f32[1413] = uniforms.regionSpan[76][1];
1518
+ f32[1414] = uniforms.regionSpan[76][2];
1519
+ f32[1415] = uniforms.regionSpan[76][3];
1520
+ f32[1416] = uniforms.regionSpan[77][0];
1521
+ f32[1417] = uniforms.regionSpan[77][1];
1522
+ f32[1418] = uniforms.regionSpan[77][2];
1523
+ f32[1419] = uniforms.regionSpan[77][3];
1524
+ f32[1420] = uniforms.regionSpan[78][0];
1525
+ f32[1421] = uniforms.regionSpan[78][1];
1526
+ f32[1422] = uniforms.regionSpan[78][2];
1527
+ f32[1423] = uniforms.regionSpan[78][3];
1528
+ f32[1424] = uniforms.regionSpan[79][0];
1529
+ f32[1425] = uniforms.regionSpan[79][1];
1530
+ f32[1426] = uniforms.regionSpan[79][2];
1531
+ f32[1427] = uniforms.regionSpan[79][3];
1532
+ f32[1428] = uniforms.regionSpan[80][0];
1533
+ f32[1429] = uniforms.regionSpan[80][1];
1534
+ f32[1430] = uniforms.regionSpan[80][2];
1535
+ f32[1431] = uniforms.regionSpan[80][3];
1536
+ f32[1432] = uniforms.regionSpan[81][0];
1537
+ f32[1433] = uniforms.regionSpan[81][1];
1538
+ f32[1434] = uniforms.regionSpan[81][2];
1539
+ f32[1435] = uniforms.regionSpan[81][3];
1540
+ f32[1436] = uniforms.regionSpan[82][0];
1541
+ f32[1437] = uniforms.regionSpan[82][1];
1542
+ f32[1438] = uniforms.regionSpan[82][2];
1543
+ f32[1439] = uniforms.regionSpan[82][3];
1544
+ f32[1440] = uniforms.regionSpan[83][0];
1545
+ f32[1441] = uniforms.regionSpan[83][1];
1546
+ f32[1442] = uniforms.regionSpan[83][2];
1547
+ f32[1443] = uniforms.regionSpan[83][3];
1548
+ f32[1444] = uniforms.regionSpan[84][0];
1549
+ f32[1445] = uniforms.regionSpan[84][1];
1550
+ f32[1446] = uniforms.regionSpan[84][2];
1551
+ f32[1447] = uniforms.regionSpan[84][3];
1552
+ f32[1448] = uniforms.regionSpan[85][0];
1553
+ f32[1449] = uniforms.regionSpan[85][1];
1554
+ f32[1450] = uniforms.regionSpan[85][2];
1555
+ f32[1451] = uniforms.regionSpan[85][3];
1556
+ f32[1452] = uniforms.regionSpan[86][0];
1557
+ f32[1453] = uniforms.regionSpan[86][1];
1558
+ f32[1454] = uniforms.regionSpan[86][2];
1559
+ f32[1455] = uniforms.regionSpan[86][3];
1560
+ f32[1456] = uniforms.regionSpan[87][0];
1561
+ f32[1457] = uniforms.regionSpan[87][1];
1562
+ f32[1458] = uniforms.regionSpan[87][2];
1563
+ f32[1459] = uniforms.regionSpan[87][3];
1564
+ f32[1460] = uniforms.regionSpan[88][0];
1565
+ f32[1461] = uniforms.regionSpan[88][1];
1566
+ f32[1462] = uniforms.regionSpan[88][2];
1567
+ f32[1463] = uniforms.regionSpan[88][3];
1568
+ f32[1464] = uniforms.regionSpan[89][0];
1569
+ f32[1465] = uniforms.regionSpan[89][1];
1570
+ f32[1466] = uniforms.regionSpan[89][2];
1571
+ f32[1467] = uniforms.regionSpan[89][3];
1572
+ f32[1468] = uniforms.regionSpan[90][0];
1573
+ f32[1469] = uniforms.regionSpan[90][1];
1574
+ f32[1470] = uniforms.regionSpan[90][2];
1575
+ f32[1471] = uniforms.regionSpan[90][3];
1576
+ f32[1472] = uniforms.regionSpan[91][0];
1577
+ f32[1473] = uniforms.regionSpan[91][1];
1578
+ f32[1474] = uniforms.regionSpan[91][2];
1579
+ f32[1475] = uniforms.regionSpan[91][3];
1580
+ f32[1476] = uniforms.regionSpan[92][0];
1581
+ f32[1477] = uniforms.regionSpan[92][1];
1582
+ f32[1478] = uniforms.regionSpan[92][2];
1583
+ f32[1479] = uniforms.regionSpan[92][3];
1584
+ f32[1480] = uniforms.regionSpan[93][0];
1585
+ f32[1481] = uniforms.regionSpan[93][1];
1586
+ f32[1482] = uniforms.regionSpan[93][2];
1587
+ f32[1483] = uniforms.regionSpan[93][3];
1588
+ f32[1484] = uniforms.regionSpan[94][0];
1589
+ f32[1485] = uniforms.regionSpan[94][1];
1590
+ f32[1486] = uniforms.regionSpan[94][2];
1591
+ f32[1487] = uniforms.regionSpan[94][3];
1592
+ f32[1488] = uniforms.regionSpan[95][0];
1593
+ f32[1489] = uniforms.regionSpan[95][1];
1594
+ f32[1490] = uniforms.regionSpan[95][2];
1595
+ f32[1491] = uniforms.regionSpan[95][3];
1596
+ f32[1492] = uniforms.regionSpan[96][0];
1597
+ f32[1493] = uniforms.regionSpan[96][1];
1598
+ f32[1494] = uniforms.regionSpan[96][2];
1599
+ f32[1495] = uniforms.regionSpan[96][3];
1600
+ f32[1496] = uniforms.regionSpan[97][0];
1601
+ f32[1497] = uniforms.regionSpan[97][1];
1602
+ f32[1498] = uniforms.regionSpan[97][2];
1603
+ f32[1499] = uniforms.regionSpan[97][3];
1604
+ f32[1500] = uniforms.regionSpan[98][0];
1605
+ f32[1501] = uniforms.regionSpan[98][1];
1606
+ f32[1502] = uniforms.regionSpan[98][2];
1607
+ f32[1503] = uniforms.regionSpan[98][3];
1608
+ f32[1504] = uniforms.regionSpan[99][0];
1609
+ f32[1505] = uniforms.regionSpan[99][1];
1610
+ f32[1506] = uniforms.regionSpan[99][2];
1611
+ f32[1507] = uniforms.regionSpan[99][3];
1612
+ f32[1508] = uniforms.regionSpan[100][0];
1613
+ f32[1509] = uniforms.regionSpan[100][1];
1614
+ f32[1510] = uniforms.regionSpan[100][2];
1615
+ f32[1511] = uniforms.regionSpan[100][3];
1616
+ f32[1512] = uniforms.regionSpan[101][0];
1617
+ f32[1513] = uniforms.regionSpan[101][1];
1618
+ f32[1514] = uniforms.regionSpan[101][2];
1619
+ f32[1515] = uniforms.regionSpan[101][3];
1620
+ f32[1516] = uniforms.regionSpan[102][0];
1621
+ f32[1517] = uniforms.regionSpan[102][1];
1622
+ f32[1518] = uniforms.regionSpan[102][2];
1623
+ f32[1519] = uniforms.regionSpan[102][3];
1624
+ f32[1520] = uniforms.regionSpan[103][0];
1625
+ f32[1521] = uniforms.regionSpan[103][1];
1626
+ f32[1522] = uniforms.regionSpan[103][2];
1627
+ f32[1523] = uniforms.regionSpan[103][3];
1628
+ f32[1524] = uniforms.regionSpan[104][0];
1629
+ f32[1525] = uniforms.regionSpan[104][1];
1630
+ f32[1526] = uniforms.regionSpan[104][2];
1631
+ f32[1527] = uniforms.regionSpan[104][3];
1632
+ f32[1528] = uniforms.regionSpan[105][0];
1633
+ f32[1529] = uniforms.regionSpan[105][1];
1634
+ f32[1530] = uniforms.regionSpan[105][2];
1635
+ f32[1531] = uniforms.regionSpan[105][3];
1636
+ f32[1532] = uniforms.regionSpan[106][0];
1637
+ f32[1533] = uniforms.regionSpan[106][1];
1638
+ f32[1534] = uniforms.regionSpan[106][2];
1639
+ f32[1535] = uniforms.regionSpan[106][3];
1640
+ f32[1536] = uniforms.regionSpan[107][0];
1641
+ f32[1537] = uniforms.regionSpan[107][1];
1642
+ f32[1538] = uniforms.regionSpan[107][2];
1643
+ f32[1539] = uniforms.regionSpan[107][3];
1644
+ f32[1540] = uniforms.regionSpan[108][0];
1645
+ f32[1541] = uniforms.regionSpan[108][1];
1646
+ f32[1542] = uniforms.regionSpan[108][2];
1647
+ f32[1543] = uniforms.regionSpan[108][3];
1648
+ f32[1544] = uniforms.regionSpan[109][0];
1649
+ f32[1545] = uniforms.regionSpan[109][1];
1650
+ f32[1546] = uniforms.regionSpan[109][2];
1651
+ f32[1547] = uniforms.regionSpan[109][3];
1652
+ f32[1548] = uniforms.regionSpan[110][0];
1653
+ f32[1549] = uniforms.regionSpan[110][1];
1654
+ f32[1550] = uniforms.regionSpan[110][2];
1655
+ f32[1551] = uniforms.regionSpan[110][3];
1656
+ f32[1552] = uniforms.regionSpan[111][0];
1657
+ f32[1553] = uniforms.regionSpan[111][1];
1658
+ f32[1554] = uniforms.regionSpan[111][2];
1659
+ f32[1555] = uniforms.regionSpan[111][3];
1660
+ f32[1556] = uniforms.regionSpan[112][0];
1661
+ f32[1557] = uniforms.regionSpan[112][1];
1662
+ f32[1558] = uniforms.regionSpan[112][2];
1663
+ f32[1559] = uniforms.regionSpan[112][3];
1664
+ f32[1560] = uniforms.regionSpan[113][0];
1665
+ f32[1561] = uniforms.regionSpan[113][1];
1666
+ f32[1562] = uniforms.regionSpan[113][2];
1667
+ f32[1563] = uniforms.regionSpan[113][3];
1668
+ f32[1564] = uniforms.regionSpan[114][0];
1669
+ f32[1565] = uniforms.regionSpan[114][1];
1670
+ f32[1566] = uniforms.regionSpan[114][2];
1671
+ f32[1567] = uniforms.regionSpan[114][3];
1672
+ f32[1568] = uniforms.regionSpan[115][0];
1673
+ f32[1569] = uniforms.regionSpan[115][1];
1674
+ f32[1570] = uniforms.regionSpan[115][2];
1675
+ f32[1571] = uniforms.regionSpan[115][3];
1676
+ f32[1572] = uniforms.regionSpan[116][0];
1677
+ f32[1573] = uniforms.regionSpan[116][1];
1678
+ f32[1574] = uniforms.regionSpan[116][2];
1679
+ f32[1575] = uniforms.regionSpan[116][3];
1680
+ f32[1576] = uniforms.regionSpan[117][0];
1681
+ f32[1577] = uniforms.regionSpan[117][1];
1682
+ f32[1578] = uniforms.regionSpan[117][2];
1683
+ f32[1579] = uniforms.regionSpan[117][3];
1684
+ f32[1580] = uniforms.regionSpan[118][0];
1685
+ f32[1581] = uniforms.regionSpan[118][1];
1686
+ f32[1582] = uniforms.regionSpan[118][2];
1687
+ f32[1583] = uniforms.regionSpan[118][3];
1688
+ f32[1584] = uniforms.regionSpan[119][0];
1689
+ f32[1585] = uniforms.regionSpan[119][1];
1690
+ f32[1586] = uniforms.regionSpan[119][2];
1691
+ f32[1587] = uniforms.regionSpan[119][3];
1692
+ f32[1588] = uniforms.regionSpan[120][0];
1693
+ f32[1589] = uniforms.regionSpan[120][1];
1694
+ f32[1590] = uniforms.regionSpan[120][2];
1695
+ f32[1591] = uniforms.regionSpan[120][3];
1696
+ f32[1592] = uniforms.regionSpan[121][0];
1697
+ f32[1593] = uniforms.regionSpan[121][1];
1698
+ f32[1594] = uniforms.regionSpan[121][2];
1699
+ f32[1595] = uniforms.regionSpan[121][3];
1700
+ f32[1596] = uniforms.regionSpan[122][0];
1701
+ f32[1597] = uniforms.regionSpan[122][1];
1702
+ f32[1598] = uniforms.regionSpan[122][2];
1703
+ f32[1599] = uniforms.regionSpan[122][3];
1704
+ f32[1600] = uniforms.regionSpan[123][0];
1705
+ f32[1601] = uniforms.regionSpan[123][1];
1706
+ f32[1602] = uniforms.regionSpan[123][2];
1707
+ f32[1603] = uniforms.regionSpan[123][3];
1708
+ f32[1604] = uniforms.regionSpan[124][0];
1709
+ f32[1605] = uniforms.regionSpan[124][1];
1710
+ f32[1606] = uniforms.regionSpan[124][2];
1711
+ f32[1607] = uniforms.regionSpan[124][3];
1712
+ f32[1608] = uniforms.regionSpan[125][0];
1713
+ f32[1609] = uniforms.regionSpan[125][1];
1714
+ f32[1610] = uniforms.regionSpan[125][2];
1715
+ f32[1611] = uniforms.regionSpan[125][3];
1716
+ f32[1612] = uniforms.regionSpan[126][0];
1717
+ f32[1613] = uniforms.regionSpan[126][1];
1718
+ f32[1614] = uniforms.regionSpan[126][2];
1719
+ f32[1615] = uniforms.regionSpan[126][3];
1720
+ f32[1616] = uniforms.regionSpan[127][0];
1721
+ f32[1617] = uniforms.regionSpan[127][1];
1722
+ f32[1618] = uniforms.regionSpan[127][2];
1723
+ f32[1619] = uniforms.regionSpan[127][3];
1724
+ i32[1620] = uniforms.rowTableKeys;
1725
+ }
1726
+ export const INSTANCE_STRIDE_BYTES = 32;
1727
+ export const INSTANCE_STRIDE_WORDS = 8;
1728
+ // Word indices into a Float32Array view over the instance buffer.
1729
+ export const INSTANCE_OFFSET_F32 = {
1730
+ y: 3,
1731
+ size: 4,
1732
+ };
1733
+ // Word indices into a Uint32Array view over the instance buffer.
1734
+ export const INSTANCE_OFFSET_U32 = {
1735
+ x: 0,
1736
+ x2: 1,
1737
+ x2Region: 2,
1738
+ color: 5,
1739
+ row: 6,
1740
+ feet: 7,
1741
+ };
1742
+ export const VERTEX_ATTRIBUTES = [
1743
+ { name: 'a_x', components: 1, type: 'uint', offsetBytes: 0, integer: true },
1744
+ { name: 'a_x2', components: 1, type: 'uint', offsetBytes: 4, integer: true },
1745
+ { name: 'a_x2Region', components: 1, type: 'uint', offsetBytes: 8, integer: true },
1746
+ { name: 'a_y', components: 1, type: 'float', offsetBytes: 12, integer: false },
1747
+ { name: 'a_size', components: 1, type: 'float', offsetBytes: 16, integer: false },
1748
+ { name: 'a_color', components: 1, type: 'uint', offsetBytes: 20, integer: true },
1749
+ { name: 'a_row', components: 1, type: 'uint', offsetBytes: 24, integer: true },
1750
+ { name: 'a_feet', components: 1, type: 'uint', offsetBytes: 28, integer: true },
1751
+ ];
1752
+ export function packInstances(arrays, numInstances, buf = new ArrayBuffer(numInstances * INSTANCE_STRIDE_BYTES)) {
1753
+ const f32 = new Float32Array(buf);
1754
+ const u32 = new Uint32Array(buf);
1755
+ const { x, x2, x2Region, y, size, color, row, feet } = arrays;
1756
+ for (let i = 0; i < numInstances; i++) {
1757
+ const o = i * INSTANCE_STRIDE_WORDS;
1758
+ u32[o + 0] = x[i];
1759
+ u32[o + 1] = x2[i];
1760
+ u32[o + 2] = x2Region[i];
1761
+ f32[o + 3] = y[i];
1762
+ f32[o + 4] = size[i];
1763
+ u32[o + 5] = color[i];
1764
+ u32[o + 6] = row[i];
1765
+ u32[o + 7] = feet[i];
1766
+ }
1767
+ return buf;
1768
+ }
1769
+ // Instance `i`'s `x`.
1770
+ export function getInstanceX(u32, i) {
1771
+ return u32[i * INSTANCE_STRIDE_WORDS];
1772
+ }
1773
+ export function setInstanceX(u32, i, v) {
1774
+ u32[i * INSTANCE_STRIDE_WORDS] = v;
1775
+ }
1776
+ // Instance `i`'s `x2`.
1777
+ export function getInstanceX2(u32, i) {
1778
+ return u32[i * INSTANCE_STRIDE_WORDS + 1];
1779
+ }
1780
+ export function setInstanceX2(u32, i, v) {
1781
+ u32[i * INSTANCE_STRIDE_WORDS + 1] = v;
1782
+ }
1783
+ // Instance `i`'s `x2Region`.
1784
+ export function getInstanceX2Region(u32, i) {
1785
+ return u32[i * INSTANCE_STRIDE_WORDS + 2];
1786
+ }
1787
+ export function setInstanceX2Region(u32, i, v) {
1788
+ u32[i * INSTANCE_STRIDE_WORDS + 2] = v;
1789
+ }
1790
+ // Instance `i`'s `y`.
1791
+ export function getInstanceY(f32, i) {
1792
+ return f32[i * INSTANCE_STRIDE_WORDS + 3];
1793
+ }
1794
+ export function setInstanceY(f32, i, v) {
1795
+ f32[i * INSTANCE_STRIDE_WORDS + 3] = v;
1796
+ }
1797
+ // Instance `i`'s `size`.
1798
+ export function getInstanceSize(f32, i) {
1799
+ return f32[i * INSTANCE_STRIDE_WORDS + 4];
1800
+ }
1801
+ export function setInstanceSize(f32, i, v) {
1802
+ f32[i * INSTANCE_STRIDE_WORDS + 4] = v;
1803
+ }
1804
+ // Instance `i`'s `color`.
1805
+ export function getInstanceColor(u32, i) {
1806
+ return u32[i * INSTANCE_STRIDE_WORDS + 5];
1807
+ }
1808
+ export function setInstanceColor(u32, i, v) {
1809
+ u32[i * INSTANCE_STRIDE_WORDS + 5] = v;
1810
+ }
1811
+ // Instance `i`'s `row`.
1812
+ export function getInstanceRow(u32, i) {
1813
+ return u32[i * INSTANCE_STRIDE_WORDS + 6];
1814
+ }
1815
+ export function setInstanceRow(u32, i, v) {
1816
+ u32[i * INSTANCE_STRIDE_WORDS + 6] = v;
1817
+ }
1818
+ // Instance `i`'s `feet`.
1819
+ export function getInstanceFeet(u32, i) {
1820
+ return u32[i * INSTANCE_STRIDE_WORDS + 7];
1821
+ }
1822
+ export function setInstanceFeet(u32, i, v) {
1823
+ u32[i * INSTANCE_STRIDE_WORDS + 7] = v;
1824
+ }
1825
+ // Combined `Sampler2D` bindings. Texture unit indices start at 0.
1826
+ export const TEXTURES = [
1827
+ { name: 'colorRamp', glTextureUnit: 0, glUniformName: 'u_colorRamp', filter: 'linear' },
1828
+ { name: 'rowTable', glTextureUnit: 1, glUniformName: 'u_rowTable', filter: 'nearest' },
1829
+ ];