@woosh/meep-engine 3.13.0 → 3.14.0

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 (663) hide show
  1. package/README.md +257 -119
  2. package/editor/prototypeEditorShell.js +26 -2
  3. package/package.json +4 -3
  4. package/src/core/geom/3d/shape/ConvexHullShape3D.d.ts.map +1 -1
  5. package/src/core/geom/3d/shape/ConvexHullShape3D.js +41 -25
  6. package/src/core/geom/3d/shape/PosedShape3D.d.ts.map +1 -1
  7. package/src/core/geom/3d/shape/PosedShape3D.js +7 -2
  8. package/src/engine/graphics/ecs/highlight/system/ShadedGeometryHighlightSystem.d.ts +47 -0
  9. package/src/engine/graphics/ecs/highlight/system/ShadedGeometryHighlightSystem.d.ts.map +1 -0
  10. package/src/engine/graphics/ecs/highlight/system/ShadedGeometryHighlightSystem.js +109 -0
  11. package/src/engine/graphics/ecs/mesh-v2/aggregate/SGMeshHighlightSystem.d.ts +28 -16
  12. package/src/engine/graphics/ecs/mesh-v2/aggregate/SGMeshHighlightSystem.d.ts.map +1 -1
  13. package/src/engine/graphics/ecs/mesh-v2/aggregate/SGMeshHighlightSystem.js +111 -92
  14. package/src/engine/graphics3/FogOfWarSystem.d.ts +1 -1
  15. package/src/engine/graphics3/FogOfWarSystem.d.ts.map +1 -1
  16. package/src/engine/graphics3/FogOfWarSystem.js +1 -1
  17. package/src/engine/graphics3/HighlightOutlineSystem.d.ts +99 -0
  18. package/src/engine/graphics3/HighlightOutlineSystem.d.ts.map +1 -0
  19. package/src/engine/graphics3/HighlightOutlineSystem.js +240 -0
  20. package/src/engine/graphics3/HighlightSystem.d.ts +14 -77
  21. package/src/engine/graphics3/HighlightSystem.d.ts.map +1 -1
  22. package/src/engine/graphics3/HighlightSystem.js +19 -233
  23. package/src/engine/graphics3/HighlightSystem3.d.ts +7 -4
  24. package/src/engine/graphics3/HighlightSystem3.d.ts.map +1 -1
  25. package/src/engine/graphics3/HighlightSystem3.js +15 -10
  26. package/src/engine/graphics3/highlight/pack_highlight_table.d.ts +13 -8
  27. package/src/engine/graphics3/highlight/pack_highlight_table.d.ts.map +1 -1
  28. package/src/engine/graphics3/highlight/pack_highlight_table.js +14 -8
  29. package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts +4 -4
  30. package/src/shade/RENDERER_CONTRACT.md +579 -568
  31. package/src/shade/device/PASS_ENCODER_PROPOSAL_2026_08_31.md +19 -14
  32. package/src/shade/renderer/postprocess/eye/GPUCameraExposureManager.js +1 -1
  33. package/src/shade/renderer/scene/Mesh.d.ts.map +1 -1
  34. package/src/shade/renderer/scene/Mesh.js +4 -6
  35. package/src/shade/renderer/shadow/map/GPUSceneShadowmapContext.d.ts +16 -7
  36. package/src/shade/renderer/shadow/map/GPUSceneShadowmapContext.d.ts.map +1 -1
  37. package/src/shade/renderer/shadow/map/GPUSceneShadowmapContext.js +1342 -1322
  38. package/src/shade/renderer/shadow/map/Shadowmap.d.ts +13 -0
  39. package/src/shade/renderer/shadow/map/Shadowmap.d.ts.map +1 -1
  40. package/src/shade/renderer/shadow/map/Shadowmap.js +14 -0
  41. package/src/shade/renderer/shadow/map/ShadowmapDrawSelector.d.ts +79 -0
  42. package/src/shade/renderer/shadow/map/ShadowmapDrawSelector.d.ts.map +1 -0
  43. package/src/shade/renderer/shadow/map/ShadowmapDrawSelector.js +196 -0
  44. package/src/shade/renderer/shadow/map/ShadowmapRegistry.d.ts +91 -0
  45. package/src/shade/renderer/shadow/map/ShadowmapRegistry.d.ts.map +1 -0
  46. package/src/shade/renderer/shadow/map/ShadowmapRegistry.js +156 -0
  47. package/src/engine/graphics/ecs/highlight/plugin/HighlightRenderElementSource.d.ts +0 -9
  48. package/src/engine/graphics/ecs/highlight/plugin/HighlightRenderElementSource.d.ts.map +0 -1
  49. package/src/engine/graphics/ecs/highlight/plugin/HighlightRenderElementSource.js +0 -12
  50. package/src/engine/graphics/ecs/highlight/renderer/HighlightRenderElement.d.ts +0 -16
  51. package/src/engine/graphics/ecs/highlight/renderer/HighlightRenderElement.d.ts.map +0 -1
  52. package/src/engine/graphics/ecs/highlight/renderer/HighlightRenderElement.js +0 -44
  53. package/src/engine/graphics/ecs/highlight/renderer/HighlightRenderGroup.d.ts +0 -20
  54. package/src/engine/graphics/ecs/highlight/renderer/HighlightRenderGroup.d.ts.map +0 -1
  55. package/src/engine/graphics/ecs/highlight/renderer/HighlightRenderGroup.js +0 -29
  56. package/src/engine/graphics/ecs/highlight/renderer/makeGaussianBlurShader.d.ts +0 -8
  57. package/src/engine/graphics/ecs/highlight/renderer/makeGaussianBlurShader.d.ts.map +0 -1
  58. package/src/engine/graphics/ecs/highlight/renderer/makeGaussianBlurShader.js +0 -58
  59. package/src/engine/graphics/ecs/highlight/renderer/traverseThreeObject.d.ts +0 -8
  60. package/src/engine/graphics/ecs/highlight/renderer/traverseThreeObject.d.ts.map +0 -1
  61. package/src/engine/graphics/ecs/highlight/renderer/traverseThreeObject.js +0 -18
  62. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1.mag.xy.png +0 -0
  63. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1.mag.xz.png +0 -0
  64. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_0.png +0 -0
  65. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_1.png +0 -0
  66. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_10.png +0 -0
  67. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_11.png +0 -0
  68. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_12.png +0 -0
  69. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_13.png +0 -0
  70. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_14.png +0 -0
  71. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_15.png +0 -0
  72. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_16.png +0 -0
  73. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_17.png +0 -0
  74. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_18.png +0 -0
  75. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_19.png +0 -0
  76. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_2.png +0 -0
  77. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_20.png +0 -0
  78. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_21.png +0 -0
  79. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_22.png +0 -0
  80. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_23.png +0 -0
  81. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_24.png +0 -0
  82. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_25.png +0 -0
  83. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_26.png +0 -0
  84. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_27.png +0 -0
  85. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_28.png +0 -0
  86. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_29.png +0 -0
  87. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_3.png +0 -0
  88. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_30.png +0 -0
  89. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_31.png +0 -0
  90. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_32.png +0 -0
  91. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_33.png +0 -0
  92. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_34.png +0 -0
  93. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_35.png +0 -0
  94. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_36.png +0 -0
  95. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_37.png +0 -0
  96. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_38.png +0 -0
  97. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_39.png +0 -0
  98. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_4.png +0 -0
  99. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_40.png +0 -0
  100. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_41.png +0 -0
  101. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_42.png +0 -0
  102. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_43.png +0 -0
  103. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_44.png +0 -0
  104. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_45.png +0 -0
  105. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_46.png +0 -0
  106. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_47.png +0 -0
  107. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_48.png +0 -0
  108. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_49.png +0 -0
  109. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_5.png +0 -0
  110. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_50.png +0 -0
  111. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_51.png +0 -0
  112. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_52.png +0 -0
  113. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_53.png +0 -0
  114. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_54.png +0 -0
  115. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_55.png +0 -0
  116. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_56.png +0 -0
  117. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_57.png +0 -0
  118. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_58.png +0 -0
  119. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_59.png +0 -0
  120. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_6.png +0 -0
  121. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_60.png +0 -0
  122. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_61.png +0 -0
  123. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_62.png +0 -0
  124. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_63.png +0 -0
  125. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_7.png +0 -0
  126. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_8.png +0 -0
  127. package/src/shade/renderer/texture/noise/stbn/images/stbn_scalar_2Dx1Dx1D_128x128x64x1_9.png +0 -0
  128. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64.dat +0 -0
  129. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64.mag.xy.png +0 -0
  130. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64.mag.xz.png +0 -0
  131. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_0.png +0 -0
  132. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_1.png +0 -0
  133. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_10.png +0 -0
  134. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_11.png +0 -0
  135. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_12.png +0 -0
  136. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_13.png +0 -0
  137. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_14.png +0 -0
  138. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_15.png +0 -0
  139. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_16.png +0 -0
  140. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_17.png +0 -0
  141. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_18.png +0 -0
  142. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_19.png +0 -0
  143. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_2.png +0 -0
  144. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_20.png +0 -0
  145. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_21.png +0 -0
  146. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_22.png +0 -0
  147. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_23.png +0 -0
  148. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_24.png +0 -0
  149. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_25.png +0 -0
  150. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_26.png +0 -0
  151. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_27.png +0 -0
  152. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_28.png +0 -0
  153. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_29.png +0 -0
  154. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_3.png +0 -0
  155. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_30.png +0 -0
  156. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_31.png +0 -0
  157. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_32.png +0 -0
  158. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_33.png +0 -0
  159. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_34.png +0 -0
  160. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_35.png +0 -0
  161. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_36.png +0 -0
  162. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_37.png +0 -0
  163. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_38.png +0 -0
  164. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_39.png +0 -0
  165. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_4.png +0 -0
  166. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_40.png +0 -0
  167. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_41.png +0 -0
  168. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_42.png +0 -0
  169. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_43.png +0 -0
  170. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_44.png +0 -0
  171. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_45.png +0 -0
  172. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_46.png +0 -0
  173. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_47.png +0 -0
  174. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_48.png +0 -0
  175. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_49.png +0 -0
  176. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_5.png +0 -0
  177. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_50.png +0 -0
  178. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_51.png +0 -0
  179. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_52.png +0 -0
  180. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_53.png +0 -0
  181. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_54.png +0 -0
  182. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_55.png +0 -0
  183. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_56.png +0 -0
  184. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_57.png +0 -0
  185. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_58.png +0 -0
  186. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_59.png +0 -0
  187. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_6.png +0 -0
  188. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_60.png +0 -0
  189. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_61.png +0 -0
  190. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_62.png +0 -0
  191. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_63.png +0 -0
  192. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_7.png +0 -0
  193. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_8.png +0 -0
  194. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec1_2Dx1D_128x128x64_9.png +0 -0
  195. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64.dat +0 -0
  196. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64.mag.xy.png +0 -0
  197. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64.mag.xz.png +0 -0
  198. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_0.png +0 -0
  199. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_1.png +0 -0
  200. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_10.png +0 -0
  201. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_11.png +0 -0
  202. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_12.png +0 -0
  203. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_13.png +0 -0
  204. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_14.png +0 -0
  205. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_15.png +0 -0
  206. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_16.png +0 -0
  207. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_17.png +0 -0
  208. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_18.png +0 -0
  209. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_19.png +0 -0
  210. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_2.png +0 -0
  211. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_20.png +0 -0
  212. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_21.png +0 -0
  213. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_22.png +0 -0
  214. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_23.png +0 -0
  215. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_24.png +0 -0
  216. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_25.png +0 -0
  217. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_26.png +0 -0
  218. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_27.png +0 -0
  219. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_28.png +0 -0
  220. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_29.png +0 -0
  221. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_3.png +0 -0
  222. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_30.png +0 -0
  223. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_31.png +0 -0
  224. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_32.png +0 -0
  225. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_33.png +0 -0
  226. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_34.png +0 -0
  227. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_35.png +0 -0
  228. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_36.png +0 -0
  229. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_37.png +0 -0
  230. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_38.png +0 -0
  231. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_39.png +0 -0
  232. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_4.png +0 -0
  233. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_40.png +0 -0
  234. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_41.png +0 -0
  235. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_42.png +0 -0
  236. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_43.png +0 -0
  237. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_44.png +0 -0
  238. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_45.png +0 -0
  239. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_46.png +0 -0
  240. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_47.png +0 -0
  241. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_48.png +0 -0
  242. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_49.png +0 -0
  243. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_5.png +0 -0
  244. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_50.png +0 -0
  245. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_51.png +0 -0
  246. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_52.png +0 -0
  247. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_53.png +0 -0
  248. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_54.png +0 -0
  249. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_55.png +0 -0
  250. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_56.png +0 -0
  251. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_57.png +0 -0
  252. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_58.png +0 -0
  253. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_59.png +0 -0
  254. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_6.png +0 -0
  255. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_60.png +0 -0
  256. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_61.png +0 -0
  257. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_62.png +0 -0
  258. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_63.png +0 -0
  259. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_7.png +0 -0
  260. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_8.png +0 -0
  261. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec2_2Dx1D_128x128x64_9.png +0 -0
  262. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64.dat +0 -0
  263. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64.mag.xy.png +0 -0
  264. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64.mag.xz.png +0 -0
  265. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_0.png +0 -0
  266. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_1.png +0 -0
  267. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_10.png +0 -0
  268. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_11.png +0 -0
  269. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_12.png +0 -0
  270. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_13.png +0 -0
  271. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_14.png +0 -0
  272. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_15.png +0 -0
  273. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_16.png +0 -0
  274. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_17.png +0 -0
  275. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_18.png +0 -0
  276. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_19.png +0 -0
  277. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_2.png +0 -0
  278. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_20.png +0 -0
  279. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_21.png +0 -0
  280. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_22.png +0 -0
  281. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_23.png +0 -0
  282. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_24.png +0 -0
  283. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_25.png +0 -0
  284. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_26.png +0 -0
  285. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_27.png +0 -0
  286. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_28.png +0 -0
  287. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_29.png +0 -0
  288. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_3.png +0 -0
  289. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_30.png +0 -0
  290. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_31.png +0 -0
  291. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_32.png +0 -0
  292. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_33.png +0 -0
  293. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_34.png +0 -0
  294. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_35.png +0 -0
  295. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_36.png +0 -0
  296. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_37.png +0 -0
  297. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_38.png +0 -0
  298. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_39.png +0 -0
  299. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_4.png +0 -0
  300. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_40.png +0 -0
  301. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_41.png +0 -0
  302. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_42.png +0 -0
  303. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_43.png +0 -0
  304. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_44.png +0 -0
  305. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_45.png +0 -0
  306. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_46.png +0 -0
  307. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_47.png +0 -0
  308. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_48.png +0 -0
  309. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_49.png +0 -0
  310. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_5.png +0 -0
  311. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_50.png +0 -0
  312. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_51.png +0 -0
  313. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_52.png +0 -0
  314. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_53.png +0 -0
  315. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_54.png +0 -0
  316. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_55.png +0 -0
  317. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_56.png +0 -0
  318. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_57.png +0 -0
  319. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_58.png +0 -0
  320. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_59.png +0 -0
  321. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_6.png +0 -0
  322. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_60.png +0 -0
  323. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_61.png +0 -0
  324. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_62.png +0 -0
  325. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_63.png +0 -0
  326. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_7.png +0 -0
  327. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_8.png +0 -0
  328. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_2Dx1D_128x128x64_9.png +0 -0
  329. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64.dat +0 -0
  330. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64.mag.xy.png +0 -0
  331. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64.mag.xz.png +0 -0
  332. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_0.png +0 -0
  333. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_1.png +0 -0
  334. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_10.png +0 -0
  335. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_11.png +0 -0
  336. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_12.png +0 -0
  337. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_13.png +0 -0
  338. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_14.png +0 -0
  339. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_15.png +0 -0
  340. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_16.png +0 -0
  341. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_17.png +0 -0
  342. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_18.png +0 -0
  343. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_19.png +0 -0
  344. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_2.png +0 -0
  345. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_20.png +0 -0
  346. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_21.png +0 -0
  347. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_22.png +0 -0
  348. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_23.png +0 -0
  349. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_24.png +0 -0
  350. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_25.png +0 -0
  351. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_26.png +0 -0
  352. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_27.png +0 -0
  353. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_28.png +0 -0
  354. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_29.png +0 -0
  355. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_3.png +0 -0
  356. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_30.png +0 -0
  357. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_31.png +0 -0
  358. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_32.png +0 -0
  359. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_33.png +0 -0
  360. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_34.png +0 -0
  361. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_35.png +0 -0
  362. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_36.png +0 -0
  363. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_37.png +0 -0
  364. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_38.png +0 -0
  365. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_39.png +0 -0
  366. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_4.png +0 -0
  367. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_40.png +0 -0
  368. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_41.png +0 -0
  369. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_42.png +0 -0
  370. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_43.png +0 -0
  371. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_44.png +0 -0
  372. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_45.png +0 -0
  373. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_46.png +0 -0
  374. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_47.png +0 -0
  375. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_48.png +0 -0
  376. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_49.png +0 -0
  377. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_5.png +0 -0
  378. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_50.png +0 -0
  379. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_51.png +0 -0
  380. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_52.png +0 -0
  381. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_53.png +0 -0
  382. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_54.png +0 -0
  383. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_55.png +0 -0
  384. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_56.png +0 -0
  385. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_57.png +0 -0
  386. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_58.png +0 -0
  387. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_59.png +0 -0
  388. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_6.png +0 -0
  389. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_60.png +0 -0
  390. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_61.png +0 -0
  391. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_62.png +0 -0
  392. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_63.png +0 -0
  393. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_7.png +0 -0
  394. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_8.png +0 -0
  395. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_cosine_2Dx1D_128x128x64_9.png +0 -0
  396. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64.dat +0 -1
  397. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64.mag.xy.png +0 -0
  398. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64.mag.xz.png +0 -0
  399. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_0.png +0 -0
  400. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_1.png +0 -0
  401. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_10.png +0 -0
  402. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_11.png +0 -0
  403. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_12.png +0 -0
  404. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_13.png +0 -0
  405. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_14.png +0 -0
  406. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_15.png +0 -0
  407. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_16.png +0 -0
  408. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_17.png +0 -0
  409. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_18.png +0 -0
  410. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_19.png +0 -0
  411. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_2.png +0 -0
  412. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_20.png +0 -0
  413. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_21.png +0 -0
  414. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_22.png +0 -0
  415. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_23.png +0 -0
  416. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_24.png +0 -0
  417. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_25.png +0 -0
  418. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_26.png +0 -0
  419. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_27.png +0 -0
  420. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_28.png +0 -0
  421. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_29.png +0 -0
  422. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_3.png +0 -0
  423. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_30.png +0 -0
  424. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_31.png +0 -0
  425. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_32.png +0 -0
  426. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_33.png +0 -0
  427. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_34.png +0 -0
  428. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_35.png +0 -0
  429. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_36.png +0 -0
  430. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_37.png +0 -0
  431. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_38.png +0 -0
  432. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_39.png +0 -0
  433. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_4.png +0 -0
  434. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_40.png +0 -0
  435. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_41.png +0 -0
  436. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_42.png +0 -0
  437. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_43.png +0 -0
  438. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_44.png +0 -0
  439. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_45.png +0 -0
  440. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_46.png +0 -0
  441. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_47.png +0 -0
  442. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_48.png +0 -0
  443. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_49.png +0 -0
  444. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_5.png +0 -0
  445. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_50.png +0 -0
  446. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_51.png +0 -0
  447. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_52.png +0 -0
  448. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_53.png +0 -0
  449. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_54.png +0 -0
  450. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_55.png +0 -0
  451. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_56.png +0 -0
  452. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_57.png +0 -0
  453. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_58.png +0 -0
  454. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_59.png +0 -0
  455. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_6.png +0 -0
  456. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_60.png +0 -0
  457. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_61.png +0 -0
  458. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_62.png +0 -0
  459. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_63.png +0 -0
  460. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_7.png +0 -0
  461. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_8.png +0 -0
  462. package/src/shade/renderer/texture/noise/stbn/images/stbn_unitvec3_forest_2Dx1D_128x128x64_9.png +0 -0
  463. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64.dat +0 -0
  464. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64.mag.xy.png +0 -0
  465. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64.mag.xz.png +0 -0
  466. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_0.png +0 -0
  467. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_1.png +0 -0
  468. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_10.png +0 -0
  469. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_11.png +0 -0
  470. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_12.png +0 -0
  471. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_13.png +0 -0
  472. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_14.png +0 -0
  473. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_15.png +0 -0
  474. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_16.png +0 -0
  475. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_17.png +0 -0
  476. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_18.png +0 -0
  477. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_19.png +0 -0
  478. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_2.png +0 -0
  479. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_20.png +0 -0
  480. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_21.png +0 -0
  481. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_22.png +0 -0
  482. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_23.png +0 -0
  483. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_24.png +0 -0
  484. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_25.png +0 -0
  485. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_26.png +0 -0
  486. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_27.png +0 -0
  487. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_28.png +0 -0
  488. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_29.png +0 -0
  489. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_3.png +0 -0
  490. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_30.png +0 -0
  491. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_31.png +0 -0
  492. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_32.png +0 -0
  493. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_33.png +0 -0
  494. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_34.png +0 -0
  495. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_35.png +0 -0
  496. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_36.png +0 -0
  497. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_37.png +0 -0
  498. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_38.png +0 -0
  499. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_39.png +0 -0
  500. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_4.png +0 -0
  501. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_40.png +0 -0
  502. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_41.png +0 -0
  503. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_42.png +0 -0
  504. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_43.png +0 -0
  505. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_44.png +0 -0
  506. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_45.png +0 -0
  507. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_46.png +0 -0
  508. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_47.png +0 -0
  509. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_48.png +0 -0
  510. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_49.png +0 -0
  511. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_5.png +0 -0
  512. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_50.png +0 -0
  513. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_51.png +0 -0
  514. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_52.png +0 -0
  515. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_53.png +0 -0
  516. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_54.png +0 -0
  517. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_55.png +0 -0
  518. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_56.png +0 -0
  519. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_57.png +0 -0
  520. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_58.png +0 -0
  521. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_59.png +0 -0
  522. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_6.png +0 -0
  523. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_60.png +0 -0
  524. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_61.png +0 -0
  525. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_62.png +0 -0
  526. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_63.png +0 -0
  527. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_7.png +0 -0
  528. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_8.png +0 -0
  529. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec1_2Dx1D_128x128x64_9.png +0 -0
  530. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64.dat +0 -0
  531. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64.mag.xy.png +0 -0
  532. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64.mag.xz.png +0 -0
  533. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_0.png +0 -0
  534. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_1.png +0 -0
  535. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_10.png +0 -0
  536. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_11.png +0 -0
  537. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_12.png +0 -0
  538. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_13.png +0 -0
  539. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_14.png +0 -0
  540. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_15.png +0 -0
  541. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_16.png +0 -0
  542. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_17.png +0 -0
  543. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_18.png +0 -0
  544. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_19.png +0 -0
  545. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_2.png +0 -0
  546. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_20.png +0 -0
  547. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_21.png +0 -0
  548. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_22.png +0 -0
  549. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_23.png +0 -0
  550. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_24.png +0 -0
  551. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_25.png +0 -0
  552. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_26.png +0 -0
  553. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_27.png +0 -0
  554. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_28.png +0 -0
  555. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_29.png +0 -0
  556. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_3.png +0 -0
  557. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_30.png +0 -0
  558. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_31.png +0 -0
  559. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_32.png +0 -0
  560. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_33.png +0 -0
  561. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_34.png +0 -0
  562. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_35.png +0 -0
  563. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_36.png +0 -0
  564. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_37.png +0 -0
  565. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_38.png +0 -0
  566. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_39.png +0 -0
  567. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_4.png +0 -0
  568. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_40.png +0 -0
  569. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_41.png +0 -0
  570. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_42.png +0 -0
  571. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_43.png +0 -0
  572. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_44.png +0 -0
  573. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_45.png +0 -0
  574. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_46.png +0 -0
  575. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_47.png +0 -0
  576. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_48.png +0 -0
  577. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_49.png +0 -0
  578. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_5.png +0 -0
  579. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_50.png +0 -0
  580. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_51.png +0 -0
  581. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_52.png +0 -0
  582. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_53.png +0 -0
  583. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_54.png +0 -0
  584. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_55.png +0 -0
  585. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_56.png +0 -0
  586. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_57.png +0 -0
  587. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_58.png +0 -0
  588. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_59.png +0 -0
  589. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_6.png +0 -0
  590. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_60.png +0 -0
  591. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_61.png +0 -0
  592. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_62.png +0 -0
  593. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_63.png +0 -0
  594. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_7.png +0 -0
  595. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_8.png +0 -0
  596. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec2_2Dx1D_128x128x64_9.png +0 -0
  597. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64.dat +0 -0
  598. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64.mag.xy.png +0 -0
  599. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64.mag.xz.png +0 -0
  600. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_0.png +0 -0
  601. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_1.png +0 -0
  602. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_10.png +0 -0
  603. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_11.png +0 -0
  604. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_12.png +0 -0
  605. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_13.png +0 -0
  606. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_14.png +0 -0
  607. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_15.png +0 -0
  608. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_16.png +0 -0
  609. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_17.png +0 -0
  610. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_18.png +0 -0
  611. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_19.png +0 -0
  612. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_2.png +0 -0
  613. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_20.png +0 -0
  614. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_21.png +0 -0
  615. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_22.png +0 -0
  616. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_23.png +0 -0
  617. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_24.png +0 -0
  618. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_25.png +0 -0
  619. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_26.png +0 -0
  620. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_27.png +0 -0
  621. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_28.png +0 -0
  622. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_29.png +0 -0
  623. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_3.png +0 -0
  624. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_30.png +0 -0
  625. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_31.png +0 -0
  626. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_32.png +0 -0
  627. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_33.png +0 -0
  628. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_34.png +0 -0
  629. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_35.png +0 -0
  630. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_36.png +0 -0
  631. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_37.png +0 -0
  632. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_38.png +0 -0
  633. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_39.png +0 -0
  634. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_4.png +0 -0
  635. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_40.png +0 -0
  636. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_41.png +0 -0
  637. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_42.png +0 -0
  638. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_43.png +0 -0
  639. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_44.png +0 -0
  640. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_45.png +0 -0
  641. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_46.png +0 -0
  642. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_47.png +0 -0
  643. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_48.png +0 -0
  644. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_49.png +0 -0
  645. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_5.png +0 -0
  646. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_50.png +0 -0
  647. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_51.png +0 -0
  648. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_52.png +0 -0
  649. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_53.png +0 -0
  650. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_54.png +0 -0
  651. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_55.png +0 -0
  652. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_56.png +0 -0
  653. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_57.png +0 -0
  654. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_58.png +0 -0
  655. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_59.png +0 -0
  656. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_6.png +0 -0
  657. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_60.png +0 -0
  658. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_61.png +0 -0
  659. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_62.png +0 -0
  660. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_63.png +0 -0
  661. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_7.png +0 -0
  662. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_8.png +0 -0
  663. package/src/shade/renderer/texture/noise/stbn/images/stbn_vec3_2Dx1D_128x128x64_9.png +0 -0
@@ -0,0 +1,240 @@
1
+ import { assert } from "../../core/assert.js";
2
+ import { FramePhase } from "../../shade/renderer/extension/FramePhase.js";
3
+ import { RenderExtension } from "../../shade/renderer/extension/RenderExtension.js";
4
+ import { System } from "../ecs/System.js";
5
+ import { GPUHighlightRenderer } from "./highlight/GPUHighlightRenderer.js";
6
+ import { HIGHLIGHT_OUTLINE_THICKNESS } from "./highlight/HIGHLIGHT_OUTLINE.js";
7
+ import { pack_highlight_table } from "./highlight/pack_highlight_table.js";
8
+
9
+ /**
10
+ * Draws the outline, for everything that is highlighted.
11
+ *
12
+ * **An outline is a neighbourhood test on the visibility buffer**, which already says which mesh
13
+ * every pixel came from. The renderer this replaces drew each highlighted object a second time into
14
+ * an id target of its own, dilated the mask across two ping-ponged render targets, blurred it, and
15
+ * decoded ids back to colours — five render targets and a duplicated scene graph, for a picture this
16
+ * gets from a texture the frame was already writing.
17
+ *
18
+ * **Highlights no longer show through what stands in front of them (D27).** The old id pass cleared
19
+ * the depth buffer, so a unit behind a building was outlined in full; the visibility buffer knows
20
+ * only what was rasterized, so it is outlined where it can be seen and nowhere else. That is the
21
+ * accepted cost of not drawing the scene twice.
22
+ *
23
+ * The table is rebuilt every frame, and that is the cheaper arrangement rather than a concession:
24
+ * the game's highlights animate their colour and alpha continuously (0.2 s in, 0.7 s out), so
25
+ * nothing would be saved by watching for changes — and a `Color`'s change signal does not fire for
26
+ * alpha-only edits, which is exactly what this animation is.
27
+ *
28
+ * **It observes no entities, which is why it is one pass and not one pass per kind of highlighted
29
+ * thing.** What an entity has in the scene depends on what kind of thing it is — a model's rows
30
+ * come from `MeshSystem`, a primitive's from its own component — and a system per pairing is how
31
+ * that stays legible. But there is nothing to draw twice: the outline reads the whole visibility
32
+ * buffer once, so a second pass would read it again and paint over the first wherever the two named
33
+ * the same row. So the pairings are systems and the drawing is here, and they meet at
34
+ * {@link add_entry}. `SGMeshHighlightSystem` and `ShadedGeometryHighlightSystem` are the two.
35
+ */
36
+ export class HighlightOutlineSystem extends System {
37
+ /**
38
+ * No tuple. `System` allows this and drives such a system purely from startup and shutdown,
39
+ * which is exactly what owning a render pass needs — the entities are the contributing systems'
40
+ * business.
41
+ *
42
+ * @type {Array}
43
+ */
44
+ dependencies = [];
45
+
46
+ /**
47
+ * @type {GraphicsEngine}
48
+ */
49
+ #graphics;
50
+
51
+ /**
52
+ * @type {GPUHighlightRenderer}
53
+ */
54
+ #renderer = new GPUHighlightRenderer();
55
+
56
+ /**
57
+ * What is highlighted, in the order it was contributed. Each entry carries the walk to its own
58
+ * rows — see {@link add_entry}.
59
+ *
60
+ * @type {Array<{entity: number, highlight: Highlight, traverse: function(function(Mesh): void): void}>}
61
+ */
62
+ #entries = [];
63
+
64
+ /**
65
+ * One packed rgba8 colour per mesh row, indexed by the row the visibility buffer writes.
66
+ *
67
+ * @type {Uint32Array}
68
+ */
69
+ #table = new Uint32Array(0);
70
+
71
+ /**
72
+ * @type {number}
73
+ */
74
+ #table_size = 0;
75
+
76
+ /**
77
+ * @type {RenderExtension|null}
78
+ */
79
+ #extension = null;
80
+
81
+ /**
82
+ * How wide the outline is drawn, in pixels.
83
+ *
84
+ * @type {number}
85
+ */
86
+ thickness = HIGHLIGHT_OUTLINE_THICKNESS;
87
+
88
+ /**
89
+ * What is highlighted. Read-only — highlights follow their entities.
90
+ *
91
+ * @returns {Array}
92
+ */
93
+ get highlights() {
94
+ return this.#entries;
95
+ }
96
+
97
+ /**
98
+ * @returns {Uint32Array} the table the last update packed
99
+ */
100
+ get table() {
101
+ return this.#table;
102
+ }
103
+
104
+ /**
105
+ * @returns {number} rows of {@link table} in use
106
+ */
107
+ get table_size() {
108
+ return this.#table_size;
109
+ }
110
+
111
+ /**
112
+ * @param {GraphicsEngine} graphics
113
+ */
114
+ constructor(graphics) {
115
+ super();
116
+
117
+ assert.defined(graphics, 'graphics');
118
+
119
+ this.#graphics = graphics;
120
+ }
121
+
122
+ async startup(entityManager) {
123
+ this.entityManager = entityManager;
124
+
125
+ this.#extension = this.#graphics.add_extension(new HighlightExtension(this));
126
+ }
127
+
128
+ async shutdown(entityManager) {
129
+ if (this.#extension !== null) {
130
+ this.#graphics.remove_extension(this.#extension);
131
+
132
+ this.#extension = null;
133
+ }
134
+
135
+ this.#renderer.destroy();
136
+
137
+ this.#entries.length = 0;
138
+ this.#table_size = 0;
139
+ }
140
+
141
+ /**
142
+ * Outline a highlight whose rows the caller knows how to find.
143
+ *
144
+ * @param {number} entity for reading back through {@link highlights}; nothing here resolves it
145
+ * @param {Highlight} highlight read every frame, so its animation is followed without being watched
146
+ * @param {function(function(Mesh): void): void} traverse visits the scene nodes this highlight
147
+ * covers, and visits none of them while they are still loading
148
+ * @returns {object} the entry — hand it back to {@link remove_entry}, which is the only handle
149
+ * on it: an entity that is both a model and a primitive contributes one entry per system, so an
150
+ * entity is not a key here
151
+ */
152
+ add_entry(entity, highlight, traverse) {
153
+ const entry = { entity, highlight, traverse };
154
+
155
+ this.#entries.push(entry);
156
+
157
+ return entry;
158
+ }
159
+
160
+ /**
161
+ * @param {object} entry as returned by {@link add_entry}. One this system no longer holds is not
162
+ * an error, which is what leaves shutdown order between the contributing systems free.
163
+ */
164
+ remove_entry(entry) {
165
+ const index = this.#entries.indexOf(entry);
166
+
167
+ if (index === -1) {
168
+ return;
169
+ }
170
+
171
+ this.#entries.splice(index, 1);
172
+ }
173
+
174
+ /**
175
+ * Pack this frame's table. See {@link pack_highlight_table} for why it is every frame.
176
+ *
177
+ * @param {GPUSceneContext} scene
178
+ */
179
+ #pack(scene) {
180
+ const packed = pack_highlight_table({
181
+ entries: this.#entries,
182
+ scene,
183
+ table: this.#table
184
+ });
185
+
186
+ this.#table = packed.table;
187
+ this.#table_size = packed.size;
188
+ }
189
+
190
+ /**
191
+ * @param {FrameContext} frame
192
+ */
193
+ record(frame) {
194
+ if (this.#entries.length === 0) {
195
+ // nothing highlighted, so the frame keeps the colour it had and pays nothing
196
+ return;
197
+ }
198
+
199
+ this.#pack(frame.view.scene);
200
+
201
+ if (this.#table_size === 0) {
202
+ // highlighted entities whose models are not in the scene yet
203
+ return;
204
+ }
205
+
206
+ this.#renderer.graph_draw({
207
+ frame,
208
+ table: this.#table,
209
+ table_size: this.#table_size,
210
+ thickness: this.thickness
211
+ });
212
+ }
213
+ }
214
+
215
+ /**
216
+ * The outline is drawn into the scene, so the fog of war conceals it along with what it outlines.
217
+ */
218
+ export class HighlightExtension extends RenderExtension {
219
+ name = "highlight";
220
+
221
+ phase = FramePhase.AfterTransparency;
222
+
223
+ /**
224
+ * @type {HighlightOutlineSystem}
225
+ */
226
+ #system;
227
+
228
+ /**
229
+ * @param {HighlightOutlineSystem} system
230
+ */
231
+ constructor(system) {
232
+ super();
233
+
234
+ this.#system = system;
235
+ }
236
+
237
+ record(frame) {
238
+ this.#system.record(frame);
239
+ }
240
+ }
@@ -1,82 +1,19 @@
1
1
  /**
2
- * Outlines highlighted entities under Shade.
2
+ * @deprecated Renamed to {@link SGMeshHighlightSystem} and moved back beside the component it reads.
3
+ * The name said "highlight" where the tuple says `[Highlight, SGMesh]`, and one of the two systems
4
+ * that outline things is not the highlight system.
3
5
  *
4
- * **An outline is a neighbourhood test on the visibility buffer**, which already says which mesh
5
- * every pixel came from. The renderer this replaces drew each highlighted object a second time into
6
- * an id target of its own, dilated the mask across two ping-ponged render targets, blurred it, and
7
- * decoded ids back to colours five render targets and a duplicated scene graph, for a picture this
8
- * gets from a texture the frame was already writing.
6
+ * **The class behind this name no longer owns the outline pass**, so a constructor call does not
7
+ * survive the rename: it is now `new SGMeshHighlightSystem(outline, meshes)` against a
8
+ * {@link HighlightOutlineSystem}, which is registered alongside it and does the drawing for every
9
+ * kind of highlighted thing. That is a change no alias can absorb this one keeps `instanceof` and
10
+ * `EntityManager.getSystem` answering for callers still holding the old name.
9
11
  *
10
- * **Highlights no longer show through what stands in front of them (D27).** The old id pass cleared
11
- * the depth buffer, so a unit behind a building was outlined in full; the visibility buffer knows
12
- * only what was rasterized, so it is outlined where it can be seen and nowhere else. That is the
13
- * accepted cost of not drawing the scene twice.
14
- *
15
- * The table is rebuilt every frame, and that is the cheaper arrangement rather than a concession:
16
- * the game's highlights animate their colour and alpha continuously (0.2 s in, 0.7 s out), so
17
- * nothing would be saved by watching for changes — and a `Color`'s change signal does not fire for
18
- * alpha-only edits, which is exactly what this animation is.
19
- */
20
- export class HighlightSystem extends System<any> {
21
- /**
22
- * @param {GraphicsEngine} graphics
23
- * @param {MeshSystem} meshes
24
- */
25
- constructor(graphics: GraphicsEngine, meshes: MeshSystem);
26
- dependencies: (typeof SGMesh | typeof Highlight)[];
27
- /**
28
- * How wide the outline is drawn, in pixels.
29
- *
30
- * @type {number}
31
- */
32
- thickness: number;
33
- /**
34
- * What is highlighted. Read-only — highlights follow their entities.
35
- *
36
- * @returns {Array}
37
- */
38
- get highlights(): any[];
39
- /**
40
- * @returns {Uint32Array} the table the last update packed
41
- */
42
- get table(): Uint32Array;
43
- /**
44
- * @returns {number} rows of {@link table} in use
45
- */
46
- get table_size(): number;
47
- startup(entityManager: any): Promise<void>;
48
- shutdown(entityManager: any): Promise<void>;
49
- /**
50
- * @param {Highlight} highlight
51
- * @param {SGMesh} mesh
52
- * @param {number} entity
53
- */
54
- link(highlight: Highlight, mesh: SGMesh, entity: number): void;
55
- /**
56
- * @param {Highlight} highlight
57
- * @param {SGMesh} mesh
58
- * @param {number} entity
59
- */
60
- unlink(highlight: Highlight, mesh: SGMesh, entity: number): void;
61
- /**
62
- * @param {FrameContext} frame
63
- */
64
- record(frame: FrameContext): void;
65
- #private;
66
- }
67
- /**
68
- * The outline is drawn into the scene, so the fog of war conceals it along with what it outlines.
12
+ * Kept as a re-export rather than removed: this is a library, and an import path is as much a
13
+ * published interface as a class name.
69
14
  */
70
- export class HighlightExtension extends RenderExtension {
71
- /**
72
- * @param {HighlightSystem} system
73
- */
74
- constructor(system: HighlightSystem);
75
- record(frame: any): void;
76
- #private;
77
- }
78
- import { System } from "../ecs/System.js";
79
- import { SGMesh } from "../graphics/ecs/mesh-v2/aggregate/SGMesh.js";
80
- import Highlight from "../graphics/ecs/highlight/Highlight.js";
81
- import { RenderExtension } from "../../shade/renderer/extension/RenderExtension.js";
15
+ export const HighlightSystem: typeof SGMeshHighlightSystem;
16
+ export { HighlightExtension };
17
+ import { SGMeshHighlightSystem } from "../graphics/ecs/mesh-v2/aggregate/SGMeshHighlightSystem.js";
18
+ import { HighlightExtension } from "./HighlightOutlineSystem.js";
82
19
  //# sourceMappingURL=HighlightSystem.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HighlightSystem.d.ts","sourceRoot":"","sources":["../../../../src/engine/graphics3/HighlightSystem.js"],"names":[],"mappings":"AAUA;;;;;;;;;;;;;;;;;;GAkBG;AACH;IA6EI;;;OAGG;IACH,0DAQC;IAxFD,mDAAmC;IA8CnC;;;;OAIG;IACH,WAFU,MAAM,CAEwB;IAExC;;;;OAIG;IACH,wBAEC;IAED;;OAEG;IACH,yBAEC;IAED;;OAEG;IACH,yBAEC;IAgBD,2CAIC;IAED,4CAYC;IAED;;;;OAIG;IACH,gBAJW,SAAS,QACT,MAAM,UACN,MAAM,QAOhB;IAED;;;;OAIG;IACH,kBAJW,SAAS,QACT,MAAM,UACN,MAAM,QAgBhB;IAmBD;;OAEG;IACH,kCAmBC;;CACJ;AAED;;GAEG;AACH;IAUI;;OAEG;IACH,oBAFW,eAAe,EAMzB;IAED,yBAEC;;CACJ;uBA7OsB,kBAAkB;uBAElB,6CAA6C;sBAD9C,wCAAwC;gCAF9B,mDAAmD"}
1
+ {"version":3,"file":"HighlightSystem.d.ts","sourceRoot":"","sources":["../../../../src/engine/graphics3/HighlightSystem.js"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;GAaG;AACH,2DAAqD;;sCAjB9C,4DAA4D;mCAChC,6BAA6B"}
@@ -1,241 +1,27 @@
1
- import { assert } from "../../core/assert.js";
2
- import { FramePhase } from "../../shade/renderer/extension/FramePhase.js";
3
- import { RenderExtension } from "../../shade/renderer/extension/RenderExtension.js";
4
- import { System } from "../ecs/System.js";
5
- import Highlight from "../graphics/ecs/highlight/Highlight.js";
6
- import { SGMesh } from "../graphics/ecs/mesh-v2/aggregate/SGMesh.js";
7
- import { GPUHighlightRenderer } from "./highlight/GPUHighlightRenderer.js";
8
- import { HIGHLIGHT_OUTLINE_THICKNESS } from "./highlight/HIGHLIGHT_OUTLINE.js";
9
- import { pack_highlight_table } from "./highlight/pack_highlight_table.js";
1
+ import {
2
+ SGMeshHighlightSystem
3
+ } from "../graphics/ecs/mesh-v2/aggregate/SGMeshHighlightSystem.js";
4
+ import { HighlightExtension } from "./HighlightOutlineSystem.js";
10
5
 
11
6
  /**
12
- * Outlines highlighted entities under Shade.
7
+ * @deprecated Renamed to {@link SGMeshHighlightSystem} and moved back beside the component it reads.
8
+ * The name said "highlight" where the tuple says `[Highlight, SGMesh]`, and one of the two systems
9
+ * that outline things is not the highlight system.
13
10
  *
14
- * **An outline is a neighbourhood test on the visibility buffer**, which already says which mesh
15
- * every pixel came from. The renderer this replaces drew each highlighted object a second time into
16
- * an id target of its own, dilated the mask across two ping-ponged render targets, blurred it, and
17
- * decoded ids back to colours five render targets and a duplicated scene graph, for a picture this
18
- * gets from a texture the frame was already writing.
11
+ * **The class behind this name no longer owns the outline pass**, so a constructor call does not
12
+ * survive the rename: it is now `new SGMeshHighlightSystem(outline, meshes)` against a
13
+ * {@link HighlightOutlineSystem}, which is registered alongside it and does the drawing for every
14
+ * kind of highlighted thing. That is a change no alias can absorb this one keeps `instanceof` and
15
+ * `EntityManager.getSystem` answering for callers still holding the old name.
19
16
  *
20
- * **Highlights no longer show through what stands in front of them (D27).** The old id pass cleared
21
- * the depth buffer, so a unit behind a building was outlined in full; the visibility buffer knows
22
- * only what was rasterized, so it is outlined where it can be seen and nowhere else. That is the
23
- * accepted cost of not drawing the scene twice.
24
- *
25
- * The table is rebuilt every frame, and that is the cheaper arrangement rather than a concession:
26
- * the game's highlights animate their colour and alpha continuously (0.2 s in, 0.7 s out), so
27
- * nothing would be saved by watching for changes — and a `Color`'s change signal does not fire for
28
- * alpha-only edits, which is exactly what this animation is.
17
+ * Kept as a re-export rather than removed: this is a library, and an import path is as much a
18
+ * published interface as a class name.
29
19
  */
30
- export class HighlightSystem extends System {
31
- dependencies = [Highlight, SGMesh];
32
-
33
- /**
34
- * @type {GraphicsEngine}
35
- */
36
- #graphics;
37
-
38
- /**
39
- * @type {MeshSystem}
40
- */
41
- #meshes;
42
-
43
- /**
44
- * @type {GPUHighlightRenderer}
45
- */
46
- #renderer = new GPUHighlightRenderer();
47
-
48
- /**
49
- * Highlighted entities, in link order.
50
- *
51
- * @type {Array<{entity: number, highlight: Highlight}>}
52
- */
53
- #entries = [];
54
-
55
- /**
56
- * @type {Map<number, object>}
57
- */
58
- #by_entity = new Map();
59
-
60
- /**
61
- * One packed rgba8 colour per mesh row, indexed by the row the visibility buffer writes.
62
- *
63
- * @type {Uint32Array}
64
- */
65
- #table = new Uint32Array(0);
66
-
67
- /**
68
- * @type {number}
69
- */
70
- #table_size = 0;
71
-
72
- /**
73
- * @type {RenderExtension|null}
74
- */
75
- #extension = null;
76
-
77
- /**
78
- * How wide the outline is drawn, in pixels.
79
- *
80
- * @type {number}
81
- */
82
- thickness = HIGHLIGHT_OUTLINE_THICKNESS;
83
-
84
- /**
85
- * What is highlighted. Read-only — highlights follow their entities.
86
- *
87
- * @returns {Array}
88
- */
89
- get highlights() {
90
- return this.#entries;
91
- }
92
-
93
- /**
94
- * @returns {Uint32Array} the table the last update packed
95
- */
96
- get table() {
97
- return this.#table;
98
- }
99
-
100
- /**
101
- * @returns {number} rows of {@link table} in use
102
- */
103
- get table_size() {
104
- return this.#table_size;
105
- }
106
-
107
- /**
108
- * @param {GraphicsEngine} graphics
109
- * @param {MeshSystem} meshes
110
- */
111
- constructor(graphics, meshes) {
112
- super();
113
-
114
- assert.defined(graphics, 'graphics');
115
- assert.defined(meshes, 'meshes');
116
-
117
- this.#graphics = graphics;
118
- this.#meshes = meshes;
119
- }
120
-
121
- async startup(entityManager) {
122
- this.entityManager = entityManager;
123
-
124
- this.#extension = this.#graphics.add_extension(new HighlightExtension(this));
125
- }
126
-
127
- async shutdown(entityManager) {
128
- if (this.#extension !== null) {
129
- this.#graphics.remove_extension(this.#extension);
130
-
131
- this.#extension = null;
132
- }
133
-
134
- this.#renderer.destroy();
135
-
136
- this.#entries.length = 0;
137
- this.#by_entity.clear();
138
- this.#table_size = 0;
139
- }
140
-
141
- /**
142
- * @param {Highlight} highlight
143
- * @param {SGMesh} mesh
144
- * @param {number} entity
145
- */
146
- link(highlight, mesh, entity) {
147
- const entry = { entity, highlight };
148
-
149
- this.#entries.push(entry);
150
- this.#by_entity.set(entity, entry);
151
- }
152
-
153
- /**
154
- * @param {Highlight} highlight
155
- * @param {SGMesh} mesh
156
- * @param {number} entity
157
- */
158
- unlink(highlight, mesh, entity) {
159
- const entry = this.#by_entity.get(entity);
160
-
161
- if (entry === undefined) {
162
- return;
163
- }
164
-
165
- const index = this.#entries.indexOf(entry);
166
-
167
- if (index !== -1) {
168
- this.#entries.splice(index, 1);
169
- }
170
-
171
- this.#by_entity.delete(entity);
172
- }
173
-
174
- /**
175
- * Pack this frame's table. See {@link pack_highlight_table} for why it is every frame.
176
- *
177
- * @param {GPUSceneContext} scene
178
- */
179
- #pack(scene) {
180
- const packed = pack_highlight_table({
181
- entries: this.#entries,
182
- meshes: this.#meshes,
183
- scene,
184
- table: this.#table
185
- });
186
-
187
- this.#table = packed.table;
188
- this.#table_size = packed.size;
189
- }
190
-
191
- /**
192
- * @param {FrameContext} frame
193
- */
194
- record(frame) {
195
- if (this.#entries.length === 0) {
196
- // nothing highlighted, so the frame keeps the colour it had and pays nothing
197
- return;
198
- }
199
-
200
- this.#pack(frame.view.scene);
201
-
202
- if (this.#table_size === 0) {
203
- // highlighted entities whose models are not in the scene yet
204
- return;
205
- }
206
-
207
- this.#renderer.graph_draw({
208
- frame,
209
- table: this.#table,
210
- table_size: this.#table_size,
211
- thickness: this.thickness
212
- });
213
- }
214
- }
20
+ export const HighlightSystem = SGMeshHighlightSystem;
215
21
 
216
22
  /**
217
- * The outline is drawn into the scene, so the fog of war conceals it along with what it outlines.
23
+ * Re-exported because this is where it was published from, and because it is the ordering token
24
+ * `FogOfWarExtension` and anything else sequencing against the outline names. It lives in
25
+ * {@link HighlightOutlineSystem}'s file now, with the pass it registers.
218
26
  */
219
- export class HighlightExtension extends RenderExtension {
220
- name = "highlight";
221
-
222
- phase = FramePhase.AfterTransparency;
223
-
224
- /**
225
- * @type {HighlightSystem}
226
- */
227
- #system;
228
-
229
- /**
230
- * @param {HighlightSystem} system
231
- */
232
- constructor(system) {
233
- super();
234
-
235
- this.#system = system;
236
- }
237
-
238
- record(frame) {
239
- this.#system.record(frame);
240
- }
241
- }
27
+ export { HighlightExtension };
@@ -1,10 +1,13 @@
1
1
  /**
2
- * @deprecated Renamed to {@link HighlightSystem}. The trailing `3` marked the 2.x → 3.x renderer transition;
3
- * the 2.x name it disambiguated against is gone, so the suffix no longer distinguishes anything.
2
+ * @deprecated Renamed to {@link SGMeshHighlightSystem}. The trailing `3` marked the 2.x → 3.x renderer
3
+ * transition; the 2.x name it disambiguated against is gone, so the suffix no longer distinguishes
4
+ * anything. It pointed at `HighlightSystem` for one release, which is itself now a deprecated alias
5
+ * of the same class — this chains straight through rather than through that, so there is one hop
6
+ * from either old name.
4
7
  *
5
8
  * Kept as a re-export rather than removed: this is a library, and an import path is as much a
6
9
  * published interface as a class name.
7
10
  */
8
- export const HighlightSystem3: typeof HighlightSystem;
9
- import { HighlightSystem } from "./HighlightSystem.js";
11
+ export const HighlightSystem3: typeof SGMeshHighlightSystem;
12
+ import { SGMeshHighlightSystem } from "../graphics/ecs/mesh-v2/aggregate/SGMeshHighlightSystem.js";
10
13
  //# sourceMappingURL=HighlightSystem3.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HighlightSystem3.d.ts","sourceRoot":"","sources":["../../../../src/engine/graphics3/HighlightSystem3.js"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,sDAAgD;gCAThB,sBAAsB"}
1
+ {"version":3,"file":"HighlightSystem3.d.ts","sourceRoot":"","sources":["../../../../src/engine/graphics3/HighlightSystem3.js"],"names":[],"mappings":"AAIA;;;;;;;;;GASG;AACH,4DAAsD;sCAZ/C,4DAA4D"}
@@ -1,10 +1,15 @@
1
- import { HighlightSystem } from "./HighlightSystem.js";
2
-
3
- /**
4
- * @deprecated Renamed to {@link HighlightSystem}. The trailing `3` marked the 2.x → 3.x renderer transition;
5
- * the 2.x name it disambiguated against is gone, so the suffix no longer distinguishes anything.
6
- *
7
- * Kept as a re-export rather than removed: this is a library, and an import path is as much a
8
- * published interface as a class name.
9
- */
10
- export const HighlightSystem3 = HighlightSystem;
1
+ import {
2
+ SGMeshHighlightSystem
3
+ } from "../graphics/ecs/mesh-v2/aggregate/SGMeshHighlightSystem.js";
4
+
5
+ /**
6
+ * @deprecated Renamed to {@link SGMeshHighlightSystem}. The trailing `3` marked the 2.x → 3.x renderer
7
+ * transition; the 2.x name it disambiguated against is gone, so the suffix no longer distinguishes
8
+ * anything. It pointed at `HighlightSystem` for one release, which is itself now a deprecated alias
9
+ * of the same class — this chains straight through rather than through that, so there is one hop
10
+ * from either old name.
11
+ *
12
+ * Kept as a re-export rather than removed: this is a library, and an import path is as much a
13
+ * published interface as a class name.
14
+ */
15
+ export const HighlightSystem3 = SGMeshHighlightSystem;