@woosh/meep-engine 2.46.4 → 2.46.5

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 (3025) hide show
  1. package/package.json +2 -1
  2. package/src/__module.js +6 -0
  3. package/src/core/IdPool.js +83 -0
  4. package/src/core/IdPool.spec.js +29 -0
  5. package/src/core/NumberFormat.js +75 -0
  6. package/src/core/UUID.d.ts +3 -0
  7. package/src/core/UUID.js +21 -0
  8. package/src/core/__module.js +10 -0
  9. package/src/core/assert.js +390 -0
  10. package/src/core/binary/32BitEncoder.js +61 -0
  11. package/src/core/binary/32BitEncoder.spec.js +11 -0
  12. package/src/core/binary/Base64.js +210 -0
  13. package/src/core/binary/Base64.spec.js +14 -0
  14. package/src/core/binary/BinaryBuffer.js +1119 -0
  15. package/src/core/binary/BinaryBuffer.spec.js +196 -0
  16. package/src/core/binary/BitSet.js +619 -0
  17. package/src/core/binary/BitSet.spec.js +466 -0
  18. package/src/core/binary/ByteArrayTools.js +137 -0
  19. package/src/core/binary/EncodingBinaryBuffer.js +94 -0
  20. package/src/core/binary/NaiveBitSet.js +69 -0
  21. package/src/core/binary/ValidatingBitSetWrapper.js +81 -0
  22. package/src/core/binary/ctz32.js +40 -0
  23. package/src/core/binary/float2uint8.js +8 -0
  24. package/src/core/binary/int32_to_binary_string.js +18 -0
  25. package/src/core/binary/is_data_url.js +12 -0
  26. package/src/core/binary/objects/StandardTypeBuilder.js +126 -0
  27. package/src/core/binary/operations/bitCount.js +16 -0
  28. package/src/core/binary/operations/bitwiseAnd.js +9 -0
  29. package/src/core/binary/operations/bitwiseOr.js +9 -0
  30. package/src/core/binary/operations/ceilPowerOfTwo.js +22 -0
  31. package/src/core/binary/operations/ceilPowerOfTwo.spec.js +17 -0
  32. package/src/core/binary/serde/JsonSerializer.js +113 -0
  33. package/src/core/binary/to_half_float_uint16.js +63 -0
  34. package/src/core/binary/type/Field.js +26 -0
  35. package/src/core/binary/type/MultiplicityType.js +14 -0
  36. package/src/core/binary/type/PrimitiveTypes.js +35 -0
  37. package/src/core/binary/type/Type.js +83 -0
  38. package/src/core/binary/type/TypeBuilder.js +106 -0
  39. package/src/core/binary/type/TypeRegistry.js +53 -0
  40. package/src/core/binary/uint82float.js +8 -0
  41. package/src/core/binary/url_to_data_url.js +28 -0
  42. package/src/core/bvh2/BVHTasks.js +65 -0
  43. package/src/core/bvh2/BinaryNode.d.ts +13 -0
  44. package/src/core/bvh2/BinaryNode.js +1213 -0
  45. package/src/core/bvh2/BinaryNode.spec.js +308 -0
  46. package/src/core/bvh2/LeafNode.d.ts +7 -0
  47. package/src/core/bvh2/LeafNode.js +144 -0
  48. package/src/core/bvh2/Node.d.ts +9 -0
  49. package/src/core/bvh2/Node.js +196 -0
  50. package/src/core/bvh2/NodeValidator.js +197 -0
  51. package/src/core/bvh2/StacklessTraverser.js +154 -0
  52. package/src/core/bvh2/StacklessTraverser.spec.js +109 -0
  53. package/src/core/bvh2/aabb3/AABB3.d.ts +46 -0
  54. package/src/core/bvh2/aabb3/AABB3.js +917 -0
  55. package/src/core/bvh2/aabb3/AABB3.spec.js +227 -0
  56. package/src/core/bvh2/aabb3/aabb3_array_combine.js +20 -0
  57. package/src/core/bvh2/aabb3/aabb3_array_contains_point.js +18 -0
  58. package/src/core/bvh2/aabb3/aabb3_array_intersects_frustum_array.js +20 -0
  59. package/src/core/bvh2/aabb3/aabb3_array_intersects_frustum_degree.js +20 -0
  60. package/src/core/bvh2/aabb3/aabb3_array_intersects_ray.js +21 -0
  61. package/src/core/bvh2/aabb3/aabb3_array_intersects_ray_array.js +14 -0
  62. package/src/core/bvh2/aabb3/aabb3_box_surface_area_2.js +10 -0
  63. package/src/core/bvh2/aabb3/aabb3_combined_surface_area.js +21 -0
  64. package/src/core/bvh2/aabb3/aabb3_compute_half_surface_area.js +16 -0
  65. package/src/core/bvh2/aabb3/aabb3_compute_surface_area.js +18 -0
  66. package/src/core/bvh2/aabb3/aabb3_corner_edge_mapping.js +17 -0
  67. package/src/core/bvh2/aabb3/aabb3_corner_edge_mapping.spec.js +39 -0
  68. package/src/core/bvh2/aabb3/aabb3_detailed_volume_intersection.js +294 -0
  69. package/src/core/bvh2/aabb3/aabb3_edge_corner_mapping.js +25 -0
  70. package/src/core/bvh2/aabb3/aabb3_edge_corner_mapping.spec.js +32 -0
  71. package/src/core/bvh2/aabb3/aabb3_edge_plane_mapping.js +23 -0
  72. package/src/core/bvh2/aabb3/aabb3_expand_array.js +15 -0
  73. package/src/core/bvh2/aabb3/aabb3_from_v3_array.js +34 -0
  74. package/src/core/bvh2/aabb3/aabb3_from_v3_array_transformed.js +39 -0
  75. package/src/core/bvh2/aabb3/aabb3_intersect_aabb3.js +28 -0
  76. package/src/core/bvh2/aabb3/aabb3_intersect_ray_slab.js +73 -0
  77. package/src/core/bvh2/aabb3/aabb3_intersects_frustum_array.js +35 -0
  78. package/src/core/bvh2/aabb3/aabb3_intersects_frustum_degree.js +46 -0
  79. package/src/core/bvh2/aabb3/aabb3_intersects_line_segment.js +79 -0
  80. package/src/core/bvh2/aabb3/aabb3_intersects_ray.js +97 -0
  81. package/src/core/bvh2/aabb3/aabb3_intersects_ray.spec.js +71 -0
  82. package/src/core/bvh2/aabb3/aabb3_intersects_ray_branchless.js +52 -0
  83. package/src/core/bvh2/aabb3/aabb3_intersects_ray_fast.js +176 -0
  84. package/src/core/bvh2/aabb3/aabb3_nearest_point_on_surface.js +65 -0
  85. package/src/core/bvh2/aabb3/aabb3_score_boxes_SAH.js +43 -0
  86. package/src/core/bvh2/aabb3/aabb3_signed_distance_sqr_to_point.js +39 -0
  87. package/src/core/bvh2/aabb3/aabb_score_boxes_SAH_delta.js +37 -0
  88. package/src/core/bvh2/aabb3/deserializeAABB3.js +17 -0
  89. package/src/core/bvh2/aabb3/deserializeAABB3Encoded_v0.js +73 -0
  90. package/src/core/bvh2/aabb3/deserializeAABB3Quantized16Uint.js +36 -0
  91. package/src/core/bvh2/aabb3/serializeAABB3.js +13 -0
  92. package/src/core/bvh2/aabb3/serializeAABB3Encoded_v0.js +75 -0
  93. package/src/core/bvh2/aabb3/serializeAABB3Quantized16Uint.js +33 -0
  94. package/src/core/bvh2/binary/2/BinaryUint32BVH.js +504 -0
  95. package/src/core/bvh2/binary/2/BinaryUint32BVH.spec.js +84 -0
  96. package/src/core/bvh2/binary/BinaryBVH.js +281 -0
  97. package/src/core/bvh2/binary/IndexedBinaryBVH.js +406 -0
  98. package/src/core/bvh2/binary/IndexedBinaryBVHVisitor.js +11 -0
  99. package/src/core/bvh2/binary/NodeType.js +8 -0
  100. package/src/core/bvh2/binary/RayLeafIntersectionVisitor.js +59 -0
  101. package/src/core/bvh2/binary/tiny/TinyBVH.js +221 -0
  102. package/src/core/bvh2/bvh3/BVHNodeProxy.js +53 -0
  103. package/src/core/bvh2/bvh3/ExplicitBinaryBoundingVolumeHierarchy.d.ts +25 -0
  104. package/src/core/bvh2/bvh3/ExplicitBinaryBoundingVolumeHierarchy.js +1107 -0
  105. package/src/core/bvh2/bvh3/ExplicitBinaryBoundingVolumeHierarchy.spec.js +164 -0
  106. package/src/core/bvh2/bvh3/ebvh_build_for_geometry_incremental.js +34 -0
  107. package/src/core/bvh2/bvh3/ebvh_build_for_geometry_morton.js +175 -0
  108. package/src/core/bvh2/bvh3/ebvh_sort_for_traversal_depth_first.js +122 -0
  109. package/src/core/bvh2/bvh3/query/BVHQuery.js +11 -0
  110. package/src/core/bvh2/bvh3/query/BVHQueryIntersectsFrustum.js +36 -0
  111. package/src/core/bvh2/bvh3/query/BVHQueryIntersectsRay.js +36 -0
  112. package/src/core/bvh2/bvh3/query/bvh_collect_user_data.js +60 -0
  113. package/src/core/bvh2/bvh3/query/bvh_query_leaves_generic.js +79 -0
  114. package/src/core/bvh2/bvh3/query/bvh_query_leaves_ray.js +97 -0
  115. package/src/core/bvh2/bvh3/query/bvh_query_user_data_generic.js +79 -0
  116. package/src/core/bvh2/bvh3/query/bvh_query_user_data_nearest_to_point.js +96 -0
  117. package/src/core/bvh2/bvh3/query/bvh_query_user_data_nearest_to_point.spec.js +70 -0
  118. package/src/core/bvh2/bvh3/query/bvh_query_user_data_overlaps_frustum.js +85 -0
  119. package/src/core/bvh2/bvh3/query/compute_tight_near_far_clipping_planes.js +156 -0
  120. package/src/core/bvh2/bvh3/query/compute_tight_near_far_clipping_planes.spec.js +41 -0
  121. package/src/core/bvh2/sah/surfaceAreaHeuristic.js +15 -0
  122. package/src/core/bvh2/sah/surfaceAreaHeuristicFull.js +14 -0
  123. package/src/core/bvh2/serialization/deserializeBinaryNode.js +40 -0
  124. package/src/core/bvh2/serialization/deserializeBinaryNodeFromBinaryBuffer.js +90 -0
  125. package/src/core/bvh2/serialization/serializeBinaryNode.js +31 -0
  126. package/src/core/bvh2/serialization/serializeBinaryNodeToBinaryBuffer.js +86 -0
  127. package/src/core/bvh2/transform/BottomUpOptimizingRebuilder.js +144 -0
  128. package/src/core/bvh2/transform/RotationOptimizer.js +123 -0
  129. package/src/core/bvh2/transform/RotationOptimizer.spec.js +297 -0
  130. package/src/core/bvh2/transform/tryRotateSingleNode.js +260 -0
  131. package/src/core/bvh2/traversal/BVHVisitor.js +30 -0
  132. package/src/core/bvh2/traversal/RaycastBVHVisitor.js +66 -0
  133. package/src/core/bvh2/traversal/ThreeClippingPlaneComputingBVHVisitor.js +384 -0
  134. package/src/core/bvh2/traversal/ThreeFrustumsIntersectionBVHVisitor.js +52 -0
  135. package/src/core/bvh2/traversal/__process_point_if_within_planes.js +56 -0
  136. package/src/core/bvh2/traversal/aabb3_detailed_volume_intersection_callback_based.js +63 -0
  137. package/src/core/bvh2/traversal/bvh_traverse_pre_order_using_stack.js +43 -0
  138. package/src/core/bvh2/traversal/queryBinaryNode_ClippingPlanes.d.ts +5 -0
  139. package/src/core/bvh2/traversal/queryBinaryNode_ClippingPlanes.js +66 -0
  140. package/src/core/bvh2/traversal/queryBinaryNode_CollectData.js +49 -0
  141. package/src/core/bvh2/traversal/queryBinaryNode_CollectLeaves.js +51 -0
  142. package/src/core/bvh2/traversal/queryBinaryNode_FrustumIntersections.js +77 -0
  143. package/src/core/bvh2/traversal/queryBinaryNode_SphereIntersections.js +63 -0
  144. package/src/core/bvh2/traversal/traverseBinaryNodeUsingVisitor.js +50 -0
  145. package/src/core/bvh2/traversal/traverseBinaryNodeUsingVisitor_DepthFirst_PreOrder.js +34 -0
  146. package/src/core/bvh2/util/find_least_common_ancestor.js +34 -0
  147. package/src/core/bvh2/visual/BVHGeometry.js +132 -0
  148. package/src/core/bvh2/visual/convert_bvh_to_dot_format_string.js +50 -0
  149. package/src/core/cache/Cache.d.ts +36 -0
  150. package/src/core/cache/Cache.js +449 -0
  151. package/src/core/cache/Cache.spec.js +98 -0
  152. package/src/core/cache/CacheElement.js +48 -0
  153. package/src/core/cache/CacheV2.js +237 -0
  154. package/src/core/cache/FrequencySketch.js +229 -0
  155. package/src/core/cache/PersistentCacheAdapter.js +378 -0
  156. package/src/core/codegen/LineBuilder.js +148 -0
  157. package/src/core/collection/CuckooFilter.js +526 -0
  158. package/src/core/collection/CuckooFilter.spec.js +111 -0
  159. package/src/core/collection/HashMap.d.ts +38 -0
  160. package/src/core/collection/HashMap.js +582 -0
  161. package/src/core/collection/HashMap.spec.js +50 -0
  162. package/src/core/collection/HashSet.d.ts +33 -0
  163. package/src/core/collection/HashSet.js +122 -0
  164. package/src/core/collection/IteratorUtils.js +17 -0
  165. package/src/core/collection/KeyValuePair.js +32 -0
  166. package/src/core/collection/LazyStream.js +23 -0
  167. package/src/core/collection/LazyStream.spec.js +13 -0
  168. package/src/core/collection/ObservedMap.js +75 -0
  169. package/src/core/collection/RingBuffer.js +218 -0
  170. package/src/core/collection/RingBuffer.spec.js +59 -0
  171. package/src/core/collection/Set.d.ts +26 -0
  172. package/src/core/collection/Set.js +167 -0
  173. package/src/core/collection/Stack.js +111 -0
  174. package/src/core/collection/Stack.spec.js +63 -0
  175. package/src/core/collection/array/AbstractArrayIterator.js +24 -0
  176. package/src/core/collection/array/ArrayIteratorRandom.js +54 -0
  177. package/src/core/collection/array/ArrayIteratorSequential.js +31 -0
  178. package/src/core/collection/array/arrayIndexByEquality.js +20 -0
  179. package/src/core/collection/array/arrayPickBestElement.d.ts +1 -0
  180. package/src/core/collection/array/arrayPickBestElement.js +45 -0
  181. package/src/core/collection/array/arrayPickBestElement.spec.js +7 -0
  182. package/src/core/collection/array/arrayPickBestElements.js +51 -0
  183. package/src/core/collection/array/arrayPickMinElement.js +43 -0
  184. package/src/core/collection/array/arrayQuickSort.js +142 -0
  185. package/src/core/collection/array/arraySetDiff.js +42 -0
  186. package/src/core/collection/array/arraySetSortingDiff.js +67 -0
  187. package/src/core/collection/array/arraySetSortingDiff.spec.js +74 -0
  188. package/src/core/collection/array/arraySwapElements.js +12 -0
  189. package/src/core/collection/array/array_contains_duplicates.js +21 -0
  190. package/src/core/collection/array/array_copy_unique.js +30 -0
  191. package/src/core/collection/array/array_filter_by_multiple.js +36 -0
  192. package/src/core/collection/array/array_get_index_in_range.js +16 -0
  193. package/src/core/collection/array/array_push_if_unique.js +16 -0
  194. package/src/core/collection/array/array_range_equal_strict.js +22 -0
  195. package/src/core/collection/array/array_remove_element.js +19 -0
  196. package/src/core/collection/array/array_remove_first.js +16 -0
  197. package/src/core/collection/array/array_replace_all.js +17 -0
  198. package/src/core/collection/array/array_shrink_to_size.js +14 -0
  199. package/src/core/collection/array/array_swap.js +22 -0
  200. package/src/core/collection/array/binarySearchHighIndex.js +32 -0
  201. package/src/core/collection/array/binarySearchHighIndex.spec.js +50 -0
  202. package/src/core/collection/array/binarySearchLowIndex.js +34 -0
  203. package/src/core/collection/array/computeArrayMax.js +19 -0
  204. package/src/core/collection/array/computeArrayMin.js +19 -0
  205. package/src/core/collection/array/computeHashArray.d.ts +1 -0
  206. package/src/core/collection/array/computeHashArray.js +22 -0
  207. package/src/core/collection/array/computeHashIntegerArray.d.ts +1 -0
  208. package/src/core/collection/array/computeHashIntegerArray.js +10 -0
  209. package/src/core/collection/array/copyArray.js +49 -0
  210. package/src/core/collection/array/fastArrayEquals.js +17 -0
  211. package/src/core/collection/array/groupArrayBy.js +42 -0
  212. package/src/core/collection/array/isArrayEqual.js +50 -0
  213. package/src/core/collection/array/isArrayEqualStrict.d.ts +1 -0
  214. package/src/core/collection/array/isArrayEqualStrict.js +27 -0
  215. package/src/core/collection/array/isArraysEqualWithComparator.d.ts +1 -0
  216. package/src/core/collection/array/isArraysEqualWithComparator.js +32 -0
  217. package/src/core/collection/array/randomMultipleFromArray.js +34 -0
  218. package/src/core/collection/array/randomizeArrayElementOrder.js +23 -0
  219. package/src/core/collection/array/typed/isTypedArray.js +20 -0
  220. package/src/core/collection/array/typed/is_typed_array_equals.js +58 -0
  221. package/src/core/collection/array/typed/typed_array_copy.js +18 -0
  222. package/src/core/collection/array/typed/typed_array_is_integer.js +17 -0
  223. package/src/core/collection/array/typed/uint_array_for_count.js +17 -0
  224. package/src/core/collection/array/typedArrayToDataType.js +34 -0
  225. package/src/core/collection/array/weightedRandomFromArray.js +51 -0
  226. package/src/core/collection/heap/BinaryHeap.js +153 -0
  227. package/src/core/collection/heap/FastBinaryHeap.js +273 -0
  228. package/src/core/collection/heap/FastBinaryHeap.spec.js +136 -0
  229. package/src/core/collection/heap/Uin32Heap.spec.js +59 -0
  230. package/src/core/collection/heap/Uint32Heap.js +404 -0
  231. package/src/core/collection/list/FilteredListProjection.js +187 -0
  232. package/src/core/collection/list/List.d.ts +32 -0
  233. package/src/core/collection/list/List.js +933 -0
  234. package/src/core/collection/list/List.spec.js +109 -0
  235. package/src/core/collection/list/ListForwarder.d.ts +18 -0
  236. package/src/core/collection/list/ListForwarder.js +160 -0
  237. package/src/core/collection/list/ListForwarder.spec.js +99 -0
  238. package/src/core/collection/list/SortedListProjection.js +63 -0
  239. package/src/core/collection/map/AbstractAsyncMap.js +30 -0
  240. package/src/core/collection/map/AsyncLoadingCache.js +49 -0
  241. package/src/core/collection/map/AsyncMapWrapper.js +28 -0
  242. package/src/core/collection/map/AsyncRemoteHashMap.js +358 -0
  243. package/src/core/collection/map/CachedAsyncMap.js +43 -0
  244. package/src/core/collection/map/CachedAsyncMap.spec.js +47 -0
  245. package/src/core/collection/queue/Deque.d.ts +20 -0
  246. package/src/core/collection/queue/Deque.js +308 -0
  247. package/src/core/collection/queue/Deque.spec.js +89 -0
  248. package/src/core/collection/set/compute_set_difference.js +32 -0
  249. package/src/core/collection/set/compute_set_intersection.js +22 -0
  250. package/src/core/collection/set/set_remove.js +15 -0
  251. package/src/core/collection/table/DataType.js +19 -0
  252. package/src/core/collection/table/DataType2TypedArrayConstructorMapping.js +34 -0
  253. package/src/core/collection/table/DataTypeByteSizes.js +37 -0
  254. package/src/core/collection/table/DataTypeIndices.js +17 -0
  255. package/src/core/collection/table/RowFirstTable.js +500 -0
  256. package/src/core/collection/table/RowFirstTable.spec.js +287 -0
  257. package/src/core/collection/table/RowFirstTableSpec.js +271 -0
  258. package/src/core/collection/table/computeDataTypeByIndex.js +21 -0
  259. package/src/core/collection/table/deserializeRowFirstTable.js +48 -0
  260. package/src/core/collection/table/serializeRowFirstTable.js +27 -0
  261. package/src/core/color/Color.d.ts +43 -0
  262. package/src/core/color/Color.js +640 -0
  263. package/src/core/color/Color.spec.js +55 -0
  264. package/src/core/color/ColorUtils.js +85 -0
  265. package/src/core/color/YCbCr_to_rgb_uint24.js +19 -0
  266. package/src/core/color/hsluv/HSLuv.js +187 -0
  267. package/src/core/color/hsv2rgb.js +55 -0
  268. package/src/core/color/int2rgb.js +12 -0
  269. package/src/core/color/kelvin_to_rgb.js +51 -0
  270. package/src/core/color/kelvin_to_rgb.spec.js +61 -0
  271. package/src/core/color/linear_to_sRGB.js +16 -0
  272. package/src/core/color/parseHex.js +18 -0
  273. package/src/core/color/prototype_kelvin_to_rgb.js +44 -0
  274. package/src/core/color/rgb2hex.js +16 -0
  275. package/src/core/color/rgb2hsv.js +47 -0
  276. package/src/core/color/rgb2uint24.js +19 -0
  277. package/src/core/color/rgb_to_YCbCr_uint24.js +16 -0
  278. package/src/core/color/rgb_to_kelvin.js +34 -0
  279. package/src/core/color/rgb_to_kelvin.spec.js +15 -0
  280. package/src/core/color/sRGB_to_linear.js +21 -0
  281. package/src/core/events/signal/Signal.d.ts +52 -0
  282. package/src/core/events/signal/Signal.js +753 -0
  283. package/src/core/events/signal/Signal.spec.js +165 -0
  284. package/src/core/events/signal/SignalBinding.js +76 -0
  285. package/src/core/events/signal/SignalBinding.spec.js +58 -0
  286. package/src/core/events/signal/SignalFlags.js +4 -0
  287. package/src/core/events/signal/SignalHandler.js +81 -0
  288. package/src/core/events/signal/SignalUtils.js +22 -0
  289. package/src/core/events/signal/signalAggregateByTimeWindow.js +41 -0
  290. package/src/core/font/FontAsset.js +21 -0
  291. package/src/core/font/FontAssetLoader.js +20 -0
  292. package/src/core/fsm/StateMachine.js +440 -0
  293. package/src/core/fsm/Transition.js +65 -0
  294. package/src/core/fsm/exceptions/IllegalStateException.js +11 -0
  295. package/src/core/fsm/simple/SimpleStateMachine.d.ts +27 -0
  296. package/src/core/fsm/simple/SimpleStateMachine.js +235 -0
  297. package/src/core/fsm/simple/SimpleStateMachineDescription.d.ts +21 -0
  298. package/src/core/fsm/simple/SimpleStateMachineDescription.js +208 -0
  299. package/src/core/fsm/simple/SimpleStateMachineDescription.spec.js +71 -0
  300. package/src/core/function/FunctionCompiler.js +161 -0
  301. package/src/core/function/Functions.js +122 -0
  302. package/src/core/function/extractFunctionBody.js +13 -0
  303. package/src/core/geom/2d/AABB2Math.js +40 -0
  304. package/src/core/geom/2d/AABB2Math.spec.js +17 -0
  305. package/src/core/geom/2d/Geometry2D.js +59 -0
  306. package/src/core/geom/2d/UvUtils.js +49 -0
  307. package/src/core/geom/2d/UvUtils.spec.js +55 -0
  308. package/src/core/geom/2d/bvh/BinaryNode2.js +152 -0
  309. package/src/core/geom/2d/bvh/LeafNode2.js +11 -0
  310. package/src/core/geom/2d/bvh/Node2.js +51 -0
  311. package/src/core/geom/2d/circle/Circle.js +105 -0
  312. package/src/core/geom/2d/circle/circleIntersectsCircle.js +19 -0
  313. package/src/core/geom/2d/circle/circleIntersectsPoint.js +16 -0
  314. package/src/core/geom/2d/circle/computeCircleCirclePenetrationDistance.js +30 -0
  315. package/src/core/geom/2d/compute_polygon_area_2d.js +32 -0
  316. package/src/core/geom/2d/compute_polygon_area_2d.spec.js +10 -0
  317. package/src/core/geom/2d/compute_triangle_area_2d.js +15 -0
  318. package/src/core/geom/2d/compute_triangle_area_2d.spec.js +9 -0
  319. package/src/core/geom/2d/convex-hull/convex_hull_jarvis_2d.js +64 -0
  320. package/src/core/geom/2d/convex-hull/convex_hull_jarvis_2d.spec.js +33 -0
  321. package/src/core/geom/2d/convex-hull/convex_hull_monotone_2d.js +82 -0
  322. package/src/core/geom/2d/convex-hull/fixed_convex_hull_humus.js +135 -0
  323. package/src/core/geom/2d/convex-hull/fixed_convex_hull_relaxation.js +282 -0
  324. package/src/core/geom/2d/convex-hull/orientation3.js +444 -0
  325. package/src/core/geom/2d/convex-hull/orientation3_array.js +22 -0
  326. package/src/core/geom/2d/convex-hull/orientation3_v2.js +12 -0
  327. package/src/core/geom/2d/intersect_ray_2d.js +56 -0
  328. package/src/core/geom/2d/quad-tree/PointQuadTree.js +465 -0
  329. package/src/core/geom/2d/quad-tree/QuadTreeDatum.js +114 -0
  330. package/src/core/geom/2d/quad-tree/QuadTreeNode.js +578 -0
  331. package/src/core/geom/2d/quad-tree/QuadTreeNode.spec.js +182 -0
  332. package/src/core/geom/2d/quad-tree/qt_collect_by_circle.js +67 -0
  333. package/src/core/geom/2d/quad-tree/qt_match_data_by_circle.js +70 -0
  334. package/src/core/geom/2d/shape/AbstractShape.js +45 -0
  335. package/src/core/geom/2d/shape/CircleShape.js +67 -0
  336. package/src/core/geom/2d/shape/PointShape.js +34 -0
  337. package/src/core/geom/2d/shape/Shape2DType.js +9 -0
  338. package/src/core/geom/3d/CircleMath.js +24 -0
  339. package/src/core/geom/3d/SurfacePoint3.d.ts +16 -0
  340. package/src/core/geom/3d/SurfacePoint3.js +98 -0
  341. package/src/core/geom/3d/aabb/aabb3_build_corners.d.ts +1 -0
  342. package/src/core/geom/3d/aabb/aabb3_build_corners.js +44 -0
  343. package/src/core/geom/3d/aabb/aabb3_build_corners.spec.js +27 -0
  344. package/src/core/geom/3d/aabb/aabb3_build_frustum.js +48 -0
  345. package/src/core/geom/3d/aabb/aabb3_computeDistanceAbovePlane_max.spec.js +8 -0
  346. package/src/core/geom/3d/aabb/aabb3_compute_distance_above_plane_max.js +28 -0
  347. package/src/core/geom/3d/aabb/aabb3_compute_projected_area.js +86 -0
  348. package/src/core/geom/3d/aabb/aabb3_estimate_projected_area2.js +59 -0
  349. package/src/core/geom/3d/aabb/aabb3_from_min_max.js +15 -0
  350. package/src/core/geom/3d/aabb/aabb3_matrix4_project.js +37 -0
  351. package/src/core/geom/3d/aabb/aabb3_matrix4_project.spec.js +54 -0
  352. package/src/core/geom/3d/aabb/aabb3_matrix4_project_by_corners.js +96 -0
  353. package/src/core/geom/3d/aabb/computeAABB3PlaneSide.js +82 -0
  354. package/src/core/geom/3d/aabb/computeBoundingBoxFromVertexData.js +20 -0
  355. package/src/core/geom/3d/aabb/compute_aabb_from_points.js +29 -0
  356. package/src/core/geom/3d/apply_mat4_transform_to_v3_array.js +51 -0
  357. package/src/core/geom/3d/compose_matrix4_array.js +53 -0
  358. package/src/core/geom/3d/compute_bounding_sphere_of_2_spheres.js +74 -0
  359. package/src/core/geom/3d/compute_triangle_normal.js +76 -0
  360. package/src/core/geom/3d/cone/computeConeBoundingBox.js +54 -0
  361. package/src/core/geom/3d/cone/computeConePlaneSide.js +86 -0
  362. package/src/core/geom/3d/cone/computeConePlaneSide.spec.js +13 -0
  363. package/src/core/geom/3d/cone/compute_bounding_cone_of_2_cones.js +92 -0
  364. package/src/core/geom/3d/cone/compute_bounding_cone_of_2_cones.spec.js +95 -0
  365. package/src/core/geom/3d/decompose_matrix_4_array.js +67 -0
  366. package/src/core/geom/3d/eulerAnglesFromMatrix.js +115 -0
  367. package/src/core/geom/3d/frustum/array_normalize_plane.js +25 -0
  368. package/src/core/geom/3d/frustum/frustum3_computeNearestPointToPoint.js +112 -0
  369. package/src/core/geom/3d/frustum/frustum_from_projection_matrix_array.js +65 -0
  370. package/src/core/geom/3d/frustum/read_cluster_frustum_corners.js +46 -0
  371. package/src/core/geom/3d/frustum/read_frustum_planes_to_array.d.ts +3 -0
  372. package/src/core/geom/3d/frustum/read_frustum_planes_to_array.js +24 -0
  373. package/src/core/geom/3d/frustum/slice_frustum_linear_to_points.js +92 -0
  374. package/src/core/geom/3d/line/line3_computeSegmentPointDistance_sqr.js +41 -0
  375. package/src/core/geom/3d/line/line3_compute_nearest_point_to_point.js +36 -0
  376. package/src/core/geom/3d/matrix/MATRIX_4_IDENTITY.js +9 -0
  377. package/src/core/geom/3d/matrix/m4_multiply_alphatensor.js +131 -0
  378. package/src/core/geom/3d/morton/Morton.js +6 -0
  379. package/src/core/geom/3d/morton/mortonEncode_LUT.js +143 -0
  380. package/src/core/geom/3d/morton/mortonEncode_magicbits.js +53 -0
  381. package/src/core/geom/3d/morton/reinterpret_float32_as_int32.js +13 -0
  382. package/src/core/geom/3d/morton/v3_morton_encode_transformed.js +37 -0
  383. package/src/core/geom/3d/morton/v3_morton_encode_transformed.spec.js +20 -0
  384. package/src/core/geom/3d/normal/hemioct/encode_unit3_hemioct.js +55 -0
  385. package/src/core/geom/3d/normal/hemioct/unit_hemioct.spec.js +40 -0
  386. package/src/core/geom/3d/normal/lamber_azimuth/transform.js +61 -0
  387. package/src/core/geom/3d/normal/octahedron/decode_octahedron_to_unit.js +31 -0
  388. package/src/core/geom/3d/normal/octahedron/encode_unit_to_octahedron.js +33 -0
  389. package/src/core/geom/3d/normal/octahedron/encoding.spec.js +29 -0
  390. package/src/core/geom/3d/normal/spherical/sphere_map_transform.js +77 -0
  391. package/src/core/geom/3d/plane/is_point_within_planes.js +46 -0
  392. package/src/core/geom/3d/plane/lerp_planes_to_array.js +51 -0
  393. package/src/core/geom/3d/plane/orient3d_fast.js +48 -0
  394. package/src/core/geom/3d/plane/orient3d_robust.js +41 -0
  395. package/src/core/geom/3d/plane/plane3_intersect_plane.js +62 -0
  396. package/src/core/geom/3d/plane/plane3_lerp.js +62 -0
  397. package/src/core/geom/3d/plane/plane3_lerp_v0.js +46 -0
  398. package/src/core/geom/3d/plane/plane3_projectPoint.js +24 -0
  399. package/src/core/geom/3d/plane/plane3_projectPoint.spec.js +54 -0
  400. package/src/core/geom/3d/plane/plane3_slerp.js +102 -0
  401. package/src/core/geom/3d/plane/plane3_slerp.spec.js +209 -0
  402. package/src/core/geom/3d/plane/plane_computeConvex3PlaneIntersection.js +72 -0
  403. package/src/core/geom/3d/plane/plane_three_compute_convex3_plane_intersection.js +24 -0
  404. package/src/core/geom/3d/ray/ray3_array_apply_matrix4.js +56 -0
  405. package/src/core/geom/3d/ray/ray3_array_compose.js +19 -0
  406. package/src/core/geom/3d/ray/ray3_array_compose.spec.js +14 -0
  407. package/src/core/geom/3d/ray/ray_computeNearestPointToPoint.js +37 -0
  408. package/src/core/geom/3d/ray/ray_distance_to_point.js +14 -0
  409. package/src/core/geom/3d/shape/AbstractShape3D.d.ts +3 -0
  410. package/src/core/geom/3d/shape/AbstractShape3D.js +91 -0
  411. package/src/core/geom/3d/shape/TransformedShape3D.d.ts +10 -0
  412. package/src/core/geom/3d/shape/TransformedShape3D.js +214 -0
  413. package/src/core/geom/3d/shape/TransformedShape3D.spec.js +55 -0
  414. package/src/core/geom/3d/shape/UnionShape3D.d.ts +5 -0
  415. package/src/core/geom/3d/shape/UnionShape3D.js +319 -0
  416. package/src/core/geom/3d/shape/UnitCubeShape3D.d.ts +5 -0
  417. package/src/core/geom/3d/shape/UnitCubeShape3D.js +87 -0
  418. package/src/core/geom/3d/shape/UnitCubeShape3D.spec.js +42 -0
  419. package/src/core/geom/3d/shape/UnitSphereShape3D.d.ts +5 -0
  420. package/src/core/geom/3d/shape/UnitSphereShape3D.js +71 -0
  421. package/src/core/geom/3d/shape/json/shape_from_json.js +19 -0
  422. package/src/core/geom/3d/shape/json/shape_to_json.js +21 -0
  423. package/src/core/geom/3d/shape/json/shape_to_type.js +23 -0
  424. package/src/core/geom/3d/shape/json/type_adapters.js +58 -0
  425. package/src/core/geom/3d/shape/util/compute_signed_distance_gradient_by_sampling.js +48 -0
  426. package/src/core/geom/3d/shape/util/shape_to_visual_entity.js +159 -0
  427. package/src/core/geom/3d/sphere/harmonics/README.md +15 -0
  428. package/src/core/geom/3d/sphere/harmonics/sh3_add.js +21 -0
  429. package/src/core/geom/3d/sphere/harmonics/sh3_basis_at.js +30 -0
  430. package/src/core/geom/3d/sphere/harmonics/sh3_dering_optimize_positive.js +624 -0
  431. package/src/core/geom/3d/sphere/harmonics/sh3_sample_by_direction.js +50 -0
  432. package/src/core/geom/3d/sphere/harmonics/sh3_sample_irradiance_by_direction.js +53 -0
  433. package/src/core/geom/3d/sphere/sphereIntersectsPoint.js +26 -0
  434. package/src/core/geom/3d/sphere/sphere_array_intersects_point.js +15 -0
  435. package/src/core/geom/3d/sphere/sphere_array_intersects_ray.js +25 -0
  436. package/src/core/geom/3d/sphere/sphere_intersects_ray.js +51 -0
  437. package/src/core/geom/3d/sphere/sphere_radius_sqr_from_v3_array_transformed.js +28 -0
  438. package/src/core/geom/3d/tetrahedra/GetDepthForTetrahedronProbe.glsl +43 -0
  439. package/src/core/geom/3d/tetrahedra/README.md +16 -0
  440. package/src/core/geom/3d/tetrahedra/TetrahedralMesh.js +650 -0
  441. package/src/core/geom/3d/tetrahedra/TetrahedralMesh.spec.js +233 -0
  442. package/src/core/geom/3d/tetrahedra/build_tetrahedral_mesh_buffer_geometry.js +75 -0
  443. package/src/core/geom/3d/tetrahedra/compute_bounding_simplex_3d.js +179 -0
  444. package/src/core/geom/3d/tetrahedra/compute_bounding_simplex_3d.spec.js +66 -0
  445. package/src/core/geom/3d/tetrahedra/compute_circumsphere.js +271 -0
  446. package/src/core/geom/3d/tetrahedra/delaunay/Cavity.js +90 -0
  447. package/src/core/geom/3d/tetrahedra/delaunay/compute_delaunay_tetrahedral_mesh.js +92 -0
  448. package/src/core/geom/3d/tetrahedra/delaunay/compute_delaunay_tetrahedral_mesh.spec.js +14 -0
  449. package/src/core/geom/3d/tetrahedra/delaunay/debug_validate_mesh.js +19 -0
  450. package/src/core/geom/3d/tetrahedra/delaunay/fill_in_a_cavity.js +191 -0
  451. package/src/core/geom/3d/tetrahedra/delaunay/push_boundary_with_validation.js +27 -0
  452. package/src/core/geom/3d/tetrahedra/delaunay/tetrahedral_mesh_compute_cavity.js +89 -0
  453. package/src/core/geom/3d/tetrahedra/delaunay/tetrahedral_mesh_compute_sub_determinant.js +77 -0
  454. package/src/core/geom/3d/tetrahedra/delaunay/tetrahedral_mesh_compute_sub_determinant.spec.js +30 -0
  455. package/src/core/geom/3d/tetrahedra/delaunay/tetrahedral_mesh_walk_towards_containing_tetrahedron.js +58 -0
  456. package/src/core/geom/3d/tetrahedra/delaunay/validate_cavity_boundary.js +60 -0
  457. package/src/core/geom/3d/tetrahedra/in_sphere_fast.js +90 -0
  458. package/src/core/geom/3d/tetrahedra/in_sphere_robust.js +53 -0
  459. package/src/core/geom/3d/tetrahedra/prototypeTetrahedraBuilder.js +107 -0
  460. package/src/core/geom/3d/tetrahedra/tetrahedron_compute_signed_volume.js +83 -0
  461. package/src/core/geom/3d/tetrahedra/tetrahedron_compute_signed_volume.spec.js +24 -0
  462. package/src/core/geom/3d/tetrahedra/tetrahedron_contains_point.js +26 -0
  463. package/src/core/geom/3d/tetrahedra/tetrahedron_contains_point.spec.js +66 -0
  464. package/src/core/geom/3d/tetrahedra/validate_tetrahedral_mesh.js +166 -0
  465. package/src/core/geom/3d/topology/bounds/computeTopoMeshBoundingSphere.js +37 -0
  466. package/src/core/geom/3d/topology/bounds/computeTopoMeshBoundiningBox.js +16 -0
  467. package/src/core/geom/3d/topology/bounds/computeTriangleClusterNormalBoundingCone.js +87 -0
  468. package/src/core/geom/3d/topology/compareEdges.js +16 -0
  469. package/src/core/geom/3d/topology/compareFaces.js +9 -0
  470. package/src/core/geom/3d/topology/compareVertices.js +9 -0
  471. package/src/core/geom/3d/topology/computeTopoMeshVertexDuplicates.js +103 -0
  472. package/src/core/geom/3d/topology/debugValidateMesh.js +13 -0
  473. package/src/core/geom/3d/topology/expandConnectivityByLocality.js +103 -0
  474. package/src/core/geom/3d/topology/isEdgeConnectedToOutline.js +12 -0
  475. package/src/core/geom/3d/topology/isVertexConnectedToOutline.js +19 -0
  476. package/src/core/geom/3d/topology/query/query_edge_is_boundary.js +7 -0
  477. package/src/core/geom/3d/topology/query/query_edge_is_manifold.js +13 -0
  478. package/src/core/geom/3d/topology/query/query_edge_is_manifold_or_boundary.js +11 -0
  479. package/src/core/geom/3d/topology/query/query_edge_is_wire.js +13 -0
  480. package/src/core/geom/3d/topology/query/query_edge_other_vertex.js +20 -0
  481. package/src/core/geom/3d/topology/query/query_edge_share_vert.js +9 -0
  482. package/src/core/geom/3d/topology/query/query_face_get_other_edges.js +39 -0
  483. package/src/core/geom/3d/topology/query/query_face_next_vertex.js +19 -0
  484. package/src/core/geom/3d/topology/query/query_face_prev_vertex.js +18 -0
  485. package/src/core/geom/3d/topology/query/query_vertex_in_edge.js +14 -0
  486. package/src/core/geom/3d/topology/query/query_vertex_pair_share_face.js +24 -0
  487. package/src/core/geom/3d/topology/query/query_vertices_in_edge.js +19 -0
  488. package/src/core/geom/3d/topology/samples/sampleFloodFill.js +275 -0
  489. package/src/core/geom/3d/topology/simplify/EdgeCollapseCandidate.js +177 -0
  490. package/src/core/geom/3d/topology/simplify/build_edge_collapse_candidates.js +39 -0
  491. package/src/core/geom/3d/topology/simplify/collapseEdge.js +182 -0
  492. package/src/core/geom/3d/topology/simplify/collapseEdge.spec.js +24 -0
  493. package/src/core/geom/3d/topology/simplify/collapse_all_degenerate_edges.js +38 -0
  494. package/src/core/geom/3d/topology/simplify/collapse_degenerate_edge.js +10 -0
  495. package/src/core/geom/3d/topology/simplify/computeEdgeCollapseCost.js +82 -0
  496. package/src/core/geom/3d/topology/simplify/compute_face_normal_change_dot_product.js +81 -0
  497. package/src/core/geom/3d/topology/simplify/decimate_edge_collapse_snap.js +277 -0
  498. package/src/core/geom/3d/topology/simplify/edge_collapse_quadratic.js +126 -0
  499. package/src/core/geom/3d/topology/simplify/prototypeMeshSimplification.js +501 -0
  500. package/src/core/geom/3d/topology/simplify/quadratic/Quadratic3.js +302 -0
  501. package/src/core/geom/3d/topology/simplify/quadratic/build_vertex_quadratics.js +151 -0
  502. package/src/core/geom/3d/topology/simplify/quadratic/compute_edge_collapse_cost_quadratic.js +28 -0
  503. package/src/core/geom/3d/topology/simplify/simplifyTopoMesh.js +262 -0
  504. package/src/core/geom/3d/topology/simplify/simplifyTopoMesh2.js +119 -0
  505. package/src/core/geom/3d/topology/simplify/tm_edge_collapse_is_degenerate_flip.js +81 -0
  506. package/src/core/geom/3d/topology/struct/TopoEdge.js +346 -0
  507. package/src/core/geom/3d/topology/struct/TopoEdge.spec.js +52 -0
  508. package/src/core/geom/3d/topology/struct/TopoMesh.js +649 -0
  509. package/src/core/geom/3d/topology/struct/TopoTriangle.js +292 -0
  510. package/src/core/geom/3d/topology/struct/TopoVertex.js +328 -0
  511. package/src/core/geom/3d/topology/struct/TopoVertex.spec.js +128 -0
  512. package/src/core/geom/3d/topology/struct/binary/BinaryElementPool.js +288 -0
  513. package/src/core/geom/3d/topology/struct/binary/BinaryElementPool.spec.js +36 -0
  514. package/src/core/geom/3d/topology/struct/binary/BinaryTopology.js +617 -0
  515. package/src/core/geom/3d/topology/struct/binary/BinaryTopology.spec.js +16 -0
  516. package/src/core/geom/3d/topology/struct/binary/io/OrderedEdge.js +66 -0
  517. package/src/core/geom/3d/topology/struct/binary/io/bt_index_geometry_to_topology.js +188 -0
  518. package/src/core/geom/3d/topology/struct/binary/io/bt_index_geometry_to_topology.spec.js +84 -0
  519. package/src/core/geom/3d/topology/struct/binary/io/bt_mesh_calc_edges.js +51 -0
  520. package/src/core/geom/3d/topology/struct/binary/io/create_edge.js +106 -0
  521. package/src/core/geom/3d/topology/struct/binary/io/get_or_create_edge_map.js +26 -0
  522. package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_edge_has_vertex.js +16 -0
  523. package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_edge_has_vertex.spec.js +15 -0
  524. package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_edge_other_vertex.js +21 -0
  525. package/src/core/geom/3d/topology/struct/binary/query/bt_mesh_edge_other_vertex.spec.js +16 -0
  526. package/src/core/geom/3d/topology/struct/prototypeBinaryTopology.js +55 -0
  527. package/src/core/geom/3d/topology/three_buffer_geometry_to_topo_mesh.js +30 -0
  528. package/src/core/geom/3d/topology/tm_edge_kill.js +24 -0
  529. package/src/core/geom/3d/topology/tm_edge_splice.js +42 -0
  530. package/src/core/geom/3d/topology/tm_face_area.js +18 -0
  531. package/src/core/geom/3d/topology/tm_face_kill.js +12 -0
  532. package/src/core/geom/3d/topology/tm_face_normal.js +14 -0
  533. package/src/core/geom/3d/topology/tm_kill_only_edge.js +35 -0
  534. package/src/core/geom/3d/topology/tm_kill_only_face.js +12 -0
  535. package/src/core/geom/3d/topology/tm_kill_only_vert.js +14 -0
  536. package/src/core/geom/3d/topology/tm_vert_kill.js +19 -0
  537. package/src/core/geom/3d/topology/tm_vert_splice.js +64 -0
  538. package/src/core/geom/3d/topology/tm_vertex_compute_normal.js +42 -0
  539. package/src/core/geom/3d/topology/topo_mesh_to_three_buffer_geometry.js +64 -0
  540. package/src/core/geom/3d/topology/topology_find_broken_links.js +107 -0
  541. package/src/core/geom/3d/topology/update_topo_face_normals.js +23 -0
  542. package/src/core/geom/3d/topology/util/mesh_flood_fill.js +61 -0
  543. package/src/core/geom/3d/topology/weld_duplicate_vertices.js +63 -0
  544. package/src/core/geom/3d/triangle/computeTrianglePlaneSide.js +44 -0
  545. package/src/core/geom/3d/triangle/computeTriangleRayIntersection.js +327 -0
  546. package/src/core/geom/3d/util/make_justified_point_grid.js +31 -0
  547. package/src/core/geom/3d/voxel/DenseBitVolume3D.js +87 -0
  548. package/src/core/geom/3d/voxel/buildVolumeFromProjectedGeometry.js +23 -0
  549. package/src/core/geom/AABB2.d.ts +28 -0
  550. package/src/core/geom/AABB2.js +656 -0
  551. package/src/core/geom/AABB2.spec.js +53 -0
  552. package/src/core/geom/Bezier.js +24 -0
  553. package/src/core/geom/Bezier.spec.js +16 -0
  554. package/src/core/geom/ConicRay.js +200 -0
  555. package/src/core/geom/GeometryMath.js +33 -0
  556. package/src/core/geom/LineSegment.js +207 -0
  557. package/src/core/geom/LineSegment2.js +175 -0
  558. package/src/core/geom/Matrix3.js +16 -0
  559. package/src/core/geom/Matrix4.js +270 -0
  560. package/src/core/geom/Plane.js +250 -0
  561. package/src/core/geom/Quaternion.d.ts +74 -0
  562. package/src/core/geom/Quaternion.js +1857 -0
  563. package/src/core/geom/Quaternion.spec.js +262 -0
  564. package/src/core/geom/Rectangle.js +219 -0
  565. package/src/core/geom/Rectangle.spec.js +11 -0
  566. package/src/core/geom/Vector1.d.ts +35 -0
  567. package/src/core/geom/Vector1.js +306 -0
  568. package/src/core/geom/Vector1.spec.js +74 -0
  569. package/src/core/geom/Vector2.d.ts +47 -0
  570. package/src/core/geom/Vector2.js +764 -0
  571. package/src/core/geom/Vector2.spec.js +142 -0
  572. package/src/core/geom/Vector3.d.ts +114 -0
  573. package/src/core/geom/Vector3.js +1133 -0
  574. package/src/core/geom/Vector3.schema.json +16 -0
  575. package/src/core/geom/Vector3.spec.js +37 -0
  576. package/src/core/geom/Vector4.d.ts +40 -0
  577. package/src/core/geom/Vector4.js +471 -0
  578. package/src/core/geom/Vector4.spec.js +11 -0
  579. package/src/core/geom/normalize_angle_rad.js +18 -0
  580. package/src/core/geom/normalize_angle_rad.spec.js +45 -0
  581. package/src/core/geom/packing/computeBoundingSphereOfSpheres.d.ts +1 -0
  582. package/src/core/geom/packing/computeBoundingSphereOfSpheres.js +85 -0
  583. package/src/core/geom/packing/computeBoundingSphereOfSpheres.spec.js +24 -0
  584. package/src/core/geom/packing/max-rect/MaxRectangles.js +468 -0
  585. package/src/core/geom/packing/max-rect/removeRedundantBoxes.js +69 -0
  586. package/src/core/geom/packing/max-rect/removeRedundantBoxesArray.js +40 -0
  587. package/src/core/geom/packing/miniball/Miniball.js +465 -0
  588. package/src/core/geom/packing/miniball/PointSet.js +40 -0
  589. package/src/core/geom/packing/miniball/Quality.js +116 -0
  590. package/src/core/geom/packing/miniball/Subspan.js +581 -0
  591. package/src/core/geom/packing/miniball/Subspan.spec.js +51 -0
  592. package/src/core/geom/random/randomPointInBox.js +16 -0
  593. package/src/core/geom/random/randomPointInCircle.js +18 -0
  594. package/src/core/geom/random/randomPointInPoint.js +11 -0
  595. package/src/core/geom/random/randomPointInSphere.js +35 -0
  596. package/src/core/geom/random/randomPointOnBox.js +37 -0
  597. package/src/core/geom/random/randomPointOnSphere.js +30 -0
  598. package/src/core/geom/v3_angle_between.js +69 -0
  599. package/src/core/geom/v3_distance.js +16 -0
  600. package/src/core/geom/v3_distance_above_plane.js +20 -0
  601. package/src/core/geom/v3_distance_above_plane.spec.js +40 -0
  602. package/src/core/geom/v3_distance_sqr.d.ts +1 -0
  603. package/src/core/geom/v3_distance_sqr.js +17 -0
  604. package/src/core/geom/v3_dot.js +13 -0
  605. package/src/core/geom/v3_length.js +10 -0
  606. package/src/core/geom/v3_length_sqr.js +10 -0
  607. package/src/core/geom/v3_lerp.js +26 -0
  608. package/src/core/geom/v3_slerp.js +48 -0
  609. package/src/core/graph/Edge.js +115 -0
  610. package/src/core/graph/Edge.spec.js +50 -0
  611. package/src/core/graph/EdgeDirection.js +11 -0
  612. package/src/core/graph/Graph.js +564 -0
  613. package/src/core/graph/GraphElement.js +6 -0
  614. package/src/core/graph/GraphUtils.js +282 -0
  615. package/src/core/graph/MultiNode.js +39 -0
  616. package/src/core/graph/Node.js +12 -0
  617. package/src/core/graph/SquareMatrix.js +204 -0
  618. package/src/core/graph/SquareMatrix.spec.js +52 -0
  619. package/src/core/graph/WeightedEdge.js +31 -0
  620. package/src/core/graph/build_face_graph_from_mesh.js +115 -0
  621. package/src/core/graph/cluster_mesh_metis.js +213 -0
  622. package/src/core/graph/coarsen_graph.js +33 -0
  623. package/src/core/graph/coarsen_graph.spec.js +43 -0
  624. package/src/core/graph/coloring/colorizeGraph.js +257 -0
  625. package/src/core/graph/coloring/colorizeGraphGreedy.js +63 -0
  626. package/src/core/graph/coloring/colorizeGraphGreedy.spec.js +26 -0
  627. package/src/core/graph/coloring/colorizeGraphGreedyWeight.js +28 -0
  628. package/src/core/graph/coloring/colorizeGraphMCS.js +82 -0
  629. package/src/core/graph/coloring/validateGraphColoring.js +45 -0
  630. package/src/core/graph/convertGraphToDotString.js +68 -0
  631. package/src/core/graph/eigen/eigen.js +229 -0
  632. package/src/core/graph/eigen/eigen.spec.js +27 -0
  633. package/src/core/graph/eigen/eigen_values_find_spectral_gap.js +25 -0
  634. package/src/core/graph/graph_adjacency_matrix.js +21 -0
  635. package/src/core/graph/graph_compute_disconnected_clusters.js +59 -0
  636. package/src/core/graph/graph_degree_matrix.js +18 -0
  637. package/src/core/graph/graph_k_means_cluster.js +238 -0
  638. package/src/core/graph/graph_laplacian_matrix.js +22 -0
  639. package/src/core/graph/layout/BoxLayouter.js +584 -0
  640. package/src/core/graph/layout/CircleLayout.js +926 -0
  641. package/src/core/graph/layout/Connection.js +36 -0
  642. package/src/core/graph/layout/box/forceIntoBox.js +45 -0
  643. package/src/core/graph/layout/box/pullBoxTowardsPoint.js +20 -0
  644. package/src/core/graph/layout/box/resolveAABB2Overlap.js +22 -0
  645. package/src/core/graph/layout/box/resolveBoxOverlapUsingForce.js +99 -0
  646. package/src/core/graph/layout/computeDisconnectedSubGraphs.js +57 -0
  647. package/src/core/graph/metis/metis.js +35 -0
  648. package/src/core/graph/metis/metis_options.js +33 -0
  649. package/src/core/graph/mn_graph_collapse_weighted_edge.js +75 -0
  650. package/src/core/graph/v2/Graph.js +480 -0
  651. package/src/core/graph/v2/Graph.spec.js +56 -0
  652. package/src/core/graph/v2/NodeContainer.js +155 -0
  653. package/src/core/json/JsonUtils.js +101 -0
  654. package/src/core/json/objectHasProperty.js +13 -0
  655. package/src/core/json/resolvePath.js +16 -0
  656. package/src/core/json/resolvePathByArray.d.ts +1 -0
  657. package/src/core/json/resolvePathByArray.js +53 -0
  658. package/src/core/land/reactive/AbstractCachingParser.js +71 -0
  659. package/src/core/land/reactive/ReactiveLexer.js +158 -0
  660. package/src/core/land/reactive/ReactiveLexer.ts +181 -0
  661. package/src/core/land/reactive/ReactiveListener.ts +323 -0
  662. package/src/core/land/reactive/ReactiveOperatorType.js +12 -0
  663. package/src/core/land/reactive/ReactiveParser.js +1573 -0
  664. package/src/core/land/reactive/ReactiveParser.ts +1776 -0
  665. package/src/core/land/reactive/ReactiveVisitor.js +1 -0
  666. package/src/core/land/reactive/ReactiveVisitor.ts +218 -0
  667. package/src/core/land/reactive/compileReactiveExpression.js +18 -0
  668. package/src/core/land/reactive/compiler/ReactiveCompiler.js +350 -0
  669. package/src/core/land/reactive/compiler/ReactiveCompiler.spec.js +169 -0
  670. package/src/core/land/reactive/compiler/ReactiveNearlyCompiler.js +166 -0
  671. package/src/core/land/reactive/compiler/ReactiveParser.js +34 -0
  672. package/src/core/land/reactive/nearley/Reactive.ne +87 -0
  673. package/src/core/land/reactive/nearley/ReactiveNearley.js +187 -0
  674. package/src/core/land/reactive/pegjs/Reactive.peg +377 -0
  675. package/src/core/land/reactive/pegjs/ReactivePegCompiler.js +131 -0
  676. package/src/core/land/reactive/pegjs/ReactivePegParser.js +15 -0
  677. package/src/core/land/reactive/pegjs/parser.js +3458 -0
  678. package/src/core/land/reactive/validateReactiveExpression.js +11 -0
  679. package/src/core/localization/LanguageMetadata.js +48 -0
  680. package/src/core/localization/LocaleDataset.js +37 -0
  681. package/src/core/localization/Localization.js +253 -0
  682. package/src/core/math/DEG_TO_RAD.js +1 -0
  683. package/src/core/math/EPSILON.js +5 -0
  684. package/src/core/math/FLT_EPSILON_32.js +7 -0
  685. package/src/core/math/GOLDEN_RATIO.js +5 -0
  686. package/src/core/math/PI2.js +5 -0
  687. package/src/core/math/PI_HALF.js +5 -0
  688. package/src/core/math/RAD_TO_DEG.js +1 -0
  689. package/src/core/math/bell_membership_function.js +19 -0
  690. package/src/core/math/bessel_3.js +11 -0
  691. package/src/core/math/bessel_i0.js +26 -0
  692. package/src/core/math/bezierCurve.js +22 -0
  693. package/src/core/math/clamp.js +16 -0
  694. package/src/core/math/clamp.spec.js +15 -0
  695. package/src/core/math/clamp01.js +15 -0
  696. package/src/core/math/computeGreatestCommonDivisor.js +28 -0
  697. package/src/core/math/computeIsoscelesTriangleApexAngle.js +17 -0
  698. package/src/core/math/computeWholeDivisorLow.js +30 -0
  699. package/src/core/math/computeWholeDivisorLow.spec.js +9 -0
  700. package/src/core/math/copysign.js +16 -0
  701. package/src/core/math/copysign.spec.js +13 -0
  702. package/src/core/math/cubicCurve.js +34 -0
  703. package/src/core/math/cubicCurve.spec.js +13 -0
  704. package/src/core/math/epsilonEquals.d.ts +1 -0
  705. package/src/core/math/epsilonEquals.js +16 -0
  706. package/src/core/math/exp2.js +8 -0
  707. package/src/core/math/fabsf.js +8 -0
  708. package/src/core/math/fract.js +10 -0
  709. package/src/core/math/gaussian.js +9 -0
  710. package/src/core/math/hash/computeHashFloatArray.js +23 -0
  711. package/src/core/math/hash/computeHashFloatArray.spec.js +11 -0
  712. package/src/core/math/hash/computeObjectHash.js +54 -0
  713. package/src/core/math/hash/computeObjectHash.spec.js +42 -0
  714. package/src/core/math/hash/murmur3_32.js +39 -0
  715. package/src/core/math/hash/squirrel3.js +21 -0
  716. package/src/core/math/intersects1D.js +19 -0
  717. package/src/core/math/interval/NumericInterval.js +214 -0
  718. package/src/core/math/interval/NumericInterval.spec.js +80 -0
  719. package/src/core/math/inverseLerp.js +20 -0
  720. package/src/core/math/inverseLerp.spec.js +13 -0
  721. package/src/core/math/isPowerOrTwo.js +11 -0
  722. package/src/core/math/isValueBetween.js +10 -0
  723. package/src/core/math/isValueBetween.spec.js +11 -0
  724. package/src/core/math/isValueBetweenInclusive.js +10 -0
  725. package/src/core/math/isValueBetweenInclusive.spec.js +16 -0
  726. package/src/core/math/isqrt.js +28 -0
  727. package/src/core/math/isqrt.spec.js +9 -0
  728. package/src/core/math/lerp.js +10 -0
  729. package/src/core/math/lerp.spec.js +15 -0
  730. package/src/core/math/makeCubicCurve.js +15 -0
  731. package/src/core/math/makeCubicCurve.spec.js +9 -0
  732. package/src/core/math/makeSequenceLoop.js +20 -0
  733. package/src/core/math/max.spec.js +25 -0
  734. package/src/core/math/max2.js +10 -0
  735. package/src/core/math/max2.spec.js +13 -0
  736. package/src/core/math/max3.js +18 -0
  737. package/src/core/math/max3.spec.js +27 -0
  738. package/src/core/math/min2.js +9 -0
  739. package/src/core/math/min2.spec.js +37 -0
  740. package/src/core/math/min3.js +18 -0
  741. package/src/core/math/min3.spec.js +27 -0
  742. package/src/core/math/mix.js +10 -0
  743. package/src/core/math/newton_solver_1d.js +21 -0
  744. package/src/core/math/noise/curl_noise_3d.js +27 -0
  745. package/src/core/math/noise/curl_noise_3dt.js +28 -0
  746. package/src/core/math/noise/sdnoise.js +952 -0
  747. package/src/core/math/normalizeArrayVector.js +25 -0
  748. package/src/core/math/overlap1D.js +19 -0
  749. package/src/core/math/overlap1D.spec.js +10 -0
  750. package/src/core/math/physics/brdf/D_GGX.js +13 -0
  751. package/src/core/math/physics/brdf/brdf_burley.js +25 -0
  752. package/src/core/math/physics/bsdf/bsdf_schlick.js +22 -0
  753. package/src/core/math/physics/irradiance/interpolate_irradiance_linear.js +18 -0
  754. package/src/core/math/physics/irradiance/interpolate_irradiance_lograrithmic.js +28 -0
  755. package/src/core/math/physics/irradiance/interpolate_irradiance_smith.js +38 -0
  756. package/src/core/math/pingpong.js +17 -0
  757. package/src/core/math/quadraticCurve.js +11 -0
  758. package/src/core/math/quadraticCurve.spec.js +13 -0
  759. package/src/core/math/random/MersenneTwister.js +211 -0
  760. package/src/core/math/random/makeRangedRandom.js +19 -0
  761. package/src/core/math/random/randomFloatBetween.js +14 -0
  762. package/src/core/math/random/randomFromArray.js +19 -0
  763. package/src/core/math/random/randomGaussian.js +15 -0
  764. package/src/core/math/random/randomIntegerBetween.js +14 -0
  765. package/src/core/math/random/roundFair.js +15 -0
  766. package/src/core/math/random/seededRandom.js +4 -0
  767. package/src/core/math/random/seededRandomMersenneTwister.js +85 -0
  768. package/src/core/math/random/seededRandom_Mulberry32.js +31 -0
  769. package/src/core/math/random/seededRandom_sine.js +33 -0
  770. package/src/core/math/separation1D.js +21 -0
  771. package/src/core/math/sign.d.ts +1 -0
  772. package/src/core/math/sign.js +8 -0
  773. package/src/core/math/sign.spec.js +13 -0
  774. package/src/core/math/sign_not_zero.js +8 -0
  775. package/src/core/math/smoothStep.js +17 -0
  776. package/src/core/math/solveQuadratic.js +45 -0
  777. package/src/core/math/solveQuadratic.spec.js +18 -0
  778. package/src/core/math/statistics/computeSampleSize_Cochran.js +28 -0
  779. package/src/core/math/statistics/computeSampleStandardDeviation.js +28 -0
  780. package/src/core/math/statistics/computeStatisticalMean.js +24 -0
  781. package/src/core/math/statistics/computeStatisticalMedian.js +10 -0
  782. package/src/core/math/statistics/computeStatisticalPartialMedian.js +20 -0
  783. package/src/core/math/statistics/computeStatisticalPercentile.js +18 -0
  784. package/src/core/math/statistics/halton_sequence.js +26 -0
  785. package/src/core/model/BooleanVector3.d.ts +28 -0
  786. package/src/core/model/BooleanVector3.js +136 -0
  787. package/src/core/model/BooleanVector3.spec.js +51 -0
  788. package/src/core/model/BoundedValue.js +223 -0
  789. package/src/core/model/BoundedValue.spec.js +17 -0
  790. package/src/core/model/DebouncedObservedBoolean.js +117 -0
  791. package/src/core/model/LinearValue.js +130 -0
  792. package/src/core/model/ModuleRegistry.d.ts +3 -0
  793. package/src/core/model/ModuleRegistry.js +86 -0
  794. package/src/core/model/ObservedBoolean.d.ts +11 -0
  795. package/src/core/model/ObservedBoolean.js +151 -0
  796. package/src/core/model/ObservedBoolean.spec.js +81 -0
  797. package/src/core/model/ObservedEnum.d.ts +7 -0
  798. package/src/core/model/ObservedEnum.js +97 -0
  799. package/src/core/model/ObservedInteger.js +204 -0
  800. package/src/core/model/ObservedInteger.spec.js +51 -0
  801. package/src/core/model/ObservedString.d.ts +17 -0
  802. package/src/core/model/ObservedString.js +136 -0
  803. package/src/core/model/ObservedValue.js +103 -0
  804. package/src/core/model/node-graph/Connection.d.ts +12 -0
  805. package/src/core/model/node-graph/Connection.js +141 -0
  806. package/src/core/model/node-graph/Connection.spec.js +21 -0
  807. package/src/core/model/node-graph/DataType.js +75 -0
  808. package/src/core/model/node-graph/DataType.spec.js +28 -0
  809. package/src/core/model/node-graph/NodeGraph.js +397 -0
  810. package/src/core/model/node-graph/NodeGraph.spec.js +68 -0
  811. package/src/core/model/node-graph/deserializeNodeGraphFromJSON.js +62 -0
  812. package/src/core/model/node-graph/node/NodeDescription.d.ts +3 -0
  813. package/src/core/model/node-graph/node/NodeDescription.js +248 -0
  814. package/src/core/model/node-graph/node/NodeDescription.spec.js +14 -0
  815. package/src/core/model/node-graph/node/NodeInstance.d.ts +14 -0
  816. package/src/core/model/node-graph/node/NodeInstance.js +219 -0
  817. package/src/core/model/node-graph/node/NodeInstancePortReference.d.ts +3 -0
  818. package/src/core/model/node-graph/node/NodeInstancePortReference.js +128 -0
  819. package/src/core/model/node-graph/node/NodeRegistry.js +243 -0
  820. package/src/core/model/node-graph/node/NodeRegistry.spec.js +77 -0
  821. package/src/core/model/node-graph/node/Port.js +70 -0
  822. package/src/core/model/node-graph/node/PortDirection.js +9 -0
  823. package/src/core/model/node-graph/node/parameter/NodeParameterDataType.js +9 -0
  824. package/src/core/model/node-graph/node/parameter/NodeParameterDescription.js +61 -0
  825. package/src/core/model/node-graph/serializeNodeGraphToJSON.js +40 -0
  826. package/src/core/model/node-graph/visual/NodeDescriptionVisualRegistry.js +129 -0
  827. package/src/core/model/node-graph/visual/NodeGraphVisualData.js +257 -0
  828. package/src/core/model/node-graph/visual/NodeVisualData.js +70 -0
  829. package/src/core/model/node-graph/visual/PortVisualData.js +47 -0
  830. package/src/core/model/node-graph/visual/PortVisualData.spec.js +16 -0
  831. package/src/core/model/node-graph/visual/layout/BoxLayoutSpec.js +19 -0
  832. package/src/core/model/node-graph/visual/layout/ConnectedBoxLayouter.js +243 -0
  833. package/src/core/model/node-graph/visual/layout/ConnectionEndpointLayoutSpec.js +42 -0
  834. package/src/core/model/node-graph/visual/layout/ConnectionLayoutSpec.js +32 -0
  835. package/src/core/model/object/ImmutableObjectPool.js +147 -0
  836. package/src/core/model/object/ObjectPoolFactory.js +93 -0
  837. package/src/core/model/object/ObjectPoolFactory.spec.js +54 -0
  838. package/src/core/model/object/SimpleObjectPoolFactory.js +42 -0
  839. package/src/core/model/object/compareObjectsByNumericId.js +9 -0
  840. package/src/core/model/object/compareValues.js +67 -0
  841. package/src/core/model/object/invokeObjectClone.js +10 -0
  842. package/src/core/model/object/invokeObjectCompare.js +9 -0
  843. package/src/core/model/object/invokeObjectEquals.d.ts +5 -0
  844. package/src/core/model/object/invokeObjectEquals.js +10 -0
  845. package/src/core/model/object/invokeObjectHash.d.ts +5 -0
  846. package/src/core/model/object/invokeObjectHash.js +8 -0
  847. package/src/core/model/object/objectDeepEquals.d.ts +1 -0
  848. package/src/core/model/object/objectDeepEquals.js +35 -0
  849. package/src/core/model/object/objectDeepEquals.spec.js +14 -0
  850. package/src/core/model/object/objectKeyByValue.d.ts +1 -0
  851. package/src/core/model/object/objectKeyByValue.js +15 -0
  852. package/src/core/model/object/objectShallowCopyByOwnKeys.js +17 -0
  853. package/src/core/model/object/read_property.d.ts +1 -0
  854. package/src/core/model/object/read_property.js +37 -0
  855. package/src/core/model/object/validatedObjectValueByKey.js +21 -0
  856. package/src/core/model/object/write_property.d.ts +1 -0
  857. package/src/core/model/object/write_property.js +52 -0
  858. package/src/core/model/reactive/evaluation/MultiPredicateEvaluator.js +486 -0
  859. package/src/core/model/reactive/evaluation/MultiPredicateEvaluator.spec.js +117 -0
  860. package/src/core/model/reactive/js/compileReactiveToJS.js +130 -0
  861. package/src/core/model/reactive/model/ReactiveBinaryExpression.js +179 -0
  862. package/src/core/model/reactive/model/ReactiveExpression.d.ts +10 -0
  863. package/src/core/model/reactive/model/ReactiveExpression.js +104 -0
  864. package/src/core/model/reactive/model/ReactiveUnaryExpression.js +92 -0
  865. package/src/core/model/reactive/model/arithmetic/ReactiveAdd.js +68 -0
  866. package/src/core/model/reactive/model/arithmetic/ReactiveDivide.js +64 -0
  867. package/src/core/model/reactive/model/arithmetic/ReactiveMultiply.js +68 -0
  868. package/src/core/model/reactive/model/arithmetic/ReactiveNegate.js +63 -0
  869. package/src/core/model/reactive/model/arithmetic/ReactiveSubtract.js +67 -0
  870. package/src/core/model/reactive/model/comparative/ReactiveEquals.js +68 -0
  871. package/src/core/model/reactive/model/comparative/ReactiveGreaterThan.js +64 -0
  872. package/src/core/model/reactive/model/comparative/ReactiveGreaterThanOrEqual.js +60 -0
  873. package/src/core/model/reactive/model/comparative/ReactiveLessThan.js +60 -0
  874. package/src/core/model/reactive/model/comparative/ReactiveLessThanOrEqual.js +59 -0
  875. package/src/core/model/reactive/model/comparative/ReactiveNotEquals.js +68 -0
  876. package/src/core/model/reactive/model/logic/ReactiveAnd.d.ts +5 -0
  877. package/src/core/model/reactive/model/logic/ReactiveAnd.js +78 -0
  878. package/src/core/model/reactive/model/logic/ReactiveAnd.spec.js +21 -0
  879. package/src/core/model/reactive/model/logic/ReactiveNot.js +49 -0
  880. package/src/core/model/reactive/model/logic/ReactiveOr.js +78 -0
  881. package/src/core/model/reactive/model/terminal/ReactiveLiteralBoolean.js +101 -0
  882. package/src/core/model/reactive/model/terminal/ReactiveLiteralNumber.js +100 -0
  883. package/src/core/model/reactive/model/terminal/ReactiveLiteralString.js +88 -0
  884. package/src/core/model/reactive/model/terminal/ReactiveReference.d.ts +11 -0
  885. package/src/core/model/reactive/model/terminal/ReactiveReference.js +154 -0
  886. package/src/core/model/reactive/model/terminal/ReactiveReference.spec.js +26 -0
  887. package/src/core/model/reactive/model/util/createRandomReactiveExpression.js +173 -0
  888. package/src/core/model/reactive/transform/ReactiveTypeInferrence.js +54 -0
  889. package/src/core/model/reactive/trigger/BlackboardTrigger.js +105 -0
  890. package/src/core/model/reactive/trigger/ReactiveTrigger.js +79 -0
  891. package/src/core/model/reactive/trigger/ReactiveTrigger.spec.js +5 -0
  892. package/src/core/model/scheme/Schema.js +70 -0
  893. package/src/core/model/scheme/SchemeRegistry.js +53 -0
  894. package/src/core/model/stat/LinearModifier.d.ts +24 -0
  895. package/src/core/model/stat/LinearModifier.js +134 -0
  896. package/src/core/model/stat/LinearModifier.spec.js +35 -0
  897. package/src/core/model/stat/Stat.d.ts +29 -0
  898. package/src/core/model/stat/Stat.js +297 -0
  899. package/src/core/model/stat/Stat.spec.js +75 -0
  900. package/src/core/parser/STRING_TEMPLATE_VARIABLE_REGEX.js +1 -0
  901. package/src/core/parser/seedVariablesIntoTemplateString.js +22 -0
  902. package/src/core/parser/simple/DataType.d.ts +5 -0
  903. package/src/core/parser/simple/DataType.js +15 -0
  904. package/src/core/parser/simple/ParserError.js +7 -0
  905. package/src/core/parser/simple/SimpleParser.js +464 -0
  906. package/src/core/parser/simple/SimpleParser.spec.js +105 -0
  907. package/src/core/parser/simple/Token.d.ts +13 -0
  908. package/src/core/parser/simple/Token.js +65 -0
  909. package/src/core/parser/simple/TokenType.js +12 -0
  910. package/src/core/parser/simple/computeDataTypeFromValue.js +25 -0
  911. package/src/core/parser/simple/readUnsignedInteger.js +66 -0
  912. package/src/core/parser/simple/skipWhitespace.js +21 -0
  913. package/src/core/path/PATH_SEPARATOR.js +1 -0
  914. package/src/core/path/computeFileExtension.js +24 -0
  915. package/src/core/path/computeFileExtension.spec.js +13 -0
  916. package/src/core/path/computePathBase.js +21 -0
  917. package/src/core/path/computePathBase.spec.js +13 -0
  918. package/src/core/path/computePathDirectory.js +25 -0
  919. package/src/core/primitives/array/compareArrays.js +30 -0
  920. package/src/core/primitives/array/computeIntegerArrayHash.js +24 -0
  921. package/src/core/primitives/boolean/compareBooleans.js +17 -0
  922. package/src/core/primitives/numbers/compareNumbers.js +9 -0
  923. package/src/core/primitives/numbers/computeHashFloat.js +17 -0
  924. package/src/core/primitives/numbers/computeHashFloat.spec.js +7 -0
  925. package/src/core/primitives/strings/StringUtils.js +105 -0
  926. package/src/core/primitives/strings/StringUtils.spec.js +42 -0
  927. package/src/core/primitives/strings/compareStrings.js +52 -0
  928. package/src/core/primitives/strings/computeStringHash.d.ts +1 -0
  929. package/src/core/primitives/strings/computeStringHash.js +27 -0
  930. package/src/core/primitives/strings/computeStringHash.spec.js +13 -0
  931. package/src/core/primitives/strings/insert_after.js +21 -0
  932. package/src/core/primitives/strings/insert_after_or_replace.js +27 -0
  933. package/src/core/primitives/strings/insert_before.js +19 -0
  934. package/src/core/primitives/strings/insert_before_or_replace.js +27 -0
  935. package/src/core/primitives/strings/prefixTree/PrefixTree.js +225 -0
  936. package/src/core/primitives/strings/prefixTree/PrefixTree.spec.js +39 -0
  937. package/src/core/primitives/strings/prefixTree/PrefixTreeLeaf.js +25 -0
  938. package/src/core/primitives/strings/prefixTree/PrefixTreeNode.js +16 -0
  939. package/src/core/process/BaseProcess.js +63 -0
  940. package/src/core/process/CompositeProcess.js +47 -0
  941. package/src/core/process/Future.js +138 -0
  942. package/src/core/process/IntervalExecutor.js +78 -0
  943. package/src/core/process/ProcessState.js +19 -0
  944. package/src/core/process/PromiseWatcher.js +49 -0
  945. package/src/core/process/PromiseWatcher.spec.js +65 -0
  946. package/src/core/process/SimpleLifecycle.js +88 -0
  947. package/src/core/process/WatchDog.js +96 -0
  948. package/src/core/process/action/AsynchronousAction.js +100 -0
  949. package/src/core/process/action/AsynchronousActionSequence.js +140 -0
  950. package/src/core/process/action/AsynchronousDelayAction.js +52 -0
  951. package/src/core/process/action/PromiseAsynchronousAction.js +48 -0
  952. package/src/core/process/action/SynchronousAction.js +38 -0
  953. package/src/core/process/buildPromiseChain.js +41 -0
  954. package/src/core/process/delay.js +5 -0
  955. package/src/core/process/executor/ConcurrentExecutor.d.ts +16 -0
  956. package/src/core/process/executor/ConcurrentExecutor.js +640 -0
  957. package/src/core/process/executor/ConcurrentExecutor.spec.js +135 -0
  958. package/src/core/process/executor/profile/ConcurrentExecutorProfiler.js +111 -0
  959. package/src/core/process/executor/profile/Profile.js +39 -0
  960. package/src/core/process/executor/profile/TraceEvent.js +85 -0
  961. package/src/core/process/filter/CollectionParticipationKind.js +8 -0
  962. package/src/core/process/filter/MutableFilter.js +22 -0
  963. package/src/core/process/filter/MutableFilterCollection.js +82 -0
  964. package/src/core/process/matcher/Matchers.js +145 -0
  965. package/src/core/process/task/ITask.d.ts +18 -0
  966. package/src/core/process/task/RemainingTimeEstimator.js +49 -0
  967. package/src/core/process/task/Task.d.ts +15 -0
  968. package/src/core/process/task/Task.js +289 -0
  969. package/src/core/process/task/TaskGroup.d.ts +5 -0
  970. package/src/core/process/task/TaskGroup.js +261 -0
  971. package/src/core/process/task/TaskSignal.d.ts +6 -0
  972. package/src/core/process/task/TaskSignal.js +15 -0
  973. package/src/core/process/task/TaskState.js +19 -0
  974. package/src/core/process/task/util/actionTask.js +19 -0
  975. package/src/core/process/task/util/countTask.js +62 -0
  976. package/src/core/process/task/util/delayTask.js +45 -0
  977. package/src/core/process/task/util/emptyTask.js +19 -0
  978. package/src/core/process/task/util/failingTask.js +17 -0
  979. package/src/core/process/task/util/futureTask.js +48 -0
  980. package/src/core/process/task/util/iteratorTask.js +29 -0
  981. package/src/core/process/task/util/promiseTask.js +42 -0
  982. package/src/core/process/task/util/randomCountTask.js +64 -0
  983. package/src/core/process/task/util/wrapTaskIgnoreFailure.js +47 -0
  984. package/src/core/process/undo/Action.d.ts +9 -0
  985. package/src/core/process/undo/Action.js +41 -0
  986. package/src/core/process/undo/ActionGroup.d.ts +5 -0
  987. package/src/core/process/undo/ActionGroup.js +64 -0
  988. package/src/core/process/undo/ActionProcessor.d.ts +27 -0
  989. package/src/core/process/undo/ActionProcessor.js +508 -0
  990. package/src/core/process/undo/ActionProcessor.spec.js +64 -0
  991. package/src/core/process/undo/Mark.js +31 -0
  992. package/src/core/process/worker/OnDemandWorkerManager.js +125 -0
  993. package/src/core/process/worker/WorkerBuilder.js +197 -0
  994. package/src/core/process/worker/WorkerProxy.js +278 -0
  995. package/src/core/process/worker/extractTransferables.js +23 -0
  996. package/src/ecs/grid/pick.js +44 -0
  997. package/src/engine/Clock.js +133 -0
  998. package/src/engine/Engine.d.ts +36 -0
  999. package/src/engine/Engine.js +522 -0
  1000. package/src/engine/EngineBootstrapper.js +61 -0
  1001. package/src/engine/EngineConfiguration.d.ts +20 -0
  1002. package/src/engine/EngineConfiguration.js +169 -0
  1003. package/src/engine/EngineHarness.js +510 -0
  1004. package/src/engine/EntityCreator.js +100 -0
  1005. package/src/engine/InputEngine.js +82 -0
  1006. package/src/engine/MeepSettings.js +9 -0
  1007. package/src/engine/Platform.js +46 -0
  1008. package/src/engine/PointerLock.js +60 -0
  1009. package/src/engine/User.js +28 -0
  1010. package/src/engine/UserController.js +273 -0
  1011. package/src/engine/__module.js +17 -0
  1012. package/src/engine/achievements/Achievement.js +59 -0
  1013. package/src/engine/achievements/AchievementGateway.d.ts +5 -0
  1014. package/src/engine/achievements/AchievementGateway.js +27 -0
  1015. package/src/engine/achievements/AchievementManager.js +435 -0
  1016. package/src/engine/achievements/gateway/StorageAchievementGateway.js +70 -0
  1017. package/src/engine/animation/AnimatedActions.js +86 -0
  1018. package/src/engine/animation/AnimationUtils.js +251 -0
  1019. package/src/engine/animation/Animations.js +134 -0
  1020. package/src/engine/animation/EntityAnimation.js +134 -0
  1021. package/src/engine/animation/TransitionFunctions.js +61 -0
  1022. package/src/engine/animation/Tween.js +66 -0
  1023. package/src/engine/animation/behavior/animateProperty.js +45 -0
  1024. package/src/engine/animation/curve/AnimationCurve.js +111 -0
  1025. package/src/engine/animation/curve/Keyframe.js +46 -0
  1026. package/src/engine/animation/curve/compression/animation_curve_to_float_array.js +35 -0
  1027. package/src/engine/animation/curve/compression/downsample_float_array.js +50 -0
  1028. package/src/engine/animation/curve/compression/downsample_float_array_curve_by_error.js +147 -0
  1029. package/src/engine/animation/curve/compression/downsample_float_array_curve_by_error.spec.js +47 -0
  1030. package/src/engine/animation/curve/compression/prototypeCurveCompression.js +154 -0
  1031. package/src/engine/animation/curve/draw/build_curve_editor.js +316 -0
  1032. package/src/engine/animation/curve/draw/build_plot_entity_from_array.js +47 -0
  1033. package/src/engine/animation/curve/draw/build_tangent_editor.js +115 -0
  1034. package/src/engine/animation/curve/draw/draw_grid.js +27 -0
  1035. package/src/engine/animation/curve/draw/draw_label.js +17 -0
  1036. package/src/engine/animation/curve/draw/plot_array.js +76 -0
  1037. package/src/engine/animation/curve/draw/plot_data.js +49 -0
  1038. package/src/engine/animation/keyed2/AnimationTrack.js +189 -0
  1039. package/src/engine/animation/keyed2/AnimationTrackPlayback.js +231 -0
  1040. package/src/engine/animation/keyed2/AnimationTrackPlayback.spec.js +94 -0
  1041. package/src/engine/animation/keyed2/behavior/AnimationBehavior.js +33 -0
  1042. package/src/engine/animation/playAnimationTrack.js +29 -0
  1043. package/src/engine/animation/playTrackRealTime.js +35 -0
  1044. package/src/engine/animation/removeEntityGenericEffect.js +159 -0
  1045. package/src/engine/animation/removeEntityWithMeshParticlesEffect.js +203 -0
  1046. package/src/engine/asset/Asset.d.ts +7 -0
  1047. package/src/engine/asset/Asset.js +51 -0
  1048. package/src/engine/asset/AssetDescription.js +51 -0
  1049. package/src/engine/asset/AssetDescription.spec.js +27 -0
  1050. package/src/engine/asset/AssetManager.d.ts +33 -0
  1051. package/src/engine/asset/AssetManager.js +877 -0
  1052. package/src/engine/asset/AssetManager.spec.js +42 -0
  1053. package/src/engine/asset/AssetRequest.js +89 -0
  1054. package/src/engine/asset/AssetTransformer.d.ts +5 -0
  1055. package/src/engine/asset/AssetTransformer.js +16 -0
  1056. package/src/engine/asset/CORS/CrossOriginConfig.d.ts +5 -0
  1057. package/src/engine/asset/CORS/CrossOriginConfig.js +11 -0
  1058. package/src/engine/asset/CORS/CrossOriginKind.d.ts +4 -0
  1059. package/src/engine/asset/CORS/CrossOriginKind.js +4 -0
  1060. package/src/engine/asset/GameAssetType.js +24 -0
  1061. package/src/engine/asset/guessAssetType.js +48 -0
  1062. package/src/engine/asset/loadAssetAliasList.js +25 -0
  1063. package/src/engine/asset/loaders/ArrayBufferLoader.js +134 -0
  1064. package/src/engine/asset/loaders/AssetLoader.d.ts +5 -0
  1065. package/src/engine/asset/loaders/AssetLoader.js +43 -0
  1066. package/src/engine/asset/loaders/GLTFAssetLoader.d.ts +6 -0
  1067. package/src/engine/asset/loaders/GLTFAssetLoader.js +439 -0
  1068. package/src/engine/asset/loaders/JavascriptAssetLoader.js +42 -0
  1069. package/src/engine/asset/loaders/JsonAssetLoader.js +27 -0
  1070. package/src/engine/asset/loaders/LegacyThreeJSONAssetLoader.js +102 -0
  1071. package/src/engine/asset/loaders/SVGAssetLoader.js +31 -0
  1072. package/src/engine/asset/loaders/SoundAssetLoader.js +51 -0
  1073. package/src/engine/asset/loaders/TextAssetLoader.js +15 -0
  1074. package/src/engine/asset/loaders/async_traverse_three_object.js +24 -0
  1075. package/src/engine/asset/loaders/gltf/GLTFAssetTransformMikkTSpaceTangents.js +27 -0
  1076. package/src/engine/asset/loaders/gltf/computeObjectBoundingSphere.js +70 -0
  1077. package/src/engine/asset/loaders/gltf/extensions/MSFT_texture_dds.js +46 -0
  1078. package/src/engine/asset/loaders/gltf/isMesh.js +8 -0
  1079. package/src/engine/asset/loaders/image/ImageDecoderWorker.js +56 -0
  1080. package/src/engine/asset/loaders/image/ImageRGBADataAsset.js +45 -0
  1081. package/src/engine/asset/loaders/image/ImageRGBADataLoader.js +107 -0
  1082. package/src/engine/asset/loaders/image/codec/Codec.js +19 -0
  1083. package/src/engine/asset/loaders/image/codec/CodecWithFallback.js +73 -0
  1084. package/src/engine/asset/loaders/image/codec/NativeImageDecoder.js +55 -0
  1085. package/src/engine/asset/loaders/image/codec/ThreadedImageDecoder.js +42 -0
  1086. package/src/engine/asset/loaders/image/png/PNG.js +431 -0
  1087. package/src/engine/asset/loaders/image/png/PNGReader.js +542 -0
  1088. package/src/engine/asset/loaders/image/png/PNG_HEADER_BYTES.js +1 -0
  1089. package/src/engine/asset/loaders/image/png/crc.js +66 -0
  1090. package/src/engine/asset/loaders/image/png/prototypePNG.js +28 -0
  1091. package/src/engine/asset/loaders/material/StaticMaterialCache.d.ts +7 -0
  1092. package/src/engine/asset/loaders/material/StaticMaterialCache.js +106 -0
  1093. package/src/engine/asset/loaders/material/TextureAttachmensByMaterialType.js +131 -0
  1094. package/src/engine/asset/loaders/material/TextureAttachment.js +25 -0
  1095. package/src/engine/asset/loaders/material/bitmap2sampler_gl.js +25 -0
  1096. package/src/engine/asset/loaders/material/computeHashColor.js +7 -0
  1097. package/src/engine/asset/loaders/material/computeImageBitmapEquality.js +118 -0
  1098. package/src/engine/asset/loaders/material/computeImageBitmapHash.js +41 -0
  1099. package/src/engine/asset/loaders/material/computeMaterialEquality.d.ts +3 -0
  1100. package/src/engine/asset/loaders/material/computeMaterialEquality.js +131 -0
  1101. package/src/engine/asset/loaders/material/computeMaterialHash.d.ts +3 -0
  1102. package/src/engine/asset/loaders/material/computeMaterialHash.js +72 -0
  1103. package/src/engine/asset/loaders/material/computeTextureEquality.js +191 -0
  1104. package/src/engine/asset/loaders/material/computeTextureEqualityById.js +22 -0
  1105. package/src/engine/asset/loaders/material/computeTextureHash.js +141 -0
  1106. package/src/engine/asset/loaders/material/planeHash.js +10 -0
  1107. package/src/engine/asset/loaders/material/planesEqual.js +9 -0
  1108. package/src/engine/asset/loaders/material/textureHashById.js +12 -0
  1109. package/src/engine/asset/loaders/material/traverseMaterialTextures.d.ts +3 -0
  1110. package/src/engine/asset/loaders/material/traverseMaterialTextures.js +37 -0
  1111. package/src/engine/asset/loaders/texture/TextureAssetLoader.d.ts +6 -0
  1112. package/src/engine/asset/loaders/texture/TextureAssetLoader.js +40 -0
  1113. package/src/engine/asset/loaders/texture/cloneTexture.js +13 -0
  1114. package/src/engine/asset/loaders/texture/loadDDSTexture.js +37 -0
  1115. package/src/engine/asset/loaders/texture/loadStandardImageTexture.js +38 -0
  1116. package/src/engine/asset/preloader/AssetLevel.js +10 -0
  1117. package/src/engine/asset/preloader/Preloader.js +189 -0
  1118. package/src/engine/asset/preloader/extractAssetListFromManager.js +55 -0
  1119. package/src/engine/compression/CompressionService.js +144 -0
  1120. package/src/engine/computeStridedIntegerArrayHash.js +19 -0
  1121. package/src/engine/control/ControlContext.js +161 -0
  1122. package/src/engine/control/ControlContext.spec.js +81 -0
  1123. package/src/engine/control/ControlContextState.js +10 -0
  1124. package/src/engine/control/StatefulController.js +43 -0
  1125. package/src/engine/development/performance/AbstractMetric.js +30 -0
  1126. package/src/engine/development/performance/MetricCollection.js +60 -0
  1127. package/src/engine/development/performance/MetricStatistics.js +8 -0
  1128. package/src/engine/development/performance/RingBufferMetric.js +73 -0
  1129. package/src/engine/development/performance/monitor/PeriodicConsolePrinter.js +37 -0
  1130. package/src/engine/ecs/Blueprint.js +129 -0
  1131. package/src/engine/ecs/EntityBlueprint.d.ts +3 -0
  1132. package/src/engine/ecs/EntityBlueprint.js +161 -0
  1133. package/src/engine/ecs/EntityBuilder.d.ts +33 -0
  1134. package/src/engine/ecs/EntityBuilder.js +466 -0
  1135. package/src/engine/ecs/EntityBuilder.spec.js +64 -0
  1136. package/src/engine/ecs/EntityBuilderUtils.js +21 -0
  1137. package/src/engine/ecs/EntityComponentDataset.d.ts +45 -0
  1138. package/src/engine/ecs/EntityComponentDataset.js +1919 -0
  1139. package/src/engine/ecs/EntityComponentDataset.spec.js +818 -0
  1140. package/src/engine/ecs/EntityFactory.js +207 -0
  1141. package/src/engine/ecs/EntityManager.d.ts +34 -0
  1142. package/src/engine/ecs/EntityManager.js +894 -0
  1143. package/src/engine/ecs/EntityManager.spec.js +99 -0
  1144. package/src/engine/ecs/EntityObserver.d.ts +13 -0
  1145. package/src/engine/ecs/EntityObserver.js +121 -0
  1146. package/src/engine/ecs/EntityObserver.spec.js +184 -0
  1147. package/src/engine/ecs/System.d.ts +30 -0
  1148. package/src/engine/ecs/System.js +121 -0
  1149. package/src/engine/ecs/animation/Animation.js +355 -0
  1150. package/src/engine/ecs/animation/AnimationOptimizer.js +132 -0
  1151. package/src/engine/ecs/animation/IKMath.js +29 -0
  1152. package/src/engine/ecs/animation/IKProblem.js +30 -0
  1153. package/src/engine/ecs/animation/IKSolver.js +9 -0
  1154. package/src/engine/ecs/animation/InverseKinematics.js +278 -0
  1155. package/src/engine/ecs/animation/InverseKinematicsSystem.js +143 -0
  1156. package/src/engine/ecs/animation/OneBoneSurfaceAlignmentSolver.js +213 -0
  1157. package/src/engine/ecs/animation/TwoBoneInverseKinematicsSolver.js +325 -0
  1158. package/src/engine/ecs/attachment/Attachment.js +55 -0
  1159. package/src/engine/ecs/attachment/AttachmentBinding.js +44 -0
  1160. package/src/engine/ecs/attachment/AttachmentSystem.js +312 -0
  1161. package/src/engine/ecs/attachment/BoneAttachmentBinding.js +53 -0
  1162. package/src/engine/ecs/attachment/TransformAttachmentBinding.js +43 -0
  1163. package/src/engine/ecs/binding/ComponentPropertyBinding.js +57 -0
  1164. package/src/engine/ecs/binding/ComponentPropertyPath.js +15 -0
  1165. package/src/engine/ecs/binding/EntityProxyScope.js +95 -0
  1166. package/src/engine/ecs/components/AABB.js +33 -0
  1167. package/src/engine/ecs/components/AABBCollider.js +15 -0
  1168. package/src/engine/ecs/components/AimController.js +18 -0
  1169. package/src/engine/ecs/components/AlignToVelocity.js +9 -0
  1170. package/src/engine/ecs/components/AreaOfEffect.js +12 -0
  1171. package/src/engine/ecs/components/Attacker.js +13 -0
  1172. package/src/engine/ecs/components/CharacterController.js +25 -0
  1173. package/src/engine/ecs/components/ClingToHeightMap.js +19 -0
  1174. package/src/engine/ecs/components/GeometryBVH.js +44 -0
  1175. package/src/engine/ecs/components/MeshCollider.js +10 -0
  1176. package/src/engine/ecs/components/MonsterAI.js +10 -0
  1177. package/src/engine/ecs/components/Mortality.js +27 -0
  1178. package/src/engine/ecs/components/Motion.js +61 -0
  1179. package/src/engine/ecs/components/PhysicalBody.js +51 -0
  1180. package/src/engine/ecs/components/PropertySet.js +140 -0
  1181. package/src/engine/ecs/components/RangedAttack.js +12 -0
  1182. package/src/engine/ecs/components/Renderable.d.ts +14 -0
  1183. package/src/engine/ecs/components/Renderable.js +244 -0
  1184. package/src/engine/ecs/components/RenderableFlags.js +6 -0
  1185. package/src/engine/ecs/components/Script.js +26 -0
  1186. package/src/engine/ecs/components/SerializationMetadata.js +97 -0
  1187. package/src/engine/ecs/components/Steering.js +146 -0
  1188. package/src/engine/ecs/components/SynchronizePosition.js +15 -0
  1189. package/src/engine/ecs/components/Tag.d.ts +27 -0
  1190. package/src/engine/ecs/components/Tag.js +391 -0
  1191. package/src/engine/ecs/components/TagEditor.js +15 -0
  1192. package/src/engine/ecs/components/TargetAI.js +11 -0
  1193. package/src/engine/ecs/components/Timer.js +85 -0
  1194. package/src/engine/ecs/components/ViewportMeshProjection.js +18 -0
  1195. package/src/engine/ecs/dynamic_actions/DynamicActor.js +22 -0
  1196. package/src/engine/ecs/dynamic_actions/DynamicActorSystem.js +606 -0
  1197. package/src/engine/ecs/dynamic_actions/DynamicRuleDescriptionTable.spec.js +126 -0
  1198. package/src/engine/ecs/dynamic_actions/RuleExecution.js +16 -0
  1199. package/src/engine/ecs/dynamic_actions/actions/definition/AbstractActionDescription.js +22 -0
  1200. package/src/engine/ecs/dynamic_actions/actions/definition/ActionSequenceDescription.js +22 -0
  1201. package/src/engine/ecs/dynamic_actions/actions/definition/DelayActionDescription.js +23 -0
  1202. package/src/engine/ecs/dynamic_actions/actions/definition/NoopActionDescription.js +14 -0
  1203. package/src/engine/ecs/dynamic_actions/actions/definition/SendRequestActionDescription.js +104 -0
  1204. package/src/engine/ecs/dynamic_actions/actions/definition/SpeakLineActionDescription.js +81 -0
  1205. package/src/engine/ecs/dynamic_actions/actions/definition/WeightedRandomActionDescription.js +53 -0
  1206. package/src/engine/ecs/dynamic_actions/actions/definition/WhiteToBlackboardActionDescription.js +58 -0
  1207. package/src/engine/ecs/dynamic_actions/actions/definition/deserializeActionFromJSON.js +81 -0
  1208. package/src/engine/ecs/dynamic_actions/rules/DynamicRuleCooldownDescription.js +34 -0
  1209. package/src/engine/ecs/dynamic_actions/rules/DynamicRuleDescription.js +132 -0
  1210. package/src/engine/ecs/dynamic_actions/rules/DynamicRuleDescriptionTable.js +178 -0
  1211. package/src/engine/ecs/dynamic_actions/rules/computeContextualDynamicRuleDebugString.js +27 -0
  1212. package/src/engine/ecs/evaluation/PointFitnessBinary.js +36 -0
  1213. package/src/engine/ecs/evaluation/PointFitnessConstant.js +31 -0
  1214. package/src/engine/ecs/evaluation/PointFitnessFunction.js +20 -0
  1215. package/src/engine/ecs/evaluation/arithmetic/PointFitnessAdd.js +27 -0
  1216. package/src/engine/ecs/evaluation/arithmetic/PointFitnessMultiply.js +28 -0
  1217. package/src/engine/ecs/evaluation/complex/PointFitnessGaussianBlur.js +125 -0
  1218. package/src/engine/ecs/evaluation/json/deserializeFromJSON_PointFitnessFunction.js +68 -0
  1219. package/src/engine/ecs/evaluation/json/serializeToJSON_PointFitnessFunction.js +89 -0
  1220. package/src/engine/ecs/evaluation/world/ReadTerrainLayerWeightPointFitness.js +64 -0
  1221. package/src/engine/ecs/foliage/Foliage.js +151 -0
  1222. package/src/engine/ecs/foliage/FoliageLoader.js +39 -0
  1223. package/src/engine/ecs/foliage/FoliageVisibilitySetBuilder.js +27 -0
  1224. package/src/engine/ecs/foliage/ImpostorFoliage.js +106 -0
  1225. package/src/engine/ecs/foliage/InstancedFoliage.js +386 -0
  1226. package/src/engine/ecs/foliage/ViewState.js +181 -0
  1227. package/src/engine/ecs/foliage/ecs/Foliage2System.js +328 -0
  1228. package/src/engine/ecs/foliage/ecs/InstancedMeshComponent.js +67 -0
  1229. package/src/engine/ecs/foliage/ecs/InstancedMeshLayer.js +138 -0
  1230. package/src/engine/ecs/foliage/ecs/InstancedMeshSerializationAdapter.js +31 -0
  1231. package/src/engine/ecs/foliage/ecs/InstancedMeshUtils.js +279 -0
  1232. package/src/engine/ecs/fow/FogOfWar.js +607 -0
  1233. package/src/engine/ecs/fow/FogOfWar.spec.js +14 -0
  1234. package/src/engine/ecs/fow/FogOfWarEditor.js +13 -0
  1235. package/src/engine/ecs/fow/FogOfWarRevealer.js +56 -0
  1236. package/src/engine/ecs/fow/FogOfWarRevealerSystem.js +142 -0
  1237. package/src/engine/ecs/fow/FogOfWarSystem.js +266 -0
  1238. package/src/engine/ecs/fow/FogOfWarVisibilityPredicate.js +52 -0
  1239. package/src/engine/ecs/fow/serialization/FogOfWarSerializationAdapter.js +80 -0
  1240. package/src/engine/ecs/fow/serialization/FogOfWarSerializationUpdater_0_1.js +50 -0
  1241. package/src/engine/ecs/fow/shader/FogOfWarRenderer.js +145 -0
  1242. package/src/engine/ecs/fow/shader/screenSpaceFogOfWarShader.js +151 -0
  1243. package/src/engine/ecs/grid/HeightMap2NormalMap.js +76 -0
  1244. package/src/engine/ecs/grid/HeightSampler2NormalSamplerSoft.js +68 -0
  1245. package/src/engine/ecs/grid/NormalMap2AOMap.js +87 -0
  1246. package/src/engine/ecs/grid/Sampler2DDecoder.js +57 -0
  1247. package/src/engine/ecs/grid/makeTerrainGeometry.js +110 -0
  1248. package/src/engine/ecs/gui/GUIElement.d.ts +5 -0
  1249. package/src/engine/ecs/gui/GUIElement.js +239 -0
  1250. package/src/engine/ecs/gui/GUIElementEvent.js +8 -0
  1251. package/src/engine/ecs/gui/GUIElementSerializationAdapter.js +108 -0
  1252. package/src/engine/ecs/gui/GUIElementSystem.d.ts +8 -0
  1253. package/src/engine/ecs/gui/GUIElementSystem.js +289 -0
  1254. package/src/engine/ecs/gui/hud/HeadsUpDisplay.js +118 -0
  1255. package/src/engine/ecs/gui/hud/HeadsUpDisplayFlag.js +16 -0
  1256. package/src/engine/ecs/gui/hud/HeadsUpDisplaySerializationAdapter.js +31 -0
  1257. package/src/engine/ecs/gui/hud/HeadsUpDisplaySystem.d.ts +6 -0
  1258. package/src/engine/ecs/gui/hud/HeadsUpDisplaySystem.js +210 -0
  1259. package/src/engine/ecs/gui/menu/radial/AnimateAppearance.js +21 -0
  1260. package/src/engine/ecs/gui/menu/radial/AnimateDisappearance.js +21 -0
  1261. package/src/engine/ecs/gui/menu/radial/RadialContextMenu.d.ts +22 -0
  1262. package/src/engine/ecs/gui/menu/radial/RadialContextMenu.js +246 -0
  1263. package/src/engine/ecs/gui/menu/radial/RadialMenuSettings.js +11 -0
  1264. package/src/engine/ecs/gui/menu/radial/playAnimation.js +20 -0
  1265. package/src/engine/ecs/gui/menu/radial/updateAnimationState.js +14 -0
  1266. package/src/engine/ecs/gui/parallax/GuiElementParallax.js +15 -0
  1267. package/src/engine/ecs/gui/parallax/GuiElementParallaxSystem.js +91 -0
  1268. package/src/engine/ecs/gui/position/ViewportPosition.js +194 -0
  1269. package/src/engine/ecs/gui/position/ViewportPositionSystem.js +262 -0
  1270. package/src/engine/ecs/gui/view/ButtonViewEntity.js +108 -0
  1271. package/src/engine/ecs/gui/view/LocalizedLabelViewEntity.js +52 -0
  1272. package/src/engine/ecs/gui/view/ViewEntity.js +32 -0
  1273. package/src/engine/ecs/parent/ChildEntities.d.ts +3 -0
  1274. package/src/engine/ecs/parent/ChildEntities.js +41 -0
  1275. package/src/engine/ecs/parent/EntityNode.d.ts +24 -0
  1276. package/src/engine/ecs/parent/EntityNode.js +430 -0
  1277. package/src/engine/ecs/parent/EntityNodeFlags.js +8 -0
  1278. package/src/engine/ecs/parent/FaceEditor.js +137 -0
  1279. package/src/engine/ecs/parent/ParentEntity.d.ts +11 -0
  1280. package/src/engine/ecs/parent/ParentEntity.js +50 -0
  1281. package/src/engine/ecs/parent/ParentEntitySystem.d.ts +11 -0
  1282. package/src/engine/ecs/parent/ParentEntitySystem.js +222 -0
  1283. package/src/engine/ecs/parent/entity_node_compute_bounding_box.js +41 -0
  1284. package/src/engine/ecs/parent/testCompositionEntityNode.js +153 -0
  1285. package/src/engine/ecs/parent/testHuDPerf.js +123 -0
  1286. package/src/engine/ecs/sockets/AttachmentSocket.js +62 -0
  1287. package/src/engine/ecs/sockets/AttachmentSocketType.js +8 -0
  1288. package/src/engine/ecs/sockets/AttachmentSockets.js +132 -0
  1289. package/src/engine/ecs/sockets/BoneAttachmentSocket.js +60 -0
  1290. package/src/engine/ecs/sockets/serialization/AttachmentSocketsAssetLoader.js +22 -0
  1291. package/src/engine/ecs/speaker/SpeechBubbleView.js +11 -0
  1292. package/src/engine/ecs/speaker/Voice.js +58 -0
  1293. package/src/engine/ecs/speaker/VoiceEvents.js +10 -0
  1294. package/src/engine/ecs/speaker/VoiceFlags.js +10 -0
  1295. package/src/engine/ecs/speaker/VoiceSystem.js +455 -0
  1296. package/src/engine/ecs/speaker/lines/LineDescription.js +45 -0
  1297. package/src/engine/ecs/speaker/lines/LineDescriptionTable.js +15 -0
  1298. package/src/engine/ecs/speaker/lines/sets/LineSetDescription.js +74 -0
  1299. package/src/engine/ecs/speaker/lines/sets/LineSetDescriptionTable.js +103 -0
  1300. package/src/engine/ecs/storage/BinaryBufferDeSerializer.js +201 -0
  1301. package/src/engine/ecs/storage/BinaryBufferSerializer.js +181 -0
  1302. package/src/engine/ecs/storage/COMPONENT_SERIALIZATION_TRANSIENT_FIELD.js +7 -0
  1303. package/src/engine/ecs/storage/JSONDeSerializer.js +148 -0
  1304. package/src/engine/ecs/storage/JSONSerializer.js +132 -0
  1305. package/src/engine/ecs/storage/binary/BinaryClassSerializationAdapter.js +66 -0
  1306. package/src/engine/ecs/storage/binary/BinaryClassUpgrader.js +90 -0
  1307. package/src/engine/ecs/storage/binary/BinarySerializationRegistry.js +204 -0
  1308. package/src/engine/ecs/storage/binary/BinarySerializationRegistry.spec.js +139 -0
  1309. package/src/engine/ecs/storage/binary/collection/BinaryCollectionDeSerializer.js +341 -0
  1310. package/src/engine/ecs/storage/binary/collection/BinaryCollectionHeaderCodec.js +12 -0
  1311. package/src/engine/ecs/storage/binary/collection/BinaryCollectionSerialization.spec.js +259 -0
  1312. package/src/engine/ecs/storage/binary/collection/BinaryCollectionSerializer.js +274 -0
  1313. package/src/engine/ecs/storage/binary/object/BinaryObjectSerializationAdapter.js +130 -0
  1314. package/src/engine/ecs/storage/binary/object/BinaryObjectSerializationAdapter.spec.js +59 -0
  1315. package/src/engine/ecs/storage/binary/object/ObjectBasedClassSerializationAdapter.js +21 -0
  1316. package/src/engine/ecs/system/AbstractContextSystem.js +119 -0
  1317. package/src/engine/ecs/system/SystemEntityContext.js +50 -0
  1318. package/src/engine/ecs/systems/AABBColliderSystem.js +61 -0
  1319. package/src/engine/ecs/systems/AABBSystem.js +89 -0
  1320. package/src/engine/ecs/systems/AimControllerSystem.js +63 -0
  1321. package/src/engine/ecs/systems/AlignToVelocitySystem.js +51 -0
  1322. package/src/engine/ecs/systems/AnimationSystem.d.ts +6 -0
  1323. package/src/engine/ecs/systems/AnimationSystem.js +388 -0
  1324. package/src/engine/ecs/systems/AreaOfEffectSystem.js +48 -0
  1325. package/src/engine/ecs/systems/AttackerSystem.js +67 -0
  1326. package/src/engine/ecs/systems/CharacterControlSystem.js +134 -0
  1327. package/src/engine/ecs/systems/ClingToHeightMapSystem.js +170 -0
  1328. package/src/engine/ecs/systems/GeometryBVHSystem.js +36 -0
  1329. package/src/engine/ecs/systems/MeshColliderSystem.js +47 -0
  1330. package/src/engine/ecs/systems/MonsterAISystem.js +163 -0
  1331. package/src/engine/ecs/systems/MortalitySystem.js +46 -0
  1332. package/src/engine/ecs/systems/MotionSystem.js +28 -0
  1333. package/src/engine/ecs/systems/PhysicsSystem.js +89 -0
  1334. package/src/engine/ecs/systems/PropertySetSystem.js +18 -0
  1335. package/src/engine/ecs/systems/RangedAttackSystem.js +132 -0
  1336. package/src/engine/ecs/systems/RenderSystem.d.ts +7 -0
  1337. package/src/engine/ecs/systems/RenderSystem.js +267 -0
  1338. package/src/engine/ecs/systems/ScriptSystem.d.ts +5 -0
  1339. package/src/engine/ecs/systems/ScriptSystem.js +48 -0
  1340. package/src/engine/ecs/systems/SerializationMetadataSystem.js +10 -0
  1341. package/src/engine/ecs/systems/SteeringSystem.js +171 -0
  1342. package/src/engine/ecs/systems/SynchronizePositionSystem.js +37 -0
  1343. package/src/engine/ecs/systems/TagSystem.d.ts +5 -0
  1344. package/src/engine/ecs/systems/TagSystem.js +36 -0
  1345. package/src/engine/ecs/systems/TargetAISystem.js +107 -0
  1346. package/src/engine/ecs/systems/TimerSystem.js +71 -0
  1347. package/src/engine/ecs/systems/ViewportMeshProjectionSystem.js +68 -0
  1348. package/src/engine/ecs/team/Team.js +82 -0
  1349. package/src/engine/ecs/terrain/BufferedGeometryArraysBuilder.js +126 -0
  1350. package/src/engine/ecs/terrain/TerrainClouds.js +177 -0
  1351. package/src/engine/ecs/terrain/TerrainGeometryBuilder.js +152 -0
  1352. package/src/engine/ecs/terrain/TerrainPreview.js +66 -0
  1353. package/src/engine/ecs/terrain/ecs/BuildLightTexture.js +106 -0
  1354. package/src/engine/ecs/terrain/ecs/GridTransformKind.js +4 -0
  1355. package/src/engine/ecs/terrain/ecs/OffsetScaleTransform2D.d.ts +6 -0
  1356. package/src/engine/ecs/terrain/ecs/OffsetScaleTransform2D.js +9 -0
  1357. package/src/engine/ecs/terrain/ecs/PromiseSamplerHeight.js +59 -0
  1358. package/src/engine/ecs/terrain/ecs/Terrain.d.ts +17 -0
  1359. package/src/engine/ecs/terrain/ecs/Terrain.js +1060 -0
  1360. package/src/engine/ecs/terrain/ecs/TerrainClassifier.js +125 -0
  1361. package/src/engine/ecs/terrain/ecs/TerrainFlags.js +8 -0
  1362. package/src/engine/ecs/terrain/ecs/TerrainSystem.d.ts +8 -0
  1363. package/src/engine/ecs/terrain/ecs/TerrainSystem.js +232 -0
  1364. package/src/engine/ecs/terrain/ecs/cling/ClingToTerrain.js +68 -0
  1365. package/src/engine/ecs/terrain/ecs/cling/ClingToTerrainSerializationAdapter.js +31 -0
  1366. package/src/engine/ecs/terrain/ecs/cling/ClingToTerrainSystem.js +348 -0
  1367. package/src/engine/ecs/terrain/ecs/cling/ClingToTerrainSystem.spec.js +38 -0
  1368. package/src/engine/ecs/terrain/ecs/layers/TerrainLayer.js +165 -0
  1369. package/src/engine/ecs/terrain/ecs/layers/TerrainLayers.js +459 -0
  1370. package/src/engine/ecs/terrain/ecs/layers/loadLegacyTerrainLayers.js +99 -0
  1371. package/src/engine/ecs/terrain/ecs/makeTerrainWorkerProxy.js +82 -0
  1372. package/src/engine/ecs/terrain/ecs/splat/SplatMapMaterialPatch.js +461 -0
  1373. package/src/engine/ecs/terrain/ecs/splat/SplatMapOptimizer.js +622 -0
  1374. package/src/engine/ecs/terrain/ecs/splat/SplatMapOptimizerDebugger.js +383 -0
  1375. package/src/engine/ecs/terrain/ecs/splat/SplatMapping.js +528 -0
  1376. package/src/engine/ecs/terrain/ecs/splat/loadLegacyTerrainSplats.js +73 -0
  1377. package/src/engine/ecs/terrain/overlay/TerrainOverlay.js +324 -0
  1378. package/src/engine/ecs/terrain/serialization/TerrainSerializationAdapter.js +206 -0
  1379. package/src/engine/ecs/terrain/serialization/TerrainSerializationUpgrader_0_1.js +92 -0
  1380. package/src/engine/ecs/terrain/serialization/TerrainSerializationUpgrader_1_2.js +81 -0
  1381. package/src/engine/ecs/terrain/tiles/FirstRayIntersectionTerrainBVHVisitor.js +74 -0
  1382. package/src/engine/ecs/terrain/tiles/TerrainTile.js +585 -0
  1383. package/src/engine/ecs/terrain/tiles/TerrainTileManager.js +692 -0
  1384. package/src/engine/ecs/terrain/tiles/TileBuildWorker.js +17 -0
  1385. package/src/engine/ecs/terrain/util/loadVisibleTerrainTiles.js +112 -0
  1386. package/src/engine/ecs/terrain/util/obtainTerrain.js +23 -0
  1387. package/src/engine/ecs/terrain/util/paintTerrainOverlayViaLookupTable.js +67 -0
  1388. package/src/engine/ecs/terrain/util/tensionOptimizeUV.js +76 -0
  1389. package/src/engine/ecs/tooltip/TooltipComponent.js +45 -0
  1390. package/src/engine/ecs/tooltip/TooltipComponentSerializationAdapter.js +29 -0
  1391. package/src/engine/ecs/tooltip/TooltipComponentSystem.js +234 -0
  1392. package/src/engine/ecs/tooltip/testTooltipComponentSystem.js +119 -0
  1393. package/src/engine/ecs/transform/Transform.d.ts +38 -0
  1394. package/src/engine/ecs/transform/Transform.editor.schema.json +16 -0
  1395. package/src/engine/ecs/transform/Transform.js +357 -0
  1396. package/src/engine/ecs/transform/TransformFlags.js +11 -0
  1397. package/src/engine/ecs/transform/TransformSerializationAdapter.js +54 -0
  1398. package/src/engine/ecs/transform/TransformSerializationUpgrader_0_1.js +69 -0
  1399. package/src/engine/ecs/transform/copy_three_transform.js +15 -0
  1400. package/src/engine/ecs/transform-attachment/TransformAttachment.d.ts +3 -0
  1401. package/src/engine/ecs/transform-attachment/TransformAttachment.js +101 -0
  1402. package/src/engine/ecs/transform-attachment/TransformAttachmentSystem.d.ts +6 -0
  1403. package/src/engine/ecs/transform-attachment/TransformAttachmentSystem.js +226 -0
  1404. package/src/engine/ecs/util/hideEntityGracefully.js +202 -0
  1405. package/src/engine/ecs/util/removeComponentsExcept.js +32 -0
  1406. package/src/engine/google/gapi.js +29 -0
  1407. package/src/engine/graphics/CanvasBlur.js +599 -0
  1408. package/src/engine/graphics/FULL_SCREEN_QUAD_VERTEX_SHADER.js +10 -0
  1409. package/src/engine/graphics/FrameRunner.js +88 -0
  1410. package/src/engine/graphics/FrameThrottle.js +29 -0
  1411. package/src/engine/graphics/GraphicsEngine.d.ts +38 -0
  1412. package/src/engine/graphics/GraphicsEngine.js +684 -0
  1413. package/src/engine/graphics/StandardFrameBuffers.js +9 -0
  1414. package/src/engine/graphics/WHITE_PIXEL_DATA_URL.js +1 -0
  1415. package/src/engine/graphics/camera/CameraShake.js +198 -0
  1416. package/src/engine/graphics/camera/camera_compute_distance_to_fit_length.d.ts +1 -0
  1417. package/src/engine/graphics/camera/camera_compute_distance_to_fit_length.js +22 -0
  1418. package/src/engine/graphics/camera/makeOrbitalCameraController.js +108 -0
  1419. package/src/engine/graphics/camera/makeScreenScissorFrustum.d.ts +4 -0
  1420. package/src/engine/graphics/camera/makeScreenScissorFrustum.js +60 -0
  1421. package/src/engine/graphics/camera/testClippingPlaneComputation.js +434 -0
  1422. package/src/engine/graphics/clouds/MaterialTransformer.js +0 -0
  1423. package/src/engine/graphics/clouds/TerrainCloudsPlugin.js +0 -0
  1424. package/src/engine/graphics/clouds/cs_build_fragment_shader.js +0 -0
  1425. package/src/engine/graphics/clouds/cs_build_vertex_shader.js +0 -0
  1426. package/src/engine/graphics/composit/CompositLayer.js +254 -0
  1427. package/src/engine/graphics/composit/CompositingStages.js +8 -0
  1428. package/src/engine/graphics/composit/LayerCompositer.js +240 -0
  1429. package/src/engine/graphics/debug/VisualSymbolLine.js +112 -0
  1430. package/src/engine/graphics/debug/createDebugLabel.js +36 -0
  1431. package/src/engine/graphics/ecs/animation/AnimationController.js +152 -0
  1432. package/src/engine/graphics/ecs/animation/AnimationControllerSystem.js +80 -0
  1433. package/src/engine/graphics/ecs/animation/animator/AnimationClip.js +227 -0
  1434. package/src/engine/graphics/ecs/animation/animator/AnimationClipDefinition.js +117 -0
  1435. package/src/engine/graphics/ecs/animation/animator/AnimationClipFlag.js +10 -0
  1436. package/src/engine/graphics/ecs/animation/animator/AnimationEventTypes.js +7 -0
  1437. package/src/engine/graphics/ecs/animation/animator/AnimationGraphSystem.js +322 -0
  1438. package/src/engine/graphics/ecs/animation/animator/AnimationNotification.js +43 -0
  1439. package/src/engine/graphics/ecs/animation/animator/AnimationNotificationDefinition.js +44 -0
  1440. package/src/engine/graphics/ecs/animation/animator/blending/BlendSpace.js +15 -0
  1441. package/src/engine/graphics/ecs/animation/animator/blending/BlendSpaceDefinition.js +9 -0
  1442. package/src/engine/graphics/ecs/animation/animator/blending/BlendSpacePoint.js +15 -0
  1443. package/src/engine/graphics/ecs/animation/animator/blending/BlendState.js +9 -0
  1444. package/src/engine/graphics/ecs/animation/animator/blending/BlendStateDatabase.js +76 -0
  1445. package/src/engine/graphics/ecs/animation/animator/blending/BlendStateMatrix.js +103 -0
  1446. package/src/engine/graphics/ecs/animation/animator/graph/AnimationGraph.js +727 -0
  1447. package/src/engine/graphics/ecs/animation/animator/graph/AnimationGraphFlag.js +8 -0
  1448. package/src/engine/graphics/ecs/animation/animator/graph/AnimationGraphSerializationAdapter.js +64 -0
  1449. package/src/engine/graphics/ecs/animation/animator/graph/AnimationState.js +210 -0
  1450. package/src/engine/graphics/ecs/animation/animator/graph/AnimationStateType.js +5 -0
  1451. package/src/engine/graphics/ecs/animation/animator/graph/AnimationTransition.js +153 -0
  1452. package/src/engine/graphics/ecs/animation/animator/graph/definition/AnimationGraphDefinition.js +194 -0
  1453. package/src/engine/graphics/ecs/animation/animator/graph/definition/AnimationStateDefinition.js +92 -0
  1454. package/src/engine/graphics/ecs/animation/animator/graph/definition/AnimationTransitionDefinition.js +61 -0
  1455. package/src/engine/graphics/ecs/animation/animator/graph/definition/serialization/AnimationGraphDefinitionAssetLoader.js +29 -0
  1456. package/src/engine/graphics/ecs/animation/animator/graph/definition/serialization/AnimationGraphDefinitionSerializationAdapter.js +301 -0
  1457. package/src/engine/graphics/ecs/animation/animator/graph/definition/serialization/readAnimationGraphDefinitionFromJSON.js +135 -0
  1458. package/src/engine/graphics/ecs/animation/animator/graph/definition/serialization/writeAnimationGraphDefinitionToJSON.js +100 -0
  1459. package/src/engine/graphics/ecs/camera/Camera.d.ts +18 -0
  1460. package/src/engine/graphics/ecs/camera/Camera.js +262 -0
  1461. package/src/engine/graphics/ecs/camera/CameraClippingPlaneComputer.js +138 -0
  1462. package/src/engine/graphics/ecs/camera/CameraSystem.d.ts +11 -0
  1463. package/src/engine/graphics/ecs/camera/CameraSystem.js +311 -0
  1464. package/src/engine/graphics/ecs/camera/FrustumProjector.js +242 -0
  1465. package/src/engine/graphics/ecs/camera/InvertQuaternionOrientation.js +26 -0
  1466. package/src/engine/graphics/ecs/camera/ProjectionType.js +9 -0
  1467. package/src/engine/graphics/ecs/camera/TiltCameraController.js +69 -0
  1468. package/src/engine/graphics/ecs/camera/auto_set_camera_clipping_planes.js +32 -0
  1469. package/src/engine/graphics/ecs/camera/build_three_camera_object.js +29 -0
  1470. package/src/engine/graphics/ecs/camera/compute_perspective_camera_focal_position.js +27 -0
  1471. package/src/engine/graphics/ecs/camera/frustum_from_camera.js +20 -0
  1472. package/src/engine/graphics/ecs/camera/is_valid_distance_value.js +11 -0
  1473. package/src/engine/graphics/ecs/camera/serialization/CameraSerializationAdapter.js +35 -0
  1474. package/src/engine/graphics/ecs/camera/set_camera_aspect_ratio.js +46 -0
  1475. package/src/engine/graphics/ecs/camera/topdown/ComputeCameraFacingVector.js +21 -0
  1476. package/src/engine/graphics/ecs/camera/topdown/TopDownCameraController.d.ts +33 -0
  1477. package/src/engine/graphics/ecs/camera/topdown/TopDownCameraController.js +264 -0
  1478. package/src/engine/graphics/ecs/camera/topdown/TopDownCameraController.spec.js +94 -0
  1479. package/src/engine/graphics/ecs/camera/topdown/TopDownCameraControllerSerializationAdapter.js +53 -0
  1480. package/src/engine/graphics/ecs/camera/topdown/TopDownCameraControllerSerializationUpgrader_0_1.js +30 -0
  1481. package/src/engine/graphics/ecs/camera/topdown/TopDownCameraControllerSystem.d.ts +5 -0
  1482. package/src/engine/graphics/ecs/camera/topdown/TopDownCameraControllerSystem.js +104 -0
  1483. package/src/engine/graphics/ecs/camera/topdown/TopDownCameraLander.js +26 -0
  1484. package/src/engine/graphics/ecs/camera/topdown/TopDownCameraLanderSystem.js +153 -0
  1485. package/src/engine/graphics/ecs/camera/unprojectPoint.js +14 -0
  1486. package/src/engine/graphics/ecs/camera/update_camera_transform.js +17 -0
  1487. package/src/engine/graphics/ecs/compileAllMaterials.js +139 -0
  1488. package/src/engine/graphics/ecs/decal/Decal.js +10 -0
  1489. package/src/engine/graphics/ecs/decal/DecalSystem.js +117 -0
  1490. package/src/engine/graphics/ecs/decal/threejs/DecalGeometry.js +298 -0
  1491. package/src/engine/graphics/ecs/decal/v2/Decal.d.ts +11 -0
  1492. package/src/engine/graphics/ecs/decal/v2/Decal.js +50 -0
  1493. package/src/engine/graphics/ecs/decal/v2/FPDecalSystem.d.ts +8 -0
  1494. package/src/engine/graphics/ecs/decal/v2/FPDecalSystem.js +226 -0
  1495. package/src/engine/graphics/ecs/decal/v2/prototypeDecalEditor.js +138 -0
  1496. package/src/engine/graphics/ecs/decal/v2/prototypeDecalSystem.js +496 -0
  1497. package/src/engine/graphics/ecs/highlight/Highlight.d.ts +16 -0
  1498. package/src/engine/graphics/ecs/highlight/Highlight.js +188 -0
  1499. package/src/engine/graphics/ecs/highlight/HighlightDefinition.d.ts +16 -0
  1500. package/src/engine/graphics/ecs/highlight/HighlightDefinition.js +86 -0
  1501. package/src/engine/graphics/ecs/highlight/HighlightEditor.js +17 -0
  1502. package/src/engine/graphics/ecs/highlight/HighlightSerializationAdapter.js +87 -0
  1503. package/src/engine/graphics/ecs/highlight/HighlightSerializationUpgrader_0_1.js +28 -0
  1504. package/src/engine/graphics/ecs/highlight/plugin/HighlightRenderElementSource.js +12 -0
  1505. package/src/engine/graphics/ecs/highlight/plugin/OutlineRenderPlugin.js +193 -0
  1506. package/src/engine/graphics/ecs/highlight/renderer/HighlightDecodeShader.js +67 -0
  1507. package/src/engine/graphics/ecs/highlight/renderer/HighlightRenderElement.js +47 -0
  1508. package/src/engine/graphics/ecs/highlight/renderer/HighlightRenderGroup.js +31 -0
  1509. package/src/engine/graphics/ecs/highlight/renderer/OutlineRenderer.js +634 -0
  1510. package/src/engine/graphics/ecs/highlight/renderer/makeBlurShader_9.js +49 -0
  1511. package/src/engine/graphics/ecs/highlight/renderer/makeDilationShader.js +92 -0
  1512. package/src/engine/graphics/ecs/highlight/renderer/makeGaussianBlurShader.js +61 -0
  1513. package/src/engine/graphics/ecs/highlight/renderer/traverseThreeObject.js +18 -0
  1514. package/src/engine/graphics/ecs/highlight/system/MeshHighlightSystem.d.ts +8 -0
  1515. package/src/engine/graphics/ecs/highlight/system/MeshHighlightSystem.js +180 -0
  1516. package/src/engine/graphics/ecs/highlight/system/RenderableHighlightSystem.d.ts +8 -0
  1517. package/src/engine/graphics/ecs/highlight/system/RenderableHighlightSystem.js +176 -0
  1518. package/src/engine/graphics/ecs/highlight/system/ShadedGeometryHighlightSystem.d.ts +8 -0
  1519. package/src/engine/graphics/ecs/highlight/system/ShadedGeometryHighlightSystem.js +185 -0
  1520. package/src/engine/graphics/ecs/light/Light.d.ts +19 -0
  1521. package/src/engine/graphics/ecs/light/Light.js +167 -0
  1522. package/src/engine/graphics/ecs/light/LightContext.js +69 -0
  1523. package/src/engine/graphics/ecs/light/LightSerializationAdapter.js +50 -0
  1524. package/src/engine/graphics/ecs/light/LightSystem.d.ts +11 -0
  1525. package/src/engine/graphics/ecs/light/LightSystem.js +344 -0
  1526. package/src/engine/graphics/ecs/light/LightType.d.ts +6 -0
  1527. package/src/engine/graphics/ecs/light/LightType.js +11 -0
  1528. package/src/engine/graphics/ecs/light/binding/LightBinding.js +118 -0
  1529. package/src/engine/graphics/ecs/light/binding/fp/FPLightBinding.js +61 -0
  1530. package/src/engine/graphics/ecs/light/binding/three/ThreeLightBinding.js +348 -0
  1531. package/src/engine/graphics/ecs/light/binding/three/applyRotation.js +24 -0
  1532. package/src/engine/graphics/ecs/light/binding/three/threeEnsureLightObject.js +12 -0
  1533. package/src/engine/graphics/ecs/light/binding/three/threeMakeLight.js +41 -0
  1534. package/src/engine/graphics/ecs/light/shadow/ShadowManager.js +54 -0
  1535. package/src/engine/graphics/ecs/light/shadow/ShadowMap.js +11 -0
  1536. package/src/engine/graphics/ecs/light/shadow/setShadowCameraDimensionsDiscrete.js +43 -0
  1537. package/src/engine/graphics/ecs/light/three/ThreeLightCache.js +250 -0
  1538. package/src/engine/graphics/ecs/light/three/light2type.js +20 -0
  1539. package/src/engine/graphics/ecs/mesh/Mesh.d.ts +35 -0
  1540. package/src/engine/graphics/ecs/mesh/Mesh.js +448 -0
  1541. package/src/engine/graphics/ecs/mesh/MeshEditor.js +28 -0
  1542. package/src/engine/graphics/ecs/mesh/MeshEvents.d.ts +12 -0
  1543. package/src/engine/graphics/ecs/mesh/MeshEvents.js +16 -0
  1544. package/src/engine/graphics/ecs/mesh/MeshSystem.d.ts +7 -0
  1545. package/src/engine/graphics/ecs/mesh/MeshSystem.js +467 -0
  1546. package/src/engine/graphics/ecs/mesh/SkeletonUtils.js +284 -0
  1547. package/src/engine/graphics/ecs/mesh/applyTransformToThreeObject.js +14 -0
  1548. package/src/engine/graphics/ecs/mesh/assetTypeByPath.js +28 -0
  1549. package/src/engine/graphics/ecs/mesh/commonObject3DFastMatrixUpdate.js +37 -0
  1550. package/src/engine/graphics/ecs/mesh/copyToVector3.js +18 -0
  1551. package/src/engine/graphics/ecs/mesh/createTaskWaitForMeshesToLoad.js +158 -0
  1552. package/src/engine/graphics/ecs/mesh/object3DFastMatrixUpdate.js +18 -0
  1553. package/src/engine/graphics/ecs/mesh/rootObject3DFastMatrixUpdate.js +14 -0
  1554. package/src/engine/graphics/ecs/mesh/serialization/MeshSerializationAdapter.js +43 -0
  1555. package/src/engine/graphics/ecs/mesh/setMesh.js +55 -0
  1556. package/src/engine/graphics/ecs/mesh/setThreeObjectRotation.js +11 -0
  1557. package/src/engine/graphics/ecs/mesh/skeleton/BoneMapping.js +101 -0
  1558. package/src/engine/graphics/ecs/mesh/skeleton/HumanoidBoneType.js +29 -0
  1559. package/src/engine/graphics/ecs/mesh/updateMeshTransform.js +15 -0
  1560. package/src/engine/graphics/ecs/mesh/updateNodeByTransformAndBBB.js +54 -0
  1561. package/src/engine/graphics/ecs/mesh-v2/DrawMode.d.ts +6 -0
  1562. package/src/engine/graphics/ecs/mesh-v2/DrawMode.js +10 -0
  1563. package/src/engine/graphics/ecs/mesh-v2/ShadedGeometry.d.ts +20 -0
  1564. package/src/engine/graphics/ecs/mesh-v2/ShadedGeometry.js +370 -0
  1565. package/src/engine/graphics/ecs/mesh-v2/ShadedGeometryFlags.js +20 -0
  1566. package/src/engine/graphics/ecs/mesh-v2/ShadedGeometrySystem.d.ts +32 -0
  1567. package/src/engine/graphics/ecs/mesh-v2/ShadedGeometrySystem.js +538 -0
  1568. package/src/engine/graphics/ecs/mesh-v2/aggregate/SGMesh.d.ts +14 -0
  1569. package/src/engine/graphics/ecs/mesh-v2/aggregate/SGMesh.js +179 -0
  1570. package/src/engine/graphics/ecs/mesh-v2/aggregate/SGMeshEvents.d.ts +12 -0
  1571. package/src/engine/graphics/ecs/mesh-v2/aggregate/SGMeshEvents.js +12 -0
  1572. package/src/engine/graphics/ecs/mesh-v2/aggregate/SGMeshHighlightSystem.d.ts +7 -0
  1573. package/src/engine/graphics/ecs/mesh-v2/aggregate/SGMeshHighlightSystem.js +90 -0
  1574. package/src/engine/graphics/ecs/mesh-v2/aggregate/SGMeshSystem.d.ts +8 -0
  1575. package/src/engine/graphics/ecs/mesh-v2/aggregate/SGMeshSystem.js +294 -0
  1576. package/src/engine/graphics/ecs/mesh-v2/aggregate/prototypeSGMesh.js +174 -0
  1577. package/src/engine/graphics/ecs/mesh-v2/allocate_transform_m4.js +51 -0
  1578. package/src/engine/graphics/ecs/mesh-v2/allocate_v3.js +37 -0
  1579. package/src/engine/graphics/ecs/mesh-v2/build_three_object.js +45 -0
  1580. package/src/engine/graphics/ecs/mesh-v2/render/SGThreeObjectCache.js +38 -0
  1581. package/src/engine/graphics/ecs/mesh-v2/render/ShadedGeometryRendererContext.js +171 -0
  1582. package/src/engine/graphics/ecs/mesh-v2/render/adapters/AbstractRenderAdapter.js +131 -0
  1583. package/src/engine/graphics/ecs/mesh-v2/render/adapters/GenericRendererAdapter.js +43 -0
  1584. package/src/engine/graphics/ecs/mesh-v2/render/adapters/InstancedRendererAdapter.js +151 -0
  1585. package/src/engine/graphics/ecs/mesh-v2/render/optimization/RuntimeDrawMethodOptimizer.js +126 -0
  1586. package/src/engine/graphics/ecs/mesh-v2/sample/load_gltf.js +130 -0
  1587. package/src/engine/graphics/ecs/mesh-v2/sample/prototypeShadedGeometry.js +173 -0
  1588. package/src/engine/graphics/ecs/mesh-v2/sample/prototype_sg_raycast.js +214 -0
  1589. package/src/engine/graphics/ecs/mesh-v2/sg_hierarchy_compute_bounding_box_via_parent_entity.d.ts +4 -0
  1590. package/src/engine/graphics/ecs/mesh-v2/sg_hierarchy_compute_bounding_box_via_parent_entity.js +31 -0
  1591. package/src/engine/graphics/ecs/mesh-v2/three_object_to_entity_composition.d.ts +4 -0
  1592. package/src/engine/graphics/ecs/mesh-v2/three_object_to_entity_composition.js +49 -0
  1593. package/src/engine/graphics/ecs/path/PathDisplay.d.ts +9 -0
  1594. package/src/engine/graphics/ecs/path/PathDisplay.js +30 -0
  1595. package/src/engine/graphics/ecs/path/PathDisplayEvents.d.ts +3 -0
  1596. package/src/engine/graphics/ecs/path/PathDisplayEvents.js +8 -0
  1597. package/src/engine/graphics/ecs/path/PathDisplaySpec.d.ts +11 -0
  1598. package/src/engine/graphics/ecs/path/PathDisplaySpec.js +70 -0
  1599. package/src/engine/graphics/ecs/path/PathDisplaySystem.d.ts +10 -0
  1600. package/src/engine/graphics/ecs/path/PathDisplaySystem.js +354 -0
  1601. package/src/engine/graphics/ecs/path/PathDisplayType.d.ts +6 -0
  1602. package/src/engine/graphics/ecs/path/PathDisplayType.js +10 -0
  1603. package/src/engine/graphics/ecs/path/entity/EntityPath.js +235 -0
  1604. package/src/engine/graphics/ecs/path/entity/EntityPathMarker.js +29 -0
  1605. package/src/engine/graphics/ecs/path/entity/EntityPathMarkerDefinition.d.ts +8 -0
  1606. package/src/engine/graphics/ecs/path/entity/EntityPathMarkerDefinition.js +65 -0
  1607. package/src/engine/graphics/ecs/path/entity/EntityPathStyle.d.ts +12 -0
  1608. package/src/engine/graphics/ecs/path/entity/EntityPathStyle.js +46 -0
  1609. package/src/engine/graphics/ecs/path/entity/testEntityPath.js +148 -0
  1610. package/src/engine/graphics/ecs/path/highlight/PathDisplayHighlightSystem.d.ts +7 -0
  1611. package/src/engine/graphics/ecs/path/highlight/PathDisplayHighlightSystem.js +141 -0
  1612. package/src/engine/graphics/ecs/path/ribbon/RibbonPathBuilder.js +149 -0
  1613. package/src/engine/graphics/ecs/path/ribbon/RibbonPathStyle.d.ts +7 -0
  1614. package/src/engine/graphics/ecs/path/ribbon/RibbonPathStyle.js +29 -0
  1615. package/src/engine/graphics/ecs/path/testPathDisplaySystem.js +459 -0
  1616. package/src/engine/graphics/ecs/path/tube/BasicMaterialDefinition.d.ts +3 -0
  1617. package/src/engine/graphics/ecs/path/tube/BasicMaterialDefinition.js +8 -0
  1618. package/src/engine/graphics/ecs/path/tube/CapType.d.ts +5 -0
  1619. package/src/engine/graphics/ecs/path/tube/CapType.js +9 -0
  1620. package/src/engine/graphics/ecs/path/tube/MatcapMaterialDefinition.d.ts +3 -0
  1621. package/src/engine/graphics/ecs/path/tube/MatcapMaterialDefinition.js +17 -0
  1622. package/src/engine/graphics/ecs/path/tube/PathNormalType.d.ts +4 -0
  1623. package/src/engine/graphics/ecs/path/tube/PathNormalType.js +11 -0
  1624. package/src/engine/graphics/ecs/path/tube/StandardMaterialDefinition.d.ts +4 -0
  1625. package/src/engine/graphics/ecs/path/tube/StandardMaterialDefinition.js +15 -0
  1626. package/src/engine/graphics/ecs/path/tube/TubeMaterialType.d.ts +6 -0
  1627. package/src/engine/graphics/ecs/path/tube/TubeMaterialType.js +6 -0
  1628. package/src/engine/graphics/ecs/path/tube/TubePathStyle.d.ts +35 -0
  1629. package/src/engine/graphics/ecs/path/tube/TubePathStyle.js +235 -0
  1630. package/src/engine/graphics/ecs/path/tube/TubePathStyle.spec.js +5 -0
  1631. package/src/engine/graphics/ecs/path/tube/build/StreamGeometryBuilder.js +90 -0
  1632. package/src/engine/graphics/ecs/path/tube/build/TubePathBuilder.js +203 -0
  1633. package/src/engine/graphics/ecs/path/tube/build/build_geometry_catmullrom.js +75 -0
  1634. package/src/engine/graphics/ecs/path/tube/build/build_geometry_catmullrom.spec.js +32 -0
  1635. package/src/engine/graphics/ecs/path/tube/build/build_geometry_linear.js +70 -0
  1636. package/src/engine/graphics/ecs/path/tube/build/computeFrenetFrames.js +191 -0
  1637. package/src/engine/graphics/ecs/path/tube/build/compute_smooth_profile_normals.js +41 -0
  1638. package/src/engine/graphics/ecs/path/tube/build/estimatePathLength.js +17 -0
  1639. package/src/engine/graphics/ecs/path/tube/build/estimatePathViaIterativeIntegral.js +37 -0
  1640. package/src/engine/graphics/ecs/path/tube/build/fix_shape_normal_order.js +45 -0
  1641. package/src/engine/graphics/ecs/path/tube/build/makeTubeGeometry.js +201 -0
  1642. package/src/engine/graphics/ecs/path/tube/build/make_cap.js +274 -0
  1643. package/src/engine/graphics/ecs/path/tube/build/make_ring_faces.js +40 -0
  1644. package/src/engine/graphics/ecs/path/tube/build/make_ring_vertices.js +152 -0
  1645. package/src/engine/graphics/ecs/path/tube/prototypeAnimatedPathMask.js +392 -0
  1646. package/src/engine/graphics/ecs/sprite/Sprite.js +11 -0
  1647. package/src/engine/graphics/ecs/sprite/SpriteSystemPE.js +133 -0
  1648. package/src/engine/graphics/ecs/sprite/prototypeSpriteSystem.js +1570 -0
  1649. package/src/engine/graphics/ecs/trail/Trail.js +83 -0
  1650. package/src/engine/graphics/ecs/trail/TrailMaterial.js +67 -0
  1651. package/src/engine/graphics/ecs/trail/TrailMaterial2.js +73 -0
  1652. package/src/engine/graphics/ecs/trail/TrailSystem.js +162 -0
  1653. package/src/engine/graphics/ecs/trail2d/Trail2D.js +230 -0
  1654. package/src/engine/graphics/ecs/trail2d/Trail2DSystem.d.ts +6 -0
  1655. package/src/engine/graphics/ecs/trail2d/Trail2DSystem.js +287 -0
  1656. package/src/engine/graphics/ecs/trail2d/makeGradientTrail.js +68 -0
  1657. package/src/engine/graphics/ecs/water/Water.js +178 -0
  1658. package/src/engine/graphics/ecs/water/WaterSerializationAdapter.js +65 -0
  1659. package/src/engine/graphics/ecs/water/WaterSerializationUpgrader_0_1.js +48 -0
  1660. package/src/engine/graphics/ecs/water/WaterSystem.js +338 -0
  1661. package/src/engine/graphics/ecs/water2/NodeWaterShader1.js +213 -0
  1662. package/src/engine/graphics/ecs/water2/shader/AlexWaterShader.js +243 -0
  1663. package/src/engine/graphics/ecs/water2/shader/JBWaterShader.js +315 -0
  1664. package/src/engine/graphics/ecs/water2/shader/testWaterShader.js +161 -0
  1665. package/src/engine/graphics/filter/FlipArrayInPlace.js +30 -0
  1666. package/src/engine/graphics/filter/FlipArrayViaCanvas.js +13 -0
  1667. package/src/engine/graphics/filter/ImageFilter.js +84 -0
  1668. package/src/engine/graphics/geometry/AttributeSpec.d.ts +8 -0
  1669. package/src/engine/graphics/geometry/AttributeSpec.js +120 -0
  1670. package/src/engine/graphics/geometry/BufferGeometryWrap.js +25 -0
  1671. package/src/engine/graphics/geometry/FULL_SCREEN_TRIANGLE_GEOMETRY.js +18 -0
  1672. package/src/engine/graphics/geometry/MikkT/AddTriToGroup.js +10 -0
  1673. package/src/engine/graphics/geometry/MikkT/AssignRecur.js +84 -0
  1674. package/src/engine/graphics/geometry/MikkT/AvgTSpace.js +38 -0
  1675. package/src/engine/graphics/geometry/MikkT/Build4RuleGroups.js +96 -0
  1676. package/src/engine/graphics/geometry/MikkT/BuildNeighborsFast.js +137 -0
  1677. package/src/engine/graphics/geometry/MikkT/CalcTexArea.js +31 -0
  1678. package/src/engine/graphics/geometry/MikkT/CompareSubGroups.js +26 -0
  1679. package/src/engine/graphics/geometry/MikkT/DegenEpilogue.js +220 -0
  1680. package/src/engine/graphics/geometry/MikkT/DegenPrologue.js +115 -0
  1681. package/src/engine/graphics/geometry/MikkT/EvalTspace.js +128 -0
  1682. package/src/engine/graphics/geometry/MikkT/GenerateInitialVerticesIndexList.js +48 -0
  1683. package/src/engine/graphics/geometry/MikkT/GenerateSharedVerticesIndexList.js +184 -0
  1684. package/src/engine/graphics/geometry/MikkT/GenerateTSpaces.js +226 -0
  1685. package/src/engine/graphics/geometry/MikkT/GetEdge.js +45 -0
  1686. package/src/engine/graphics/geometry/MikkT/GetNormal.js +16 -0
  1687. package/src/engine/graphics/geometry/MikkT/GetPosition.js +25 -0
  1688. package/src/engine/graphics/geometry/MikkT/GetTexCoord.js +18 -0
  1689. package/src/engine/graphics/geometry/MikkT/InitTriInfo.js +180 -0
  1690. package/src/engine/graphics/geometry/MikkT/Length.js +10 -0
  1691. package/src/engine/graphics/geometry/MikkT/MakeIndex.js +18 -0
  1692. package/src/engine/graphics/geometry/MikkT/MikkTSpace.js +339 -0
  1693. package/src/engine/graphics/geometry/MikkT/MikkTSpace.spec.js +28 -0
  1694. package/src/engine/graphics/geometry/MikkT/NormalizeSafe.js +21 -0
  1695. package/src/engine/graphics/geometry/MikkT/NotZero.js +10 -0
  1696. package/src/engine/graphics/geometry/MikkT/QuickSort.js +54 -0
  1697. package/src/engine/graphics/geometry/MikkT/QuickSortEdges.js +71 -0
  1698. package/src/engine/graphics/geometry/MikkT/SSubGroup.js +15 -0
  1699. package/src/engine/graphics/geometry/MikkT/STSpace.js +36 -0
  1700. package/src/engine/graphics/geometry/MikkT/buffer_geometry_ensure_tangents.js +34 -0
  1701. package/src/engine/graphics/geometry/MikkT/buffer_geometry_generate_tangents.js +28 -0
  1702. package/src/engine/graphics/geometry/MikkT/constants/GROUP_WITH_ANY.js +1 -0
  1703. package/src/engine/graphics/geometry/MikkT/constants/INTERNAL_RND_SORT_SEED.js +1 -0
  1704. package/src/engine/graphics/geometry/MikkT/constants/MARK_DEGENERATE.js +1 -0
  1705. package/src/engine/graphics/geometry/MikkT/constants/ORIENT_PRESERVING.js +1 -0
  1706. package/src/engine/graphics/geometry/MikkT/constants/QUAD_ONE_DEGEN_TRI.js +1 -0
  1707. package/src/engine/graphics/geometry/MikkT/m_getNormal.js +16 -0
  1708. package/src/engine/graphics/geometry/MikkT/m_getNumFaces.js +8 -0
  1709. package/src/engine/graphics/geometry/MikkT/m_getNumVerticesOfFace.js +11 -0
  1710. package/src/engine/graphics/geometry/MikkT/m_getPosition.js +20 -0
  1711. package/src/engine/graphics/geometry/MikkT/m_getTexCoord.js +16 -0
  1712. package/src/engine/graphics/geometry/MikkT/m_setTSpace.js +35 -0
  1713. package/src/engine/graphics/geometry/MikkT/m_setTSpaceBasic.js +22 -0
  1714. package/src/engine/graphics/geometry/MikkT/malloc.js +16 -0
  1715. package/src/engine/graphics/geometry/MikkT/v3_scale_dot_sub_normalize.js +52 -0
  1716. package/src/engine/graphics/geometry/QuadGeometry.js +13 -0
  1717. package/src/engine/graphics/geometry/VertexDataSpec.d.ts +15 -0
  1718. package/src/engine/graphics/geometry/VertexDataSpec.js +220 -0
  1719. package/src/engine/graphics/geometry/aabb3_to_buffer_geometry.js +30 -0
  1720. package/src/engine/graphics/geometry/buffered/ComputeNormals.js +101 -0
  1721. package/src/engine/graphics/geometry/buffered/computeBufferAttributeHash.js +27 -0
  1722. package/src/engine/graphics/geometry/buffered/computeGeometryBoundingSphereMiniball.js +17 -0
  1723. package/src/engine/graphics/geometry/buffered/computeGeometryEquality.js +56 -0
  1724. package/src/engine/graphics/geometry/buffered/computeGeometryHash.js +26 -0
  1725. package/src/engine/graphics/geometry/buffered/compute_buffer_geometry_byte_size.js +16 -0
  1726. package/src/engine/graphics/geometry/buffered/deinterleaveBufferAttribute.js +40 -0
  1727. package/src/engine/graphics/geometry/buffered/deinterleaveBufferGeometry.js +50 -0
  1728. package/src/engine/graphics/geometry/buffered/ensureGeometryBoundingSphere.js +19 -0
  1729. package/src/engine/graphics/geometry/buffered/makeGeometryIndexed.js +24 -0
  1730. package/src/engine/graphics/geometry/buffered/query/ClippingPlaneContainmentComputingVisitor.js +195 -0
  1731. package/src/engine/graphics/geometry/buffered/query/GeometrySpatialQueryAccelerator.d.ts +25 -0
  1732. package/src/engine/graphics/geometry/buffered/query/GeometrySpatialQueryAccelerator.js +219 -0
  1733. package/src/engine/graphics/geometry/buffered/query/GeometryVisitor.js +87 -0
  1734. package/src/engine/graphics/geometry/buffered/query/RaycastNearestHitComputingVisitor.js +206 -0
  1735. package/src/engine/graphics/geometry/bvh/BVHFromGeometry.js +72 -0
  1736. package/src/engine/graphics/geometry/bvh/buffered/BVHFromBufferGeometry.js +133 -0
  1737. package/src/engine/graphics/geometry/bvh/buffered/BVHGeometryRaycaster.js +234 -0
  1738. package/src/engine/graphics/geometry/bvh/buffered/BinaryBVHFromBufferGeometry.js +123 -0
  1739. package/src/engine/graphics/geometry/bvh/buffered/IndexedTraingleBoundsComputer.js +43 -0
  1740. package/src/engine/graphics/geometry/clipping/ClippedGeometry.js +144 -0
  1741. package/src/engine/graphics/geometry/computeBoundingSphereFromVertexData.js +29 -0
  1742. package/src/engine/graphics/geometry/computeMeshSurfaceArea.js +88 -0
  1743. package/src/engine/graphics/geometry/compute_geometry_polycount.js +21 -0
  1744. package/src/engine/graphics/geometry/decimation/SimplifyModifier.js +971 -0
  1745. package/src/engine/graphics/geometry/instancing/InstancedMeshGroup.js +570 -0
  1746. package/src/engine/graphics/geometry/instancing/rewriteMaterial.js +53 -0
  1747. package/src/engine/graphics/geometry/optimization/VertexCacheOptimizer.js +437 -0
  1748. package/src/engine/graphics/geometry/optimization/merge/merge_geometry_hierarchy.js +327 -0
  1749. package/src/engine/graphics/geometry/optimization/merge/prototypeGeometryMerge.js +176 -0
  1750. package/src/engine/graphics/geometry/ribbon/Quad.js +213 -0
  1751. package/src/engine/graphics/geometry/ribbon/Ribbon.js +256 -0
  1752. package/src/engine/graphics/geometry/ribbon/copyAttributeV3.js +12 -0
  1753. package/src/engine/graphics/geometry/ribbon/copyAttributeValue.js +17 -0
  1754. package/src/engine/graphics/geometry/ribbon/createRibbon.js +66 -0
  1755. package/src/engine/graphics/geometry/ribbon/equalAttributeV3.js +13 -0
  1756. package/src/engine/graphics/geometry/ribbon/equalAttributeValue.js +24 -0
  1757. package/src/engine/graphics/geometry/ribbon/rotateRibbon.js +37 -0
  1758. package/src/engine/graphics/geometry/ribbon/updateTipPosition.js +52 -0
  1759. package/src/engine/graphics/geometry/scaleGeometryToBox.js +23 -0
  1760. package/src/engine/graphics/geometry/skining/computeSkinnedMeshBoundingVolumes.js +33 -0
  1761. package/src/engine/graphics/geometry/skining/computeSkinnedMeshVertices.js +140 -0
  1762. package/src/engine/graphics/impostors/card_cluster/FacePlaneAssignment.js +30 -0
  1763. package/src/engine/graphics/impostors/card_cluster/README.md +13 -0
  1764. package/src/engine/graphics/impostors/octahedral/ImpostorBaker.js +349 -0
  1765. package/src/engine/graphics/impostors/octahedral/ImpostorCaptureType.js +10 -0
  1766. package/src/engine/graphics/impostors/octahedral/ImpostorDescription.js +87 -0
  1767. package/src/engine/graphics/impostors/octahedral/README.md +34 -0
  1768. package/src/engine/graphics/impostors/octahedral/bake/compute_bounding_sphere.js +45 -0
  1769. package/src/engine/graphics/impostors/octahedral/bake/compute_bounding_sphere_radius_only.js +37 -0
  1770. package/src/engine/graphics/impostors/octahedral/bake/prepare_bake_material.js +132 -0
  1771. package/src/engine/graphics/impostors/octahedral/grid/HemiOctahedralUvEncoder.js +20 -0
  1772. package/src/engine/graphics/impostors/octahedral/grid/OctahedralUvEncoder.js +25 -0
  1773. package/src/engine/graphics/impostors/octahedral/grid/UvEncoder.js +21 -0
  1774. package/src/engine/graphics/impostors/octahedral/prototypeBaker.js +225 -0
  1775. package/src/engine/graphics/impostors/octahedral/shader/BakeShaderStandard.js +196 -0
  1776. package/src/engine/graphics/impostors/octahedral/shader/ImpostorShaderStandard.js +306 -0
  1777. package/src/engine/graphics/impostors/octahedral/shader/ImpostorShaderV0.js +365 -0
  1778. package/src/engine/graphics/impostors/octahedral/shader/ImpostorShaderV1.js +74 -0
  1779. package/src/engine/graphics/impostors/octahedral/shader/ImpostorShaderWireframeV0.js +134 -0
  1780. package/src/engine/graphics/impostors/octahedral/shader/glsl/common.glsl +206 -0
  1781. package/src/engine/graphics/impostors/octahedral/shader/glsl/v1/common.glsl +209 -0
  1782. package/src/engine/graphics/impostors/octahedral/shader/glsl/v1/flagment.glsl +80 -0
  1783. package/src/engine/graphics/impostors/octahedral/shader/glsl/v1/vertex.glsl +350 -0
  1784. package/src/engine/graphics/impostors/octahedral/util/build_cutout_from_atlas_by_alpha.js +128 -0
  1785. package/src/engine/graphics/impostors/octahedral/util/build_geometry_from_cutout_shape.js +32 -0
  1786. package/src/engine/graphics/impostors/octahedral/util/load_mesh_for_bake.js +31 -0
  1787. package/src/engine/graphics/impostors/octahedral/util/makeImpostorAtlasPreview.js +107 -0
  1788. package/src/engine/graphics/loadCubeTexture.js +32 -0
  1789. package/src/engine/graphics/loader/threejs/GLTFLoader.js +3179 -0
  1790. package/src/engine/graphics/loader/threejs/LegacyJSONLoader.js +845 -0
  1791. package/src/engine/graphics/makeModelView.js +47 -0
  1792. package/src/engine/graphics/material/LoadMaterial.js +199 -0
  1793. package/src/engine/graphics/material/SplatMaterial.js +170 -0
  1794. package/src/engine/graphics/material/WaterMaterial.js +73 -0
  1795. package/src/engine/graphics/material/composeCompile.js +37 -0
  1796. package/src/engine/graphics/material/getTextureImmediate.js +19 -0
  1797. package/src/engine/graphics/material/manager/AbstractMaterialTransformer.js +10 -0
  1798. package/src/engine/graphics/material/manager/ManagedMaterial.js +78 -0
  1799. package/src/engine/graphics/material/manager/ManagedTexture.js +3 -0
  1800. package/src/engine/graphics/material/manager/MaterialManager.js +169 -0
  1801. package/src/engine/graphics/material/manager/TextureManager.js +3 -0
  1802. package/src/engine/graphics/material/manager/compilers/CoalesceTextures.js +70 -0
  1803. package/src/engine/graphics/material/optimization/BUFFER_GEOMETRY_UVS.js +10 -0
  1804. package/src/engine/graphics/material/optimization/MaterialDescriptor.js +46 -0
  1805. package/src/engine/graphics/material/optimization/MaterialOptimizationContext.js +871 -0
  1806. package/src/engine/graphics/material/optimization/UvContext.js +18 -0
  1807. package/src/engine/graphics/material/optimization/is_compliant_mesh.js +71 -0
  1808. package/src/engine/graphics/material/optimization/prepare_atlas_texture.js +23 -0
  1809. package/src/engine/graphics/material/optimization/prototypeMaterialOptimizer.js +129 -0
  1810. package/src/engine/graphics/micron/MICRON_GEOMETRY_FIELD.js +1 -0
  1811. package/src/engine/graphics/micron/MICRON_URI_FIELD.js +1 -0
  1812. package/src/engine/graphics/micron/build/MICRON_PATCH_SIZE_MAX.js +5 -0
  1813. package/src/engine/graphics/micron/build/PatchRepresentation.js +424 -0
  1814. package/src/engine/graphics/micron/build/buildMicronGeometryFromBufferGeometry.js +311 -0
  1815. package/src/engine/graphics/micron/build/build_geometry_info.js +21 -0
  1816. package/src/engine/graphics/micron/build/clustering/assignInitialPatchNeighbours.js +63 -0
  1817. package/src/engine/graphics/micron/build/clustering/assign_patch_neighbours_from_topology.js +46 -0
  1818. package/src/engine/graphics/micron/build/clustering/build_clustering_2.js +37 -0
  1819. package/src/engine/graphics/micron/build/clustering/build_leaf_patches.js +326 -0
  1820. package/src/engine/graphics/micron/build/clustering/build_leaf_patches_metis.js +76 -0
  1821. package/src/engine/graphics/micron/build/clustering/computeBorderLengthChange.js +59 -0
  1822. package/src/engine/graphics/micron/build/clustering/computeFaceCurvatureScore.js +57 -0
  1823. package/src/engine/graphics/micron/build/clustering/computeOpenFaceFreedom.js +35 -0
  1824. package/src/engine/graphics/micron/build/clustering/compute_face_connection_weight.js +35 -0
  1825. package/src/engine/graphics/micron/build/clustering/populateOpenFaceNeighboursForPatch.js +56 -0
  1826. package/src/engine/graphics/micron/build/clustering/validate_leaf_patch_connectivity.js +44 -0
  1827. package/src/engine/graphics/micron/build/compute_micron_buffer_array_constructor.js +24 -0
  1828. package/src/engine/graphics/micron/build/compute_vertex_remap_cost.js +29 -0
  1829. package/src/engine/graphics/micron/build/debug/build_clustering_info.js +58 -0
  1830. package/src/engine/graphics/micron/build/debug/build_graph_info.js +59 -0
  1831. package/src/engine/graphics/micron/build/fill_patch_geometry_data.js +270 -0
  1832. package/src/engine/graphics/micron/build/hierarchy/buildAbstractPatchHierarchy.js +196 -0
  1833. package/src/engine/graphics/micron/build/hierarchy/build_intermediate_patch_topology.js +162 -0
  1834. package/src/engine/graphics/micron/build/hierarchy/build_merge_graph.js +89 -0
  1835. package/src/engine/graphics/micron/build/hierarchy/computePatchMergeScore.js +146 -0
  1836. package/src/engine/graphics/micron/build/hierarchy/compute_patches_shared_vertex_count.js +32 -0
  1837. package/src/engine/graphics/micron/build/hierarchy/compute_patches_shared_vertices.js +34 -0
  1838. package/src/engine/graphics/micron/build/hierarchy/merge_patches.js +581 -0
  1839. package/src/engine/graphics/micron/build/hierarchy/metis_cluster_clusters.js +53 -0
  1840. package/src/engine/graphics/micron/build/hierarchy/optimize_graph_partitioning_balance.js +515 -0
  1841. package/src/engine/graphics/micron/build/hierarchy/patch_combine.js +180 -0
  1842. package/src/engine/graphics/micron/build/hierarchy/patch_fill_holes_by_uncollapse.js +60 -0
  1843. package/src/engine/graphics/micron/build/hierarchy/patch_stitch_parent_border.js +320 -0
  1844. package/src/engine/graphics/micron/build/hierarchy/qvdr_build_simplified_clusters.js +547 -0
  1845. package/src/engine/graphics/micron/build/hierarchy/qvdr_build_tree.js +140 -0
  1846. package/src/engine/graphics/micron/buildPatchwork.js +68 -0
  1847. package/src/engine/graphics/micron/convert_three_object_to_micron.js +179 -0
  1848. package/src/engine/graphics/micron/debug/VirtualGeometryStats.js +42 -0
  1849. package/src/engine/graphics/micron/format/MICRON_GEOMETRY_PROPERTY_NAME.js +1 -0
  1850. package/src/engine/graphics/micron/format/MicronGeometry.d.ts +21 -0
  1851. package/src/engine/graphics/micron/format/MicronGeometry.js +334 -0
  1852. package/src/engine/graphics/micron/format/MicronGeometryPatch.d.ts +3 -0
  1853. package/src/engine/graphics/micron/format/MicronGeometryPatch.js +205 -0
  1854. package/src/engine/graphics/micron/format/MicronGeometryPatchOccurance.js +50 -0
  1855. package/src/engine/graphics/micron/format/ThreeMicronMesh.d.ts +10 -0
  1856. package/src/engine/graphics/micron/format/ThreeMicronMesh.js +45 -0
  1857. package/src/engine/graphics/micron/format/VirtualGeometry.js +158 -0
  1858. package/src/engine/graphics/micron/format/micron_build_proxy_geometry.js +205 -0
  1859. package/src/engine/graphics/micron/format/serialization/MicronGeometryBinarySerializationAdapter.js +123 -0
  1860. package/src/engine/graphics/micron/format/serialization/MicronGeometryBinarySerializationAdapter.spec.js +63 -0
  1861. package/src/engine/graphics/micron/format/serialization/collection/geometry_collection_serialization.js +83 -0
  1862. package/src/engine/graphics/micron/format/serialization/collection/geometry_collection_serialization.spec.js +51 -0
  1863. package/src/engine/graphics/micron/format/serialization/deserialize_attribute_spec.js +25 -0
  1864. package/src/engine/graphics/micron/format/serialization/deserialize_patch.js +106 -0
  1865. package/src/engine/graphics/micron/format/serialization/serialize_attribute_spec.js +18 -0
  1866. package/src/engine/graphics/micron/format/serialization/serialize_patch.js +84 -0
  1867. package/src/engine/graphics/micron/format/validate_patch_bounds.js +69 -0
  1868. package/src/engine/graphics/micron/plugin/GLTFAssetTransformer.js +265 -0
  1869. package/src/engine/graphics/micron/plugin/GLTF_MICRON_ID_FIELD.js +5 -0
  1870. package/src/engine/graphics/micron/plugin/MicronRenderPlugin.d.ts +8 -0
  1871. package/src/engine/graphics/micron/plugin/MicronRenderPlugin.js +150 -0
  1872. package/src/engine/graphics/micron/plugin/serialization/BufferGeometrySerializationAdapter.js +176 -0
  1873. package/src/engine/graphics/micron/plugin/shaded_geometry/MicronShadedGeometryRenderAdapter.js +216 -0
  1874. package/src/engine/graphics/micron/prototypeMicronProxyBuild.js +227 -0
  1875. package/src/engine/graphics/micron/prototypeVirtualGeometry.js +911 -0
  1876. package/src/engine/graphics/micron/render/PatchCacheKey.js +79 -0
  1877. package/src/engine/graphics/micron/render/VIRTUAL_MESH_FLAG.d.ts +1 -0
  1878. package/src/engine/graphics/micron/render/VIRTUAL_MESH_FLAG.js +1 -0
  1879. package/src/engine/graphics/micron/render/VirtualGeometryBuilder.js +207 -0
  1880. package/src/engine/graphics/micron/render/approximateTriangleArea.js +25 -0
  1881. package/src/engine/graphics/micron/render/culling/PatchCullingSystem.js +129 -0
  1882. package/src/engine/graphics/micron/render/instanced/AttributeDataTexture.js +294 -0
  1883. package/src/engine/graphics/micron/render/instanced/PatchDataTextures.js +325 -0
  1884. package/src/engine/graphics/micron/render/instanced/ThreeInstancedAdapter.js +175 -0
  1885. package/src/engine/graphics/micron/render/instanced/shader/constants.js +3 -0
  1886. package/src/engine/graphics/micron/render/instanced/shader/gen_micron_vertex_attribute_texture_name.js +8 -0
  1887. package/src/engine/graphics/micron/render/instanced/shader/shader_rewrite_standard.js +250 -0
  1888. package/src/engine/graphics/micron/render/makeThreeMeshFromVirtualGeometry.js +37 -0
  1889. package/src/engine/graphics/micron/render/refinement/ActivePatchFlags.js +8 -0
  1890. package/src/engine/graphics/micron/render/refinement/ActivePatchList.js +241 -0
  1891. package/src/engine/graphics/micron/render/refinement/ActivePatchRecord.js +154 -0
  1892. package/src/engine/graphics/micron/render/refinement/RefinementSpec.js +84 -0
  1893. package/src/engine/graphics/micron/render/refinement/get_geometry_patch_cut.js +133 -0
  1894. package/src/engine/graphics/micron/render/refinement/is_patch_facing_back.js +43 -0
  1895. package/src/engine/graphics/micron/render/refinement/is_patch_visible.js +37 -0
  1896. package/src/engine/graphics/micron/render/v1/MaterialContext.js +150 -0
  1897. package/src/engine/graphics/micron/render/v1/MaterialVertexSpec.js +115 -0
  1898. package/src/engine/graphics/micron/render/v1/MicronRenderContext.js +145 -0
  1899. package/src/engine/graphics/micron/render/v1/ThreeVirtualGeometryAdapter.js +255 -0
  1900. package/src/engine/graphics/micron/render/v1/VGThreeRenderer.js +142 -0
  1901. package/src/engine/graphics/micron/render/v1/getTransformedPositionsCached.js +54 -0
  1902. package/src/engine/graphics/micron/simplifyGeometry.js +26 -0
  1903. package/src/engine/graphics/micron/util/patchToBufferGeometry.js +19 -0
  1904. package/src/engine/graphics/particles/ParticleEmitterLibrary.js +87 -0
  1905. package/src/engine/graphics/particles/ecs/ParticleEmitterSystem.d.ts +7 -0
  1906. package/src/engine/graphics/particles/ecs/ParticleEmitterSystem.js +261 -0
  1907. package/src/engine/graphics/particles/node-based/codegen/CodeContext.js +50 -0
  1908. package/src/engine/graphics/particles/node-based/codegen/CodeGenerator.js +19 -0
  1909. package/src/engine/graphics/particles/node-based/codegen/glsl/GLSLCodeGenerator.js +249 -0
  1910. package/src/engine/graphics/particles/node-based/codegen/glsl/genAttributeInputName.js +8 -0
  1911. package/src/engine/graphics/particles/node-based/codegen/glsl/genAttributeOutputName.js +8 -0
  1912. package/src/engine/graphics/particles/node-based/codegen/glsl/getTypeByteSize.js +21 -0
  1913. package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/curl/glslm_curlNoise.js +58 -0
  1914. package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/curl/glslm_snoiseVector3.js +44 -0
  1915. package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/simplex/3d/glslm_mod289_v3.js +28 -0
  1916. package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/simplex/3d/glslm_mod289_v4.js +28 -0
  1917. package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/simplex/3d/glslm_permute.js +39 -0
  1918. package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/simplex/3d/glslm_snoise.js +124 -0
  1919. package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/simplex/3d/glslm_tylorInvSqrt.js +30 -0
  1920. package/src/engine/graphics/particles/node-based/codegen/modules/FunctionModule.js +125 -0
  1921. package/src/engine/graphics/particles/node-based/codegen/modules/FunctionModuleReference.js +64 -0
  1922. package/src/engine/graphics/particles/node-based/codegen/modules/FunctionModuleRegistry.js +275 -0
  1923. package/src/engine/graphics/particles/node-based/codegen/modules/FunctionParameterSpecification.js +59 -0
  1924. package/src/engine/graphics/particles/node-based/codegen/modules/FunctionSignature.js +57 -0
  1925. package/src/engine/graphics/particles/node-based/editor/ParticleSpecificationEditorView.js +176 -0
  1926. package/src/engine/graphics/particles/node-based/nodes/FloatConstant.js +31 -0
  1927. package/src/engine/graphics/particles/node-based/nodes/ParticleDataTypes.js +13 -0
  1928. package/src/engine/graphics/particles/node-based/nodes/ReadFloatUniform.js +26 -0
  1929. package/src/engine/graphics/particles/node-based/nodes/ReadPosition.js +5 -0
  1930. package/src/engine/graphics/particles/node-based/nodes/ReadVelocity.js +14 -0
  1931. package/src/engine/graphics/particles/node-based/nodes/ShaderNode.js +73 -0
  1932. package/src/engine/graphics/particles/node-based/nodes/Vector3Constant.js +30 -0
  1933. package/src/engine/graphics/particles/node-based/nodes/Vector3Merge.js +30 -0
  1934. package/src/engine/graphics/particles/node-based/nodes/Vector3Split.js +32 -0
  1935. package/src/engine/graphics/particles/node-based/nodes/WriteVelocity.js +15 -0
  1936. package/src/engine/graphics/particles/node-based/nodes/attribute/ReadVector3Attribute.js +27 -0
  1937. package/src/engine/graphics/particles/node-based/nodes/attribute/WriteVector3Attribute.js +25 -0
  1938. package/src/engine/graphics/particles/node-based/nodes/math/AddFloatNode.js +26 -0
  1939. package/src/engine/graphics/particles/node-based/nodes/math/Vector3Add.js +25 -0
  1940. package/src/engine/graphics/particles/node-based/nodes/math/Vector3Divide.js +25 -0
  1941. package/src/engine/graphics/particles/node-based/nodes/math/Vector3Multiply.js +25 -0
  1942. package/src/engine/graphics/particles/node-based/nodes/math/Vector3Subtract.js +25 -0
  1943. package/src/engine/graphics/particles/node-based/nodes/noise/CurlNoiseNode.js +39 -0
  1944. package/src/engine/graphics/particles/node-based/particle/GeometryAttributes.js +10 -0
  1945. package/src/engine/graphics/particles/node-based/particle/ParticleAttributeBinding.js +14 -0
  1946. package/src/engine/graphics/particles/node-based/particle/ParticleAttributeSpecification.js +60 -0
  1947. package/src/engine/graphics/particles/node-based/particle/ParticleSpecification.js +95 -0
  1948. package/src/engine/graphics/particles/node-based/populateFunctionModuleRegistry.js +23 -0
  1949. package/src/engine/graphics/particles/node-based/populateNodeRegistry.js +48 -0
  1950. package/src/engine/graphics/particles/node-based/rendering/AbstractParticleRenderer.js +37 -0
  1951. package/src/engine/graphics/particles/node-based/rendering/ParticleRenderCommand.js +37 -0
  1952. package/src/engine/graphics/particles/node-based/rendering/ParticleRenderSpecification.js +19 -0
  1953. package/src/engine/graphics/particles/node-based/rendering/billboard/BillboardParticleRenderer.js +170 -0
  1954. package/src/engine/graphics/particles/node-based/rendering/billboard/ParticleBillboardShader.js +150 -0
  1955. package/src/engine/graphics/particles/node-based/simulation/EmitterAttributeData.js +107 -0
  1956. package/src/engine/graphics/particles/node-based/simulation/GLDataBuffer.js +105 -0
  1957. package/src/engine/graphics/particles/node-based/simulation/GLSLParticleSimulator.js +6 -0
  1958. package/src/engine/graphics/particles/node-based/simulation/GLSLSimulationShader.js +192 -0
  1959. package/src/engine/graphics/particles/node-based/simulation/TransformFeedback.js +418 -0
  1960. package/src/engine/graphics/particles/particular/engine/MovingBoundingBox.js +157 -0
  1961. package/src/engine/graphics/particles/particular/engine/MovingBoundingBox.spec.js +70 -0
  1962. package/src/engine/graphics/particles/particular/engine/ParticularEngine.js +267 -0
  1963. package/src/engine/graphics/particles/particular/engine/TF.js +250 -0
  1964. package/src/engine/graphics/particles/particular/engine/emitter/EmissionFromType.js +8 -0
  1965. package/src/engine/graphics/particles/particular/engine/emitter/EmissionShapeType.js +9 -0
  1966. package/src/engine/graphics/particles/particular/engine/emitter/PARTICLE_ATTRIBUTES.js +12 -0
  1967. package/src/engine/graphics/particles/particular/engine/emitter/PARTICULAR_PARTICLE_SPECIFICATION.js +84 -0
  1968. package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.d.ts +2 -0
  1969. package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.js +1224 -0
  1970. package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.spec.js +47 -0
  1971. package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitterFlag.js +67 -0
  1972. package/src/engine/graphics/particles/particular/engine/emitter/ParticleLayer.js +400 -0
  1973. package/src/engine/graphics/particles/particular/engine/emitter/ParticleLayer.spec.js +75 -0
  1974. package/src/engine/graphics/particles/particular/engine/emitter/ParticleParameters.js +4 -0
  1975. package/src/engine/graphics/particles/particular/engine/emitter/ParticlePool.js +606 -0
  1976. package/src/engine/graphics/particles/particular/engine/emitter/ParticlePool.spec.js +188 -0
  1977. package/src/engine/graphics/particles/particular/engine/emitter/ParticleRenderProfile.js +18 -0
  1978. package/src/engine/graphics/particles/particular/engine/emitter/ParticleRendererType.js +10 -0
  1979. package/src/engine/graphics/particles/particular/engine/emitter/computeEmissionFunction.js +37 -0
  1980. package/src/engine/graphics/particles/particular/engine/emitter/distance_to_camera.js +25 -0
  1981. package/src/engine/graphics/particles/particular/engine/emitter/serde/ParameterLookupTableSerializationAdapter.js +105 -0
  1982. package/src/engine/graphics/particles/particular/engine/emitter/serde/ParticleEmitterSerializationAdapter.js +165 -0
  1983. package/src/engine/graphics/particles/particular/engine/emitter/serde/ParticleEmitterSerializationUpgrader_0_1.js +107 -0
  1984. package/src/engine/graphics/particles/particular/engine/parameter/ParameterLookupTable.d.ts +15 -0
  1985. package/src/engine/graphics/particles/particular/engine/parameter/ParameterLookupTable.js +452 -0
  1986. package/src/engine/graphics/particles/particular/engine/parameter/ParameterLookupTable.spec.js +215 -0
  1987. package/src/engine/graphics/particles/particular/engine/parameter/ParameterLookupTableFlags.js +6 -0
  1988. package/src/engine/graphics/particles/particular/engine/parameter/ParameterSet.js +133 -0
  1989. package/src/engine/graphics/particles/particular/engine/parameter/ParameterSet.spec.js +75 -0
  1990. package/src/engine/graphics/particles/particular/engine/parameter/ParameterSheet.js +274 -0
  1991. package/src/engine/graphics/particles/particular/engine/parameter/ParameterTrack.js +77 -0
  1992. package/src/engine/graphics/particles/particular/engine/parameter/ParameterTrackSet.js +97 -0
  1993. package/src/engine/graphics/particles/particular/engine/parameter/ParticleParameter.js +232 -0
  1994. package/src/engine/graphics/particles/particular/engine/parameter/sample/RGBA_LUT_HEATMAP_IR.js +11 -0
  1995. package/src/engine/graphics/particles/particular/engine/renderers/ParticleRenderer.js +28 -0
  1996. package/src/engine/graphics/particles/particular/engine/renderers/billboard/BILLBOARD_PARTICLE_SPECIFICATION.js +24 -0
  1997. package/src/engine/graphics/particles/particular/engine/renderers/billboard/ParticleBillboardMaterial.js +496 -0
  1998. package/src/engine/graphics/particles/particular/engine/renderers/billboard/SoftBillboardParticlePool.js +27 -0
  1999. package/src/engine/graphics/particles/particular/engine/renderers/billboard/SoftBillboardParticleRenderer.js +80 -0
  2000. package/src/engine/graphics/particles/particular/engine/renderers/billboard/prototypeBillboardRenderer.js +164 -0
  2001. package/src/engine/graphics/particles/particular/engine/shader/MaterialRecord.js +43 -0
  2002. package/src/engine/graphics/particles/particular/engine/shader/ShaderManager.js +462 -0
  2003. package/src/engine/graphics/particles/particular/engine/shader/debugAtlas.js +14 -0
  2004. package/src/engine/graphics/particles/particular/engine/simulator/AbstractSimulationStep.js +61 -0
  2005. package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepApplyForce.js +56 -0
  2006. package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepCurlNoiseAcceleration.js +84 -0
  2007. package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepCurlNoiseVelocity.js +79 -0
  2008. package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepDefinition.js +44 -0
  2009. package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepFixedPhysics.js +104 -0
  2010. package/src/engine/graphics/particles/particular/engine/simulator/SimulationStepType.js +11 -0
  2011. package/src/engine/graphics/particles/particular/engine/simulator/update_parameters.js +41 -0
  2012. package/src/engine/graphics/particles/particular/engine/utils/distributeParticlesOnObject3D.js +234 -0
  2013. package/src/engine/graphics/particles/particular/engine/utils/distrubuteParticlesOnMesh.js +188 -0
  2014. package/src/engine/graphics/particles/particular/engine/utils/volume/AttributeValue.d.ts +16 -0
  2015. package/src/engine/graphics/particles/particular/engine/utils/volume/AttributeValue.js +201 -0
  2016. package/src/engine/graphics/particles/particular/engine/utils/volume/ParticleVolume.d.ts +29 -0
  2017. package/src/engine/graphics/particles/particular/engine/utils/volume/ParticleVolume.js +625 -0
  2018. package/src/engine/graphics/particles/particular/engine/utils/volume/SamplingFunctionKind.d.ts +4 -0
  2019. package/src/engine/graphics/particles/particular/engine/utils/volume/SamplingFunctionKind.js +8 -0
  2020. package/src/engine/graphics/particles/particular/engine/utils/volume/lut_to_sampler.js +27 -0
  2021. package/src/engine/graphics/particles/particular/engine/utils/volume/prototypeParticleVolume.js +1240 -0
  2022. package/src/engine/graphics/particles/particular/group/Operation.js +18 -0
  2023. package/src/engine/graphics/particles/particular/group/OperationType.js +9 -0
  2024. package/src/engine/graphics/particles/particular/group/ParticleAttribute.js +25 -0
  2025. package/src/engine/graphics/particles/particular/group/ParticleAttributeType.js +11 -0
  2026. package/src/engine/graphics/particles/particular/group/ParticleDataType.js +10 -0
  2027. package/src/engine/graphics/particles/particular/group/ParticleGroup.js +637 -0
  2028. package/src/engine/graphics/particles/particular/group/ParticleGroup.spec.js +270 -0
  2029. package/src/engine/graphics/particles/particular/group/ParticleSpecification.js +48 -0
  2030. package/src/engine/graphics/particles/particular/group/itemSizeFromAttributeType.js +20 -0
  2031. package/src/engine/graphics/particles/particular/group/optimizeCommandQueue.js +162 -0
  2032. package/src/engine/graphics/particles/particular/group/typedArrayConstructorFromDataType.js +19 -0
  2033. package/src/engine/graphics/postprocess/Postprocess.js +284 -0
  2034. package/src/engine/graphics/postprocess/threejs/Mirror.js +330 -0
  2035. package/src/engine/graphics/postprocess/threejs/WaterShader.js +306 -0
  2036. package/src/engine/graphics/postprocess/threejs/postprocessing/AdaptiveToneMappingPass.js +338 -0
  2037. package/src/engine/graphics/postprocess/threejs/postprocessing/BloomPass.js +132 -0
  2038. package/src/engine/graphics/postprocess/threejs/postprocessing/BokehPass.js +115 -0
  2039. package/src/engine/graphics/postprocess/threejs/postprocessing/ClearMaskPass.js +23 -0
  2040. package/src/engine/graphics/postprocess/threejs/postprocessing/DotScreenPass.js +60 -0
  2041. package/src/engine/graphics/postprocess/threejs/postprocessing/EffectComposer.js +150 -0
  2042. package/src/engine/graphics/postprocess/threejs/postprocessing/FilmPass.js +61 -0
  2043. package/src/engine/graphics/postprocess/threejs/postprocessing/GlitchPass.js +117 -0
  2044. package/src/engine/graphics/postprocess/threejs/postprocessing/MaskPass.js +69 -0
  2045. package/src/engine/graphics/postprocess/threejs/postprocessing/RenderPass.js +63 -0
  2046. package/src/engine/graphics/postprocess/threejs/postprocessing/SMAAPass.js +187 -0
  2047. package/src/engine/graphics/postprocess/threejs/postprocessing/SavePass.js +67 -0
  2048. package/src/engine/graphics/postprocess/threejs/postprocessing/ShaderPass.js +89 -0
  2049. package/src/engine/graphics/postprocess/threejs/postprocessing/TexturePass.js +50 -0
  2050. package/src/engine/graphics/postprocess/threejs/shaders/BokehShader.js +117 -0
  2051. package/src/engine/graphics/postprocess/threejs/shaders/ConvolutionShader.js +106 -0
  2052. package/src/engine/graphics/postprocess/threejs/shaders/CopyShader.js +47 -0
  2053. package/src/engine/graphics/postprocess/threejs/shaders/FXAAShader.js +90 -0
  2054. package/src/engine/graphics/postprocess/threejs/shaders/GammaCorrectionShader.js +52 -0
  2055. package/src/engine/graphics/postprocess/threejs/shaders/LuminosityShader.js +51 -0
  2056. package/src/engine/graphics/postprocess/threejs/shaders/SMAAShader.js +468 -0
  2057. package/src/engine/graphics/postprocess/threejs/shaders/SSAOShader.js +230 -0
  2058. package/src/engine/graphics/postprocess/threejs/shaders/ToneMapShader.js +76 -0
  2059. package/src/engine/graphics/render/Lines.js +122 -0
  2060. package/src/engine/graphics/render/RenderPassType.js +8 -0
  2061. package/src/engine/graphics/render/RendererPool.js +48 -0
  2062. package/src/engine/graphics/render/buffer/FrameBuffer.js +103 -0
  2063. package/src/engine/graphics/render/buffer/FrameBufferManager.js +228 -0
  2064. package/src/engine/graphics/render/buffer/RenderGraph.js +177 -0
  2065. package/src/engine/graphics/render/buffer/RenderGraphUtils.js +32 -0
  2066. package/src/engine/graphics/render/buffer/buffers/ColorAndDepthFrameBuffer.js +62 -0
  2067. package/src/engine/graphics/render/buffer/buffers/DepthFrameBuffer.js +101 -0
  2068. package/src/engine/graphics/render/buffer/buffers/NormalFrameBuffer.js +143 -0
  2069. package/src/engine/graphics/render/buffer/buffers/prototypeNormalFrameBuffer.js +396 -0
  2070. package/src/engine/graphics/render/buffer/conection/ProgramValueSlotConnection.js +43 -0
  2071. package/src/engine/graphics/render/buffer/conection/ProgramValueSlotConnectionEndpoint.js +39 -0
  2072. package/src/engine/graphics/render/buffer/conection/ProgramValueSlotConnectionValidator.js +30 -0
  2073. package/src/engine/graphics/render/buffer/executor/FrameBufferPool.js +127 -0
  2074. package/src/engine/graphics/render/buffer/executor/RenderGraphExecutor.js +261 -0
  2075. package/src/engine/graphics/render/buffer/executor/RenderProgramCommandType.js +5 -0
  2076. package/src/engine/graphics/render/buffer/node/DeferredRenderProgramDefinition.js +142 -0
  2077. package/src/engine/graphics/render/buffer/node/RenderProgramDefinition.js +21 -0
  2078. package/src/engine/graphics/render/buffer/node/RenderProgramInstance.js +30 -0
  2079. package/src/engine/graphics/render/buffer/node/ScreenSpaceRenderProgramDefinition.js +118 -0
  2080. package/src/engine/graphics/render/buffer/simple-fx/DepthLimitedBlur.js +191 -0
  2081. package/src/engine/graphics/render/buffer/simple-fx/SimplePostProcessEffect.js +10 -0
  2082. package/src/engine/graphics/render/buffer/simple-fx/SimplePostProcessEffectsManager.js +27 -0
  2083. package/src/engine/graphics/render/buffer/simple-fx/ao/AmbientOcclusionPostProcessEffect.d.ts +8 -0
  2084. package/src/engine/graphics/render/buffer/simple-fx/ao/AmbientOcclusionPostProcessEffect.js +384 -0
  2085. package/src/engine/graphics/render/buffer/simple-fx/ao/SAOShader.js +186 -0
  2086. package/src/engine/graphics/render/buffer/simple-fx/taa/TemporalSupersamplingRenderPlugin.js +95 -0
  2087. package/src/engine/graphics/render/buffer/simple-fx/taa/prototypeTAA.js +61 -0
  2088. package/src/engine/graphics/render/buffer/slot/ProgramSlotValue.js +35 -0
  2089. package/src/engine/graphics/render/buffer/slot/ProgramValueDirectionKind.js +7 -0
  2090. package/src/engine/graphics/render/buffer/slot/ProgramValueSlotDefinition.js +33 -0
  2091. package/src/engine/graphics/render/buffer/slot/ProgramValueType.js +11 -0
  2092. package/src/engine/graphics/render/buffer/slot/parameter/ProgramValueSlotParameter.js +61 -0
  2093. package/src/engine/graphics/render/buffer/slot/parameter/ProgramValueSlotParameter.spec.js +21 -0
  2094. package/src/engine/graphics/render/buffer/slot/parameter/ProgramValueSlotParameterSet.js +44 -0
  2095. package/src/engine/graphics/render/buffer/slot/parameter/ProgramValueSlotParameterType.js +12 -0
  2096. package/src/engine/graphics/render/buffer/slot/parameter/RenderTargetParameters.js +9 -0
  2097. package/src/engine/graphics/render/forward_plus/LightManager.js +1157 -0
  2098. package/src/engine/graphics/render/forward_plus/LightManager.spec.js +94 -0
  2099. package/src/engine/graphics/render/forward_plus/PointLightData.js +57 -0
  2100. package/src/engine/graphics/render/forward_plus/SPECIFICATION.md +155 -0
  2101. package/src/engine/graphics/render/forward_plus/assign_cluster.js +125 -0
  2102. package/src/engine/graphics/render/forward_plus/cluster/compute_cluster_planes_from_points.js +98 -0
  2103. package/src/engine/graphics/render/forward_plus/cluster/compute_light_data_hash.js +17 -0
  2104. package/src/engine/graphics/render/forward_plus/cluster/compute_light_data_hash_0.js +17 -0
  2105. package/src/engine/graphics/render/forward_plus/cluster/read_plane_pair.js +29 -0
  2106. package/src/engine/graphics/render/forward_plus/cluster/write_cluster_planes.js +43 -0
  2107. package/src/engine/graphics/render/forward_plus/cluster/write_cluster_planes.spec.js +79 -0
  2108. package/src/engine/graphics/render/forward_plus/computeFrustumCorners.js +69 -0
  2109. package/src/engine/graphics/render/forward_plus/data/NumericType.js +9 -0
  2110. package/src/engine/graphics/render/forward_plus/data/TextureBackedMemoryRegion.js +279 -0
  2111. package/src/engine/graphics/render/forward_plus/data/channelCountToThreIntegerTextureType.js +16 -0
  2112. package/src/engine/graphics/render/forward_plus/data/computeDataType.js +36 -0
  2113. package/src/engine/graphics/render/forward_plus/data/computeThreeTextureFormat.js +18 -0
  2114. package/src/engine/graphics/render/forward_plus/data/computeThreeTextureInternalFormatFromDataType.js +63 -0
  2115. package/src/engine/graphics/render/forward_plus/data/computeThreeTextureTypeFromDataType.js +41 -0
  2116. package/src/engine/graphics/render/forward_plus/debug/LightClusterVolumeMaterial.js +99 -0
  2117. package/src/engine/graphics/render/forward_plus/debug/buildLightClusterWidget.js +67 -0
  2118. package/src/engine/graphics/render/forward_plus/debug/createLayerSwitcher.js +46 -0
  2119. package/src/engine/graphics/render/forward_plus/debug/createScreenGrid.js +327 -0
  2120. package/src/engine/graphics/render/forward_plus/materials/FP_INJECTION_POINT_ACCUMULATION.js +1 -0
  2121. package/src/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_ACCUMULATION.js +40 -0
  2122. package/src/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_APPLY_DECALS.js +70 -0
  2123. package/src/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_DECODE_PARS.js +55 -0
  2124. package/src/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_LOAD_METADATA.js +11 -0
  2125. package/src/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_PREAMBLE.js +34 -0
  2126. package/src/engine/graphics/render/forward_plus/materials/FPlusDebugMaterial.js +173 -0
  2127. package/src/engine/graphics/render/forward_plus/materials/FPlusStandardMaterial.js +393 -0
  2128. package/src/engine/graphics/render/forward_plus/materials/ForwardPlusThreeMaterial.js +146 -0
  2129. package/src/engine/graphics/render/forward_plus/materials/ForwardPlusThreeShaderMaterial.js +31 -0
  2130. package/src/engine/graphics/render/forward_plus/materials/fp_build_fragment_shader.js +60 -0
  2131. package/src/engine/graphics/render/forward_plus/materials/fp_build_vertex_lighting_shared.js +38 -0
  2132. package/src/engine/graphics/render/forward_plus/materials/fp_build_vertex_shader.js +30 -0
  2133. package/src/engine/graphics/render/forward_plus/model/AbstractLight.js +70 -0
  2134. package/src/engine/graphics/render/forward_plus/model/Decal.js +117 -0
  2135. package/src/engine/graphics/render/forward_plus/model/DirectionalLight.js +40 -0
  2136. package/src/engine/graphics/render/forward_plus/model/PointLight.js +105 -0
  2137. package/src/engine/graphics/render/forward_plus/model/SpotLight.js +143 -0
  2138. package/src/engine/graphics/render/forward_plus/plugin/ForwardPlusRenderingPlugin.d.ts +5 -0
  2139. package/src/engine/graphics/render/forward_plus/plugin/ForwardPlusRenderingPlugin.js +91 -0
  2140. package/src/engine/graphics/render/forward_plus/plugin/MaterialTransformer.js +130 -0
  2141. package/src/engine/graphics/render/forward_plus/plugin/isLitMaterial.js +8 -0
  2142. package/src/engine/graphics/render/forward_plus/plugin/ptototypeFPPlugin.js +1203 -0
  2143. package/src/engine/graphics/render/forward_plus/prototype/prototypeLightManager.js +1643 -0
  2144. package/src/engine/graphics/render/forward_plus/query/analytical_triplanar_corner_mapping.js +8 -0
  2145. package/src/engine/graphics/render/forward_plus/query/cube_mapping.js +38 -0
  2146. package/src/engine/graphics/render/forward_plus/query/detailed_sphere_frustum_intersection_test.js +88 -0
  2147. package/src/engine/graphics/render/forward_plus/query/point_light_inside_volume.js +74 -0
  2148. package/src/engine/graphics/render/forward_plus/query/query_bvh_frustum_from_objects.js +133 -0
  2149. package/src/engine/graphics/render/forward_plus/query/query_bvh_frustum_from_texture.js +166 -0
  2150. package/src/engine/graphics/render/forward_plus/query/spot_light_inside_volume.js +33 -0
  2151. package/src/engine/graphics/render/forward_plus/read_frustum_corner.js +14 -0
  2152. package/src/engine/graphics/render/forward_plus/sort_decal_data.js +102 -0
  2153. package/src/engine/graphics/render/forward_plus/testClusterEquality.js +22 -0
  2154. package/src/engine/graphics/render/frame_graph/GraphNode.js +22 -0
  2155. package/src/engine/graphics/render/frame_graph/IRenderContext.js +8 -0
  2156. package/src/engine/graphics/render/frame_graph/RenderGraph.js +409 -0
  2157. package/src/engine/graphics/render/frame_graph/RenderGraphBuilder.js +77 -0
  2158. package/src/engine/graphics/render/frame_graph/RenderPass.js +50 -0
  2159. package/src/engine/graphics/render/frame_graph/RenderPassFlags.js +6 -0
  2160. package/src/engine/graphics/render/frame_graph/RenderPassNode.js +103 -0
  2161. package/src/engine/graphics/render/frame_graph/RenderPassResources.js +65 -0
  2162. package/src/engine/graphics/render/frame_graph/ResourceEntry.js +77 -0
  2163. package/src/engine/graphics/render/frame_graph/ResourceNode.js +23 -0
  2164. package/src/engine/graphics/render/frame_graph/TextureDescriptor.js +64 -0
  2165. package/src/engine/graphics/render/frame_graph/sample/deferred/GBufferDrawPass.js +33 -0
  2166. package/src/engine/graphics/render/frame_graph/sample/deferred/LightingPass.js +24 -0
  2167. package/src/engine/graphics/render/frame_graph/sample/deferred/run.js +31 -0
  2168. package/src/engine/graphics/render/frame_graph/sample/meep-v1/ColorDepthPass.js +38 -0
  2169. package/src/engine/graphics/render/frame_graph/sample/meep-v1/OutlinePass.js +9 -0
  2170. package/src/engine/graphics/render/frame_graph/sample/meep-v1/SSAOPass.js +5 -0
  2171. package/src/engine/graphics/render/frame_graph/sample/meep-v1/render.js +7 -0
  2172. package/src/engine/graphics/render/frame_graph/webgl/WebGLRenderContext.js +5 -0
  2173. package/src/engine/graphics/render/gizmo/Gizmo.d.ts +3 -0
  2174. package/src/engine/graphics/render/gizmo/Gizmo.js +3 -0
  2175. package/src/engine/graphics/render/gizmo/GizmoRenderingPlugin.d.ts +5 -0
  2176. package/src/engine/graphics/render/gizmo/GizmoRenderingPlugin.js +25 -0
  2177. package/src/engine/graphics/render/gizmo/GizmoShapeRenderingInterface.d.ts +13 -0
  2178. package/src/engine/graphics/render/gizmo/GizmoShapeRenderingInterface.js +176 -0
  2179. package/src/engine/graphics/render/gizmo/prototypeGizmo.js +29 -0
  2180. package/src/engine/graphics/render/layers/RenderLayer.d.ts +19 -0
  2181. package/src/engine/graphics/render/layers/RenderLayer.js +160 -0
  2182. package/src/engine/graphics/render/layers/RenderLayerManager.d.ts +17 -0
  2183. package/src/engine/graphics/render/layers/RenderLayerManager.js +162 -0
  2184. package/src/engine/graphics/render/layers/RenderLayerManagerState.js +52 -0
  2185. package/src/engine/graphics/render/layers/RenderLayerState.d.ts +3 -0
  2186. package/src/engine/graphics/render/layers/RenderLayerState.js +29 -0
  2187. package/src/engine/graphics/render/layers/RenderLayerUtils.js +105 -0
  2188. package/src/engine/graphics/render/staged/PostProcessingEffect.js +32 -0
  2189. package/src/engine/graphics/render/staged/PostProcessingEffectInputCoupling.js +41 -0
  2190. package/src/engine/graphics/render/staged/PostProcessingStack.js +29 -0
  2191. package/src/engine/graphics/render/staged/StagedRenderer.js +161 -0
  2192. package/src/engine/graphics/render/staged/StandardRenderOutputs.js +20 -0
  2193. package/src/engine/graphics/render/utils/ThreeBypassRenderer.js +136 -0
  2194. package/src/engine/graphics/render/utils/renderScreenSpace.js +32 -0
  2195. package/src/engine/graphics/render/utils/renderTextureToScreenQuad.js +29 -0
  2196. package/src/engine/graphics/render/view/CameraView.js +196 -0
  2197. package/src/engine/graphics/render/view/CameraViewFlags.js +9 -0
  2198. package/src/engine/graphics/render/view/CameraViewManager.js +116 -0
  2199. package/src/engine/graphics/render/visibility/IncrementalDeltaSet.d.ts +24 -0
  2200. package/src/engine/graphics/render/visibility/IncrementalDeltaSet.js +305 -0
  2201. package/src/engine/graphics/render/visibility/IncrementalDeltaSet.spec.js +101 -0
  2202. package/src/engine/graphics/render/visibility/VisibilityComputer.js +118 -0
  2203. package/src/engine/graphics/render/visibility/VisibilityFilter.js +36 -0
  2204. package/src/engine/graphics/render/visibility/hiz/buffer/HierarchicalZBuffer.js +202 -0
  2205. package/src/engine/graphics/render/visibility/hiz/buffer/ReductionShader.js +51 -0
  2206. package/src/engine/graphics/render/visibility/hiz/buildCanvasViewFromTexture.js +258 -0
  2207. package/src/engine/graphics/render/visibility/hiz/prototypeHiZ.js +444 -0
  2208. package/src/engine/graphics/render/visibility/hiz/query/BatchOcclusionQuery.js +174 -0
  2209. package/src/engine/graphics/render/visibility/hiz/query/QueryShader.js +173 -0
  2210. package/src/engine/graphics/render/webgpu/sample/MeshInstance.js +108 -0
  2211. package/src/engine/graphics/render/webgpu/sample/fragmentDeferredRendering.wgsl +71 -0
  2212. package/src/engine/graphics/render/webgpu/sample/fragmentGBuffersDebugView.wgsl +39 -0
  2213. package/src/engine/graphics/render/webgpu/sample/fragmentWriteGBuffers.wgsl +21 -0
  2214. package/src/engine/graphics/render/webgpu/sample/lightUpdate.wgsl +41 -0
  2215. package/src/engine/graphics/render/webgpu/sample/main.js +604 -0
  2216. package/src/engine/graphics/render/webgpu/sample/vertexTextureQuad.wgsl +9 -0
  2217. package/src/engine/graphics/render/webgpu/sample/vertexWriteGBuffers.wgsl +30 -0
  2218. package/src/engine/graphics/sh3/LightProbeVolume.js +588 -0
  2219. package/src/engine/graphics/sh3/README.md +7 -0
  2220. package/src/engine/graphics/sh3/SH3VisualisationMaterial.js +80 -0
  2221. package/src/engine/graphics/sh3/path_tracer/GeometryBVHBatched.js +265 -0
  2222. package/src/engine/graphics/sh3/path_tracer/PathTracedMesh.js +89 -0
  2223. package/src/engine/graphics/sh3/path_tracer/PathTracer.js +576 -0
  2224. package/src/engine/graphics/sh3/path_tracer/apply_texture_clamping_to_coordinate.js +22 -0
  2225. package/src/engine/graphics/sh3/path_tracer/compute_triangle_group_aabb3.js +36 -0
  2226. package/src/engine/graphics/sh3/path_tracer/getBiasedNormalSample.js +55 -0
  2227. package/src/engine/graphics/sh3/path_tracer/make_one_vector3.js +7 -0
  2228. package/src/engine/graphics/sh3/path_tracer/make_sky_hosek.js +44 -0
  2229. package/src/engine/graphics/sh3/path_tracer/make_sky_rtiw.js +17 -0
  2230. package/src/engine/graphics/sh3/path_tracer/make_zero_vector3.js +7 -0
  2231. package/src/engine/graphics/sh3/path_tracer/prototypePathTracer.js +669 -0
  2232. package/src/engine/graphics/sh3/path_tracer/random_in_hemisphere.js +39 -0
  2233. package/src/engine/graphics/sh3/path_tracer/ray_hit_apply_transform.js +57 -0
  2234. package/src/engine/graphics/sh3/path_tracer/ray_reflect.js +27 -0
  2235. package/src/engine/graphics/sh3/path_tracer/sample_triangle_attribute.js +35 -0
  2236. package/src/engine/graphics/sh3/path_tracer/vec3_uint8_to_float.js +12 -0
  2237. package/src/engine/graphics/sh3/prototypeSH3Probe.js +432 -0
  2238. package/src/engine/graphics/sh3/sky/hosek/README.md +4 -0
  2239. package/src/engine/graphics/sh3/sky/hosek/prototype_hosek.js +71 -0
  2240. package/src/engine/graphics/sh3/sky/hosek/sky_hosek_compute_irradiance_by_direction.js +4171 -0
  2241. package/src/engine/graphics/sh3/visualise_probe.js +40 -0
  2242. package/src/engine/graphics/shaders/AlphaBlendShader.js +44 -0
  2243. package/src/engine/graphics/shaders/AmbientOcclusionShader.js +131 -0
  2244. package/src/engine/graphics/shaders/ClearShader.js +30 -0
  2245. package/src/engine/graphics/shaders/CopyShader.js +50 -0
  2246. package/src/engine/graphics/shaders/DenoiseShader.js +119 -0
  2247. package/src/engine/graphics/shaders/GaussianBlurShader.js +79 -0
  2248. package/src/engine/graphics/shaders/GaussianGlowShader.js +83 -0
  2249. package/src/engine/graphics/shaders/NormalMapShader.js +62 -0
  2250. package/src/engine/graphics/shaders/NormalMapShader2.js +93 -0
  2251. package/src/engine/graphics/shaders/ScreenSpaceQuadShader.js +38 -0
  2252. package/src/engine/graphics/shaders/ScreenSpaceShader.js +102 -0
  2253. package/src/engine/graphics/shaders/SoftOutlineShader.js +113 -0
  2254. package/src/engine/graphics/shaders/TerrainShader.js +397 -0
  2255. package/src/engine/graphics/shaders/WaterShader.js +152 -0
  2256. package/src/engine/graphics/shaders/glsl_gen_swizzled_read.js +39 -0
  2257. package/src/engine/graphics/shaders/lib/ShaderChunks.js +66 -0
  2258. package/src/engine/graphics/shadows/README.md +6 -0
  2259. package/src/engine/graphics/shadows/ShadowMapRenderer.js +220 -0
  2260. package/src/engine/graphics/shadows/testShadowMapRendering.js +192 -0
  2261. package/src/engine/graphics/shadows/vsm.glsl.js +41 -0
  2262. package/src/engine/graphics/texture/Canvas2Sampler2D.js +40 -0
  2263. package/src/engine/graphics/texture/CanvasClone.js +24 -0
  2264. package/src/engine/graphics/texture/CheckersTexture.js +28 -0
  2265. package/src/engine/graphics/texture/CheckersTextureURI.js +5 -0
  2266. package/src/engine/graphics/texture/ExportCanvasAsPNG.js +7 -0
  2267. package/src/engine/graphics/texture/ImageLoader.js +33 -0
  2268. package/src/engine/graphics/texture/atlas/AbstractTextureAtlas.js +31 -0
  2269. package/src/engine/graphics/texture/atlas/AtlasLookupTexture.js +86 -0
  2270. package/src/engine/graphics/texture/atlas/AtlasPatch.js +157 -0
  2271. package/src/engine/graphics/texture/atlas/AtlasPatchFlag.js +7 -0
  2272. package/src/engine/graphics/texture/atlas/CachingTextureAtlas.js +303 -0
  2273. package/src/engine/graphics/texture/atlas/ManagedTextureAtlas.js +222 -0
  2274. package/src/engine/graphics/texture/atlas/ReferencedTextureAtlas.js +83 -0
  2275. package/src/engine/graphics/texture/atlas/TextureAtlas.js +562 -0
  2276. package/src/engine/graphics/texture/atlas/TextureAtlas.spec.js +273 -0
  2277. package/src/engine/graphics/texture/atlas/TextureAtlasDebugger.js +129 -0
  2278. package/src/engine/graphics/texture/atlas/gpu/WebGLTextureAtlas.js +181 -0
  2279. package/src/engine/graphics/texture/channelCountToThreeTextureFormat.js +21 -0
  2280. package/src/engine/graphics/texture/cubemap/buildCubeURLs.js +13 -0
  2281. package/src/engine/graphics/texture/cubemap/load_environment_map.d.ts +8 -0
  2282. package/src/engine/graphics/texture/cubemap/load_environment_map.js +163 -0
  2283. package/src/engine/graphics/texture/formatToChannelCount.js +21 -0
  2284. package/src/engine/graphics/texture/noise_octaves.js +33 -0
  2285. package/src/engine/graphics/texture/normalized_internal_format.js +48 -0
  2286. package/src/engine/graphics/texture/sampler/BlendingType.js +12 -0
  2287. package/src/engine/graphics/texture/sampler/HarmonicDiffusionGrid.js +145 -0
  2288. package/src/engine/graphics/texture/sampler/HarmonicDiffusionGrid.spec.js +99 -0
  2289. package/src/engine/graphics/texture/sampler/SampleTraverser.js +165 -0
  2290. package/src/engine/graphics/texture/sampler/Sampler2D.d.ts +28 -0
  2291. package/src/engine/graphics/texture/sampler/Sampler2D.js +1683 -0
  2292. package/src/engine/graphics/texture/sampler/Sampler2D.spec.js +292 -0
  2293. package/src/engine/graphics/texture/sampler/Sampler2D2Canvas.js +93 -0
  2294. package/src/engine/graphics/texture/sampler/Sampler2D2Texture.js +53 -0
  2295. package/src/engine/graphics/texture/sampler/TextureBinaryBufferSerializer.js +168 -0
  2296. package/src/engine/graphics/texture/sampler/TextureBinaryBufferSerializer.spec.js +38 -0
  2297. package/src/engine/graphics/texture/sampler/bicubic.js +59 -0
  2298. package/src/engine/graphics/texture/sampler/blendingType2Three.js +28 -0
  2299. package/src/engine/graphics/texture/sampler/convertSampler2D2DataURL.js +24 -0
  2300. package/src/engine/graphics/texture/sampler/convertTexture2Sampler2D.js +84 -0
  2301. package/src/engine/graphics/texture/sampler/copy_Sampler2D_channel_data.js +73 -0
  2302. package/src/engine/graphics/texture/sampler/differenceSampler.js +31 -0
  2303. package/src/engine/graphics/texture/sampler/distanceField.js +411 -0
  2304. package/src/engine/graphics/texture/sampler/distanceField.spec.js +184 -0
  2305. package/src/engine/graphics/texture/sampler/downloadSamplerAsPNG.js +15 -0
  2306. package/src/engine/graphics/texture/sampler/downsampleSample2D.spec.js +17 -0
  2307. package/src/engine/graphics/texture/sampler/filter/box.js +16 -0
  2308. package/src/engine/graphics/texture/sampler/filter/cubic2.js +32 -0
  2309. package/src/engine/graphics/texture/sampler/filter/gaussian.js +16 -0
  2310. package/src/engine/graphics/texture/sampler/filter/kaiser_1.js +19 -0
  2311. package/src/engine/graphics/texture/sampler/filter/kaiser_bessel_window.js +19 -0
  2312. package/src/engine/graphics/texture/sampler/filter/mitchell.js +55 -0
  2313. package/src/engine/graphics/texture/sampler/filter/sampler2d_scale_down_generic.js +109 -0
  2314. package/src/engine/graphics/texture/sampler/filter/triangle.js +19 -0
  2315. package/src/engine/graphics/texture/sampler/genericResampleSampler2D.js +65 -0
  2316. package/src/engine/graphics/texture/sampler/loadSampler2D.js +36 -0
  2317. package/src/engine/graphics/texture/sampler/mergeSampler2D.js +96 -0
  2318. package/src/engine/graphics/texture/sampler/prototypeSamplerFiltering.js +353 -0
  2319. package/src/engine/graphics/texture/sampler/resize/sampler2d_downsample_mipmap.js +66 -0
  2320. package/src/engine/graphics/texture/sampler/rgbaData2valueSampler2D.js +38 -0
  2321. package/src/engine/graphics/texture/sampler/sample2d_write_to_canvas_raw.js +38 -0
  2322. package/src/engine/graphics/texture/sampler/sampler2DToFloat32Texture.js +39 -0
  2323. package/src/engine/graphics/texture/sampler/sampler2D_scale_down_linear.js +84 -0
  2324. package/src/engine/graphics/texture/sampler/sampler2_d_scale_down_lanczos.js +192 -0
  2325. package/src/engine/graphics/texture/sampler/sampler2d_channel_linear_transform.js +68 -0
  2326. package/src/engine/graphics/texture/sampler/sampler2d_combine.js +67 -0
  2327. package/src/engine/graphics/texture/sampler/sampler2d_compute_texel_value_conversion_scale_to_uint8.js +47 -0
  2328. package/src/engine/graphics/texture/sampler/sampler2d_copy_channel_data.js +25 -0
  2329. package/src/engine/graphics/texture/sampler/sampler2d_to_uint8_RGBA.js +97 -0
  2330. package/src/engine/graphics/texture/sampler/sampler2d_to_uint8_RGBA.spec.js +52 -0
  2331. package/src/engine/graphics/texture/sampler/saturated_value_by_constructor.js +28 -0
  2332. package/src/engine/graphics/texture/sampler/scaleSampler2D.js +44 -0
  2333. package/src/engine/graphics/texture/sampler/search/make_edge_condition_channel_threshold.js +34 -0
  2334. package/src/engine/graphics/texture/sampler/search/sampler2d_find_pixels.js +24 -0
  2335. package/src/engine/graphics/texture/sampler/serialization/Sampler2DSerializationAdapter.js +67 -0
  2336. package/src/engine/graphics/texture/sampler/typedArrayConstructorByInstance.js +25 -0
  2337. package/src/engine/graphics/texture/sampler/upsampleSampler2D.js +47 -0
  2338. package/src/engine/graphics/texture/sampler/util/bitSet2Sampler2D.js +41 -0
  2339. package/src/engine/graphics/texture/sampler/util/drawSamplerHTML.js +43 -0
  2340. package/src/engine/graphics/texture/sampler/writeSampler2DDataToDataTexture.js +39 -0
  2341. package/src/engine/graphics/texture/sprite/prototypeSpriteCutoutGeometry.js +212 -0
  2342. package/src/engine/graphics/texture/texture_array_2d_copy.js +45 -0
  2343. package/src/engine/graphics/texture/virtual/TileOperation.js +13 -0
  2344. package/src/engine/graphics/texture/virtual/TileTree.js +150 -0
  2345. package/src/engine/graphics/texture/virtual/TileTree.spec.js +58 -0
  2346. package/src/engine/graphics/texture/virtual/TileUsage.js +137 -0
  2347. package/src/engine/graphics/texture/virtual/VirtualTexture.js +229 -0
  2348. package/src/engine/graphics/texture/virtual/VirtualTexture.spec.js +38 -0
  2349. package/src/engine/graphics/texture/virtual/page/TilePage.js +148 -0
  2350. package/src/engine/graphics/texture/virtual/page/TilePageSlot.js +36 -0
  2351. package/src/engine/graphics/texture/virtual/tile/Tile.js +44 -0
  2352. package/src/engine/graphics/texture/virtual/tile/Tile.spec.js +11 -0
  2353. package/src/engine/graphics/texture/virtual/tile/TileAddress.js +63 -0
  2354. package/src/engine/graphics/texture/virtual/tile/TileAddress.spec.js +30 -0
  2355. package/src/engine/graphics/texture/virtual/tile/TileLoader.js +173 -0
  2356. package/src/engine/graphics/texture/virtual/tile/TileRequest.js +40 -0
  2357. package/src/engine/graphics/texture/virtual/tile/TileStatus.js +10 -0
  2358. package/src/engine/graphics/texture/virtual/v2/ShaderUsage.js +48 -0
  2359. package/src/engine/graphics/texture/virtual/v2/prototype.js +101 -0
  2360. package/src/engine/graphics/three/DDSLoader.js +286 -0
  2361. package/src/engine/graphics/three/OrbitControls.js +1045 -0
  2362. package/src/engine/graphics/three/Reflector.js +281 -0
  2363. package/src/engine/graphics/three/Refractor.js +352 -0
  2364. package/src/engine/graphics/three/ThreeFactory.js +75 -0
  2365. package/src/engine/graphics/three/TransfromControls.js +1496 -0
  2366. package/src/engine/graphics/three/Water2.js +343 -0
  2367. package/src/engine/graphics/three/cloneObject3D.d.ts +3 -0
  2368. package/src/engine/graphics/three/cloneObject3D.js +70 -0
  2369. package/src/engine/graphics/three/compare_three_objects.js +8 -0
  2370. package/src/engine/graphics/trail/CodeflowTrailMaterial.js +134 -0
  2371. package/src/engine/graphics/trail/TemporalPath.js +160 -0
  2372. package/src/engine/graphics/trail/x/RibbonMaterialX.js +131 -0
  2373. package/src/engine/graphics/trail/x/RibbonX.js +549 -0
  2374. package/src/engine/graphics/trail/x/RibbonXMaterialSpec.d.ts +3 -0
  2375. package/src/engine/graphics/trail/x/RibbonXMaterialSpec.js +23 -0
  2376. package/src/engine/graphics/trail/x/RibbonXPlugin.js +128 -0
  2377. package/src/engine/graphics/trail/x/ribbon_attributes_spec.js +52 -0
  2378. package/src/engine/graphics/trail/x/simulator/RibbonState.js +10 -0
  2379. package/src/engine/graphics/trail/x/simulator/RibbonXFixedPhysicsSimulator.js +35 -0
  2380. package/src/engine/graphics/util/ScaleObject3ToBox.js +38 -0
  2381. package/src/engine/graphics/util/composeMatrix4.js +13 -0
  2382. package/src/engine/graphics/util/composeMatrix4RotationScale.js +14 -0
  2383. package/src/engine/graphics/util/ensureGeometryBoundingBox.js +15 -0
  2384. package/src/engine/graphics/util/launchElementIntoFullscreen.js +16 -0
  2385. package/src/engine/graphics/util/makeMeshPreviewScene.js +100 -0
  2386. package/src/engine/graphics/util/modelHitTest.js +63 -0
  2387. package/src/engine/graphics/util/projectSphere.js +103 -0
  2388. package/src/engine/graphics/util/promiseMaterialLoaded.d.ts +3 -0
  2389. package/src/engine/graphics/util/promiseMaterialLoaded.js +28 -0
  2390. package/src/engine/graphics/util/promiseTextureLoaded.js +31 -0
  2391. package/src/engine/graphics/util/renderObjectToSampler2D.js +83 -0
  2392. package/src/engine/graphics/util/threeUpdateMatrix.js +14 -0
  2393. package/src/engine/graphics/util/threeUpdateTransform.js +16 -0
  2394. package/src/engine/grid/Grid.js +131 -0
  2395. package/src/engine/grid/area/AreaTrigger.js +21 -0
  2396. package/src/engine/grid/area/TriggerAction.js +8 -0
  2397. package/src/engine/grid/area/TriggerActionType.js +5 -0
  2398. package/src/engine/grid/components/GridObstacle.js +246 -0
  2399. package/src/engine/grid/components/GridObstacle.spec.js +46 -0
  2400. package/src/engine/grid/components/GridObstacleSerializationAdapter.js +46 -0
  2401. package/src/engine/grid/components/GridPosition.js +51 -0
  2402. package/src/engine/grid/components/GridPosition2Transform.js +232 -0
  2403. package/src/engine/grid/components/GridPosition2TransformFlags.js +10 -0
  2404. package/src/engine/grid/components/GridPositionSerializationAdapter.js +58 -0
  2405. package/src/engine/grid/components/GridPositionSerializationUpdater_0_1.js +37 -0
  2406. package/src/engine/grid/components/ViewportGridProjection.js +20 -0
  2407. package/src/engine/grid/systems/GridObstacleSystem.js +58 -0
  2408. package/src/engine/grid/systems/GridPosition2TransformSystem.js +118 -0
  2409. package/src/engine/grid/systems/GridPositionSystem.js +108 -0
  2410. package/src/engine/grid/systems/ViewportGridProjectionSystem.js +105 -0
  2411. package/src/engine/grid/transform2grid/Transform2GridPosition.js +73 -0
  2412. package/src/engine/grid/transform2grid/Transform2GridPositionFlags.js +2 -0
  2413. package/src/engine/grid/transform2grid/Transform2GridPositionMode.js +10 -0
  2414. package/src/engine/grid/transform2grid/Transform2GridPositionSystem.js +133 -0
  2415. package/src/engine/input/devices/InputDeviceButton.d.ts +7 -0
  2416. package/src/engine/input/devices/InputDeviceButton.js +22 -0
  2417. package/src/engine/input/devices/KeyCodes.d.ts +1 -0
  2418. package/src/engine/input/devices/KeyCodes.js +107 -0
  2419. package/src/engine/input/devices/KeyValues.js +36 -0
  2420. package/src/engine/input/devices/KeyboardDevice.d.ts +14 -0
  2421. package/src/engine/input/devices/KeyboardDevice.js +134 -0
  2422. package/src/engine/input/devices/PointerDevice.d.ts +25 -0
  2423. package/src/engine/input/devices/PointerDevice.js +588 -0
  2424. package/src/engine/input/devices/events/DragEvents.js +38 -0
  2425. package/src/engine/input/devices/events/KeyboardEvents.d.ts +4 -0
  2426. package/src/engine/input/devices/events/KeyboardEvents.js +4 -0
  2427. package/src/engine/input/devices/events/MouseEvents.d.ts +12 -0
  2428. package/src/engine/input/devices/events/MouseEvents.js +18 -0
  2429. package/src/engine/input/devices/events/TouchEvents.d.ts +6 -0
  2430. package/src/engine/input/devices/events/TouchEvents.js +12 -0
  2431. package/src/engine/input/ecs/InputBinding.js +30 -0
  2432. package/src/engine/input/ecs/components/Input.d.ts +6 -0
  2433. package/src/engine/input/ecs/components/Input.js +80 -0
  2434. package/src/engine/input/ecs/components/InputController.d.ts +3 -0
  2435. package/src/engine/input/ecs/components/InputController.js +54 -0
  2436. package/src/engine/input/ecs/controllers/KeyboardCameraController.js +125 -0
  2437. package/src/engine/input/ecs/ism/InputBinding.d.ts +4 -0
  2438. package/src/engine/input/ecs/ism/InputBinding.js +47 -0
  2439. package/src/engine/input/ecs/systems/InputControllerSystem.d.ts +6 -0
  2440. package/src/engine/input/ecs/systems/InputControllerSystem.js +256 -0
  2441. package/src/engine/input/ecs/systems/InputSystem.d.ts +6 -0
  2442. package/src/engine/input/ecs/systems/InputSystem.js +156 -0
  2443. package/src/engine/input/ecs/util/TerrainCameraTargetSampler.js +26 -0
  2444. package/src/engine/input/ecs/util/TopDownCameraControllerHelper.js +84 -0
  2445. package/src/engine/intelligence/behavior/Behavior.d.ts +11 -0
  2446. package/src/engine/intelligence/behavior/Behavior.js +47 -0
  2447. package/src/engine/intelligence/behavior/BehaviorStatus.d.ts +8 -0
  2448. package/src/engine/intelligence/behavior/BehaviorStatus.js +12 -0
  2449. package/src/engine/intelligence/behavior/SelectorBehavior.js +87 -0
  2450. package/src/engine/intelligence/behavior/behavior_to_dot.js +251 -0
  2451. package/src/engine/intelligence/behavior/behavior_to_dot.prototype.js +55 -0
  2452. package/src/engine/intelligence/behavior/composite/CompositeBehavior.js +62 -0
  2453. package/src/engine/intelligence/behavior/composite/ParallelBehavior.js +240 -0
  2454. package/src/engine/intelligence/behavior/composite/ParallelBehavior.spec.js +165 -0
  2455. package/src/engine/intelligence/behavior/composite/ParallelBehaviorSerializationAdapter.js +63 -0
  2456. package/src/engine/intelligence/behavior/composite/SequenceBehavior.js +122 -0
  2457. package/src/engine/intelligence/behavior/composite/SequenceBehaviorSerializationAdapter.js +52 -0
  2458. package/src/engine/intelligence/behavior/decorator/AbstractDecoratorBehavior.js +46 -0
  2459. package/src/engine/intelligence/behavior/decorator/IgnoreFailureBehavior.js +27 -0
  2460. package/src/engine/intelligence/behavior/decorator/InverterBehavior.js +75 -0
  2461. package/src/engine/intelligence/behavior/decorator/RepeatBehavior.js +86 -0
  2462. package/src/engine/intelligence/behavior/decorator/RepeatBehavior.spec.js +32 -0
  2463. package/src/engine/intelligence/behavior/decorator/RepeatBehaviorSerializationAdapter.js +37 -0
  2464. package/src/engine/intelligence/behavior/decorator/RepeatUntilFailureBehavior.js +70 -0
  2465. package/src/engine/intelligence/behavior/decorator/RepeatUntilSuccessBehavior.js +72 -0
  2466. package/src/engine/intelligence/behavior/ecs/BehaviorComponent.d.ts +3 -0
  2467. package/src/engine/intelligence/behavior/ecs/BehaviorComponent.js +158 -0
  2468. package/src/engine/intelligence/behavior/ecs/BehaviorComponentFlag.js +7 -0
  2469. package/src/engine/intelligence/behavior/ecs/BehaviorComponentSerializationAdapter.js +83 -0
  2470. package/src/engine/intelligence/behavior/ecs/BehaviorSystem.d.ts +7 -0
  2471. package/src/engine/intelligence/behavior/ecs/BehaviorSystem.js +139 -0
  2472. package/src/engine/intelligence/behavior/ecs/BehaviorSystem.spec.js +75 -0
  2473. package/src/engine/intelligence/behavior/ecs/ClockChannelType.js +15 -0
  2474. package/src/engine/intelligence/behavior/ecs/DieBehavior.js +26 -0
  2475. package/src/engine/intelligence/behavior/ecs/EntityBehavior.js +36 -0
  2476. package/src/engine/intelligence/behavior/ecs/WaitForEventBehavior.js +90 -0
  2477. package/src/engine/intelligence/behavior/ecs/WaitForEventBehaviorSerializationAdapter.js +29 -0
  2478. package/src/engine/intelligence/behavior/primitive/ActionBehavior.js +35 -0
  2479. package/src/engine/intelligence/behavior/primitive/FailingBehavior.js +24 -0
  2480. package/src/engine/intelligence/behavior/primitive/FailingBehaviorSerializationAdapter.js +29 -0
  2481. package/src/engine/intelligence/behavior/primitive/PromiseBehavior.js +43 -0
  2482. package/src/engine/intelligence/behavior/primitive/SucceedingBehavior.js +38 -0
  2483. package/src/engine/intelligence/behavior/primitive/SucceedingBehaviorSerializationAdapter.js +29 -0
  2484. package/src/engine/intelligence/behavior/selector/WeightedElement.js +76 -0
  2485. package/src/engine/intelligence/behavior/selector/WeightedRandomBehavior.js +110 -0
  2486. package/src/engine/intelligence/behavior/util/ConditionBehavior.js +27 -0
  2487. package/src/engine/intelligence/behavior/util/ConditionBehavior.spec.js +24 -0
  2488. package/src/engine/intelligence/behavior/util/ConditionalBehavior.js +73 -0
  2489. package/src/engine/intelligence/behavior/util/DelayBehavior.js +67 -0
  2490. package/src/engine/intelligence/behavior/util/FilterBehavior.js +43 -0
  2491. package/src/engine/intelligence/behavior/util/LogMessageBehavior.js +29 -0
  2492. package/src/engine/intelligence/behavior/util/RotationBehavior.js +69 -0
  2493. package/src/engine/intelligence/behavior/util/SelectorBehavior.js +83 -0
  2494. package/src/engine/intelligence/blackboard/AbstractBlackboard.d.ts +15 -0
  2495. package/src/engine/intelligence/blackboard/AbstractBlackboard.js +93 -0
  2496. package/src/engine/intelligence/blackboard/Blackboard.d.ts +5 -0
  2497. package/src/engine/intelligence/blackboard/Blackboard.js +221 -0
  2498. package/src/engine/intelligence/blackboard/Blackboard.spec.js +62 -0
  2499. package/src/engine/intelligence/blackboard/BlackboardDynamicStorageAdapter.js +249 -0
  2500. package/src/engine/intelligence/blackboard/BlackboardSerializationAdapter.js +94 -0
  2501. package/src/engine/intelligence/blackboard/BlackboardSerializationAdapter.spec.js +28 -0
  2502. package/src/engine/intelligence/blackboard/BlackboardStack.js +127 -0
  2503. package/src/engine/intelligence/blackboard/BlackboardValue.js +50 -0
  2504. package/src/engine/intelligence/blackboard/make_blackboard_proxy.js +47 -0
  2505. package/src/engine/intelligence/blackboard/make_blackboard_proxy.spec.js +23 -0
  2506. package/src/engine/intelligence/controller/graph/StateGraph.js +19 -0
  2507. package/src/engine/intelligence/controller/graph/StateGraphDescription.js +32 -0
  2508. package/src/engine/intelligence/controller/graph/StateGraphSystem.js +19 -0
  2509. package/src/engine/intelligence/mcts/MonteCarlo.js +292 -0
  2510. package/src/engine/intelligence/mcts/MonteCarlo.spec.js +242 -0
  2511. package/src/engine/intelligence/mcts/MoveEdge.js +43 -0
  2512. package/src/engine/intelligence/mcts/README.md +7 -0
  2513. package/src/engine/intelligence/mcts/StateNode.js +340 -0
  2514. package/src/engine/intelligence/mcts/StateNode.spec.js +49 -0
  2515. package/src/engine/intelligence/optimization/OptimizationTask.js +49 -0
  2516. package/src/engine/intelligence/optimization/RandomOptimizer.js +147 -0
  2517. package/src/engine/intelligence/optimization/RandomOptimizer.spec.js +57 -0
  2518. package/src/engine/intelligence/resource/ActionSequence.js +46 -0
  2519. package/src/engine/intelligence/resource/Resource.js +57 -0
  2520. package/src/engine/intelligence/resource/ResourceAllocation.js +13 -0
  2521. package/src/engine/intelligence/resource/ResourceAllocationBid.js +44 -0
  2522. package/src/engine/intelligence/resource/ResourceAllocationSolver.js +164 -0
  2523. package/src/engine/intelligence/resource/ResourceAllocationSolver.spec.js +104 -0
  2524. package/src/engine/intelligence/resource/StrategicResourceAllocator.js +129 -0
  2525. package/src/engine/intelligence/resource/StrategicResourceAllocator.spec.js +46 -0
  2526. package/src/engine/intelligence/resource/TacticalModule.js +21 -0
  2527. package/src/engine/knowledge/database/DATABASE_SERIALIZATION_IGNORE_PROPERTY.js +1 -0
  2528. package/src/engine/knowledge/database/StaticKnowledgeDataTable.d.ts +3 -0
  2529. package/src/engine/knowledge/database/StaticKnowledgeDataTable.js +497 -0
  2530. package/src/engine/knowledge/database/StaticKnowledgeDataTableDescriptor.d.ts +7 -0
  2531. package/src/engine/knowledge/database/StaticKnowledgeDataTableDescriptor.js +50 -0
  2532. package/src/engine/knowledge/database/StaticKnowledgeDatabase.js +298 -0
  2533. package/src/engine/logging/ConsoleLoggerBackend.js +37 -0
  2534. package/src/engine/logging/GlobalLogger.js +3 -0
  2535. package/src/engine/logging/LogLevel.js +11 -0
  2536. package/src/engine/logging/Logger.js +80 -0
  2537. package/src/engine/logging/LoggerBackend.js +38 -0
  2538. package/src/engine/logging/elastic/ElasticSearchLogger.js +153 -0
  2539. package/src/engine/metrics/GlobalMetrics.js +7 -0
  2540. package/src/engine/metrics/GoogleAnalyticsMetrics.js +63 -0
  2541. package/src/engine/metrics/MetricsCategory.js +12 -0
  2542. package/src/engine/metrics/MetricsGateway.js +14 -0
  2543. package/src/engine/metrics/NullMetricsGateway.js +9 -0
  2544. package/src/engine/metrics/ProxyMetricsGateway.js +34 -0
  2545. package/src/engine/navigation/PathFinder.js +172 -0
  2546. package/src/engine/navigation/PathWorker.js +78 -0
  2547. package/src/engine/navigation/ecs/components/InterpolationType.d.ts +4 -0
  2548. package/src/engine/navigation/ecs/components/InterpolationType.js +10 -0
  2549. package/src/engine/navigation/ecs/components/Path.d.ts +45 -0
  2550. package/src/engine/navigation/ecs/components/Path.js +726 -0
  2551. package/src/engine/navigation/ecs/components/Path.spec.js +181 -0
  2552. package/src/engine/navigation/ecs/components/PathEvents.d.ts +6 -0
  2553. package/src/engine/navigation/ecs/components/PathEvents.js +10 -0
  2554. package/src/engine/navigation/ecs/components/PathFinder.js +11 -0
  2555. package/src/engine/navigation/ecs/components/PathSerializationAdapter.js +64 -0
  2556. package/src/engine/navigation/ecs/components/PathSerializationUpgrader_0_1.js +31 -0
  2557. package/src/engine/navigation/ecs/components/PathSerializationUpgrader_1_2.js +33 -0
  2558. package/src/engine/navigation/ecs/components/computeCatmullRomSpline.js +75 -0
  2559. package/src/engine/navigation/ecs/components/computeCatmullRomSplineUniformDistance.js +126 -0
  2560. package/src/engine/navigation/ecs/components/computeNonuniformCatmullRomSplineSample.js +242 -0
  2561. package/src/engine/navigation/ecs/path_following/PathFollower.d.ts +45 -0
  2562. package/src/engine/navigation/ecs/path_following/PathFollower.js +219 -0
  2563. package/src/engine/navigation/ecs/path_following/PathFollowerEventType.d.ts +3 -0
  2564. package/src/engine/navigation/ecs/path_following/PathFollowerEventType.js +7 -0
  2565. package/src/engine/navigation/ecs/path_following/PathFollowerFlags.d.ts +20 -0
  2566. package/src/engine/navigation/ecs/path_following/PathFollowerFlags.js +27 -0
  2567. package/src/engine/navigation/ecs/path_following/PathFollowerSerializationAdapter.js +39 -0
  2568. package/src/engine/navigation/ecs/path_following/PathFollowerSerializationUpgrader_0_1.js +27 -0
  2569. package/src/engine/navigation/ecs/path_following/PathFollowerSerializationUpgrader_1_2.js +22 -0
  2570. package/src/engine/navigation/ecs/path_following/PathFollowerSerializationUpgrader_2_3.js +24 -0
  2571. package/src/engine/navigation/ecs/path_following/PathFollowingSystem.d.ts +6 -0
  2572. package/src/engine/navigation/ecs/path_following/PathFollowingSystem.js +185 -0
  2573. package/src/engine/navigation/ecs/systems/PathFinderSystem.js +63 -0
  2574. package/src/engine/navigation/ecs/systems/PathSystem.js +19 -0
  2575. package/src/engine/navigation/funnel/Funnel.js +196 -0
  2576. package/src/engine/navigation/grid/AStar.js +223 -0
  2577. package/src/engine/navigation/grid/GridField.js +328 -0
  2578. package/src/engine/network/DataChannel.js +1208 -0
  2579. package/src/engine/network/PriorityFetch.js +192 -0
  2580. package/src/engine/network/RemoteController.js +138 -0
  2581. package/src/engine/network/convertPathToURL.js +90 -0
  2582. package/src/engine/network/remoteEditor.js +36 -0
  2583. package/src/engine/network/xhr.js +26 -0
  2584. package/src/engine/notify/Notification.js +39 -0
  2585. package/src/engine/notify/NotificationLog.js +59 -0
  2586. package/src/engine/notify/NotificationLog.spec.js +17 -0
  2587. package/src/engine/options/Option.js +74 -0
  2588. package/src/engine/options/OptionAbstract.js +38 -0
  2589. package/src/engine/options/OptionGroup.js +185 -0
  2590. package/src/engine/options/OptionsView.js +233 -0
  2591. package/src/engine/physics/ammo/Body.js +106 -0
  2592. package/src/engine/physics/ammo/PhysicsWorker.js +439 -0
  2593. package/src/engine/physics/ammo/World.js +337 -0
  2594. package/src/engine/physics/ammo/shapes/BoxShape.js +14 -0
  2595. package/src/engine/physics/ammo/shapes/CapsuleShape.js +13 -0
  2596. package/src/engine/physics/ammo/shapes/MeshShape.js +12 -0
  2597. package/src/engine/physics/ammo/shapes/PlaneShape.js +17 -0
  2598. package/src/engine/physics/ammo/shapes/Shape.js +11 -0
  2599. package/src/engine/physics/ammo/shapes/SphereShape.js +12 -0
  2600. package/src/engine/physics/cannon/CannonJSPhysicsSystem.js +199 -0
  2601. package/src/engine/physics/cannon/cannon.min.js +27 -0
  2602. package/src/engine/physics/fluid/FluidField.js +9 -0
  2603. package/src/engine/physics/fluid/effector/AbstractFluidEffector.js +6 -0
  2604. package/src/engine/physics/fluid/effector/GlobalFluidEffector.js +12 -0
  2605. package/src/engine/physics/fluid/effector/WakeFluidEffector.js +8 -0
  2606. package/src/engine/physics/mls-mpm/MLS_MPM.js +652 -0
  2607. package/src/engine/physics/mls-mpm/testMLS_MPM.js +65 -0
  2608. package/src/engine/physics/spring/Spring.js +9 -0
  2609. package/src/engine/platform/EnginePlatform.d.ts +14 -0
  2610. package/src/engine/platform/EnginePlatform.js +42 -0
  2611. package/src/engine/platform/GetURLHash.js +27 -0
  2612. package/src/engine/platform/WebEnginePlatform.d.ts +5 -0
  2613. package/src/engine/platform/WebEnginePlatform.js +99 -0
  2614. package/src/engine/plugin/EnginePlugin.d.ts +3 -0
  2615. package/src/engine/plugin/EnginePlugin.js +83 -0
  2616. package/src/engine/plugin/EnginePluginManager.d.ts +9 -0
  2617. package/src/engine/plugin/EnginePluginManager.js +323 -0
  2618. package/src/engine/plugin/PluginReferenceContext.js +271 -0
  2619. package/src/engine/plugin/isSubclassOf.js +19 -0
  2620. package/src/engine/reference/v1/ReferenceManager.js +121 -0
  2621. package/src/engine/reference/v2/Reference.d.ts +11 -0
  2622. package/src/engine/reference/v2/Reference.js +91 -0
  2623. package/src/engine/save/GameStateLoader.js +175 -0
  2624. package/src/engine/save/Storage.d.ts +15 -0
  2625. package/src/engine/save/Storage.js +128 -0
  2626. package/src/engine/save/StorageBackedList.js +145 -0
  2627. package/src/engine/save/storage/GooglePlayStorage.js +47 -0
  2628. package/src/engine/save/storage/InMemoryLocalStorage.js +13 -0
  2629. package/src/engine/save/storage/IndexedDBStorage.js +149 -0
  2630. package/src/engine/save/storage/IndexedDBTransactionMode.js +8 -0
  2631. package/src/engine/save/storage/JsonStringCodec.js +24 -0
  2632. package/src/engine/save/storage/LocalStorage.js +147 -0
  2633. package/src/engine/save/storage/MsgPackCodec.js +22 -0
  2634. package/src/engine/scene/Scene.d.ts +5 -0
  2635. package/src/engine/scene/Scene.js +100 -0
  2636. package/src/engine/scene/SceneManager.d.ts +21 -0
  2637. package/src/engine/scene/SceneManager.js +314 -0
  2638. package/src/engine/scene/SerializedScene.js +82 -0
  2639. package/src/engine/scene/transitionToScene.js +130 -0
  2640. package/src/engine/simulation/DormandPrince.js +242 -0
  2641. package/src/engine/simulation/Ticker.d.ts +5 -0
  2642. package/src/engine/simulation/Ticker.js +147 -0
  2643. package/src/engine/sound/SoundEngine.d.ts +3 -0
  2644. package/src/engine/sound/SoundEngine.js +96 -0
  2645. package/src/engine/sound/asset/SoundAssetPlaybackSpec.js +136 -0
  2646. package/src/engine/sound/asset/SoundAssetPlaybackSpecFlags.js +10 -0
  2647. package/src/engine/sound/ecs/SoundController.js +173 -0
  2648. package/src/engine/sound/ecs/SoundControllerSystem.js +109 -0
  2649. package/src/engine/sound/ecs/SoundListener.js +67 -0
  2650. package/src/engine/sound/ecs/SoundListenerSystem.js +260 -0
  2651. package/src/engine/sound/ecs/emitter/SoundAttenuationFunction.js +9 -0
  2652. package/src/engine/sound/ecs/emitter/SoundEmitter.js +564 -0
  2653. package/src/engine/sound/ecs/emitter/SoundEmitter.spec.js +49 -0
  2654. package/src/engine/sound/ecs/emitter/SoundEmitterChannel.js +32 -0
  2655. package/src/engine/sound/ecs/emitter/SoundEmitterComponentContext.js +239 -0
  2656. package/src/engine/sound/ecs/emitter/SoundEmitterFlags.js +8 -0
  2657. package/src/engine/sound/ecs/emitter/SoundEmitterSerializationAdapter.js +84 -0
  2658. package/src/engine/sound/ecs/emitter/SoundEmitterSerializationUpgrader_0_1.js +73 -0
  2659. package/src/engine/sound/ecs/emitter/SoundEmitterSerializationUpgrader_1_2.js +30 -0
  2660. package/src/engine/sound/ecs/emitter/SoundEmitterSystem.js +444 -0
  2661. package/src/engine/sound/ecs/emitter/SoundPanningModelType.js +15 -0
  2662. package/src/engine/sound/ecs/emitter/SoundTrack.js +353 -0
  2663. package/src/engine/sound/ecs/emitter/SoundTrackFlags.js +13 -0
  2664. package/src/engine/sound/ecs/emitter/SoundTrackNodes.js +20 -0
  2665. package/src/engine/sound/ecs/emitter/loadSoundTrackAsset.js +42 -0
  2666. package/src/engine/sound/material/AbstractSoundMaterialDefinition.js +15 -0
  2667. package/src/engine/sound/material/SoundMaterialInteractionType.js +7 -0
  2668. package/src/engine/sound/material/concrete/RandomSoundMaterial.js +35 -0
  2669. package/src/engine/sound/material/concrete/SilentSoundMaterial.js +20 -0
  2670. package/src/engine/sound/material/concrete/SingleSoundMaterial.js +37 -0
  2671. package/src/engine/sound/material/concrete/SoundMaterialComposition.js +111 -0
  2672. package/src/engine/sound/material/concrete/json/deserializeSoundMaterialFromJSON.js +31 -0
  2673. package/src/engine/sound/material/concrete/json/serializeSoundMaterialToJSON.js +6 -0
  2674. package/src/engine/sound/material/detector/SoundMaterialSurfaceDetector.js +19 -0
  2675. package/src/engine/sound/material/detector/terrain/TerrainSoundMaterialSurfaceDetector.js +121 -0
  2676. package/src/engine/sound/sopra/AbstractAudioClip.js +29 -0
  2677. package/src/engine/sound/sopra/ContainerAudioClip.js +13 -0
  2678. package/src/engine/sound/sopra/README.md +1 -0
  2679. package/src/engine/sound/sopra/RandomContainerAudioClip.js +15 -0
  2680. package/src/engine/sound/sopra/SequenceContainerAudioClip.js +8 -0
  2681. package/src/engine/sound/sopra/SilenceAudioClip.js +15 -0
  2682. package/src/engine/ui/DraggableAspect.js +83 -0
  2683. package/src/engine/ui/GUIEngine.js +563 -0
  2684. package/src/engine/ui/bindings/DomElementBinding.js +32 -0
  2685. package/src/engine/ui/bindings/DomElementBindingDescription.js +37 -0
  2686. package/src/engine/ui/bindings/DomElementProcessor.js +29 -0
  2687. package/src/engine/ui/bindings/DomElementProcessorManager.js +311 -0
  2688. package/src/engine/ui/bindings/processors/DomElementProcessorTilt3D.js +99 -0
  2689. package/src/engine/ui/cursor/CursorCoalescence.js +50 -0
  2690. package/src/engine/ui/cursor/CursorType.js +10 -0
  2691. package/src/engine/ui/modal/ModalStack.js +116 -0
  2692. package/src/engine/ui/notification/AnimatedObjectEmitter.js +272 -0
  2693. package/src/engine/ui/notification/NotificationAreaKind.js +9 -0
  2694. package/src/engine/ui/notification/NotificationManager.js +268 -0
  2695. package/src/engine/ui/notification/ViewEmitter.js +92 -0
  2696. package/src/engine/ui/notification/notificationGenerator.js +56 -0
  2697. package/src/engine/ui/scene/SceneGUIContext.js +76 -0
  2698. package/src/engine/ui/scene/initializeNotifications.js +144 -0
  2699. package/src/engine/ui/tiles2d/TileGrid.js +170 -0
  2700. package/src/engine/ui/tiles2d/TileGrid.spec.js +20 -0
  2701. package/src/engine/ui/tiles2d/TileMoveInstruction.js +71 -0
  2702. package/src/engine/ui/tiles2d/TileMoveProgram.js +69 -0
  2703. package/src/engine/ui/tiles2d/computeTileGridMove.js +164 -0
  2704. package/src/engine/ui/tiles2d/computeTileGridMove.spec.js +54 -0
  2705. package/src/extractName.js +8 -0
  2706. package/src/generation/GraphGenerationRule.js +17 -0
  2707. package/src/generation/GridGeneratorConfig.js +25 -0
  2708. package/src/generation/GridGeneratorConfigurator.js +0 -0
  2709. package/src/generation/GridTags.js +15 -0
  2710. package/src/generation/GridTaskGroup.js +111 -0
  2711. package/src/generation/ZoneNode.js +9 -0
  2712. package/src/generation/automata/CaveGeneratorCellularAutomata.js +56 -0
  2713. package/src/generation/automata/CellularAutomata.js +18 -0
  2714. package/src/generation/example/SampleGenerator0.js +565 -0
  2715. package/src/generation/example/filters/SampleGroundMoistureFilter.js +73 -0
  2716. package/src/generation/example/filters/SampleNoise20_0.js +3 -0
  2717. package/src/generation/example/generators/interactive/mir_generator_place_buff_objects.js +334 -0
  2718. package/src/generation/example/generators/mir_generator_place_bases.js +150 -0
  2719. package/src/generation/example/generators/mir_generator_place_road_decorators.js +59 -0
  2720. package/src/generation/example/generators/mir_generator_place_starting_point.js +52 -0
  2721. package/src/generation/example/grid/MirGridLayers.js +18 -0
  2722. package/src/generation/example/grid/configureMirGrid.js +19 -0
  2723. package/src/generation/example/main.js +216 -0
  2724. package/src/generation/example/rules/matcher_not_play_area.js +4 -0
  2725. package/src/generation/example/rules/matcher_play_area.js +5 -0
  2726. package/src/generation/example/rules/matcher_tag_not_traversable.js +4 -0
  2727. package/src/generation/example/rules/matcher_tag_occupied.js +5 -0
  2728. package/src/generation/example/rules/matcher_tag_traversable.js +5 -0
  2729. package/src/generation/example/rules/matcher_tag_traversable_unoccupied.js +5 -0
  2730. package/src/generation/example/rules/matcher_tag_unoccupied.js +4 -0
  2731. package/src/generation/example/rules/mir_matcher_attack_corridor.js +67 -0
  2732. package/src/generation/example/themes/SampleTheme0.js +1574 -0
  2733. package/src/generation/example/themes/SampleTheme1.js +19 -0
  2734. package/src/generation/example/themes/SampleTheme2.js +21 -0
  2735. package/src/generation/filtering/CellFilter.js +80 -0
  2736. package/src/generation/filtering/CellFilterCellMatcher.js +45 -0
  2737. package/src/generation/filtering/boolean/CellFilterLiteralBoolean.js +29 -0
  2738. package/src/generation/filtering/boolean/logic/CellFilterAnd.js +33 -0
  2739. package/src/generation/filtering/core/CellFilterBinaryOperation.js +53 -0
  2740. package/src/generation/filtering/core/CellFilterOperationTertiary.js +63 -0
  2741. package/src/generation/filtering/core/CellFilterUnaryOperation.js +33 -0
  2742. package/src/generation/filtering/numeric/CellFilterCache.js +79 -0
  2743. package/src/generation/filtering/numeric/CellFilterLiteralFloat.js +44 -0
  2744. package/src/generation/filtering/numeric/complex/CellFilterAngleToNormal.js +78 -0
  2745. package/src/generation/filtering/numeric/complex/CellFilterCurvature.js +123 -0
  2746. package/src/generation/filtering/numeric/complex/CellFilterDilate.js +36 -0
  2747. package/src/generation/filtering/numeric/complex/CellFilterFXAA.js +125 -0
  2748. package/src/generation/filtering/numeric/complex/CellFilterGaussianBlur.js +178 -0
  2749. package/src/generation/filtering/numeric/complex/CellFilterLookupTable.js +45 -0
  2750. package/src/generation/filtering/numeric/complex/CellFilterSimplexNoise.js +119 -0
  2751. package/src/generation/filtering/numeric/complex/CellFilterSobel.js +66 -0
  2752. package/src/generation/filtering/numeric/math/CellFilterAbsolute.js +27 -0
  2753. package/src/generation/filtering/numeric/math/CellFilterClamp.js +31 -0
  2754. package/src/generation/filtering/numeric/math/CellFilterInverseLerp.js +37 -0
  2755. package/src/generation/filtering/numeric/math/CellFilterLerp.js +39 -0
  2756. package/src/generation/filtering/numeric/math/CellFilterMax2.js +32 -0
  2757. package/src/generation/filtering/numeric/math/CellFilterMembershipGeneralizedBell.js +55 -0
  2758. package/src/generation/filtering/numeric/math/CellFilterMin2.js +29 -0
  2759. package/src/generation/filtering/numeric/math/CellFilterOneMinus.js +24 -0
  2760. package/src/generation/filtering/numeric/math/CellFilterPower.js +31 -0
  2761. package/src/generation/filtering/numeric/math/CellFilterSaturate.js +24 -0
  2762. package/src/generation/filtering/numeric/math/CellFilterSmoothStep.js +34 -0
  2763. package/src/generation/filtering/numeric/math/CellFilterStep.js +37 -0
  2764. package/src/generation/filtering/numeric/math/algebra/CellFilterAdd.js +37 -0
  2765. package/src/generation/filtering/numeric/math/algebra/CellFilterDivide.js +38 -0
  2766. package/src/generation/filtering/numeric/math/algebra/CellFilterMultiply.js +37 -0
  2767. package/src/generation/filtering/numeric/math/algebra/CellFilterNegate.js +30 -0
  2768. package/src/generation/filtering/numeric/math/algebra/CellFilterSubtract.js +37 -0
  2769. package/src/generation/filtering/numeric/math/poly/CellFilterCubicFunction.js +50 -0
  2770. package/src/generation/filtering/numeric/process/computeCellFilterGradient.js +48 -0
  2771. package/src/generation/filtering/numeric/process/computeCellFilterGradient.spec.js +288 -0
  2772. package/src/generation/filtering/numeric/sampling/AbstractCellFilterSampleGridLayer.js +42 -0
  2773. package/src/generation/filtering/numeric/sampling/CellFilterSampleLayerCubic.js +36 -0
  2774. package/src/generation/filtering/numeric/sampling/CellFilterSampleLayerLinear.js +41 -0
  2775. package/src/generation/filtering/numeric/util/CellFilterDisplaced.js +45 -0
  2776. package/src/generation/filtering/numeric/util/CellFilterLogToConsole.js +28 -0
  2777. package/src/generation/filtering/numeric/util/populateSampler2DFromCellFilter.js +31 -0
  2778. package/src/generation/grid/GridData.d.ts +7 -0
  2779. package/src/generation/grid/GridData.js +273 -0
  2780. package/src/generation/grid/GridTaskGenerator.js +66 -0
  2781. package/src/generation/grid/MarkerMatchCounter.js +25 -0
  2782. package/src/generation/grid/actions/ContinuousGridCellAction.js +54 -0
  2783. package/src/generation/grid/actions/ContinuousGridCellActionSetTerrainHeight.js +98 -0
  2784. package/src/generation/grid/actions/ContinuousGridCellActionSetTerrainObstacle.js +53 -0
  2785. package/src/generation/grid/actions/ContinuousGridCellActionWriteObstacle.js +123 -0
  2786. package/src/generation/grid/generation/GridTaskApplyActionToCells.js +86 -0
  2787. package/src/generation/grid/generation/GridTaskDensityMarkerDistribution.js +382 -0
  2788. package/src/generation/grid/generation/GridTaskExecuteRuleTimes.js +118 -0
  2789. package/src/generation/grid/generation/GridTaskSequence.js +54 -0
  2790. package/src/generation/grid/generation/NoopGridTaskGenerator.js +8 -0
  2791. package/src/generation/grid/generation/discrete/GridTaskCellActionRuleSet.js +46 -0
  2792. package/src/generation/grid/generation/discrete/GridTaskCellularAutomata.js +129 -0
  2793. package/src/generation/grid/generation/discrete/GridTaskConnectRooms.js +521 -0
  2794. package/src/generation/grid/generation/discrete/layer/GridTaskBuildSourceDistanceMap.js +212 -0
  2795. package/src/generation/grid/generation/discrete/layer/GridTaskDistanceToMarkers.js +68 -0
  2796. package/src/generation/grid/generation/grid/GridTaskAddNodesFixed.js +42 -0
  2797. package/src/generation/grid/generation/grid/GridTaskGridAlignedNodeGenerator.js +17 -0
  2798. package/src/generation/grid/generation/grid/select/CellSupplier.js +28 -0
  2799. package/src/generation/grid/generation/grid/select/CellSupplierBestN.js +188 -0
  2800. package/src/generation/grid/generation/grid/select/CellSupplierPathUpHill.js +187 -0
  2801. package/src/generation/grid/generation/road/GridTaskGenerateRoads.js +630 -0
  2802. package/src/generation/grid/generation/road/PathEndPoint.js +73 -0
  2803. package/src/generation/grid/generation/road/PathEndPointKind.js +10 -0
  2804. package/src/generation/grid/generation/road/RoadConnection.js +111 -0
  2805. package/src/generation/grid/generation/road/RoadConnectionNetwork.js +156 -0
  2806. package/src/generation/grid/generation/road/readMarkerNodeGroupId.js +13 -0
  2807. package/src/generation/grid/generation/util/buildDistanceMapToObjective.js +112 -0
  2808. package/src/generation/grid/generation/util/buildPathFromDistanceMap.js +82 -0
  2809. package/src/generation/grid/generation/util/buildUnsignedDistanceField.js +37 -0
  2810. package/src/generation/grid/layers/GridDataLayer.js +87 -0
  2811. package/src/generation/markers/GridActionRuleSet.js +213 -0
  2812. package/src/generation/markers/GridCellActionPlaceMarker.js +225 -0
  2813. package/src/generation/markers/GridCellActionPlaceMarkerGroup.js +76 -0
  2814. package/src/generation/markers/MarkerNode.js +127 -0
  2815. package/src/generation/markers/MarkerRelation.js +13 -0
  2816. package/src/generation/markers/RuleSelectionPolicyType.js +8 -0
  2817. package/src/generation/markers/actions/MarkerNodeAction.js +28 -0
  2818. package/src/generation/markers/actions/MarkerNodeActionEntityPlacement.js +100 -0
  2819. package/src/generation/markers/actions/MarkerNodeActionImaginary.js +86 -0
  2820. package/src/generation/markers/actions/MarkerNodeActionSequence.js +61 -0
  2821. package/src/generation/markers/actions/MarkerNodeProcessingRuleSet.js +151 -0
  2822. package/src/generation/markers/actions/MarkerProcessingRule.js +86 -0
  2823. package/src/generation/markers/actions/placement/MarkerNodeEntityProcessor.js +27 -0
  2824. package/src/generation/markers/actions/placement/MarkerNodeEntityProcessorClingToTerrain.js +57 -0
  2825. package/src/generation/markers/actions/placement/MarkerNodeEntityProcessorRandomRotation.js +30 -0
  2826. package/src/generation/markers/actions/placement/MarkerNodeEntityProcessorSequence.js +64 -0
  2827. package/src/generation/markers/actions/probability/MarkerNodeActionSelectWeighted.js +106 -0
  2828. package/src/generation/markers/actions/probability/MarkerNodeActionSelectWeighted.spec.js +116 -0
  2829. package/src/generation/markers/actions/probability/MarkerNodeActionWeightedElement.js +51 -0
  2830. package/src/generation/markers/actions/terrain/MarkerNodeActionPaintTerrain.js +265 -0
  2831. package/src/generation/markers/actions/util/GridCellActionDebugBreak.js +28 -0
  2832. package/src/generation/markers/actions/util/GridCellActionLogToConsole.js +21 -0
  2833. package/src/generation/markers/debug/visualizeMarkers.js +196 -0
  2834. package/src/generation/markers/emitter/MarkerNodeConsumer.js +10 -0
  2835. package/src/generation/markers/emitter/MarkerNodeConsumerBuffer.js +87 -0
  2836. package/src/generation/markers/emitter/MarkerNodeEmitter.js +28 -0
  2837. package/src/generation/markers/emitter/MarkerNodeEmitterFromAction.js +64 -0
  2838. package/src/generation/markers/emitter/MarkerNodeEmitterGridCellAction.js +47 -0
  2839. package/src/generation/markers/emitter/MarkerNodeEmitterGroup.js +51 -0
  2840. package/src/generation/markers/emitter/MarkerNodeEmitterPredicated.js +75 -0
  2841. package/src/generation/markers/matcher/MarkerNodeMatcher.js +16 -0
  2842. package/src/generation/markers/matcher/MarkerNodeMatcherAnd.js +31 -0
  2843. package/src/generation/markers/matcher/MarkerNodeMatcherAny.js +13 -0
  2844. package/src/generation/markers/matcher/MarkerNodeMatcherBinary.js +19 -0
  2845. package/src/generation/markers/matcher/MarkerNodeMatcherByType.js +36 -0
  2846. package/src/generation/markers/matcher/MarkerNodeMatcherContainsTag.js +28 -0
  2847. package/src/generation/markers/matcher/MarkerNodeMatcherNone.js +13 -0
  2848. package/src/generation/markers/matcher/MarkerNodeMatcherNot.js +33 -0
  2849. package/src/generation/markers/matcher/MarkerNodeMatcherOr.js +28 -0
  2850. package/src/generation/markers/predicate/GridDataNodePredicate.js +26 -0
  2851. package/src/generation/markers/predicate/GridDataNodePredicateAnd.js +32 -0
  2852. package/src/generation/markers/predicate/GridDataNodePredicateAny.js +13 -0
  2853. package/src/generation/markers/predicate/GridDataNodePredicateBinary.js +42 -0
  2854. package/src/generation/markers/predicate/GridDataNodePredicateNot.js +37 -0
  2855. package/src/generation/markers/predicate/GridDataNodePredicateOverlaps.js +33 -0
  2856. package/src/generation/markers/prototypeGridCellActionPlaceMarker.js +209 -0
  2857. package/src/generation/markers/transform/MarkerNodeTransformRotateRandom.js +33 -0
  2858. package/src/generation/markers/transform/MarkerNodeTransformer.js +26 -0
  2859. package/src/generation/markers/transform/MarkerNodeTransformerAddPositionYFromFilter.js +64 -0
  2860. package/src/generation/markers/transform/MarkerNodeTransformerOffsetPosition.js +45 -0
  2861. package/src/generation/markers/transform/MarkerNodeTransformerRecordProperty.js +57 -0
  2862. package/src/generation/markers/transform/MarkerNodeTransformerRecordPropertyClosure.js +57 -0
  2863. package/src/generation/markers/transform/MarkerNodeTransformerRecordUniqueRandomEnum.js +77 -0
  2864. package/src/generation/markers/transform/MarkerNodeTransformerRemoveTag.js +40 -0
  2865. package/src/generation/markers/transform/MarkerNodeTransformerSequence.js +47 -0
  2866. package/src/generation/markers/transform/MarkerNodeTransformerYRotateByFilter.js +72 -0
  2867. package/src/generation/markers/transform/MarkerNodeTransformerYRotateByFilterGradient.js +87 -0
  2868. package/src/generation/markers/transform/MarkerNodeTransformerYRotateByFilterGradient.spec.js +106 -0
  2869. package/src/generation/placement/GridCellActionTransformNearbyMarkers.js +118 -0
  2870. package/src/generation/placement/GridCellPlacementRule.js +122 -0
  2871. package/src/generation/placement/action/GridCellAction.js +32 -0
  2872. package/src/generation/placement/action/GridCellActionPlaceTags.js +123 -0
  2873. package/src/generation/placement/action/GridCellActionPlaceTags.spec.js +21 -0
  2874. package/src/generation/placement/action/GridCellActionWriteFilterToLayer.js +91 -0
  2875. package/src/generation/placement/action/random/CellActionSelectRandom.js +69 -0
  2876. package/src/generation/placement/action/random/weighted/CellActionSelectWeightedRandom.js +123 -0
  2877. package/src/generation/placement/action/random/weighted/WeightedGridCellAction.js +54 -0
  2878. package/src/generation/placement/action/util/CellMatcherWithinAABB.js +33 -0
  2879. package/src/generation/placement/action/util/GridCellActionSequence.js +58 -0
  2880. package/src/generation/placement/action/util/GridCellDisplacedAction.js +55 -0
  2881. package/src/generation/rules/CellMatcher.js +29 -0
  2882. package/src/generation/rules/CellMatcherAny.js +13 -0
  2883. package/src/generation/rules/CellMatcherContainsTag.spec.js +22 -0
  2884. package/src/generation/rules/CellMatcherFromFilter.js +38 -0
  2885. package/src/generation/rules/CellMatcherLayerBitMaskTest.js +67 -0
  2886. package/src/generation/rules/GridLayerCellMatcher.js +31 -0
  2887. package/src/generation/rules/cell/CellMatcherContainsMarkerWithinRadius.js +41 -0
  2888. package/src/generation/rules/cell/CellMatcherGridPattern.js +124 -0
  2889. package/src/generation/rules/cell/GridPatternMatcher.spec.js +285 -0
  2890. package/src/generation/rules/cell/GridPatternMatcherCell.js +33 -0
  2891. package/src/generation/rules/logic/CellMatcherAnd.js +34 -0
  2892. package/src/generation/rules/logic/CellMatcherBinary.js +24 -0
  2893. package/src/generation/rules/logic/CellMatcherDecorator.js +17 -0
  2894. package/src/generation/rules/logic/CellMatcherNot.js +25 -0
  2895. package/src/generation/rules/logic/CellMatcherOr.js +33 -0
  2896. package/src/generation/theme/AreaMask.js +61 -0
  2897. package/src/generation/theme/AreaTheme.js +13 -0
  2898. package/src/generation/theme/TerrainLayerDescription.js +68 -0
  2899. package/src/generation/theme/TerrainLayerRule.js +38 -0
  2900. package/src/generation/theme/TerrainLayerRuleAggregator.js +55 -0
  2901. package/src/generation/theme/TerrainTheme.js +35 -0
  2902. package/src/generation/theme/Theme.js +45 -0
  2903. package/src/generation/theme/ThemeEngine.js +628 -0
  2904. package/src/generation/theme/cell/CellProcessingRule.js +52 -0
  2905. package/src/generation/theme/cell/CellProcessingRuleSet.js +33 -0
  2906. package/src/misc/makeMatcapSelectionOption.d.ts +13 -0
  2907. package/src/misc/makeMatcapSelectionOption.js +52 -0
  2908. package/src/misc/makeMaterialIcon.js +34 -0
  2909. package/src/misc/makeMaterialIconCached.js +50 -0
  2910. package/src/view/DOM.js +174 -0
  2911. package/src/view/SVG.js +122 -0
  2912. package/src/view/View.d.ts +30 -0
  2913. package/src/view/View.js +794 -0
  2914. package/src/view/ViewGroup.js +90 -0
  2915. package/src/view/asset/AssetLoaderStatusView.js +74 -0
  2916. package/src/view/asset/PreloaderView.js +60 -0
  2917. package/src/view/common/LabelView.js +240 -0
  2918. package/src/view/common/ListView.js +287 -0
  2919. package/src/view/common/LocalizedLabelView.js +155 -0
  2920. package/src/view/common/MeshView.js +99 -0
  2921. package/src/view/common/TabbedView.js +126 -0
  2922. package/src/view/common/VirtualListView.js +288 -0
  2923. package/src/view/common/dnd/DragAndDropContext.js +125 -0
  2924. package/src/view/common/dnd/Draggable.js +184 -0
  2925. package/src/view/common/dnd/DropTarget.js +283 -0
  2926. package/src/view/controller/GuiController.js +73 -0
  2927. package/src/view/controller/controls/BooleanVector3Control.js +77 -0
  2928. package/src/view/controller/controls/GuiControl.js +45 -0
  2929. package/src/view/controller/controls/ListController.js +113 -0
  2930. package/src/view/controller/controls/NativeListController.js +87 -0
  2931. package/src/view/controller/controls/NumericIntervalControl.js +90 -0
  2932. package/src/view/controller/controls/Vector1Control.js +102 -0
  2933. package/src/view/controller/controls/Vector2Control.js +87 -0
  2934. package/src/view/controller/controls/Vector3Control.js +93 -0
  2935. package/src/view/controller/controls_v2/AbstractPropertyBinding.ts +10 -0
  2936. package/src/view/controller/controls_v2/Controller.ts +32 -0
  2937. package/src/view/controller/controls_v2/IPropertyBinding.ts +6 -0
  2938. package/src/view/controller/controls_v2/PrimitivePropertyBinding.ts +12 -0
  2939. package/src/view/controller/controls_v2/SliderController.ts +10 -0
  2940. package/src/view/controller/dat/DatGuiUtils.js +451 -0
  2941. package/src/view/currency/CompositeCurrencyLabelView.js +57 -0
  2942. package/src/view/currency/CurrencyDenominationLabelView.js +23 -0
  2943. package/src/view/currency/CurrencyDenominationSpec.js +14 -0
  2944. package/src/view/currency/CurrencyDisplaySpec.js +30 -0
  2945. package/src/view/currency/FantasyCurrencySpec.js +7 -0
  2946. package/src/view/currency/SingleCoinCurrency.js +5 -0
  2947. package/src/view/elements/BottomLeftResizeHandleView.js +52 -0
  2948. package/src/view/elements/CanvasView.js +36 -0
  2949. package/src/view/elements/CheckboxView.js +43 -0
  2950. package/src/view/elements/ColorPickerView.js +296 -0
  2951. package/src/view/elements/CompassArrowView.js +64 -0
  2952. package/src/view/elements/ConfirmationDialogView.js +80 -0
  2953. package/src/view/elements/DropDownSelectionView.js +164 -0
  2954. package/src/view/elements/EmptyView.js +60 -0
  2955. package/src/view/elements/Group.js +37 -0
  2956. package/src/view/elements/MeshPreview.js +283 -0
  2957. package/src/view/elements/SimpleWindow.js +120 -0
  2958. package/src/view/elements/button/ButtonView.js +118 -0
  2959. package/src/view/elements/button/ButtonView.stories.js +14 -0
  2960. package/src/view/elements/image/HTMLElementCacheKey.js +214 -0
  2961. package/src/view/elements/image/ImageView.js +147 -0
  2962. package/src/view/elements/image/SvgImageView.js +84 -0
  2963. package/src/view/elements/label/LabeledValueView.js +68 -0
  2964. package/src/view/elements/navigation/NavigationMenu.js +27 -0
  2965. package/src/view/elements/navigation/ViewStack.js +144 -0
  2966. package/src/view/elements/notify/NotificationView.js +69 -0
  2967. package/src/view/elements/notify/ToastLogView.js +99 -0
  2968. package/src/view/elements/progress/RectangularPieProgressView.js +115 -0
  2969. package/src/view/elements/progress/SmoothProgressBar.js +199 -0
  2970. package/src/view/elements/progress/segmented/RESOURCE_BAR_SEGMENTS.js +182 -0
  2971. package/src/view/elements/progress/segmented/SegmentDefinition.js +29 -0
  2972. package/src/view/elements/progress/segmented/SegmentedResourceBarView.js +300 -0
  2973. package/src/view/elements/radial/RadialMenu.js +394 -0
  2974. package/src/view/elements/radial/RadialMenuElement.js +209 -0
  2975. package/src/view/elements/radial/RadialMenuElementDefinition.d.ts +39 -0
  2976. package/src/view/elements/radial/RadialMenuElementDefinition.js +219 -0
  2977. package/src/view/elements/radial/RadialProgressView.js +94 -0
  2978. package/src/view/elements/radial/RadialText.js +259 -0
  2979. package/src/view/elements/radial/makeDonut.js +26 -0
  2980. package/src/view/elements/tiles2d/Tile.js +84 -0
  2981. package/src/view/elements/tiles2d/TileGrid.js +456 -0
  2982. package/src/view/elements/video/VideoView.js +165 -0
  2983. package/src/view/elements/windrose/WindRoseDiagram.js +369 -0
  2984. package/src/view/elements/windrose/prototype.js +37 -0
  2985. package/src/view/game/achievements/AchievementNotificationView.js +56 -0
  2986. package/src/view/interaction/CommandButtonView.js +159 -0
  2987. package/src/view/interaction/InteractionCommand.js +61 -0
  2988. package/src/view/interaction/InteractionCommandSet.js +34 -0
  2989. package/src/view/interaction/InterfaceCommand.js +146 -0
  2990. package/src/view/m3_cm_compose_transform.js +66 -0
  2991. package/src/view/m3_rm_compose_transform.js +45 -0
  2992. package/src/view/math/FunctionGraphView.js +85 -0
  2993. package/src/view/minimap/Minimap.js +246 -0
  2994. package/src/view/minimap/dom/MinimapCameraView.js +211 -0
  2995. package/src/view/minimap/dom/MinimapMarkerView.js +80 -0
  2996. package/src/view/minimap/dom/MinimapTerrainView.js +146 -0
  2997. package/src/view/minimap/gl/MarkerGL.js +114 -0
  2998. package/src/view/minimap/gl/MarkerGLAttributes.js +10 -0
  2999. package/src/view/minimap/gl/MinimapFogOfWar.js +187 -0
  3000. package/src/view/minimap/gl/MinimapMarkersGL.js +321 -0
  3001. package/src/view/minimap/gl/MinimapTerrainGL.js +184 -0
  3002. package/src/view/minimap/gl/MinimapWorldGL.js +193 -0
  3003. package/src/view/minimap/gl/MinimapWorldLayer.js +33 -0
  3004. package/src/view/minimap/gl/buildMaterial.js +94 -0
  3005. package/src/view/multiplyMatrices3.js +49 -0
  3006. package/src/view/renderModel.js +102 -0
  3007. package/src/view/string_tag_to_css_class_name.js +12 -0
  3008. package/src/view/task/TaskLoadingScreen.js +172 -0
  3009. package/src/view/task/TaskProgressView.js +150 -0
  3010. package/src/view/tooltip/DomTooltipManager.js +193 -0
  3011. package/src/view/tooltip/DomTooltipObserver.js +166 -0
  3012. package/src/view/tooltip/TooltipManager.js +251 -0
  3013. package/src/view/tooltip/TooltipView.js +364 -0
  3014. package/src/view/tooltip/VisualTip.js +50 -0
  3015. package/src/view/tooltip/gml/GMLEngine.js +543 -0
  3016. package/src/view/tooltip/gml/TooltipParser.js +54 -0
  3017. package/src/view/tooltip/gml/TooltipParser.spec.js +142 -0
  3018. package/src/view/tooltip/gml/compiler/GMLReferenceCompiler.js +36 -0
  3019. package/src/view/tooltip/gml/parser/TooltipReferenceValue.js +19 -0
  3020. package/src/view/tooltip/gml/parser/TooltipTokenType.js +11 -0
  3021. package/src/view/tooltip/gml/parser/parseTooltipString.js +78 -0
  3022. package/src/view/tooltip/gml/parser/readReferenceToken.js +102 -0
  3023. package/src/view/tooltip/gml/parser/readReferenceValueToken.js +56 -0
  3024. package/src/view/tooltip/gml/parser/readStyleToken.js +63 -0
  3025. package/src/view/util/DomSizeObserver.js +196 -0
@@ -0,0 +1,4171 @@
1
+ // --- Mathematical constants -------------------------------------------------
2
+
3
+ import { clamp } from "../../../../../core/math/clamp.js";
4
+ import { vec3 } from "gl-matrix";
5
+ import { clamp01 } from "../../../../../core/math/clamp01.js";
6
+ import { lerp } from "../../../../../core/math/lerp.js";
7
+ import { v3_dot } from "../../../../../core/geom/v3_dot.js";
8
+
9
+ const vl_pi = (3.14159265358979323846);
10
+ const vl_halfPi = (vl_pi / 2.0);
11
+ const vl_quarterPi = (vl_pi / 4.0);
12
+ const vl_twoPi = (2.0 * vl_pi);
13
+
14
+ /**
15
+ * [albedo][turbidity][quinticCoeffs][coeffs]
16
+ * float kHosekCoeffsX[2][10][6][9]
17
+ * @type {Float32Array}
18
+ */
19
+ const kHosekCoeffsX = new Float32Array([
20
+ // albedo 0, turbidity 1
21
+ -1.117001e+000,
22
+ -1.867262e-001,
23
+ -1.113505e+001,
24
+ 1.259865e+001,
25
+ -3.937339e-002,
26
+ 1.167571e+000,
27
+
28
+ 7.100686e-003,
29
+ 3.592678e+000,
30
+ 6.083296e-001,
31
+ -1.152006e+000,
32
+ -1.926669e-001,
33
+ 6.152049e+000,
34
+
35
+ -4.770802e+000,
36
+ -8.704701e-002,
37
+ 7.483626e-001,
38
+ 3.372718e-002,
39
+ 4.464592e+000,
40
+ 4.036546e-001,
41
+ -1.072371e+000,
42
+ -2.696632e-001,
43
+ 2.816168e-001,
44
+ 1.820571e+000,
45
+ -3.742666e-001,
46
+ 2.080607e+000,
47
+ -7.675295e-002,
48
+ -2.835366e+000,
49
+ 1.129329e+000,
50
+ -1.109935e+000,
51
+ -1.532764e-001,
52
+ 1.198787e+000,
53
+ -9.015183e-001,
54
+ 5.173015e-003,
55
+ 5.749178e-001,
56
+ 1.075633e-001,
57
+ 4.387949e+000,
58
+ 2.650413e-001,
59
+ -1.052297e+000,
60
+ -2.229452e-001,
61
+ 1.952347e+000,
62
+ 5.727205e-001,
63
+ -4.885070e+000,
64
+ 1.984016e+000,
65
+ -1.106197e-001,
66
+ -4.898361e-001,
67
+ 8.907873e-001,
68
+ -1.070108e+000,
69
+ -1.600465e-001,
70
+ 1.593886e+000,
71
+ -4.479251e-005,
72
+ -3.306541e+000,
73
+ 9.390193e-001,
74
+ 9.513168e-002,
75
+ 2.343583e+000,
76
+ 5.335404e-001,
77
+ // albedo 0, turbidity 2
78
+ -1.113253e+000,
79
+ -1.699600e-001,
80
+ -1.038822e+001,
81
+ 1.137513e+001,
82
+ -4.040911e-002,
83
+ 1.037455e+000,
84
+ 4.991792e-002,
85
+ 4.801919e+000,
86
+ 6.302710e-001,
87
+ -1.135747e+000,
88
+ -1.678594e-001,
89
+ 4.970755e+000,
90
+ -4.430230e+000,
91
+ -6.657408e-002,
92
+ 3.636161e-001,
93
+ 1.558009e-001,
94
+ 6.013370e+000,
95
+ 3.959601e-001,
96
+ -1.095892e+000,
97
+ -2.732595e-001,
98
+ 7.666496e-001,
99
+ 1.350731e+000,
100
+ -4.401401e-001,
101
+ 2.470135e+000,
102
+ -1.707929e-001,
103
+ -3.260793e+000,
104
+ 1.170337e+000,
105
+ -1.073668e+000,
106
+ -2.603929e-002,
107
+ -1.944589e-001,
108
+ 4.575207e-001,
109
+ 6.878164e-001,
110
+ -1.390770e-001,
111
+ 3.690299e-001,
112
+ 7.885781e+000,
113
+ 1.877694e-001,
114
+ -1.070091e+000,
115
+ -2.798957e-001,
116
+ 2.338478e+000,
117
+ -2.647221e+000,
118
+ -7.387808e+000,
119
+ 2.329210e+000,
120
+ -1.644639e-001,
121
+ -2.003710e+000,
122
+ 9.874527e-001,
123
+ -1.067120e+000,
124
+ -1.418866e-001,
125
+ 1.254090e+000,
126
+ 6.053048e+000,
127
+ -2.918892e+000,
128
+ 5.322812e-001,
129
+ 1.613053e-001,
130
+ 3.018161e+000,
131
+ 5.274090e-001,
132
+ // albedo 0, turbidity 3
133
+ -1.129483e+000,
134
+ -1.890619e-001,
135
+ -9.065101e+000,
136
+ 9.659923e+000,
137
+ -3.607819e-002,
138
+ 8.314359e-001,
139
+ 8.181661e-002,
140
+ 4.768868e+000,
141
+ 6.339777e-001,
142
+ -1.146420e+000,
143
+ -1.883579e-001,
144
+ 3.309173e+000,
145
+ -3.127882e+000,
146
+ -6.938176e-002,
147
+ 3.987113e-001,
148
+ 1.400581e-001,
149
+ 6.283042e+000,
150
+ 5.267076e-001,
151
+ -1.128348e+000,
152
+ -2.641305e-001,
153
+ 1.223176e+000,
154
+ 5.514952e-002,
155
+ -3.490649e-001,
156
+ 1.997784e+000,
157
+ -4.123709e-002,
158
+ -2.251251e+000,
159
+ 9.483466e-001,
160
+ -1.025820e+000,
161
+ 1.404690e-002,
162
+ -1.187406e+000,
163
+ 2.729900e+000,
164
+ 5.877588e-001,
165
+ -2.761140e-001,
166
+ 4.602633e-001,
167
+ 8.305125e+000,
168
+ 3.945001e-001,
169
+ -1.083957e+000,
170
+ -2.606679e-001,
171
+ 2.207108e+000,
172
+ -7.202803e+000,
173
+ -5.968103e+000,
174
+ 2.129455e+000,
175
+ -7.789512e-002,
176
+ -1.137688e+000,
177
+ 8.871769e-001,
178
+ -1.062465e+000,
179
+ -1.512189e-001,
180
+ 1.042881e+000,
181
+ 1.427839e+001,
182
+ -4.242214e+000,
183
+ 4.038100e-001,
184
+ 1.997780e-001,
185
+ 2.814449e+000,
186
+ 5.803196e-001,
187
+ // albedo 0, turbidity 4
188
+ -1.175099e+000,
189
+ -2.410789e-001,
190
+ -1.108587e+001,
191
+ 1.133404e+001,
192
+ -1.819300e-002,
193
+ 6.772942e-001,
194
+ 9.605043e-002,
195
+ 4.231166e+000,
196
+ 6.239972e-001,
197
+ -1.224207e+000,
198
+ -2.883527e-001,
199
+ 3.002206e+000,
200
+ -2.649612e+000,
201
+ -4.795418e-002,
202
+ 4.984398e-001,
203
+ 3.251434e-002,
204
+ 4.851611e+000,
205
+ 6.551019e-001,
206
+ -1.136955e+000,
207
+ -2.423048e-001,
208
+ 1.058823e+000,
209
+ -2.489236e-001,
210
+ -2.462179e-001,
211
+ 1.933140e+000,
212
+ 9.106828e-002,
213
+ -1.905869e-001,
214
+ 8.171065e-001,
215
+ -1.014535e+000,
216
+ -8.262500e-003,
217
+ -1.448017e+000,
218
+ 2.295788e+000,
219
+ 3.510334e-001,
220
+ -1.477418e+000,
221
+ 5.432449e-001,
222
+ 5.762796e+000,
223
+ 4.908751e-001,
224
+ -1.070666e+000,
225
+ -2.379780e-001,
226
+ 1.844589e+000,
227
+ -5.442448e+000,
228
+ -4.012768e+000,
229
+ 2.945275e+000,
230
+ 9.854725e-003,
231
+ 8.455959e-002,
232
+ 8.145030e-001,
233
+ -1.071525e+000,
234
+ -1.777132e-001,
235
+ 8.076590e-001,
236
+ 9.925865e+000,
237
+ -3.324623e+000,
238
+ -6.367437e-001,
239
+ 2.844581e-001,
240
+ 2.248384e+000,
241
+ 6.544022e-001,
242
+ // albedo 0, turbidity 5
243
+ -1.218818e+000,
244
+ -2.952382e-001,
245
+ -1.345975e+001,
246
+ 1.347153e+001,
247
+ -6.814585e-003,
248
+ 5.079068e-001,
249
+ 1.197230e-001,
250
+ 3.776949e+000,
251
+ 5.836961e-001,
252
+ -1.409868e+000,
253
+ -5.114330e-001,
254
+ 2.776539e+000,
255
+ -2.039001e+000,
256
+ -2.673769e-002,
257
+ 4.145288e-001,
258
+ 7.829342e-004,
259
+ 2.275883e+000,
260
+ 6.629691e-001,
261
+ -1.069151e+000,
262
+ -9.434247e-002,
263
+ 7.293972e-001,
264
+ -1.222473e+000,
265
+ -1.533461e-001,
266
+ 2.160357e+000,
267
+ 4.626837e-002,
268
+ 3.852415e+000,
269
+ 8.593570e-001,
270
+ -1.021306e+000,
271
+ -1.149551e-001,
272
+ -1.108414e+000,
273
+ 4.178343e+000,
274
+ 4.013665e-001,
275
+ -2.222814e+000,
276
+ 6.929462e-001,
277
+ 1.392652e+000,
278
+ 4.401662e-001,
279
+ -1.074251e+000,
280
+ -2.224002e-001,
281
+ 1.372356e+000,
282
+ -8.858704e+000,
283
+ -3.922660e+000,
284
+ 3.020018e+000,
285
+ -1.458724e-002,
286
+ 1.511186e+000,
287
+ 8.288064e-001,
288
+ -1.062048e+000,
289
+ -1.526582e-001,
290
+ 4.921067e-001,
291
+ 1.485522e+001,
292
+ -3.229936e+000,
293
+ -8.426604e-001,
294
+ 3.916243e-001,
295
+ 2.678994e+000,
296
+ 6.689264e-001,
297
+ // albedo 0, turbidity 6
298
+ -1.257023e+000,
299
+ -3.364700e-001,
300
+ -1.527795e+001,
301
+ 1.504223e+001,
302
+ 2.717715e-003,
303
+ 3.029910e-001,
304
+ 1.636851e-001,
305
+ 3.561663e+000,
306
+ 5.283161e-001,
307
+ -1.635124e+000,
308
+ -7.329993e-001,
309
+ 3.523939e+000,
310
+ -2.566337e+000,
311
+ -1.902543e-002,
312
+ 5.505483e-001,
313
+ -6.242176e-002,
314
+ 1.065992e+000,
315
+ 6.654236e-001,
316
+ -9.295823e-001,
317
+ 4.845834e-002,
318
+ -2.992990e-001,
319
+ -2.001327e-001,
320
+ -8.019339e-002,
321
+ 1.807806e+000,
322
+ 9.020277e-002,
323
+ 5.095372e+000,
324
+ 8.639936e-001,
325
+ -1.093740e+000,
326
+ -2.148608e-001,
327
+ -5.216240e-001,
328
+ 2.119777e+000,
329
+ 9.506454e-002,
330
+ -1.831439e+000,
331
+ 6.961204e-001,
332
+ 1.102084e-001,
333
+ 4.384319e-001,
334
+ -1.044181e+000,
335
+ -1.849257e-001,
336
+ 9.071246e-001,
337
+ -4.648901e+000,
338
+ -2.279385e+000,
339
+ 2.356502e+000,
340
+ -4.169147e-002,
341
+ 1.932557e+000,
342
+ 8.296550e-001,
343
+ -1.061451e+000,
344
+ -1.458745e-001,
345
+ 2.952267e-001,
346
+ 8.967214e+000,
347
+ -3.726228e+000,
348
+ -5.022316e-001,
349
+ 5.684877e-001,
350
+ 3.102347e+000,
351
+ 6.658443e-001,
352
+ // albedo 0, turbidity 7
353
+ -1.332391e+000,
354
+ -4.127769e-001,
355
+ -9.328643e+000,
356
+ 9.046194e+000,
357
+ 3.457775e-003,
358
+ 3.377425e-001,
359
+ 1.530909e-001,
360
+ 3.301209e+000,
361
+ 4.997917e-001,
362
+ -1.932002e+000,
363
+ -9.947777e-001,
364
+ -2.042329e+000,
365
+ 3.586940e+000,
366
+ -5.642182e-002,
367
+ 8.130478e-001,
368
+ -8.195988e-002,
369
+ 1.118294e-001,
370
+ 5.617231e-001,
371
+ -8.707374e-001,
372
+ 1.286999e-001,
373
+ 1.820054e+000,
374
+ -4.674706e+000,
375
+ 3.317471e-003,
376
+ 5.919018e-001,
377
+ 1.975278e-001,
378
+ 6.686519e+000,
379
+ 9.631727e-001,
380
+ -1.070378e+000,
381
+ -3.030579e-001,
382
+ -9.041938e-001,
383
+ 6.200201e+000,
384
+ 1.232207e-001,
385
+ -3.650628e-001,
386
+ 5.029403e-001,
387
+ -2.903162e+000,
388
+ 3.811408e-001,
389
+ -1.063035e+000,
390
+ -1.637545e-001,
391
+ 5.853072e-001,
392
+ -7.889906e+000,
393
+ -1.200641e+000,
394
+ 1.035018e+000,
395
+ 1.192093e-001,
396
+ 3.267054e+000,
397
+ 8.416151e-001,
398
+ -1.053655e+000,
399
+ -1.562286e-001,
400
+ 2.423683e-001,
401
+ 1.128575e+001,
402
+ -4.363262e+000,
403
+ -7.314160e-002,
404
+ 5.642088e-001,
405
+ 2.514023e+000,
406
+ 6.670457e-001,
407
+ // albedo 0, turbidity 8
408
+ -1.366112e+000,
409
+ -4.718287e-001,
410
+ -7.876222e+000,
411
+ 7.746900e+000,
412
+ -9.182309e-003,
413
+ 4.716076e-001,
414
+ 8.320252e-002,
415
+ 3.165603e+000,
416
+ 5.392334e-001,
417
+ -2.468204e+000,
418
+ -1.336340e+000,
419
+ -5.386723e+000,
420
+ 7.072672e+000,
421
+ -8.329266e-002,
422
+ 8.636876e-001,
423
+ -1.978177e-002,
424
+ -1.326218e-001,
425
+ 2.979222e-001,
426
+ -9.653522e-001,
427
+ -2.373416e-002,
428
+ 1.810250e+000,
429
+ -6.467262e+000,
430
+ 1.410706e-001,
431
+ -4.753717e-001,
432
+ 3.003095e-001,
433
+ 6.551163e+000,
434
+ 1.151083e+000,
435
+ -8.943186e-001,
436
+ -2.487152e-001,
437
+ -2.308960e-001,
438
+ 8.512648e+000,
439
+ 1.298402e-001,
440
+ 1.034705e+000,
441
+ 2.303509e-001,
442
+ -3.924095e+000,
443
+ 2.982717e-001,
444
+ -1.146999e+000,
445
+ -2.318784e-001,
446
+ 8.992419e-002,
447
+ -9.933614e+000,
448
+ -8.860920e-001,
449
+ -3.071656e-002,
450
+ 2.852012e-001,
451
+ 3.046199e+000,
452
+ 8.599001e-001,
453
+ -1.032399e+000,
454
+ -1.645145e-001,
455
+ 2.683599e-001,
456
+ 1.327701e+001,
457
+ -4.407670e+000,
458
+ 7.709869e-002,
459
+ 4.951727e-001,
460
+ 1.957277e+000,
461
+ 6.630943e-001,
462
+ // albedo 0, turbidity 9
463
+ -1.469070e+000,
464
+ -6.135092e-001,
465
+ -6.506263e+000,
466
+ 6.661315e+000,
467
+ -3.835383e-002,
468
+ 7.150413e-001,
469
+ 7.784318e-003,
470
+ 2.820577e+000,
471
+ 6.756784e-001,
472
+ -2.501583e+000,
473
+ -1.247404e+000,
474
+ -1.523462e+001,
475
+ 1.633191e+001,
476
+ -1.204803e-002,
477
+ 5.896471e-001,
478
+ -2.002023e-002,
479
+ 1.144647e+000,
480
+ 6.177874e-002,
481
+ -2.438672e+000,
482
+ -1.127291e+000,
483
+ 5.731172e+000,
484
+ -1.021350e+001,
485
+ 6.165610e-002,
486
+ -7.752641e-001,
487
+ 4.708254e-001,
488
+ 4.176847e+000,
489
+ 1.200881e+000,
490
+ -1.513427e-001,
491
+ 9.792731e-002,
492
+ -1.612349e+000,
493
+ 9.814289e+000,
494
+ 5.188921e-002,
495
+ 1.716403e+000,
496
+ -7.039255e-002,
497
+ -2.815115e+000,
498
+ 3.291874e-001,
499
+ -1.318511e+000,
500
+ -3.650554e-001,
501
+ 4.221268e-001,
502
+ -9.294529e+000,
503
+ -4.397520e-002,
504
+ -8.100625e-001,
505
+ 3.742719e-001,
506
+ 1.834166e+000,
507
+ 8.223450e-001,
508
+ -1.016009e+000,
509
+ -1.820264e-001,
510
+ 1.278426e-001,
511
+ 1.182696e+001,
512
+ -4.801528e+000,
513
+ 4.947899e-001,
514
+ 4.660378e-001,
515
+ 1.601254e+000,
516
+ 6.702359e-001,
517
+ // albedo 0, turbidity 10
518
+ -1.841310e+000,
519
+ -9.781779e-001,
520
+ -4.610903e+000,
521
+ 4.824662e+000,
522
+ -5.100806e-002,
523
+ 6.463776e-001,
524
+ -6.377724e-006,
525
+ 2.216875e+000,
526
+ 8.618530e-001,
527
+ -2.376373e+000,
528
+ -1.108657e+000,
529
+ -1.489799e+001,
530
+ 1.546458e+001,
531
+ 4.091025e-002,
532
+ 9.761780e-002,
533
+ -1.048958e-002,
534
+ 2.165834e+000,
535
+ -1.609171e-001,
536
+ -4.710318e+000,
537
+ -2.261963e+000,
538
+ 6.947327e+000,
539
+ -1.034828e+001,
540
+ -1.325542e-001,
541
+ 7.508674e-001,
542
+ 2.247553e-001,
543
+ 2.873142e+000,
544
+ 1.297100e+000,
545
+ 2.163750e-001,
546
+ -1.944345e-001,
547
+ -2.437860e+000,
548
+ 1.011314e+001,
549
+ 4.450500e-001,
550
+ 3.111492e-001,
551
+ 2.751323e-001,
552
+ -1.627906e+000,
553
+ 2.531213e-001,
554
+ -1.258794e+000,
555
+ -3.524641e-001,
556
+ 8.425444e-001,
557
+ -1.085313e+001,
558
+ -1.154381e+000,
559
+ -4.638014e-001,
560
+ -2.781115e-003,
561
+ 4.344498e-001,
562
+ 8.507091e-001,
563
+ -1.018938e+000,
564
+ -1.804153e-001,
565
+ -6.354054e-002,
566
+ 1.573150e+001,
567
+ -4.386999e+000,
568
+ 6.211115e-001,
569
+ 5.294648e-001,
570
+ 1.580749e+000,
571
+ 6.586655e-001,
572
+ // albedo 1, turbidity 1
573
+ -1.116416e+000,
574
+ -1.917524e-001,
575
+ -1.068233e+001,
576
+ 1.222221e+001,
577
+ -3.668978e-002,
578
+ 1.054022e+000,
579
+ 1.592132e-002,
580
+ 3.180583e+000,
581
+ 5.627370e-001,
582
+ -1.132341e+000,
583
+ -1.671286e-001,
584
+ 5.976499e+000,
585
+ -4.227366e+000,
586
+ -9.542489e-002,
587
+ 8.664938e-001,
588
+ 8.351793e-003,
589
+ 4.876068e+000,
590
+ 4.492779e-001,
591
+ -1.087635e+000,
592
+ -3.173679e-001,
593
+ 4.314407e-001,
594
+ 1.100555e+000,
595
+ -4.410057e-001,
596
+ 1.677253e+000,
597
+ -3.005925e-002,
598
+ -4.201249e+000,
599
+ 1.070902e+000,
600
+ -1.083031e+000,
601
+ -8.847705e-002,
602
+ 1.291773e+000,
603
+ 4.546776e-001,
604
+ 3.091894e-001,
605
+ 7.261760e-001,
606
+ 4.203659e-002,
607
+ 5.990615e+000,
608
+ 3.704756e-001,
609
+ -1.057899e+000,
610
+ -2.246706e-001,
611
+ 2.329563e+000,
612
+ -1.219656e+000,
613
+ -5.335260e+000,
614
+ 8.545378e-001,
615
+ -3.906209e-002,
616
+ -9.025499e-001,
617
+ 7.797348e-001,
618
+ -1.073305e+000,
619
+ -1.522553e-001,
620
+ 1.767063e+000,
621
+ 1.904280e+000,
622
+ -3.101673e+000,
623
+ 3.995856e-001,
624
+ 2.905192e-002,
625
+ 2.563977e+000,
626
+ 5.753067e-001,
627
+ // albedo 1, turbidity 2
628
+ -1.113674e+000,
629
+ -1.759694e-001,
630
+ -9.754125e+000,
631
+ 1.087391e+001,
632
+ -3.841093e-002,
633
+ 9.524272e-001,
634
+ 5.680219e-002,
635
+ 4.227034e+000,
636
+ 6.029571e-001,
637
+ -1.126496e+000,
638
+ -1.680281e-001,
639
+ 5.332352e+000,
640
+ -4.575579e+000,
641
+ -6.761755e-002,
642
+ 3.295335e-001,
643
+ 1.194896e-001,
644
+ 5.570901e+000,
645
+ 4.536185e-001,
646
+ -1.103074e+000,
647
+ -2.681801e-001,
648
+ 6.571479e-002,
649
+ 2.396522e+000,
650
+ -4.551280e-001,
651
+ 2.466331e+000,
652
+ -1.232022e-001,
653
+ -3.023201e+000,
654
+ 1.086379e+000,
655
+ -1.053299e+000,
656
+ -2.697173e-002,
657
+ 8.379121e-001,
658
+ -9.681458e-001,
659
+ 5.890692e-001,
660
+ -4.872027e-001,
661
+ 2.936929e-001,
662
+ 7.510139e+000,
663
+ 3.079122e-001,
664
+ -1.079553e+000,
665
+ -2.710448e-001,
666
+ 2.462379e+000,
667
+ -3.713554e-001,
668
+ -8.534512e+000,
669
+ 1.828242e+000,
670
+ -1.686398e-001,
671
+ -1.961340e+000,
672
+ 8.941077e-001,
673
+ -1.069741e+000,
674
+ -1.396394e-001,
675
+ 1.657868e+000,
676
+ 3.236313e+000,
677
+ -2.706344e+000,
678
+ -2.948122e-001,
679
+ 1.314816e-001,
680
+ 2.868457e+000,
681
+ 5.413403e-001,
682
+ // albedo 1, turbidity 3
683
+ -1.131649e+000,
684
+ -1.954455e-001,
685
+ -7.751595e+000,
686
+ 8.685861e+000,
687
+ -4.910871e-002,
688
+ 8.992952e-001,
689
+ 4.710143e-002,
690
+ 4.254818e+000,
691
+ 6.821116e-001,
692
+ -1.156689e+000,
693
+ -1.884324e-001,
694
+ 3.163519e+000,
695
+ -3.091522e+000,
696
+ -6.613927e-002,
697
+ -2.575883e-002,
698
+ 1.640065e-001,
699
+ 6.073643e+000,
700
+ 4.453468e-001,
701
+ -1.079224e+000,
702
+ -2.621389e-001,
703
+ 9.446437e-001,
704
+ 1.448479e+000,
705
+ -3.969384e-001,
706
+ 2.626638e+000,
707
+ -8.101186e-002,
708
+ -3.016355e+000,
709
+ 1.076295e+000,
710
+ -1.080832e+000,
711
+ 1.033057e-002,
712
+ -3.500156e-001,
713
+ -3.281419e-002,
714
+ 5.655512e-001,
715
+ -1.156742e+000,
716
+ 4.534710e-001,
717
+ 8.774122e+000,
718
+ 2.772869e-001,
719
+ -1.051202e+000,
720
+ -2.679975e-001,
721
+ 2.719109e+000,
722
+ -2.190316e+000,
723
+ -6.878798e+000,
724
+ 2.250481e+000,
725
+ -2.030252e-001,
726
+ -2.026527e+000,
727
+ 9.701096e-001,
728
+ -1.089849e+000,
729
+ -1.598589e-001,
730
+ 1.564748e+000,
731
+ 6.869187e+000,
732
+ -3.053670e+000,
733
+ -6.110435e-001,
734
+ 1.644472e-001,
735
+ 2.370452e+000,
736
+ 5.511770e-001,
737
+ // albedo 1, turbidity 4
738
+ -1.171419e+000,
739
+ -2.429746e-001,
740
+ -8.991334e+000,
741
+ 9.571216e+000,
742
+ -2.772861e-002,
743
+ 6.688262e-001,
744
+ 7.683478e-002,
745
+ 3.785611e+000,
746
+ 6.347635e-001,
747
+ -1.228554e+000,
748
+ -2.917562e-001,
749
+ 2.753986e+000,
750
+ -2.491780e+000,
751
+ -4.663434e-002,
752
+ 3.118303e-001,
753
+ 7.546506e-002,
754
+ 4.463096e+000,
755
+ 5.955071e-001,
756
+ -1.093124e+000,
757
+ -2.447767e-001,
758
+ 9.097406e-001,
759
+ 5.448296e-001,
760
+ -2.957824e-001,
761
+ 2.024167e+000,
762
+ -5.152333e-004,
763
+ -1.069081e+000,
764
+ 9.369565e-001,
765
+ -1.056994e+000,
766
+ 1.569507e-002,
767
+ -8.217491e-001,
768
+ 1.870818e+000,
769
+ 7.061930e-001,
770
+ -1.483928e+000,
771
+ 5.978206e-001,
772
+ 6.864902e+000,
773
+ 3.673332e-001,
774
+ -1.054871e+000,
775
+ -2.758129e-001,
776
+ 2.712807e+000,
777
+ -5.950110e+000,
778
+ -6.554039e+000,
779
+ 2.447523e+000,
780
+ -1.895171e-001,
781
+ -1.454292e+000,
782
+ 9.131738e-001,
783
+ -1.100218e+000,
784
+ -1.746241e-001,
785
+ 1.438505e+000,
786
+ 1.115481e+001,
787
+ -3.266076e+000,
788
+ -8.837357e-001,
789
+ 1.970100e-001,
790
+ 1.991595e+000,
791
+ 5.907821e-001,
792
+ // albedo 1, turbidity 5
793
+ -1.207267e+000,
794
+ -2.913610e-001,
795
+ -1.103767e+001,
796
+ 1.140724e+001,
797
+ -1.416800e-002,
798
+ 5.564047e-001,
799
+ 8.476262e-002,
800
+ 3.371255e+000,
801
+ 6.221335e-001,
802
+ -1.429698e+000,
803
+ -5.374218e-001,
804
+ 2.837524e+000,
805
+ -2.221936e+000,
806
+ -2.422337e-002,
807
+ 9.313758e-002,
808
+ 7.190250e-002,
809
+ 1.869022e+000,
810
+ 5.609035e-001,
811
+ -1.002274e+000,
812
+ -6.972810e-002,
813
+ 4.031308e-001,
814
+ -3.932997e-001,
815
+ -1.521923e-001,
816
+ 2.390646e+000,
817
+ -6.893990e-002,
818
+ 2.999661e+000,
819
+ 1.017843e+000,
820
+ -1.081168e+000,
821
+ -1.178666e-001,
822
+ -4.968080e-001,
823
+ 3.919299e+000,
824
+ 6.046866e-001,
825
+ -2.440615e+000,
826
+ 7.891538e-001,
827
+ 2.140835e+000,
828
+ 2.740470e-001,
829
+ -1.050727e+000,
830
+ -2.307688e-001,
831
+ 2.276396e+000,
832
+ -9.454407e+000,
833
+ -5.505176e+000,
834
+ 2.992620e+000,
835
+ -2.450942e-001,
836
+ 6.078372e-001,
837
+ 9.606765e-001,
838
+ -1.103752e+000,
839
+ -1.810202e-001,
840
+ 1.375044e+000,
841
+ 1.589095e+001,
842
+ -3.438954e+000,
843
+ -1.265669e+000,
844
+ 2.475172e-001,
845
+ 1.680768e+000,
846
+ 5.978056e-001,
847
+ // albedo 1, turbidity 6
848
+ -1.244324e+000,
849
+ -3.378542e-001,
850
+ -1.111001e+001,
851
+ 1.137784e+001,
852
+ -7.896794e-003,
853
+ 4.808023e-001,
854
+ 9.249904e-002,
855
+ 3.025816e+000,
856
+ 5.880239e-001,
857
+ -1.593165e+000,
858
+ -7.027621e-001,
859
+ 2.220896e+000,
860
+ -1.437709e+000,
861
+ -1.534738e-002,
862
+ 6.286958e-002,
863
+ 6.644555e-002,
864
+ 1.091727e+000,
865
+ 5.470080e-001,
866
+ -9.136506e-001,
867
+ 1.344874e-002,
868
+ 7.772636e-001,
869
+ -1.209396e+000,
870
+ -1.408978e-001,
871
+ 2.433718e+000,
872
+ -1.041938e-001,
873
+ 3.791244e+000,
874
+ 1.037916e+000,
875
+ -1.134968e+000,
876
+ -1.803315e-001,
877
+ -9.267335e-001,
878
+ 4.576670e+000,
879
+ 6.851928e-001,
880
+ -2.805000e+000,
881
+ 8.687208e-001,
882
+ 1.161483e+000,
883
+ 2.571688e-001,
884
+ -1.017037e+000,
885
+ -2.053943e-001,
886
+ 2.361640e+000,
887
+ -9.887818e+000,
888
+ -5.122889e+000,
889
+ 3.287088e+000,
890
+ -2.594102e-001,
891
+ 8.578927e-001,
892
+ 9.592340e-001,
893
+ -1.118723e+000,
894
+ -1.934942e-001,
895
+ 1.226023e+000,
896
+ 1.674140e+001,
897
+ -3.277335e+000,
898
+ -1.629809e+000,
899
+ 2.765232e-001,
900
+ 1.637713e+000,
901
+ 6.113963e-001,
902
+ // albedo 1, turbidity 7
903
+ -1.314779e+000,
904
+ -4.119915e-001,
905
+ -1.241150e+001,
906
+ 1.241578e+001,
907
+ 2.344284e-003,
908
+ 2.980837e-001,
909
+ 1.414613e-001,
910
+ 2.781731e+000,
911
+ 4.998556e-001,
912
+ -1.926199e+000,
913
+ -1.020038e+000,
914
+ 2.569200e+000,
915
+ -1.081159e+000,
916
+ -2.266833e-002,
917
+ 3.588668e-001,
918
+ 8.750078e-003,
919
+ -2.452171e-001,
920
+ 4.796758e-001,
921
+ -7.780002e-001,
922
+ 1.850647e-001,
923
+ 4.445456e-002,
924
+ -2.409297e+000,
925
+ -7.816346e-002,
926
+ 1.546790e+000,
927
+ -2.807227e-002,
928
+ 5.998176e+000,
929
+ 1.132396e+000,
930
+ -1.179326e+000,
931
+ -3.578330e-001,
932
+ -2.392933e-001,
933
+ 6.467883e+000,
934
+ 5.904596e-001,
935
+ -1.869975e+000,
936
+ 8.045839e-001,
937
+ -2.498121e+000,
938
+ 1.610633e-001,
939
+ -1.009956e+000,
940
+ -1.311896e-001,
941
+ 1.726577e+000,
942
+ -1.219356e+001,
943
+ -3.466239e+000,
944
+ 2.343602e+000,
945
+ -2.252205e-001,
946
+ 2.573681e+000,
947
+ 1.027109e+000,
948
+ -1.112460e+000,
949
+ -2.063093e-001,
950
+ 1.233051e+000,
951
+ 2.058946e+001,
952
+ -4.578074e+000,
953
+ -1.145643e+000,
954
+ 3.160192e-001,
955
+ 1.420159e+000,
956
+ 5.860212e-001,
957
+ // albedo 1, turbidity 8
958
+ -1.371689e+000,
959
+ -4.914196e-001,
960
+ -1.076610e+001,
961
+ 1.107405e+001,
962
+ -1.485077e-002,
963
+ 5.936218e-001,
964
+ 3.685482e-002,
965
+ 2.599968e+000,
966
+ 6.002204e-001,
967
+ -2.436997e+000,
968
+ -1.377939e+000,
969
+ 2.130141e-002,
970
+ 1.079593e+000,
971
+ -1.796232e-002,
972
+ -3.933248e-002,
973
+ 1.610711e-001,
974
+ -6.901181e-001,
975
+ 1.206416e-001,
976
+ -8.743368e-001,
977
+ 7.331370e-002,
978
+ 8.734259e-001,
979
+ -3.743126e+000,
980
+ -3.151167e-002,
981
+ 1.297596e+000,
982
+ -7.634926e-002,
983
+ 6.532873e+000,
984
+ 1.435737e+000,
985
+ -9.810197e-001,
986
+ -3.521634e-001,
987
+ -2.855205e-001,
988
+ 7.134674e+000,
989
+ 6.839748e-001,
990
+ -1.394841e+000,
991
+ 6.952036e-001,
992
+ -4.633104e+000,
993
+ -2.173401e-002,
994
+ -1.122958e+000,
995
+ -1.691536e-001,
996
+ 1.382360e+000,
997
+ -1.102913e+001,
998
+ -2.608171e+000,
999
+ 1.865111e+000,
1000
+ -1.345154e-001,
1001
+ 3.112342e+000,
1002
+ 1.094134e+000,
1003
+ -1.075586e+000,
1004
+ -2.077415e-001,
1005
+ 1.171477e+000,
1006
+ 1.793270e+001,
1007
+ -4.656858e+000,
1008
+ -1.036839e+000,
1009
+ 3.338295e-001,
1010
+ 1.042793e+000,
1011
+ 5.739374e-001,
1012
+ // albedo 1, turbidity 9
1013
+ -1.465871e+000,
1014
+ -6.364486e-001,
1015
+ -8.833718e+000,
1016
+ 9.343650e+000,
1017
+ -3.223600e-002,
1018
+ 7.552848e-001,
1019
+ -3.121341e-006,
1020
+ 2.249164e+000,
1021
+ 8.094662e-001,
1022
+ -2.448924e+000,
1023
+ -1.270878e+000,
1024
+ -4.823703e+000,
1025
+ 5.853058e+000,
1026
+ -2.149127e-002,
1027
+ 3.581132e-002,
1028
+ -1.230276e-003,
1029
+ 4.892553e-001,
1030
+ -1.597657e-001,
1031
+ -2.419809e+000,
1032
+ -1.071337e+000,
1033
+ 1.575648e+000,
1034
+ -4.983580e+000,
1035
+ 9.545185e-003,
1036
+ 5.032615e-001,
1037
+ 4.186266e-001,
1038
+ 4.634147e+000,
1039
+ 1.433517e+000,
1040
+ -1.383278e-001,
1041
+ -2.797095e-002,
1042
+ -1.943067e-001,
1043
+ 6.679623e+000,
1044
+ 4.118280e-001,
1045
+ -2.744289e-001,
1046
+ -2.118722e-002,
1047
+ -4.337025e+000,
1048
+ 1.505072e-001,
1049
+ -1.341872e+000,
1050
+ -2.518572e-001,
1051
+ 1.027009e+000,
1052
+ -6.527103e+000,
1053
+ -1.081271e+000,
1054
+ 1.015465e+000,
1055
+ 2.845789e-001,
1056
+ 2.470371e+000,
1057
+ 9.278120e-001,
1058
+ -1.040640e+000,
1059
+ -2.367454e-001,
1060
+ 1.100744e+000,
1061
+ 8.827253e+000,
1062
+ -4.560794e+000,
1063
+ -7.287017e-001,
1064
+ 2.842503e-001,
1065
+ 6.336593e-001,
1066
+ 6.327335e-001,
1067
+ // albedo 1, turbidity 10
1068
+ -1.877993e+000,
1069
+ -1.025135e+000,
1070
+ -4.311037e+000,
1071
+ 4.715016e+000,
1072
+ -4.711631e-002,
1073
+ 6.335844e-001,
1074
+ -7.665398e-006,
1075
+ 1.788017e+000,
1076
+ 9.001409e-001,
1077
+ -2.281540e+000,
1078
+ -1.137668e+000,
1079
+ -1.036869e+001,
1080
+ 1.136254e+001,
1081
+ 1.961739e-002,
1082
+ -9.836174e-002,
1083
+ -6.734567e-003,
1084
+ 1.320918e+000,
1085
+ -2.400807e-001,
1086
+ -4.904054e+000,
1087
+ -2.315781e+000,
1088
+ 5.735999e+000,
1089
+ -8.626257e+000,
1090
+ -1.255643e-001,
1091
+ 1.545446e+000,
1092
+ 1.396860e-001,
1093
+ 2.972897e+000,
1094
+ 1.429934e+000,
1095
+ 4.077067e-001,
1096
+ -1.833688e-001,
1097
+ -2.450939e+000,
1098
+ 9.119433e+000,
1099
+ 4.505361e-001,
1100
+ -1.340828e+000,
1101
+ 3.973690e-001,
1102
+ -1.785370e+000,
1103
+ 9.628711e-002,
1104
+ -1.296052e+000,
1105
+ -3.250526e-001,
1106
+ 1.813294e+000,
1107
+ -1.031485e+001,
1108
+ -1.388690e+000,
1109
+ 1.239733e+000,
1110
+ -8.989196e-002,
1111
+ -3.389637e-001,
1112
+ 9.639560e-001,
1113
+ -1.062181e+000,
1114
+ -2.423444e-001,
1115
+ 7.577592e-001,
1116
+ 1.566938e+001,
1117
+ -4.462264e+000,
1118
+ -5.742810e-001,
1119
+ 3.262259e-001,
1120
+ 9.461672e-001,
1121
+ 6.232887e-001,
1122
+ ]);
1123
+
1124
+ /**
1125
+ * [albedo][turbidity][quinticCoeffs]
1126
+ * float kHosekRadX[2][10][6]
1127
+ * @type {Float32Array}
1128
+ */
1129
+ const kHosekRadX = new Float32Array([
1130
+ // albedo 0, turbidity 1
1131
+ 1.560219e+000,
1132
+ 1.417388e+000,
1133
+ 1.206927e+000,
1134
+ 1.091949e+001,
1135
+ 5.931416e+000,
1136
+ 7.304788e+000,
1137
+ // albedo 0, turbidity 2
1138
+ 1.533049e+000,
1139
+ 1.560532e+000,
1140
+ 3.685059e-001,
1141
+ 1.355040e+001,
1142
+ 5.543711e+000,
1143
+ 7.792189e+000,
1144
+ // albedo 0, turbidity 3
1145
+ 1.471043e+000,
1146
+ 1.746088e+000,
1147
+ -9.299697e-001,
1148
+ 1.720362e+001,
1149
+ 5.473384e+000,
1150
+ 8.336416e+000,
1151
+ // albedo 0, turbidity 4
1152
+ 1.355991e+000,
1153
+ 2.109348e+000,
1154
+ -3.295855e+000,
1155
+ 2.264843e+001,
1156
+ 5.454607e+000,
1157
+ 9.304656e+000,
1158
+ // albedo 0, turbidity 5
1159
+ 1.244963e+000,
1160
+ 2.547533e+000,
1161
+ -5.841485e+000,
1162
+ 2.756879e+001,
1163
+ 5.576104e+000,
1164
+ 1.043287e+001,
1165
+ // albedo 0, turbidity 6
1166
+ 1.175532e+000,
1167
+ 2.784634e+000,
1168
+ -7.212225e+000,
1169
+ 2.975347e+001,
1170
+ 6.472980e+000,
1171
+ 1.092331e+001,
1172
+ // albedo 0, turbidity 7
1173
+ 1.082973e+000,
1174
+ 3.118094e+000,
1175
+ -8.934293e+000,
1176
+ 3.186879e+001,
1177
+ 8.473885e+000,
1178
+ 1.174019e+001,
1179
+ // albedo 0, turbidity 8
1180
+ 9.692500e-001,
1181
+ 3.349574e+000,
1182
+ -1.003810e+001,
1183
+ 3.147654e+001,
1184
+ 1.338931e+001,
1185
+ 1.272547e+001,
1186
+ // albedo 0, turbidity 9
1187
+ 8.547044e-001,
1188
+ 3.151538e+000,
1189
+ -9.095567e+000,
1190
+ 2.554995e+001,
1191
+ 2.273219e+001,
1192
+ 1.410398e+001,
1193
+ // albedo 0, turbidity 10
1194
+ 7.580340e-001,
1195
+ 2.311153e+000,
1196
+ -5.170814e+000,
1197
+ 1.229669e+001,
1198
+ 3.686529e+001,
1199
+ 1.598882e+001,
1200
+ // albedo 1, turbidity 1
1201
+ 1.664273e+000,
1202
+ 1.574468e+000,
1203
+ 1.422078e+000,
1204
+ 9.768247e+000,
1205
+ 1.447338e+001,
1206
+ 1.644988e+001,
1207
+ // albedo 1, turbidity 2
1208
+ 1.638295e+000,
1209
+ 1.719586e+000,
1210
+ 5.786675e-001,
1211
+ 1.239846e+001,
1212
+ 1.415419e+001,
1213
+ 1.728605e+001,
1214
+ // albedo 1, turbidity 3
1215
+ 1.572623e+000,
1216
+ 1.921559e+000,
1217
+ -7.714802e-001,
1218
+ 1.609246e+001,
1219
+ 1.420954e+001,
1220
+ 1.825908e+001,
1221
+ // albedo 1, turbidity 4
1222
+ 1.468395e+000,
1223
+ 2.211970e+000,
1224
+ -2.845869e+000,
1225
+ 2.075027e+001,
1226
+ 1.524822e+001,
1227
+ 1.937622e+001,
1228
+ // albedo 1, turbidity 5
1229
+ 1.355047e+000,
1230
+ 2.556469e+000,
1231
+ -4.960920e+000,
1232
+ 2.460237e+001,
1233
+ 1.648360e+001,
1234
+ 2.065648e+001,
1235
+ // albedo 1, turbidity 6
1236
+ 1.291642e+000,
1237
+ 2.742036e+000,
1238
+ -6.061967e+000,
1239
+ 2.602002e+001,
1240
+ 1.819144e+001,
1241
+ 2.116712e+001,
1242
+ // albedo 1, turbidity 7
1243
+ 1.194565e+000,
1244
+ 2.972120e+000,
1245
+ -7.295779e+000,
1246
+ 2.691805e+001,
1247
+ 2.124880e+001,
1248
+ 2.201819e+001,
1249
+ // albedo 1, turbidity 8
1250
+ 1.083631e+000,
1251
+ 3.047021e+000,
1252
+ -7.766096e+000,
1253
+ 2.496261e+001,
1254
+ 2.744264e+001,
1255
+ 2.291875e+001,
1256
+ // albedo 1, turbidity 9
1257
+ 9.707994e-001,
1258
+ 2.736459e+000,
1259
+ -6.308284e+000,
1260
+ 1.760860e+001,
1261
+ 3.776291e+001,
1262
+ 2.392150e+001,
1263
+ // albedo 1, turbidity 10
1264
+ 8.574294e-001,
1265
+ 1.865155e+000,
1266
+ -2.364707e+000,
1267
+ 4.337793e+000,
1268
+ 5.092831e+001,
1269
+ 2.523432e+001,
1270
+ ]);
1271
+
1272
+
1273
+ const kHosekCoeffsY = new Float32Array([
1274
+ // albedo 0, turbidity 1
1275
+ -1.127942e+000,
1276
+ -1.905548e-001,
1277
+ -1.252356e+001,
1278
+ 1.375799e+001,
1279
+ -3.624732e-002,
1280
+ 1.055453e+000,
1281
+ 1.385036e-002,
1282
+ 4.176970e+000,
1283
+ 5.928345e-001,
1284
+ -1.155260e+000,
1285
+ -1.778135e-001,
1286
+ 6.216056e+000,
1287
+ -5.254116e+000,
1288
+ -8.787445e-002,
1289
+ 8.434621e-001,
1290
+ 4.025734e-002,
1291
+ 6.195322e+000,
1292
+ 3.111856e-001,
1293
+ -1.125624e+000,
1294
+ -3.217593e-001,
1295
+ 5.043919e-001,
1296
+ 1.686284e+000,
1297
+ -3.536071e-001,
1298
+ 1.476321e+000,
1299
+ -7.899019e-002,
1300
+ -4.522531e+000,
1301
+ 1.271691e+000,
1302
+ -1.081801e+000,
1303
+ -1.033234e-001,
1304
+ 9.995550e-001,
1305
+ 7.482946e-003,
1306
+ -6.776018e-002,
1307
+ 1.463141e+000,
1308
+ 9.492021e-002,
1309
+ 5.612723e+000,
1310
+ 1.298846e-001,
1311
+ -1.075320e+000,
1312
+ -2.402711e-001,
1313
+ 2.141284e+000,
1314
+ -1.203359e+000,
1315
+ -4.945188e+000,
1316
+ 1.437221e+000,
1317
+ -8.096750e-002,
1318
+ -1.028378e+000,
1319
+ 1.004164e+000,
1320
+ -1.073337e+000,
1321
+ -1.516517e-001,
1322
+ 1.639379e+000,
1323
+ 2.304669e+000,
1324
+ -3.214244e+000,
1325
+ 1.286245e+000,
1326
+ 5.613957e-002,
1327
+ 2.480902e+000,
1328
+ 4.999363e-001,
1329
+ // albedo 0, turbidity 2
1330
+ -1.128399e+000,
1331
+ -1.857793e-001,
1332
+ -1.089863e+001,
1333
+ 1.172984e+001,
1334
+ -3.768099e-002,
1335
+ 9.439285e-001,
1336
+ 4.869335e-002,
1337
+ 4.845114e+000,
1338
+ 6.119211e-001,
1339
+ -1.114002e+000,
1340
+ -1.399280e-001,
1341
+ 4.963800e+000,
1342
+ -4.685500e+000,
1343
+ -7.780879e-002,
1344
+ 4.049736e-001,
1345
+ 1.586297e-001,
1346
+ 7.770264e+000,
1347
+ 3.449006e-001,
1348
+ -1.185472e+000,
1349
+ -3.403543e-001,
1350
+ 6.588322e-001,
1351
+ 1.133713e+000,
1352
+ -4.118674e-001,
1353
+ 2.061191e+000,
1354
+ -1.882768e-001,
1355
+ -4.372586e+000,
1356
+ 1.223530e+000,
1357
+ -1.002272e+000,
1358
+ 2.000703e-002,
1359
+ 7.073269e-002,
1360
+ 1.485075e+000,
1361
+ 5.005589e-001,
1362
+ 4.301494e-001,
1363
+ 3.626541e-001,
1364
+ 7.921098e+000,
1365
+ 1.574766e-001,
1366
+ -1.121006e+000,
1367
+ -3.007777e-001,
1368
+ 2.242051e+000,
1369
+ -4.571561e+000,
1370
+ -7.761071e+000,
1371
+ 2.053404e+000,
1372
+ -1.524018e-001,
1373
+ -1.886162e+000,
1374
+ 1.018208e+000,
1375
+ -1.058864e+000,
1376
+ -1.358673e-001,
1377
+ 1.389667e+000,
1378
+ 8.633409e+000,
1379
+ -3.437249e+000,
1380
+ 7.295429e-001,
1381
+ 1.514700e-001,
1382
+ 2.842513e+000,
1383
+ 5.014325e-001,
1384
+ // albedo 0, turbidity 3
1385
+ -1.144464e+000,
1386
+ -2.043799e-001,
1387
+ -1.020188e+001,
1388
+ 1.071247e+001,
1389
+ -3.256693e-002,
1390
+ 7.860205e-001,
1391
+ 6.872719e-002,
1392
+ 4.824771e+000,
1393
+ 6.259836e-001,
1394
+ -1.170104e+000,
1395
+ -2.118626e-001,
1396
+ 4.391405e+000,
1397
+ -4.198900e+000,
1398
+ -7.111559e-002,
1399
+ 3.890442e-001,
1400
+ 1.024831e-001,
1401
+ 6.282535e+000,
1402
+ 5.365688e-001,
1403
+ -1.129171e+000,
1404
+ -2.552880e-001,
1405
+ 2.238298e-001,
1406
+ 7.314295e-001,
1407
+ -3.562730e-001,
1408
+ 1.881931e+000,
1409
+ -3.078716e-002,
1410
+ -1.039120e+000,
1411
+ 9.096301e-001,
1412
+ -1.042294e+000,
1413
+ 4.450203e-003,
1414
+ -5.116033e-001,
1415
+ 2.627589e+000,
1416
+ 6.098996e-001,
1417
+ -1.264638e-001,
1418
+ 4.325281e-001,
1419
+ 7.080503e+000,
1420
+ 4.583646e-001,
1421
+ -1.082293e+000,
1422
+ -2.723056e-001,
1423
+ 2.065076e+000,
1424
+ -8.143133e+000,
1425
+ -7.892212e+000,
1426
+ 2.142231e+000,
1427
+ -7.106240e-002,
1428
+ -1.122398e+000,
1429
+ 8.338505e-001,
1430
+ -1.071715e+000,
1431
+ -1.426568e-001,
1432
+ 1.095351e+000,
1433
+ 1.729783e+001,
1434
+ -3.851931e+000,
1435
+ 4.360514e-001,
1436
+ 2.114440e-001,
1437
+ 2.970832e+000,
1438
+ 5.944389e-001,
1439
+ // albedo 0, turbidity 4
1440
+ -1.195909e+000,
1441
+ -2.590449e-001,
1442
+ -1.191037e+001,
1443
+ 1.207947e+001,
1444
+ -1.589842e-002,
1445
+ 6.297846e-001,
1446
+ 9.054772e-002,
1447
+ 4.285959e+000,
1448
+ 5.933752e-001,
1449
+ -1.245763e+000,
1450
+ -3.316637e-001,
1451
+ 4.293660e+000,
1452
+ -3.694011e+000,
1453
+ -4.699947e-002,
1454
+ 4.843684e-001,
1455
+ 2.130425e-002,
1456
+ 4.097549e+000,
1457
+ 6.530809e-001,
1458
+ -1.148742e+000,
1459
+ -1.902509e-001,
1460
+ -2.393233e-001,
1461
+ -2.441254e-001,
1462
+ -2.610918e-001,
1463
+ 1.846988e+000,
1464
+ 3.532866e-002,
1465
+ 2.660106e+000,
1466
+ 8.358294e-001,
1467
+ -1.016080e+000,
1468
+ -7.444960e-002,
1469
+ -5.053436e-001,
1470
+ 4.388855e+000,
1471
+ 6.054987e-001,
1472
+ -1.208300e+000,
1473
+ 5.817215e-001,
1474
+ 2.543570e+000,
1475
+ 4.726568e-001,
1476
+ -1.072027e+000,
1477
+ -2.101440e-001,
1478
+ 1.518378e+000,
1479
+ -1.060119e+001,
1480
+ -6.016546e+000,
1481
+ 2.649475e+000,
1482
+ -5.166992e-002,
1483
+ 1.571269e+000,
1484
+ 8.344622e-001,
1485
+ -1.072365e+000,
1486
+ -1.511201e-001,
1487
+ 7.478010e-001,
1488
+ 1.900732e+001,
1489
+ -3.950387e+000,
1490
+ -3.473907e-001,
1491
+ 3.797211e-001,
1492
+ 2.782949e+000,
1493
+ 6.296808e-001,
1494
+ // albedo 0, turbidity 5
1495
+ -1.239423e+000,
1496
+ -3.136289e-001,
1497
+ -1.351100e+001,
1498
+ 1.349468e+001,
1499
+ -7.070423e-003,
1500
+ 5.012315e-001,
1501
+ 1.106008e-001,
1502
+ 3.803619e+000,
1503
+ 5.577948e-001,
1504
+ -1.452524e+000,
1505
+ -5.676944e-001,
1506
+ 2.993153e+000,
1507
+ -2.277288e+000,
1508
+ -2.168954e-002,
1509
+ 3.056720e-001,
1510
+ 1.152338e-002,
1511
+ 1.852697e+000,
1512
+ 6.427228e-001,
1513
+ -1.061421e+000,
1514
+ -4.590521e-002,
1515
+ 6.057022e-001,
1516
+ -1.096835e+000,
1517
+ -1.504952e-001,
1518
+ 2.344921e+000,
1519
+ -5.491832e-002,
1520
+ 5.268322e+000,
1521
+ 9.082253e-001,
1522
+ -1.042373e+000,
1523
+ -1.769498e-001,
1524
+ -1.075388e+000,
1525
+ 3.831712e+000,
1526
+ 3.154140e-001,
1527
+ -2.416458e+000,
1528
+ 7.909032e-001,
1529
+ -1.492892e-002,
1530
+ 3.854049e-001,
1531
+ -1.064159e+000,
1532
+ -1.892684e-001,
1533
+ 1.438685e+000,
1534
+ -8.166362e+000,
1535
+ -3.616364e+000,
1536
+ 3.275206e+000,
1537
+ -1.203825e-001,
1538
+ 2.039491e+000,
1539
+ 8.688057e-001,
1540
+ -1.070120e+000,
1541
+ -1.569508e-001,
1542
+ 4.124760e-001,
1543
+ 1.399683e+001,
1544
+ -3.547085e+000,
1545
+ -1.046326e+000,
1546
+ 4.973825e-001,
1547
+ 2.791231e+000,
1548
+ 6.503286e-001,
1549
+ // albedo 0, turbidity 6
1550
+ -1.283579e+000,
1551
+ -3.609518e-001,
1552
+ -1.335397e+001,
1553
+ 1.315248e+001,
1554
+ -4.431938e-004,
1555
+ 3.769526e-001,
1556
+ 1.429824e-001,
1557
+ 3.573613e+000,
1558
+ 4.998696e-001,
1559
+ -1.657952e+000,
1560
+ -7.627948e-001,
1561
+ 1.958222e+000,
1562
+ -7.949816e-001,
1563
+ -2.882837e-002,
1564
+ 5.356149e-001,
1565
+ -5.191946e-002,
1566
+ 8.869955e-001,
1567
+ 6.263320e-001,
1568
+ -9.527600e-001,
1569
+ 6.494189e-002,
1570
+ 5.361303e-001,
1571
+ -2.129590e+000,
1572
+ -9.258630e-002,
1573
+ 1.604776e+000,
1574
+ 5.067770e-002,
1575
+ 6.376055e+000,
1576
+ 9.138052e-001,
1577
+ -1.080827e+000,
1578
+ -2.523120e-001,
1579
+ -7.154262e-001,
1580
+ 4.120085e+000,
1581
+ 1.878228e-001,
1582
+ -1.492158e+000,
1583
+ 6.881655e-001,
1584
+ -1.446611e+000,
1585
+ 4.040631e-001,
1586
+ -1.054075e+000,
1587
+ -1.665498e-001,
1588
+ 9.191052e-001,
1589
+ -6.636943e+000,
1590
+ -1.894826e+000,
1591
+ 2.107810e+000,
1592
+ -3.680499e-002,
1593
+ 2.655452e+000,
1594
+ 8.413840e-001,
1595
+ -1.061127e+000,
1596
+ -1.448849e-001,
1597
+ 2.667493e-001,
1598
+ 1.034103e+001,
1599
+ -4.285769e+000,
1600
+ -3.874504e-001,
1601
+ 5.998752e-001,
1602
+ 3.132426e+000,
1603
+ 6.652753e-001,
1604
+ // albedo 0, turbidity 7
1605
+ -1.347345e+000,
1606
+ -4.287832e-001,
1607
+ -9.305553e+000,
1608
+ 9.133813e+000,
1609
+ -3.173527e-003,
1610
+ 3.977564e-001,
1611
+ 1.151420e-001,
1612
+ 3.320564e+000,
1613
+ 4.998134e-001,
1614
+ -1.927296e+000,
1615
+ -9.901372e-001,
1616
+ -2.593499e+000,
1617
+ 4.087421e+000,
1618
+ -5.833993e-002,
1619
+ 8.158929e-001,
1620
+ -4.681279e-002,
1621
+ 2.423716e-001,
1622
+ 4.938052e-001,
1623
+ -9.470092e-001,
1624
+ 7.325237e-002,
1625
+ 2.064735e+000,
1626
+ -5.167540e+000,
1627
+ -1.313751e-002,
1628
+ 4.832169e-001,
1629
+ 1.126295e-001,
1630
+ 6.970522e+000,
1631
+ 1.035022e+000,
1632
+ -1.022557e+000,
1633
+ -2.762616e-001,
1634
+ -9.375748e-001,
1635
+ 6.696739e+000,
1636
+ 2.200765e-001,
1637
+ -1.133253e-001,
1638
+ 5.492505e-001,
1639
+ -3.109391e+000,
1640
+ 3.321914e-001,
1641
+ -1.087444e+000,
1642
+ -1.836263e-001,
1643
+ 6.225024e-001,
1644
+ -8.576765e+000,
1645
+ -1.107637e+000,
1646
+ 7.859427e-001,
1647
+ 9.910909e-002,
1648
+ 3.112938e+000,
1649
+ 8.596261e-001,
1650
+ -1.051544e+000,
1651
+ -1.546262e-001,
1652
+ 2.371731e-001,
1653
+ 1.200502e+001,
1654
+ -4.527291e+000,
1655
+ 7.268862e-002,
1656
+ 5.571478e-001,
1657
+ 2.532873e+000,
1658
+ 6.662000e-001,
1659
+ // albedo 0, turbidity 8
1660
+ -1.375576e+000,
1661
+ -4.840019e-001,
1662
+ -8.121290e+000,
1663
+ 8.058140e+000,
1664
+ -1.445661e-002,
1665
+ 5.123314e-001,
1666
+ 5.813321e-002,
1667
+ 3.203219e+000,
1668
+ 5.442318e-001,
1669
+ -2.325221e+000,
1670
+ -1.241463e+000,
1671
+ -7.063430e+000,
1672
+ 8.741369e+000,
1673
+ -7.829950e-002,
1674
+ 8.844273e-001,
1675
+ -3.471106e-002,
1676
+ 1.740583e-001,
1677
+ 2.814079e-001,
1678
+ -1.228700e+000,
1679
+ -2.013412e-001,
1680
+ 2.949042e+000,
1681
+ -7.371945e+000,
1682
+ 1.071753e-001,
1683
+ -2.491970e-001,
1684
+ 2.265223e-001,
1685
+ 6.391504e+000,
1686
+ 1.172389e+000,
1687
+ -7.601786e-001,
1688
+ -1.680631e-001,
1689
+ -7.584444e-001,
1690
+ 8.541356e+000,
1691
+ 8.222291e-002,
1692
+ 6.729633e-001,
1693
+ 3.206615e-001,
1694
+ -3.700940e+000,
1695
+ 2.710054e-001,
1696
+ -1.191166e+000,
1697
+ -2.672347e-001,
1698
+ 2.927498e-001,
1699
+ -9.713613e+000,
1700
+ -4.783721e-001,
1701
+ 2.352803e-001,
1702
+ 2.161949e-001,
1703
+ 2.691481e+000,
1704
+ 8.745447e-001,
1705
+ -1.030135e+000,
1706
+ -1.653301e-001,
1707
+ 2.263443e-001,
1708
+ 1.296157e+001,
1709
+ -4.650644e+000,
1710
+ 7.055709e-003,
1711
+ 5.091975e-001,
1712
+ 2.000370e+000,
1713
+ 6.603839e-001,
1714
+ // albedo 0, turbidity 9
1715
+ -1.508018e+000,
1716
+ -6.460933e-001,
1717
+ -6.402745e+000,
1718
+ 6.545995e+000,
1719
+ -3.750320e-002,
1720
+ 6.921803e-001,
1721
+ 3.309819e-003,
1722
+ 2.797527e+000,
1723
+ 6.978446e-001,
1724
+ -2.333308e+000,
1725
+ -1.167837e+000,
1726
+ -1.746787e+001,
1727
+ 1.868630e+001,
1728
+ -8.948229e-003,
1729
+ 5.621946e-001,
1730
+ -3.402626e-002,
1731
+ 1.217943e+000,
1732
+ 1.149865e-002,
1733
+ -2.665953e+000,
1734
+ -1.226307e+000,
1735
+ 7.169725e+000,
1736
+ -1.159434e+001,
1737
+ 3.583420e-002,
1738
+ -3.074378e-001,
1739
+ 3.412248e-001,
1740
+ 4.422122e+000,
1741
+ 1.283791e+000,
1742
+ -9.705116e-002,
1743
+ 8.312991e-002,
1744
+ -2.160462e+000,
1745
+ 1.028235e+001,
1746
+ 3.543357e-002,
1747
+ 1.032049e+000,
1748
+ 1.058310e-001,
1749
+ -2.972898e+000,
1750
+ 2.418628e-001,
1751
+ -1.329617e+000,
1752
+ -3.699557e-001,
1753
+ 5.560117e-001,
1754
+ -9.730113e+000,
1755
+ 9.938865e-002,
1756
+ -3.071488e-001,
1757
+ 2.510691e-001,
1758
+ 1.777111e+000,
1759
+ 8.705142e-001,
1760
+ -1.019387e+000,
1761
+ -1.893247e-001,
1762
+ 1.194079e-001,
1763
+ 1.239436e+001,
1764
+ -4.799224e+000,
1765
+ 2.940213e-001,
1766
+ 4.841268e-001,
1767
+ 1.529724e+000,
1768
+ 6.582615e-001,
1769
+ // albedo 0, turbidity 10
1770
+ -1.896737e+000,
1771
+ -1.005442e+000,
1772
+ -6.411032e+000,
1773
+ 6.548220e+000,
1774
+ -3.227596e-002,
1775
+ 5.717262e-001,
1776
+ -8.115192e-006,
1777
+ 2.296704e+000,
1778
+ 9.000749e-001,
1779
+ -2.411116e+000,
1780
+ -1.225587e+000,
1781
+ -1.753629e+001,
1782
+ 1.829393e+001,
1783
+ 1.247555e-002,
1784
+ 2.364616e-001,
1785
+ -5.114637e-003,
1786
+ 1.603778e+000,
1787
+ -2.224156e-001,
1788
+ -4.707121e+000,
1789
+ -2.074977e+000,
1790
+ 7.942300e+000,
1791
+ -1.132407e+001,
1792
+ -5.415654e-002,
1793
+ 5.446811e-001,
1794
+ 1.032493e-001,
1795
+ 4.010235e+000,
1796
+ 1.369802e+000,
1797
+ 1.010482e-001,
1798
+ -4.013305e-001,
1799
+ -2.674579e+000,
1800
+ 9.779409e+000,
1801
+ 1.782506e-001,
1802
+ 7.053045e-001,
1803
+ 4.200002e-001,
1804
+ -2.400671e+000,
1805
+ 1.953165e-001,
1806
+ -1.243526e+000,
1807
+ -3.391255e-001,
1808
+ 8.848882e-001,
1809
+ -9.789025e+000,
1810
+ -3.997324e-001,
1811
+ -9.546227e-001,
1812
+ -1.044017e-001,
1813
+ 6.010593e-001,
1814
+ 8.714462e-001,
1815
+ -1.014633e+000,
1816
+ -1.730009e-001,
1817
+ -7.738934e-002,
1818
+ 1.390903e+001,
1819
+ -4.847307e+000,
1820
+ 1.076059e+000,
1821
+ 5.685743e-001,
1822
+ 1.572992e+000,
1823
+ 6.561432e-001,
1824
+ // albedo 1, turbidity 1
1825
+ -1.122998e+000,
1826
+ -1.881183e-001,
1827
+ -1.030709e+001,
1828
+ 1.158932e+001,
1829
+ -4.079495e-002,
1830
+ 9.603774e-001,
1831
+ 3.079436e-002,
1832
+ 4.009235e+000,
1833
+ 5.060745e-001,
1834
+ -1.134790e+000,
1835
+ -1.539688e-001,
1836
+ 5.478405e+000,
1837
+ -4.217270e+000,
1838
+ -1.043858e-001,
1839
+ 7.165008e-001,
1840
+ 1.524765e-002,
1841
+ 6.473623e+000,
1842
+ 4.207882e-001,
1843
+ -1.134957e+000,
1844
+ -3.513318e-001,
1845
+ 7.393837e-001,
1846
+ 1.354415e+000,
1847
+ -4.764078e-001,
1848
+ 1.690441e+000,
1849
+ -5.492640e-002,
1850
+ -5.563523e+000,
1851
+ 1.145743e+000,
1852
+ -1.058344e+000,
1853
+ -5.758503e-002,
1854
+ 1.168230e+000,
1855
+ 3.269824e-001,
1856
+ 1.795193e-001,
1857
+ 7.849011e-001,
1858
+ 7.441853e-002,
1859
+ 6.904804e+000,
1860
+ 2.818790e-001,
1861
+ -1.075194e+000,
1862
+ -2.355813e-001,
1863
+ 2.463685e+000,
1864
+ -1.536505e+000,
1865
+ -7.505771e+000,
1866
+ 9.619712e-001,
1867
+ -6.465851e-002,
1868
+ -1.355492e+000,
1869
+ 8.489847e-001,
1870
+ -1.079030e+000,
1871
+ -1.465328e-001,
1872
+ 1.773838e+000,
1873
+ 2.310131e+000,
1874
+ -3.136065e+000,
1875
+ 3.507952e-001,
1876
+ 4.435014e-002,
1877
+ 2.819225e+000,
1878
+ 5.689008e-001,
1879
+ // albedo 1, turbidity 2
1880
+ -1.125833e+000,
1881
+ -1.870849e-001,
1882
+ -9.555833e+000,
1883
+ 1.059713e+001,
1884
+ -4.225402e-002,
1885
+ 9.164663e-001,
1886
+ 4.338796e-002,
1887
+ 4.400980e+000,
1888
+ 6.056119e-001,
1889
+ -1.127440e+000,
1890
+ -1.551891e-001,
1891
+ 4.755621e+000,
1892
+ -4.408806e+000,
1893
+ -7.851763e-002,
1894
+ 2.268284e-001,
1895
+ 1.460070e-001,
1896
+ 7.048003e+000,
1897
+ 3.525997e-001,
1898
+ -1.143788e+000,
1899
+ -3.170178e-001,
1900
+ 5.480669e-001,
1901
+ 2.041830e+000,
1902
+ -4.532139e-001,
1903
+ 2.302233e+000,
1904
+ -1.887419e-001,
1905
+ -4.489221e+000,
1906
+ 1.250967e+000,
1907
+ -1.032849e+000,
1908
+ 7.376031e-003,
1909
+ 5.666073e-001,
1910
+ -2.312203e-001,
1911
+ 4.862894e-001,
1912
+ -1.748294e-001,
1913
+ 3.572870e-001,
1914
+ 8.380522e+000,
1915
+ 1.302333e-001,
1916
+ -1.093728e+000,
1917
+ -2.786977e-001,
1918
+ 2.641272e+000,
1919
+ -1.507494e+000,
1920
+ -8.731243e+000,
1921
+ 1.684055e+000,
1922
+ -2.023377e-001,
1923
+ -2.176398e+000,
1924
+ 1.013249e+000,
1925
+ -1.076578e+000,
1926
+ -1.456205e-001,
1927
+ 1.693935e+000,
1928
+ 2.945003e+000,
1929
+ -2.822673e+000,
1930
+ -2.520033e-001,
1931
+ 1.517034e-001,
1932
+ 2.649109e+000,
1933
+ 5.179094e-001,
1934
+ // albedo 1, turbidity 3
1935
+ -1.146417e+000,
1936
+ -2.119353e-001,
1937
+ -7.187525e+000,
1938
+ 8.058599e+000,
1939
+ -5.256438e-002,
1940
+ 8.375733e-001,
1941
+ 3.887093e-002,
1942
+ 4.222111e+000,
1943
+ 6.695347e-001,
1944
+ -1.173674e+000,
1945
+ -2.067025e-001,
1946
+ 2.899359e+000,
1947
+ -2.804918e+000,
1948
+ -8.473899e-002,
1949
+ 3.944225e-003,
1950
+ 1.340641e-001,
1951
+ 6.160887e+000,
1952
+ 4.527141e-001,
1953
+ -1.090098e+000,
1954
+ -2.599633e-001,
1955
+ 9.180856e-001,
1956
+ 1.092710e+000,
1957
+ -4.215019e-001,
1958
+ 2.427660e+000,
1959
+ -9.277667e-002,
1960
+ -2.123523e+000,
1961
+ 1.058159e+000,
1962
+ -1.084460e+000,
1963
+ 8.056181e-003,
1964
+ -2.453510e-001,
1965
+ 6.619567e-001,
1966
+ 4.668118e-001,
1967
+ -9.526719e-001,
1968
+ 4.648454e-001,
1969
+ 8.001572e+000,
1970
+ 3.054194e-001,
1971
+ -1.053728e+000,
1972
+ -2.765784e-001,
1973
+ 2.792388e+000,
1974
+ -3.489517e+000,
1975
+ -8.150535e+000,
1976
+ 2.195757e+000,
1977
+ -2.017234e-001,
1978
+ -2.128017e+000,
1979
+ 9.326589e-001,
1980
+ -1.099348e+000,
1981
+ -1.593939e-001,
1982
+ 1.568292e+000,
1983
+ 7.247853e+000,
1984
+ -2.933000e+000,
1985
+ -5.890481e-001,
1986
+ 1.724440e-001,
1987
+ 2.433484e+000,
1988
+ 5.736558e-001,
1989
+ // albedo 1, turbidity 4
1990
+ -1.185983e+000,
1991
+ -2.581184e-001,
1992
+ -7.761056e+000,
1993
+ 8.317053e+000,
1994
+ -3.351773e-002,
1995
+ 6.676667e-001,
1996
+ 5.941733e-002,
1997
+ 3.820727e+000,
1998
+ 6.324032e-001,
1999
+ -1.268591e+000,
2000
+ -3.398067e-001,
2001
+ 2.348503e+000,
2002
+ -2.023779e+000,
2003
+ -5.368458e-002,
2004
+ 1.083282e-001,
2005
+ 8.402858e-002,
2006
+ 3.910254e+000,
2007
+ 5.577481e-001,
2008
+ -1.071353e+000,
2009
+ -1.992459e-001,
2010
+ 7.878387e-001,
2011
+ 1.974702e-001,
2012
+ -3.033058e-001,
2013
+ 2.335298e+000,
2014
+ -8.205259e-002,
2015
+ 7.954454e-001,
2016
+ 9.972312e-001,
2017
+ -1.089513e+000,
2018
+ -3.104364e-002,
2019
+ -5.995746e-001,
2020
+ 2.330281e+000,
2021
+ 6.581939e-001,
2022
+ -1.821467e+000,
2023
+ 6.679973e-001,
2024
+ 5.090195e+000,
2025
+ 3.125161e-001,
2026
+ -1.040214e+000,
2027
+ -2.570934e-001,
2028
+ 2.660489e+000,
2029
+ -6.506045e+000,
2030
+ -7.053586e+000,
2031
+ 2.763153e+000,
2032
+ -2.433632e-001,
2033
+ -7.648176e-001,
2034
+ 9.452937e-001,
2035
+ -1.116052e+000,
2036
+ -1.831993e-001,
2037
+ 1.457694e+000,
2038
+ 1.163608e+001,
2039
+ -3.216426e+000,
2040
+ -1.045594e+000,
2041
+ 2.285002e-001,
2042
+ 1.817407e+000,
2043
+ 5.810396e-001,
2044
+ // albedo 1, turbidity 5
2045
+ -1.230134e+000,
2046
+ -3.136264e-001,
2047
+ -8.909301e+000,
2048
+ 9.145006e+000,
2049
+ -1.055387e-002,
2050
+ 4.467317e-001,
2051
+ 1.016826e-001,
2052
+ 3.342964e+000,
2053
+ 5.633840e-001,
2054
+ -1.442907e+000,
2055
+ -5.593147e-001,
2056
+ 2.156447e+000,
2057
+ -1.241657e+000,
2058
+ -3.512130e-002,
2059
+ 3.050274e-001,
2060
+ 1.797175e-002,
2061
+ 1.742358e+000,
2062
+ 5.977153e-001,
2063
+ -1.027627e+000,
2064
+ -6.481539e-002,
2065
+ 4.351975e-001,
2066
+ -1.051677e+000,
2067
+ -2.030672e-001,
2068
+ 1.942684e+000,
2069
+ -3.615993e-002,
2070
+ 4.050266e+000,
2071
+ 9.801624e-001,
2072
+ -1.082110e+000,
2073
+ -1.578209e-001,
2074
+ -3.397511e-001,
2075
+ 4.163851e+000,
2076
+ 6.650368e-001,
2077
+ -1.841730e+000,
2078
+ 7.062544e-001,
2079
+ 6.789881e-001,
2080
+ 3.172623e-001,
2081
+ -1.047447e+000,
2082
+ -1.977560e-001,
2083
+ 2.183364e+000,
2084
+ -8.805249e+000,
2085
+ -5.483962e+000,
2086
+ 2.551309e+000,
2087
+ -1.779640e-001,
2088
+ 1.519501e+000,
2089
+ 9.212536e-001,
2090
+ -1.111853e+000,
2091
+ -1.935736e-001,
2092
+ 1.394408e+000,
2093
+ 1.392405e+001,
2094
+ -3.465430e+000,
2095
+ -1.068432e+000,
2096
+ 2.388671e-001,
2097
+ 1.455336e+000,
2098
+ 6.233425e-001,
2099
+ // albedo 1, turbidity 6
2100
+ -1.262238e+000,
2101
+ -3.546341e-001,
2102
+ -1.008703e+001,
2103
+ 1.020084e+001,
2104
+ -1.852187e-003,
2105
+ 3.537580e-001,
2106
+ 1.239199e-001,
2107
+ 3.056093e+000,
2108
+ 5.132052e-001,
2109
+ -1.613810e+000,
2110
+ -7.355585e-001,
2111
+ 2.760123e+000,
2112
+ -1.685253e+000,
2113
+ -2.517552e-002,
2114
+ 2.914258e-001,
2115
+ 4.743448e-003,
2116
+ 8.689596e-001,
2117
+ 5.674192e-001,
2118
+ -9.462336e-001,
2119
+ 2.950767e-002,
2120
+ -2.613816e-001,
2121
+ -7.398653e-001,
2122
+ -1.315558e-001,
2123
+ 1.901042e+000,
2124
+ -6.447844e-002,
2125
+ 4.969341e+000,
2126
+ 1.027342e+000,
2127
+ -1.111481e+000,
2128
+ -2.194054e-001,
2129
+ -9.004538e-002,
2130
+ 3.983442e+000,
2131
+ 4.871278e-001,
2132
+ -1.965315e+000,
2133
+ 7.956121e-001,
2134
+ -2.363225e-001,
2135
+ 2.718037e-001,
2136
+ -1.036397e+000,
2137
+ -1.827106e-001,
2138
+ 1.964747e+000,
2139
+ -8.870759e+000,
2140
+ -4.208011e+000,
2141
+ 2.461215e+000,
2142
+ -2.158905e-001,
2143
+ 1.561676e+000,
2144
+ 9.436866e-001,
2145
+ -1.113769e+000,
2146
+ -1.947819e-001,
2147
+ 1.300720e+000,
2148
+ 1.516476e+001,
2149
+ -4.088732e+000,
2150
+ -1.069384e+000,
2151
+ 2.836434e-001,
2152
+ 1.671451e+000,
2153
+ 6.229612e-001,
2154
+ // albedo 1, turbidity 7
2155
+ -1.328069e+000,
2156
+ -4.244047e-001,
2157
+ -8.417040e+000,
2158
+ 8.552244e+000,
2159
+ -6.813504e-003,
2160
+ 4.127422e-001,
2161
+ 9.619897e-002,
2162
+ 2.854227e+000,
2163
+ 5.059880e-001,
2164
+ -1.927552e+000,
2165
+ -1.025290e+000,
2166
+ 9.529576e-001,
2167
+ 4.255950e-001,
2168
+ -3.738779e-002,
2169
+ 2.584586e-001,
2170
+ 4.911004e-002,
2171
+ -2.640913e-001,
2172
+ 4.138626e-001,
2173
+ -8.488094e-001,
2174
+ 1.435988e-001,
2175
+ 6.356807e-001,
2176
+ -2.895732e+000,
2177
+ -8.473961e-002,
2178
+ 1.701305e+000,
2179
+ -1.323908e-001,
2180
+ 6.499338e+000,
2181
+ 1.210928e+000,
2182
+ -1.128313e+000,
2183
+ -3.397048e-001,
2184
+ -4.043140e-001,
2185
+ 6.265097e+000,
2186
+ 5.482395e-001,
2187
+ -2.057614e+000,
2188
+ 8.884087e-001,
2189
+ -2.943879e+000,
2190
+ 9.760301e-002,
2191
+ -1.039764e+000,
2192
+ -1.494772e-001,
2193
+ 1.781915e+000,
2194
+ -1.153012e+001,
2195
+ -3.379232e+000,
2196
+ 2.517231e+000,
2197
+ -2.764393e-001,
2198
+ 2.588849e+000,
2199
+ 1.052120e+000,
2200
+ -1.108447e+000,
2201
+ -2.012251e-001,
2202
+ 1.198640e+000,
2203
+ 1.925331e+001,
2204
+ -4.423892e+000,
2205
+ -1.257122e+000,
2206
+ 3.395690e-001,
2207
+ 1.481220e+000,
2208
+ 5.880175e-001,
2209
+ // albedo 1, turbidity 8
2210
+ -1.374185e+000,
2211
+ -4.967434e-001,
2212
+ -7.401318e+000,
2213
+ 7.724021e+000,
2214
+ -2.345723e-002,
2215
+ 5.979653e-001,
2216
+ 2.436346e-002,
2217
+ 2.658970e+000,
2218
+ 6.014891e-001,
2219
+ -2.310933e+000,
2220
+ -1.290290e+000,
2221
+ -1.301909e+000,
2222
+ 2.557806e+000,
2223
+ -3.744449e-002,
2224
+ 8.982861e-002,
2225
+ 1.090613e-001,
2226
+ -4.398363e-001,
2227
+ 1.184329e-001,
2228
+ -1.124730e+000,
2229
+ -9.921830e-002,
2230
+ 1.366902e+000,
2231
+ -4.172489e+000,
2232
+ -5.078016e-002,
2233
+ 1.393597e+000,
2234
+ -9.323843e-002,
2235
+ 6.452721e+000,
2236
+ 1.435913e+000,
2237
+ -8.468477e-001,
2238
+ -2.744819e-001,
2239
+ -4.347200e-001,
2240
+ 6.713362e+000,
2241
+ 6.127133e-001,
2242
+ -1.685634e+000,
2243
+ 7.360941e-001,
2244
+ -4.535502e+000,
2245
+ -2.920866e-002,
2246
+ -1.165242e+000,
2247
+ -2.008697e-001,
2248
+ 1.438778e+000,
2249
+ -1.008936e+001,
2250
+ -2.214771e+000,
2251
+ 2.102909e+000,
2252
+ -1.763085e-001,
2253
+ 2.859075e+000,
2254
+ 1.093470e+000,
2255
+ -1.074614e+000,
2256
+ -2.066374e-001,
2257
+ 1.131891e+000,
2258
+ 1.630063e+001,
2259
+ -4.801441e+000,
2260
+ -1.112590e+000,
2261
+ 3.595785e-001,
2262
+ 1.122227e+000,
2263
+ 5.794610e-001,
2264
+ // albedo 1, turbidity 9
2265
+ -1.521515e+000,
2266
+ -6.835604e-001,
2267
+ -5.571044e+000,
2268
+ 6.028774e+000,
2269
+ -4.253715e-002,
2270
+ 6.875746e-001,
2271
+ -5.279456e-006,
2272
+ 2.180150e+000,
2273
+ 8.487705e-001,
2274
+ -2.240415e+000,
2275
+ -1.171166e+000,
2276
+ -7.182771e+000,
2277
+ 8.417068e+000,
2278
+ -1.932866e-002,
2279
+ 1.101887e-001,
2280
+ -1.098862e-002,
2281
+ 6.242195e-001,
2282
+ -2.393875e-001,
2283
+ -2.712354e+000,
2284
+ -1.198830e+000,
2285
+ 3.180200e+000,
2286
+ -6.768130e+000,
2287
+ -2.563386e-003,
2288
+ 7.984607e-001,
2289
+ 2.764376e-001,
2290
+ 4.695358e+000,
2291
+ 1.557045e+000,
2292
+ -3.655172e-002,
2293
+ -2.142321e-002,
2294
+ -9.138120e-001,
2295
+ 7.932786e+000,
2296
+ 3.516542e-001,
2297
+ -7.994343e-001,
2298
+ 1.786761e-001,
2299
+ -4.208399e+000,
2300
+ 1.820576e-002,
2301
+ -1.368610e+000,
2302
+ -2.656212e-001,
2303
+ 1.249397e+000,
2304
+ -8.317818e+000,
2305
+ -8.962772e-001,
2306
+ 1.423249e+000,
2307
+ 1.478381e-001,
2308
+ 2.191660e+000,
2309
+ 1.007748e+000,
2310
+ -1.041753e+000,
2311
+ -2.453366e-001,
2312
+ 1.061102e+000,
2313
+ 1.130172e+001,
2314
+ -4.739312e+000,
2315
+ -9.223334e-001,
2316
+ 2.982776e-001,
2317
+ 6.162931e-001,
2318
+ 6.080302e-001,
2319
+ // albedo 1, turbidity 10
2320
+ -1.989159e+000,
2321
+ -1.095160e+000,
2322
+ -2.915550e+000,
2323
+ 3.275339e+000,
2324
+ -5.735765e-002,
2325
+ 5.742174e-001,
2326
+ -7.683288e-006,
2327
+ 1.763400e+000,
2328
+ 9.001342e-001,
2329
+ -2.070020e+000,
2330
+ -1.086338e+000,
2331
+ -1.095898e+001,
2332
+ 1.206960e+001,
2333
+ 3.780123e-002,
2334
+ -1.774699e-002,
2335
+ -5.881348e-004,
2336
+ 1.333819e+000,
2337
+ -2.605423e-001,
2338
+ -5.249653e+000,
2339
+ -2.383040e+000,
2340
+ 6.160406e+000,
2341
+ -9.097138e+000,
2342
+ -1.955319e-001,
2343
+ 1.651785e+000,
2344
+ 6.016463e-004,
2345
+ 3.021824e+000,
2346
+ 1.493574e+000,
2347
+ 4.685432e-001,
2348
+ -2.358662e-001,
2349
+ -2.666433e+000,
2350
+ 9.685763e+000,
2351
+ 5.804928e-001,
2352
+ -1.521875e+000,
2353
+ 5.668989e-001,
2354
+ -1.548136e+000,
2355
+ 1.688642e-002,
2356
+ -1.296891e+000,
2357
+ -3.449031e-001,
2358
+ 1.928548e+000,
2359
+ -1.167560e+001,
2360
+ -1.627615e+000,
2361
+ 1.355603e+000,
2362
+ -1.929074e-001,
2363
+ -6.568952e-001,
2364
+ 1.009774e+000,
2365
+ -1.067288e+000,
2366
+ -2.410392e-001,
2367
+ 7.147961e-001,
2368
+ 1.783840e+001,
2369
+ -4.374399e+000,
2370
+ -6.588777e-001,
2371
+ 3.329831e-001,
2372
+ 1.012066e+000,
2373
+ 6.118645e-001,
2374
+ ]);
2375
+
2376
+ const kHosekRadY = new Float32Array([
2377
+ // albedo 0, turbidity 1
2378
+ 1.632341e+000,
2379
+ 1.395230e+000,
2380
+ 1.375634e+000,
2381
+ 1.238193e+001,
2382
+ 5.921102e+000,
2383
+ 7.766508e+000,
2384
+ // albedo 0, turbidity 2
2385
+ 1.597115e+000,
2386
+ 1.554617e+000,
2387
+ 3.932382e-001,
2388
+ 1.505284e+001,
2389
+ 5.725234e+000,
2390
+ 8.158155e+000,
2391
+ // albedo 0, turbidity 3
2392
+ 1.522034e+000,
2393
+ 1.844545e+000,
2394
+ -1.322862e+000,
2395
+ 1.918382e+001,
2396
+ 5.440769e+000,
2397
+ 8.837119e+000,
2398
+ // albedo 0, turbidity 4
2399
+ 1.403048e+000,
2400
+ 2.290852e+000,
2401
+ -4.013792e+000,
2402
+ 2.485100e+001,
2403
+ 5.521888e+000,
2404
+ 9.845547e+000,
2405
+ // albedo 0, turbidity 5
2406
+ 1.286364e+000,
2407
+ 2.774498e+000,
2408
+ -6.648221e+000,
2409
+ 2.964151e+001,
2410
+ 5.923777e+000,
2411
+ 1.097075e+001,
2412
+ // albedo 0, turbidity 6
2413
+ 1.213544e+000,
2414
+ 3.040195e+000,
2415
+ -8.092676e+000,
2416
+ 3.186082e+001,
2417
+ 6.789782e+000,
2418
+ 1.158899e+001,
2419
+ // albedo 0, turbidity 7
2420
+ 1.122622e+000,
2421
+ 3.347465e+000,
2422
+ -9.649016e+000,
2423
+ 3.343824e+001,
2424
+ 9.347715e+000,
2425
+ 1.231374e+001,
2426
+ // albedo 0, turbidity 8
2427
+ 1.007356e+000,
2428
+ 3.543858e+000,
2429
+ -1.053520e+001,
2430
+ 3.239842e+001,
2431
+ 1.483962e+001,
2432
+ 1.331718e+001,
2433
+ // albedo 0, turbidity 9
2434
+ 8.956642e-001,
2435
+ 3.278700e+000,
2436
+ -9.254933e+000,
2437
+ 2.557923e+001,
2438
+ 2.489677e+001,
2439
+ 1.476166e+001,
2440
+ // albedo 0, turbidity 10
2441
+ 7.985143e-001,
2442
+ 2.340404e+000,
2443
+ -4.928274e+000,
2444
+ 1.141787e+001,
2445
+ 3.961501e+001,
2446
+ 1.682448e+001,
2447
+ // albedo 1, turbidity 1
2448
+ 1.745162e+000,
2449
+ 1.639467e+000,
2450
+ 1.342721e+000,
2451
+ 1.166033e+001,
2452
+ 1.490124e+001,
2453
+ 1.774031e+001,
2454
+ // albedo 1, turbidity 2
2455
+ 1.708439e+000,
2456
+ 1.819144e+000,
2457
+ 2.834399e-001,
2458
+ 1.448066e+001,
2459
+ 1.459214e+001,
2460
+ 1.858679e+001,
2461
+ // albedo 1, turbidity 3
2462
+ 1.631720e+000,
2463
+ 2.094799e+000,
2464
+ -1.378825e+000,
2465
+ 1.843198e+001,
2466
+ 1.463173e+001,
2467
+ 1.962881e+001,
2468
+ // albedo 1, turbidity 4
2469
+ 1.516536e+000,
2470
+ 2.438729e+000,
2471
+ -3.624121e+000,
2472
+ 2.298621e+001,
2473
+ 1.599782e+001,
2474
+ 2.070027e+001,
2475
+ // albedo 1, turbidity 5
2476
+ 1.405863e+000,
2477
+ 2.785191e+000,
2478
+ -5.705236e+000,
2479
+ 2.645121e+001,
2480
+ 1.768330e+001,
2481
+ 2.191903e+001,
2482
+ // albedo 1, turbidity 6
2483
+ 1.344052e+000,
2484
+ 2.951807e+000,
2485
+ -6.683851e+000,
2486
+ 2.744271e+001,
2487
+ 1.985706e+001,
2488
+ 2.229452e+001,
2489
+ // albedo 1, turbidity 7
2490
+ 1.245827e+000,
2491
+ 3.182923e+000,
2492
+ -7.822960e+000,
2493
+ 2.791395e+001,
2494
+ 2.327254e+001,
2495
+ 2.315910e+001,
2496
+ // albedo 1, turbidity 8
2497
+ 1.132305e+000,
2498
+ 3.202593e+000,
2499
+ -8.008429e+000,
2500
+ 2.521093e+001,
2501
+ 3.000014e+001,
2502
+ 2.405306e+001,
2503
+ // albedo 1, turbidity 9
2504
+ 1.020330e+000,
2505
+ 2.820556e+000,
2506
+ -6.238704e+000,
2507
+ 1.709276e+001,
2508
+ 4.077916e+001,
2509
+ 2.509949e+001,
2510
+ // albedo 1, turbidity 10
2511
+ 9.031570e-001,
2512
+ 1.863917e+000,
2513
+ -1.955738e+000,
2514
+ 3.032665e+000,
2515
+ 5.434290e+001,
2516
+ 2.641780e+001,
2517
+ ]);
2518
+
2519
+ const kHosekCoeffsZ = new Float32Array([
2520
+ // albedo 0, turbidity 1
2521
+ -1.310023e+000,
2522
+ -4.407658e-001,
2523
+ -3.640340e+001,
2524
+ 3.683292e+001,
2525
+ -8.124762e-003,
2526
+ 5.297961e-001,
2527
+ 1.188633e-002,
2528
+ 3.138320e+000,
2529
+ 5.134778e-001,
2530
+ -1.424100e+000,
2531
+ -5.501606e-001,
2532
+ -1.753510e+001,
2533
+ 1.822769e+001,
2534
+ -1.539272e-002,
2535
+ 6.366826e-001,
2536
+ 2.661996e-003,
2537
+ 2.659915e+000,
2538
+ 4.071138e-001,
2539
+ -1.103436e+000,
2540
+ -1.884105e-001,
2541
+ 6.425322e+000,
2542
+ -6.910579e+000,
2543
+ -2.019861e-002,
2544
+ 3.553271e-001,
2545
+ -1.589061e-002,
2546
+ 5.345985e+000,
2547
+ 8.790218e-001,
2548
+ -1.186200e+000,
2549
+ -4.307514e-001,
2550
+ -3.957947e+000,
2551
+ 5.979352e+000,
2552
+ -5.348869e-002,
2553
+ 1.736117e+000,
2554
+ 3.491346e-002,
2555
+ -2.692261e+000,
2556
+ 5.610506e-001,
2557
+ -1.006038e+000,
2558
+ -1.305995e-001,
2559
+ 4.473513e+000,
2560
+ -3.806719e+000,
2561
+ 1.419407e-001,
2562
+ -2.148238e-002,
2563
+ -5.081185e-002,
2564
+ 3.735362e+000,
2565
+ 5.358280e-001,
2566
+ -1.078507e+000,
2567
+ -1.633754e-001,
2568
+ -3.812368e+000,
2569
+ 4.381700e+000,
2570
+ 2.988122e-002,
2571
+ 1.754224e+000,
2572
+ 1.472376e-001,
2573
+ 3.722798e+000,
2574
+ 4.999157e-001,
2575
+ // albedo 0, turbidity 2
2576
+ -1.333582e+000,
2577
+ -4.649908e-001,
2578
+ -3.359528e+001,
2579
+ 3.404375e+001,
2580
+ -9.384242e-003,
2581
+ 5.587511e-001,
2582
+ 5.726310e-003,
2583
+ 3.073145e+000,
2584
+ 5.425529e-001,
2585
+ -1.562624e+000,
2586
+ -7.107068e-001,
2587
+ -1.478170e+001,
2588
+ 1.559839e+001,
2589
+ -1.462375e-002,
2590
+ 5.050133e-001,
2591
+ 2.516017e-002,
2592
+ 1.604696e+000,
2593
+ 2.902403e-001,
2594
+ -8.930158e-001,
2595
+ 4.068077e-002,
2596
+ 1.373481e+000,
2597
+ -2.342752e+000,
2598
+ -2.098058e-002,
2599
+ 6.248686e-001,
2600
+ -5.258363e-002,
2601
+ 7.058214e+000,
2602
+ 1.150373e+000,
2603
+ -1.262823e+000,
2604
+ -4.818353e-001,
2605
+ 8.892610e-004,
2606
+ 1.923120e+000,
2607
+ -4.979718e-002,
2608
+ 1.040693e+000,
2609
+ 1.558103e-001,
2610
+ -2.852480e+000,
2611
+ 2.420691e-001,
2612
+ -9.968383e-001,
2613
+ -1.200648e-001,
2614
+ 1.324342e+000,
2615
+ -9.430889e-001,
2616
+ 1.931098e-001,
2617
+ 4.436916e-001,
2618
+ -7.320456e-002,
2619
+ 4.215931e+000,
2620
+ 7.898019e-001,
2621
+ -1.078185e+000,
2622
+ -1.718192e-001,
2623
+ -1.720191e+000,
2624
+ 2.358918e+000,
2625
+ 2.765637e-002,
2626
+ 1.260245e+000,
2627
+ 2.021941e-001,
2628
+ 3.395483e+000,
2629
+ 5.173628e-001,
2630
+ // albedo 0, turbidity 3
2631
+ -1.353023e+000,
2632
+ -4.813523e-001,
2633
+ -3.104920e+001,
2634
+ 3.140156e+001,
2635
+ -9.510741e-003,
2636
+ 5.542030e-001,
2637
+ 8.135471e-003,
2638
+ 3.136646e+000,
2639
+ 5.215989e-001,
2640
+ -1.624704e+000,
2641
+ -7.990201e-001,
2642
+ -2.167125e+001,
2643
+ 2.246341e+001,
2644
+ -1.163533e-002,
2645
+ 5.415746e-001,
2646
+ 2.618378e-002,
2647
+ 1.139214e+000,
2648
+ 3.444357e-001,
2649
+ -7.983610e-001,
2650
+ 1.417476e-001,
2651
+ 9.914841e+000,
2652
+ -1.081503e+001,
2653
+ -1.218845e-002,
2654
+ 3.411392e-001,
2655
+ -6.137698e-002,
2656
+ 7.445848e+000,
2657
+ 1.180080e+000,
2658
+ -1.266679e+000,
2659
+ -4.288977e-001,
2660
+ -5.818701e+000,
2661
+ 6.986437e+000,
2662
+ -8.180711e-002,
2663
+ 1.397403e+000,
2664
+ 2.016916e-001,
2665
+ -1.275731e+000,
2666
+ 2.592773e-001,
2667
+ -1.009707e+000,
2668
+ -1.537754e-001,
2669
+ 3.496378e+000,
2670
+ -3.013726e+000,
2671
+ 2.421150e-001,
2672
+ -2.831925e-001,
2673
+ 3.003395e-002,
2674
+ 3.702862e+000,
2675
+ 7.746320e-001,
2676
+ -1.075646e+000,
2677
+ -1.768747e-001,
2678
+ -1.347762e+000,
2679
+ 1.989004e+000,
2680
+ 1.375836e-002,
2681
+ 1.764810e+000,
2682
+ 1.330018e-001,
2683
+ 3.230864e+000,
2684
+ 6.626210e-001,
2685
+ // albedo 0, turbidity 4
2686
+ -1.375269e+000,
2687
+ -5.103569e-001,
2688
+ -3.442661e+001,
2689
+ 3.478703e+001,
2690
+ -8.460009e-003,
2691
+ 5.408643e-001,
2692
+ 4.813323e-003,
2693
+ 3.016078e+000,
2694
+ 5.062069e-001,
2695
+ -1.821679e+000,
2696
+ -9.766461e-001,
2697
+ -1.926488e+001,
2698
+ 1.997912e+001,
2699
+ -9.822567e-003,
2700
+ 3.649556e-001,
2701
+ 4.316092e-002,
2702
+ 8.930190e-001,
2703
+ 4.166527e-001,
2704
+ -6.633542e-001,
2705
+ 1.997841e-001,
2706
+ 2.395592e+000,
2707
+ -3.117175e+000,
2708
+ -1.080884e-002,
2709
+ 8.983814e-001,
2710
+ -1.375825e-001,
2711
+ 6.673463e+000,
2712
+ 1.115663e+000,
2713
+ -1.303240e+000,
2714
+ -3.612712e-001,
2715
+ 8.292959e-002,
2716
+ 3.381364e-001,
2717
+ -6.078648e-002,
2718
+ 3.229247e-001,
2719
+ 3.680987e-001,
2720
+ 7.046755e-001,
2721
+ 3.144924e-001,
2722
+ -9.952598e-001,
2723
+ -2.039076e-001,
2724
+ 4.026851e-001,
2725
+ 2.686684e-001,
2726
+ 1.640712e-001,
2727
+ 5.186341e-001,
2728
+ -1.205520e-002,
2729
+ 2.659613e+000,
2730
+ 8.030394e-001,
2731
+ -1.098579e+000,
2732
+ -2.151992e-001,
2733
+ 6.558198e-001,
2734
+ -7.436900e-004,
2735
+ -1.421817e-003,
2736
+ 1.073701e+000,
2737
+ 1.886875e-001,
2738
+ 2.536857e+000,
2739
+ 6.673923e-001,
2740
+ // albedo 0, turbidity 5
2741
+ -1.457986e+000,
2742
+ -5.906842e-001,
2743
+ -3.812464e+001,
2744
+ 3.838539e+001,
2745
+ -6.024357e-003,
2746
+ 4.741484e-001,
2747
+ 1.209223e-002,
2748
+ 2.818432e+000,
2749
+ 5.012433e-001,
2750
+ -1.835728e+000,
2751
+ -1.003405e+000,
2752
+ -6.848129e+000,
2753
+ 7.601943e+000,
2754
+ -1.277375e-002,
2755
+ 4.785598e-001,
2756
+ 3.366853e-002,
2757
+ 1.097701e+000,
2758
+ 4.636635e-001,
2759
+ -8.491348e-001,
2760
+ 9.466365e-003,
2761
+ -2.685226e+000,
2762
+ 2.004060e+000,
2763
+ -1.168708e-002,
2764
+ 6.752316e-001,
2765
+ -1.543371e-001,
2766
+ 5.674759e+000,
2767
+ 1.039534e+000,
2768
+ -1.083379e+000,
2769
+ -1.506790e-001,
2770
+ 7.328236e-001,
2771
+ -5.095568e-001,
2772
+ -8.609153e-002,
2773
+ 4.448820e-001,
2774
+ 4.174662e-001,
2775
+ 1.481556e+000,
2776
+ 3.942551e-001,
2777
+ -1.117089e+000,
2778
+ -3.337605e-001,
2779
+ 2.502281e-001,
2780
+ 4.036323e-001,
2781
+ 2.673899e-001,
2782
+ 2.829817e-001,
2783
+ 2.242450e-002,
2784
+ 2.043207e+000,
2785
+ 7.706902e-001,
2786
+ -1.071648e+000,
2787
+ -2.126200e-001,
2788
+ 6.069466e-001,
2789
+ -1.456290e-003,
2790
+ -5.515960e-001,
2791
+ 1.046755e+000,
2792
+ 1.985021e-001,
2793
+ 2.290245e+000,
2794
+ 6.876058e-001,
2795
+ // albedo 0, turbidity 6
2796
+ -1.483903e+000,
2797
+ -6.309647e-001,
2798
+ -4.380213e+001,
2799
+ 4.410537e+001,
2800
+ -5.712161e-003,
2801
+ 5.195992e-001,
2802
+ 2.028428e-003,
2803
+ 2.687114e+000,
2804
+ 5.098321e-001,
2805
+ -2.053976e+000,
2806
+ -1.141473e+000,
2807
+ 5.109183e-001,
2808
+ 8.060391e-002,
2809
+ -1.033983e-002,
2810
+ 4.066532e-001,
2811
+ 4.869627e-002,
2812
+ 1.161722e+000,
2813
+ 4.039525e-001,
2814
+ -6.348185e-001,
2815
+ 7.651292e-002,
2816
+ -1.031327e+001,
2817
+ 1.007598e+001,
2818
+ -2.083688e-002,
2819
+ 7.359516e-001,
2820
+ -2.029459e-001,
2821
+ 5.013257e+000,
2822
+ 1.077649e+000,
2823
+ -1.228630e+000,
2824
+ -1.650496e-001,
2825
+ 4.077157e-002,
2826
+ -7.189167e-001,
2827
+ -5.092220e-002,
2828
+ 2.959814e-001,
2829
+ 5.111496e-001,
2830
+ 2.540433e+000,
2831
+ 3.615330e-001,
2832
+ -1.041883e+000,
2833
+ -3.278413e-001,
2834
+ -6.691911e-002,
2835
+ 1.307364e+000,
2836
+ 2.166663e-001,
2837
+ 3.000595e-001,
2838
+ -3.157136e-003,
2839
+ 1.389208e+000,
2840
+ 7.999026e-001,
2841
+ -1.103556e+000,
2842
+ -2.443602e-001,
2843
+ 4.705347e-001,
2844
+ -9.296482e-004,
2845
+ -5.309920e-001,
2846
+ 9.654511e-001,
2847
+ 2.142587e-001,
2848
+ 2.244723e+000,
2849
+ 6.839976e-001,
2850
+ // albedo 0, turbidity 7
2851
+ -1.555684e+000,
2852
+ -6.962113e-001,
2853
+ -4.647983e+001,
2854
+ 4.674270e+001,
2855
+ -5.034895e-003,
2856
+ 4.755090e-001,
2857
+ -9.502561e-007,
2858
+ 2.626569e+000,
2859
+ 5.056194e-001,
2860
+ -1.998288e+000,
2861
+ -1.124720e+000,
2862
+ -1.629586e+000,
2863
+ 2.187993e+000,
2864
+ -8.284384e-003,
2865
+ 3.845258e-001,
2866
+ 5.726240e-002,
2867
+ 1.185644e+000,
2868
+ 4.255812e-001,
2869
+ -1.032570e+000,
2870
+ -2.513850e-001,
2871
+ -3.721112e+000,
2872
+ 3.506967e+000,
2873
+ -2.186561e-002,
2874
+ 9.436049e-001,
2875
+ -2.451412e-001,
2876
+ 4.725724e+000,
2877
+ 1.039256e+000,
2878
+ -8.597532e-001,
2879
+ 9.073332e-002,
2880
+ -2.553741e+000,
2881
+ 1.993237e+000,
2882
+ -4.390891e-002,
2883
+ -2.046928e-001,
2884
+ 5.515623e-001,
2885
+ 1.909127e+000,
2886
+ 3.948212e-001,
2887
+ -1.210482e+000,
2888
+ -4.477622e-001,
2889
+ -2.267805e-001,
2890
+ 1.219488e+000,
2891
+ 1.336186e-001,
2892
+ 6.866897e-001,
2893
+ 2.808997e-002,
2894
+ 1.600403e+000,
2895
+ 7.816409e-001,
2896
+ -1.078168e+000,
2897
+ -2.699261e-001,
2898
+ 2.537282e-001,
2899
+ 3.820684e-001,
2900
+ -4.425103e-001,
2901
+ 5.298235e-001,
2902
+ 2.185217e-001,
2903
+ 1.728679e+000,
2904
+ 6.882743e-001,
2905
+ // albedo 0, turbidity 8
2906
+ -1.697968e+000,
2907
+ -8.391488e-001,
2908
+ -5.790105e+001,
2909
+ 5.814120e+001,
2910
+ -3.404760e-003,
2911
+ 4.265140e-001,
2912
+ -1.796301e-006,
2913
+ 2.368442e+000,
2914
+ 5.324429e-001,
2915
+ -2.141552e+000,
2916
+ -1.172230e+000,
2917
+ 1.677872e+001,
2918
+ -1.641470e+001,
2919
+ -5.732425e-003,
2920
+ 2.002199e-001,
2921
+ 6.841834e-002,
2922
+ 1.485338e+000,
2923
+ 3.215763e-001,
2924
+ -1.442946e+000,
2925
+ -7.264245e-001,
2926
+ -9.503706e+000,
2927
+ 9.650462e+000,
2928
+ -2.120995e-002,
2929
+ 1.419263e+000,
2930
+ -2.893098e-001,
2931
+ 3.860731e+000,
2932
+ 1.120857e+000,
2933
+ -5.696752e-001,
2934
+ 3.411279e-001,
2935
+ -2.931035e-001,
2936
+ -6.512552e-001,
2937
+ -1.068437e-001,
2938
+ -1.085661e+000,
2939
+ 6.107549e-001,
2940
+ 1.459503e+000,
2941
+ 3.210336e-001,
2942
+ -1.313839e+000,
2943
+ -5.921371e-001,
2944
+ -2.332222e-001,
2945
+ 1.648196e+000,
2946
+ 2.492787e-001,
2947
+ 1.381033e+000,
2948
+ -1.993392e-002,
2949
+ 9.812560e-001,
2950
+ 8.316329e-001,
2951
+ -1.087464e+000,
2952
+ -3.195534e-001,
2953
+ 2.902095e-001,
2954
+ 3.383709e-001,
2955
+ -8.798482e-001,
2956
+ 1.494668e-002,
2957
+ 2.529703e-001,
2958
+ 1.452644e+000,
2959
+ 6.693870e-001,
2960
+ // albedo 0, turbidity 9
2961
+ -2.068582e+000,
2962
+ -1.118605e+000,
2963
+ -5.081598e+001,
2964
+ 5.097486e+001,
2965
+ -3.280669e-003,
2966
+ 4.067371e-001,
2967
+ -2.544951e-006,
2968
+ 2.179497e+000,
2969
+ 5.778017e-001,
2970
+ -1.744693e+000,
2971
+ -8.537207e-001,
2972
+ 2.234361e+001,
2973
+ -2.208318e+001,
2974
+ -5.932616e-003,
2975
+ 1.035049e-001,
2976
+ 5.742772e-002,
2977
+ 1.977880e+000,
2978
+ 2.124846e-001,
2979
+ -3.287515e+000,
2980
+ -2.140268e+000,
2981
+ -1.249566e+001,
2982
+ 1.240091e+001,
2983
+ -2.409349e-002,
2984
+ 1.397821e+000,
2985
+ -2.371627e-001,
2986
+ 2.771192e+000,
2987
+ 1.170496e+000,
2988
+ 5.502311e-001,
2989
+ 1.046630e+000,
2990
+ 2.193517e+000,
2991
+ -2.220400e+000,
2992
+ -1.064394e-001,
2993
+ -1.017926e+000,
2994
+ 4.795457e-001,
2995
+ 1.030644e+000,
2996
+ 3.177516e-001,
2997
+ -1.719734e+000,
2998
+ -9.536198e-001,
2999
+ -6.586821e-001,
3000
+ 1.386361e+000,
3001
+ -2.513065e-002,
3002
+ 1.187011e+000,
3003
+ 6.542539e-002,
3004
+ 5.296055e-001,
3005
+ 8.082660e-001,
3006
+ -1.005700e+000,
3007
+ -3.028096e-001,
3008
+ 4.470957e-002,
3009
+ 1.007760e+000,
3010
+ -8.119016e-001,
3011
+ 3.153338e-002,
3012
+ 2.311321e-001,
3013
+ 1.182208e+000,
3014
+ 6.824758e-001,
3015
+ // albedo 0, turbidity 10
3016
+ -2.728867e+000,
3017
+ -1.580388e+000,
3018
+ -3.079627e+001,
3019
+ 3.092586e+001,
3020
+ -4.197673e-003,
3021
+ 3.154759e-001,
3022
+ -3.897675e-006,
3023
+ 1.920567e+000,
3024
+ 6.664791e-001,
3025
+ -1.322495e+000,
3026
+ -7.249275e-001,
3027
+ 1.477660e+001,
3028
+ -1.468154e+001,
3029
+ -9.044857e-003,
3030
+ 5.624314e-002,
3031
+ 6.498392e-002,
3032
+ 2.047389e+000,
3033
+ 6.367540e-002,
3034
+ -6.102376e+000,
3035
+ -3.473018e+000,
3036
+ -9.926071e+000,
3037
+ 9.637797e+000,
3038
+ -1.097909e-002,
3039
+ 1.103498e+000,
3040
+ -2.424521e-001,
3041
+ 2.520748e+000,
3042
+ 1.240260e+000,
3043
+ 1.351796e+000,
3044
+ 1.018588e+000,
3045
+ 2.009081e+000,
3046
+ -1.333394e+000,
3047
+ -1.979125e-001,
3048
+ -3.318292e-001,
3049
+ 4.476624e-001,
3050
+ 9.095235e-001,
3051
+ 2.955611e-001,
3052
+ -1.774467e+000,
3053
+ -1.079880e+000,
3054
+ -8.084680e-002,
3055
+ 2.577697e-001,
3056
+ -1.149295e-001,
3057
+ 4.975303e-001,
3058
+ 2.931611e-003,
3059
+ -3.803171e-001,
3060
+ 8.002794e-001,
3061
+ -9.898401e-001,
3062
+ -2.542513e-001,
3063
+ -7.530911e-002,
3064
+ 1.870355e+000,
3065
+ -1.521918e+000,
3066
+ 2.405164e-001,
3067
+ 2.964615e-001,
3068
+ 1.334800e+000,
3069
+ 6.789053e-001,
3070
+ // albedo 1, turbidity 1
3071
+ -1.279730e+000,
3072
+ -4.290674e-001,
3073
+ -4.277972e+001,
3074
+ 4.343305e+001,
3075
+ -6.541826e-003,
3076
+ 4.945086e-001,
3077
+ 1.425338e-002,
3078
+ 2.685244e+000,
3079
+ 5.011313e-001,
3080
+ -1.449506e+000,
3081
+ -5.766374e-001,
3082
+ -1.688496e+001,
3083
+ 1.781118e+001,
3084
+ -1.121649e-002,
3085
+ 3.545020e-001,
3086
+ 2.287338e-002,
3087
+ 1.904281e+000,
3088
+ 4.936998e-001,
3089
+ -1.021980e+000,
3090
+ -1.897574e-001,
3091
+ 2.482462e+000,
3092
+ -2.941725e+000,
3093
+ -1.570448e-002,
3094
+ 7.532578e-001,
3095
+ -4.256800e-002,
3096
+ 5.239660e+000,
3097
+ 4.983116e-001,
3098
+ -1.162608e+000,
3099
+ -3.428049e-001,
3100
+ 3.974358e+000,
3101
+ -1.527935e+000,
3102
+ -3.919201e-002,
3103
+ 8.758593e-001,
3104
+ 7.291363e-002,
3105
+ -3.455257e+000,
3106
+ 8.007426e-001,
3107
+ -9.929985e-001,
3108
+ -8.712006e-002,
3109
+ -7.397313e-001,
3110
+ 1.348372e+000,
3111
+ 9.511685e-002,
3112
+ 3.233584e-001,
3113
+ -7.549148e-002,
3114
+ 5.806452e+000,
3115
+ 4.990042e-001,
3116
+ -1.084996e+000,
3117
+ -1.739767e-001,
3118
+ 1.580475e-001,
3119
+ 9.088180e-001,
3120
+ 6.871433e-002,
3121
+ 5.933079e-001,
3122
+ 1.188921e-001,
3123
+ 3.074079e+000,
3124
+ 4.999327e-001,
3125
+ // albedo 1, turbidity 2
3126
+ -1.317009e+000,
3127
+ -4.661946e-001,
3128
+ -4.255347e+001,
3129
+ 4.312782e+001,
3130
+ -5.727235e-003,
3131
+ 4.285447e-001,
3132
+ 2.189854e-002,
3133
+ 2.608310e+000,
3134
+ 5.190700e-001,
3135
+ -1.469236e+000,
3136
+ -6.282139e-001,
3137
+ -1.241404e+001,
3138
+ 1.348765e+001,
3139
+ -1.204770e-002,
3140
+ 5.070285e-001,
3141
+ -7.280216e-004,
3142
+ 1.491533e+000,
3143
+ 3.635064e-001,
3144
+ -9.713808e-001,
3145
+ -8.138038e-002,
3146
+ 3.709854e-001,
3147
+ -1.041174e+000,
3148
+ -1.814075e-002,
3149
+ 5.060860e-001,
3150
+ -2.053756e-002,
3151
+ 6.161431e+000,
3152
+ 1.093736e+000,
3153
+ -1.159057e+000,
3154
+ -3.698074e-001,
3155
+ 2.711209e+000,
3156
+ -6.006479e-001,
3157
+ -4.896926e-002,
3158
+ 9.273957e-001,
3159
+ 1.137712e-001,
3160
+ -3.496828e+000,
3161
+ 2.867109e-001,
3162
+ -1.011601e+000,
3163
+ -8.201890e-002,
3164
+ 2.105725e-001,
3165
+ 4.597520e-001,
3166
+ 1.478925e-001,
3167
+ 2.138940e-001,
3168
+ -5.660670e-002,
3169
+ 6.057755e+000,
3170
+ 7.859121e-001,
3171
+ -1.078020e+000,
3172
+ -1.811580e-001,
3173
+ 1.646622e-001,
3174
+ 8.348426e-001,
3175
+ 1.149064e-001,
3176
+ 4.985738e-001,
3177
+ 1.376605e-001,
3178
+ 2.746607e+000,
3179
+ 4.999626e-001,
3180
+ // albedo 1, turbidity 3
3181
+ -1.325672e+000,
3182
+ -4.769313e-001,
3183
+ -4.111215e+001,
3184
+ 4.168293e+001,
3185
+ -6.274997e-003,
3186
+ 4.649469e-001,
3187
+ 1.119411e-002,
3188
+ 2.631267e+000,
3189
+ 5.234546e-001,
3190
+ -1.619391e+000,
3191
+ -8.000253e-001,
3192
+ -1.534098e+001,
3193
+ 1.632706e+001,
3194
+ -1.012023e-002,
3195
+ 4.242255e-001,
3196
+ 2.931597e-002,
3197
+ 8.925807e-001,
3198
+ 3.314765e-001,
3199
+ -7.356979e-001,
3200
+ 1.368406e-001,
3201
+ 2.972579e+000,
3202
+ -3.535359e+000,
3203
+ -1.318948e-002,
3204
+ 4.607620e-001,
3205
+ -7.182778e-002,
3206
+ 6.254100e+000,
3207
+ 1.236299e+000,
3208
+ -1.316217e+000,
3209
+ -4.194427e-001,
3210
+ 3.489902e-002,
3211
+ 1.289849e+000,
3212
+ -4.755960e-002,
3213
+ 1.138222e+000,
3214
+ 1.975992e-001,
3215
+ -8.991542e-001,
3216
+ 2.290572e-001,
3217
+ -9.502188e-001,
3218
+ -1.172703e-001,
3219
+ 1.405202e+000,
3220
+ -3.061919e-001,
3221
+ 1.058772e-001,
3222
+ -3.760592e-001,
3223
+ -1.983179e-002,
3224
+ 3.562353e+000,
3225
+ 7.895959e-001,
3226
+ -1.100117e+000,
3227
+ -1.900567e-001,
3228
+ 4.925030e-001,
3229
+ 5.250225e-001,
3230
+ 1.576804e-001,
3231
+ 1.042701e+000,
3232
+ 7.330743e-002,
3233
+ 2.796064e+000,
3234
+ 6.749783e-001,
3235
+ // albedo 1, turbidity 4
3236
+ -1.354183e+000,
3237
+ -5.130625e-001,
3238
+ -4.219268e+001,
3239
+ 4.271772e+001,
3240
+ -5.365373e-003,
3241
+ 4.136743e-001,
3242
+ 1.235172e-002,
3243
+ 2.520122e+000,
3244
+ 5.187269e-001,
3245
+ -1.741434e+000,
3246
+ -9.589761e-001,
3247
+ -8.230339e+000,
3248
+ 9.296799e+000,
3249
+ -9.600162e-003,
3250
+ 4.994969e-001,
3251
+ 2.955452e-002,
3252
+ 3.667099e-001,
3253
+ 3.526999e-001,
3254
+ -6.917347e-001,
3255
+ 2.154887e-001,
3256
+ -8.760264e-001,
3257
+ 2.334121e-001,
3258
+ -1.909621e-002,
3259
+ 4.748033e-001,
3260
+ -1.138514e-001,
3261
+ 6.515360e+000,
3262
+ 1.225097e+000,
3263
+ -1.293189e+000,
3264
+ -4.218700e-001,
3265
+ 1.620952e+000,
3266
+ -7.858597e-001,
3267
+ -3.769410e-002,
3268
+ 6.636786e-001,
3269
+ 3.364945e-001,
3270
+ -5.341017e-001,
3271
+ 2.128347e-001,
3272
+ -9.735521e-001,
3273
+ -1.325495e-001,
3274
+ 1.007517e+000,
3275
+ 2.598258e-001,
3276
+ 6.762169e-002,
3277
+ 1.421018e-003,
3278
+ -6.915987e-002,
3279
+ 3.185897e+000,
3280
+ 8.641956e-001,
3281
+ -1.094800e+000,
3282
+ -1.962062e-001,
3283
+ 5.755591e-001,
3284
+ 2.906259e-001,
3285
+ 2.625748e-001,
3286
+ 7.644049e-001,
3287
+ 1.347492e-001,
3288
+ 2.677126e+000,
3289
+ 6.465460e-001,
3290
+ // albedo 1, turbidity 5
3291
+ -1.393063e+000,
3292
+ -5.578338e-001,
3293
+ -4.185249e+001,
3294
+ 4.233504e+001,
3295
+ -5.435640e-003,
3296
+ 4.743765e-001,
3297
+ 7.422477e-003,
3298
+ 2.442801e+000,
3299
+ 5.211707e-001,
3300
+ -1.939487e+000,
3301
+ -1.128509e+000,
3302
+ -8.974257e+000,
3303
+ 9.978383e+000,
3304
+ -7.965597e-003,
3305
+ 2.948830e-001,
3306
+ 4.436763e-002,
3307
+ 2.839868e-001,
3308
+ 3.440424e-001,
3309
+ -6.011562e-001,
3310
+ 2.354877e-001,
3311
+ -3.079820e+000,
3312
+ 2.585094e+000,
3313
+ -2.002701e-002,
3314
+ 7.793909e-001,
3315
+ -1.598414e-001,
3316
+ 5.834678e+000,
3317
+ 1.202856e+000,
3318
+ -1.315676e+000,
3319
+ -3.903446e-001,
3320
+ 1.701900e+000,
3321
+ -1.304609e+000,
3322
+ -1.045121e-002,
3323
+ 2.747707e-001,
3324
+ 4.143967e-001,
3325
+ 3.197102e-001,
3326
+ 2.637580e-001,
3327
+ -9.618628e-001,
3328
+ -1.625841e-001,
3329
+ 1.187138e+000,
3330
+ 1.497802e-001,
3331
+ -5.590954e-006,
3332
+ 3.178475e-002,
3333
+ -4.153145e-002,
3334
+ 2.496096e+000,
3335
+ 8.195082e-001,
3336
+ -1.111554e+000,
3337
+ -2.365546e-001,
3338
+ 7.831875e-001,
3339
+ 2.018684e-001,
3340
+ 2.074369e-001,
3341
+ 7.395978e-001,
3342
+ 1.225730e-001,
3343
+ 1.876478e+000,
3344
+ 6.821167e-001,
3345
+ // albedo 1, turbidity 6
3346
+ -1.427879e+000,
3347
+ -5.994879e-001,
3348
+ -3.531016e+001,
3349
+ 3.581581e+001,
3350
+ -6.431497e-003,
3351
+ 4.554192e-001,
3352
+ 7.348731e-004,
3353
+ 2.334619e+000,
3354
+ 5.233377e-001,
3355
+ -1.998177e+000,
3356
+ -1.206633e+000,
3357
+ -2.146510e+001,
3358
+ 2.242237e+001,
3359
+ -5.857596e-003,
3360
+ 2.755663e-001,
3361
+ 6.384795e-002,
3362
+ 1.358244e-001,
3363
+ 3.328437e-001,
3364
+ -6.440630e-001,
3365
+ 2.058571e-001,
3366
+ 2.155499e+000,
3367
+ -2.587968e+000,
3368
+ -1.840023e-002,
3369
+ 8.826555e-001,
3370
+ -2.222452e-001,
3371
+ 5.847073e+000,
3372
+ 1.228387e+000,
3373
+ -1.229071e+000,
3374
+ -3.360441e-001,
3375
+ -3.429599e-001,
3376
+ 6.179469e-001,
3377
+ 2.029610e-003,
3378
+ 8.899319e-002,
3379
+ 5.041624e-001,
3380
+ 1.882964e-001,
3381
+ 2.252040e-001,
3382
+ -1.022905e+000,
3383
+ -2.101621e-001,
3384
+ 1.915689e+000,
3385
+ -6.498794e-001,
3386
+ -3.463651e-002,
3387
+ 8.954605e-002,
3388
+ -6.797854e-002,
3389
+ 2.417705e+000,
3390
+ 8.568618e-001,
3391
+ -1.082538e+000,
3392
+ -2.007723e-001,
3393
+ 4.731009e-001,
3394
+ 4.077267e-001,
3395
+ 1.324289e-001,
3396
+ 6.514880e-001,
3397
+ 1.702912e-001,
3398
+ 2.309383e+000,
3399
+ 6.600895e-001,
3400
+ // albedo 1, turbidity 7
3401
+ -1.472139e+000,
3402
+ -6.499815e-001,
3403
+ -3.428465e+001,
3404
+ 3.469659e+001,
3405
+ -5.747023e-003,
3406
+ 4.174167e-001,
3407
+ 1.688597e-003,
3408
+ 2.323046e+000,
3409
+ 5.395191e-001,
3410
+ -2.161176e+000,
3411
+ -1.353089e+000,
3412
+ -2.226827e+001,
3413
+ 2.329138e+001,
3414
+ -5.583808e-003,
3415
+ 2.364793e-001,
3416
+ 6.096656e-002,
3417
+ 1.944666e-003,
3418
+ 2.861624e-001,
3419
+ -6.593044e-001,
3420
+ 1.393558e-001,
3421
+ 4.698373e+000,
3422
+ -5.193883e+000,
3423
+ -1.998390e-002,
3424
+ 1.095635e+000,
3425
+ -2.391254e-001,
3426
+ 5.598103e+000,
3427
+ 1.236193e+000,
3428
+ -1.195717e+000,
3429
+ -2.972715e-001,
3430
+ 4.648953e-002,
3431
+ 3.024588e-001,
3432
+ 5.003313e-003,
3433
+ -3.754741e-001,
3434
+ 5.247265e-001,
3435
+ -1.381312e-001,
3436
+ 2.493896e-001,
3437
+ -1.020139e+000,
3438
+ -2.253524e-001,
3439
+ 3.548437e-001,
3440
+ 7.030485e-001,
3441
+ -2.107076e-002,
3442
+ 4.581395e-001,
3443
+ -3.243757e-002,
3444
+ 2.453259e+000,
3445
+ 8.323623e-001,
3446
+ -1.098770e+000,
3447
+ -2.435780e-001,
3448
+ 8.761614e-001,
3449
+ 1.941613e-001,
3450
+ -1.990692e-001,
3451
+ 3.761139e-001,
3452
+ 1.657412e-001,
3453
+ 1.590503e+000,
3454
+ 6.741417e-001,
3455
+ // albedo 1, turbidity 8
3456
+ -1.648007e+000,
3457
+ -8.205121e-001,
3458
+ -4.435106e+001,
3459
+ 4.479801e+001,
3460
+ -4.181353e-003,
3461
+ 3.854830e-001,
3462
+ -1.842385e-006,
3463
+ 2.000281e+000,
3464
+ 5.518363e-001,
3465
+ -2.140986e+000,
3466
+ -1.282239e+000,
3467
+ -3.979213e+000,
3468
+ 4.672459e+000,
3469
+ -5.008582e-003,
3470
+ 2.421920e-001,
3471
+ 6.253602e-002,
3472
+ 6.612713e-001,
3473
+ 2.555851e-001,
3474
+ -1.300502e+000,
3475
+ -5.137898e-001,
3476
+ 5.179821e-001,
3477
+ -4.032341e-001,
3478
+ -2.066785e-002,
3479
+ 1.087929e+000,
3480
+ -2.615309e-001,
3481
+ 4.225887e+000,
3482
+ 1.229237e+000,
3483
+ -6.963340e-001,
3484
+ 9.241060e-002,
3485
+ 6.936356e-002,
3486
+ -3.588571e-001,
3487
+ -5.461843e-002,
3488
+ -5.616643e-001,
3489
+ 5.484166e-001,
3490
+ -4.776267e-002,
3491
+ 2.414935e-001,
3492
+ -1.233179e+000,
3493
+ -4.325498e-001,
3494
+ 6.479813e-001,
3495
+ 8.368356e-001,
3496
+ 2.458875e-001,
3497
+ 6.464752e-001,
3498
+ -2.897097e-002,
3499
+ 1.561773e+000,
3500
+ 8.518598e-001,
3501
+ -1.051023e+000,
3502
+ -2.533690e-001,
3503
+ 1.004294e+000,
3504
+ 3.028083e-001,
3505
+ -1.520108e+000,
3506
+ 1.607013e-001,
3507
+ 1.619975e-001,
3508
+ 1.131094e+000,
3509
+ 6.706655e-001,
3510
+ // albedo 1, turbidity 9
3511
+ -1.948249e+000,
3512
+ -1.097383e+000,
3513
+ -4.453697e+001,
3514
+ 4.494902e+001,
3515
+ -3.579939e-003,
3516
+ 3.491605e-001,
3517
+ -2.500253e-006,
3518
+ 1.740442e+000,
3519
+ 6.188022e-001,
3520
+ -2.154253e+000,
3521
+ -1.209559e+000,
3522
+ 4.144894e+000,
3523
+ -3.562411e+000,
3524
+ -5.638843e-003,
3525
+ 1.067169e-001,
3526
+ 7.594858e-002,
3527
+ 1.005280e+000,
3528
+ 1.072543e-001,
3529
+ -2.513259e+000,
3530
+ -1.507208e+000,
3531
+ -1.602979e+000,
3532
+ 1.404154e+000,
3533
+ -5.560750e-003,
3534
+ 1.240490e+000,
3535
+ -2.852117e-001,
3536
+ 3.485252e+000,
3537
+ 1.349321e+000,
3538
+ -7.832214e-002,
3539
+ 3.655626e-001,
3540
+ 3.856288e-001,
3541
+ 6.867894e-001,
3542
+ -1.609523e-001,
3543
+ -6.704306e-001,
3544
+ 5.357301e-001,
3545
+ -6.457935e-001,
3546
+ 1.479503e-001,
3547
+ -1.354784e+000,
3548
+ -5.454375e-001,
3549
+ 8.797469e-001,
3550
+ -1.466514e+000,
3551
+ 7.134420e-001,
3552
+ 5.934903e-001,
3553
+ -2.911178e-002,
3554
+ 8.643737e-001,
3555
+ 9.030724e-001,
3556
+ -1.048324e+000,
3557
+ -2.738736e-001,
3558
+ 8.783074e-001,
3559
+ 3.246188e+000,
3560
+ -4.435369e+000,
3561
+ 1.251791e-001,
3562
+ 1.783486e-001,
3563
+ 1.064657e+000,
3564
+ 6.522878e-001,
3565
+ // albedo 1, turbidity 10
3566
+ -2.770408e+000,
3567
+ -1.618911e+000,
3568
+ -2.504031e+001,
3569
+ 2.531674e+001,
3570
+ -4.239279e-003,
3571
+ 3.241013e-001,
3572
+ -3.764484e-006,
3573
+ 1.586843e+000,
3574
+ 7.035906e-001,
3575
+ -1.913500e+000,
3576
+ -1.144014e+000,
3577
+ -1.080587e+001,
3578
+ 1.153677e+001,
3579
+ -1.003197e-002,
3580
+ 1.577515e-001,
3581
+ 5.217789e-002,
3582
+ 1.225278e+000,
3583
+ 5.172771e-003,
3584
+ -5.293208e+000,
3585
+ -2.876463e+000,
3586
+ 2.087053e+000,
3587
+ -3.201552e+000,
3588
+ 3.892964e-003,
3589
+ 5.323930e-001,
3590
+ -2.034512e-001,
3591
+ 2.617760e+000,
3592
+ 1.273597e+000,
3593
+ 9.060340e-001,
3594
+ 3.773409e-001,
3595
+ -6.399945e-001,
3596
+ 3.213979e+000,
3597
+ -9.112172e-002,
3598
+ 6.494055e-001,
3599
+ 3.953280e-001,
3600
+ 5.047796e-001,
3601
+ 2.998695e-001,
3602
+ -1.482179e+000,
3603
+ -6.778310e-001,
3604
+ 1.161775e+000,
3605
+ -3.004872e+000,
3606
+ 4.774797e-001,
3607
+ -4.969248e-001,
3608
+ -3.512074e-003,
3609
+ -1.307190e+000,
3610
+ 7.927378e-001,
3611
+ -9.863181e-001,
3612
+ -1.803364e-001,
3613
+ 5.810824e-001,
3614
+ 4.580570e+000,
3615
+ -3.863454e+000,
3616
+ 5.328174e-001,
3617
+ 2.272821e-001,
3618
+ 1.771114e+000,
3619
+ 6.791814e-001,
3620
+ ]);
3621
+
3622
+ const kHosekRadZ = new Float32Array([
3623
+ // albedo 0, turbidity 1
3624
+ 1.168084e+000,
3625
+ 2.156455e+000,
3626
+ -3.980314e+000,
3627
+ 1.989302e+001,
3628
+ 1.328335e+001,
3629
+ 1.435621e+001,
3630
+ // albedo 0, turbidity 2
3631
+ 1.135488e+000,
3632
+ 2.294701e+000,
3633
+ -4.585886e+000,
3634
+ 2.090208e+001,
3635
+ 1.347840e+001,
3636
+ 1.467658e+001,
3637
+ // albedo 0, turbidity 3
3638
+ 1.107408e+000,
3639
+ 2.382765e+000,
3640
+ -5.112357e+000,
3641
+ 2.147823e+001,
3642
+ 1.493128e+001,
3643
+ 1.460882e+001,
3644
+ // albedo 0, turbidity 4
3645
+ 1.054193e+000,
3646
+ 2.592891e+000,
3647
+ -6.115000e+000,
3648
+ 2.268967e+001,
3649
+ 1.635672e+001,
3650
+ 1.518999e+001,
3651
+ // albedo 0, turbidity 5
3652
+ 1.006946e+000,
3653
+ 2.705420e+000,
3654
+ -6.698930e+000,
3655
+ 2.291830e+001,
3656
+ 1.834324e+001,
3657
+ 1.570651e+001,
3658
+ // albedo 0, turbidity 6
3659
+ 9.794044e-001,
3660
+ 2.742440e+000,
3661
+ -6.805283e+000,
3662
+ 2.225271e+001,
3663
+ 2.050797e+001,
3664
+ 1.563130e+001,
3665
+ // albedo 0, turbidity 7
3666
+ 9.413577e-001,
3667
+ 2.722009e+000,
3668
+ -6.760707e+000,
3669
+ 2.098242e+001,
3670
+ 2.342588e+001,
3671
+ 1.605011e+001,
3672
+ // albedo 0, turbidity 8
3673
+ 8.917923e-001,
3674
+ 2.592780e+000,
3675
+ -6.152635e+000,
3676
+ 1.774141e+001,
3677
+ 2.858324e+001,
3678
+ 1.657910e+001,
3679
+ // albedo 0, turbidity 9
3680
+ 8.288391e-001,
3681
+ 2.153434e+000,
3682
+ -4.118327e+000,
3683
+ 1.078118e+001,
3684
+ 3.681710e+001,
3685
+ 1.738139e+001,
3686
+ // albedo 0, turbidity 10
3687
+ 7.623528e-001,
3688
+ 1.418187e+000,
3689
+ -8.845235e-001,
3690
+ 7.590129e-001,
3691
+ 4.629859e+001,
3692
+ 1.921657e+001,
3693
+ // albedo 1, turbidity 1
3694
+ 1.352858e+000,
3695
+ 2.048862e+000,
3696
+ -2.053393e+000,
3697
+ 1.405874e+001,
3698
+ 3.045344e+001,
3699
+ 3.044430e+001,
3700
+ // albedo 1, turbidity 2
3701
+ 1.330497e+000,
3702
+ 2.126497e+000,
3703
+ -2.466296e+000,
3704
+ 1.467559e+001,
3705
+ 3.090738e+001,
3706
+ 3.069707e+001,
3707
+ // albedo 1, turbidity 3
3708
+ 1.286344e+000,
3709
+ 2.200436e+000,
3710
+ -2.877228e+000,
3711
+ 1.492701e+001,
3712
+ 3.236288e+001,
3713
+ 3.077223e+001,
3714
+ // albedo 1, turbidity 4
3715
+ 1.234428e+000,
3716
+ 2.289628e+000,
3717
+ -3.404699e+000,
3718
+ 1.499436e+001,
3719
+ 3.468390e+001,
3720
+ 3.084842e+001,
3721
+ // albedo 1, turbidity 5
3722
+ 1.178660e+000,
3723
+ 2.306071e+000,
3724
+ -3.549159e+000,
3725
+ 1.411006e+001,
3726
+ 3.754188e+001,
3727
+ 3.079730e+001,
3728
+ // albedo 1, turbidity 6
3729
+ 1.151366e+000,
3730
+ 2.333005e+000,
3731
+ -3.728627e+000,
3732
+ 1.363374e+001,
3733
+ 3.905894e+001,
3734
+ 3.092599e+001,
3735
+ // albedo 1, turbidity 7
3736
+ 1.101593e+000,
3737
+ 2.299422e+000,
3738
+ -3.565787e+000,
3739
+ 1.196745e+001,
3740
+ 4.188472e+001,
3741
+ 3.102755e+001,
3742
+ // albedo 1, turbidity 8
3743
+ 1.038322e+000,
3744
+ 2.083539e+000,
3745
+ -2.649585e+000,
3746
+ 8.037389e+000,
3747
+ 4.700869e+001,
3748
+ 3.065948e+001,
3749
+ // albedo 1, turbidity 9
3750
+ 9.596146e-001,
3751
+ 1.671470e+000,
3752
+ -8.751538e-001,
3753
+ 1.679772e+000,
3754
+ 5.345784e+001,
3755
+ 3.054520e+001,
3756
+ // albedo 1, turbidity 10
3757
+ 8.640731e-001,
3758
+ 9.858301e-001,
3759
+ 1.854956e+000,
3760
+ -6.798097e+000,
3761
+ 5.936468e+001,
3762
+ 3.110255e+001,
3763
+ ]);
3764
+
3765
+ /**
3766
+ *
3767
+ * @param {vec3} out
3768
+ * @param {vec3} input
3769
+ */
3770
+ function XYZ_TO_RGB(out, input) {
3771
+ const x = input[0];
3772
+ const y = input[1];
3773
+ const z = input[2];
3774
+
3775
+ out[0] = 3.2404542 * x - 1.5371385 * y - 0.4985314 * z;
3776
+ out[1] = (-0.9692660) * x + 1.8760108 * y + 0.0415560 * z;
3777
+ out[2] = 0.0556434 * x - 0.2040259 * y + 1.0572252 * z;
3778
+ }
3779
+
3780
+ /**
3781
+ *
3782
+ * @param {vec3} out
3783
+ * @param {vec3} input
3784
+ */
3785
+ function RGB_TO_XYZ(out, input) {
3786
+
3787
+ const x = input[0];
3788
+ const y = input[1];
3789
+ const z = input[2];
3790
+
3791
+ out[0] = 0.4124564 * x + 0.3575761 * y + 0.1804375 * z;
3792
+ out[1] = 0.2126729 * x + 0.7151522 * y + 0.0721750 * z;
3793
+ out[2] = 0.0193339 * x + 0.1191920 * y + 0.9503041 * z;
3794
+ }
3795
+
3796
+ /**
3797
+ *
3798
+ * @param {number[]|Float32Array} w float[6]
3799
+ * @param {number[]|Float32Array} data float[6]
3800
+ * @param {number} data_offset
3801
+ * @return {number}
3802
+ */
3803
+ function EvalQuintic_2(w, data, data_offset) {
3804
+ return w[0] * data[data_offset + 0]
3805
+ + w[1] * data[data_offset + 1]
3806
+ + w[2] * data[data_offset + 2]
3807
+ + w[3] * data[data_offset + 3]
3808
+ + w[4] * data[data_offset + 4]
3809
+ + w[5] * data[data_offset + 5];
3810
+ }
3811
+
3812
+ /**
3813
+ *
3814
+ * @param {number[]|Float32Array} w float[6]
3815
+ * @param {number[]|Float32Array} data float[6][9] flattened
3816
+ * @param {number} data_offset
3817
+ * @param {number[]|Float32Array} coeffs float[9] output is written here
3818
+ * @param {number} coeffs_offset
3819
+ */
3820
+ function EvalQuintic_3(w, data, data_offset, coeffs, coeffs_offset) {
3821
+ for (let i = 0; i < 9; i++) {
3822
+ coeffs[coeffs_offset + i] = w[0] * data[data_offset + 0 * 6 + i]
3823
+ + w[1] * data[data_offset + 1 * 6 + i]
3824
+ + w[2] * data[data_offset + 2 * 6 + i]
3825
+ + w[3] * data[data_offset + 3 * 6 + i]
3826
+ + w[4] * data[data_offset + 4 * 6 + i]
3827
+ + w[5] * data[data_offset + 5 * 6 + i];
3828
+ }
3829
+ }
3830
+
3831
+ /**
3832
+ *
3833
+ * @param {number} s
3834
+ * @param {number[]|ArrayLike<number>|Float32Array} w
3835
+ */
3836
+ function FindQuinticWeights(s, w) {
3837
+ const s1 = s;
3838
+ const s2 = s1 * s1;
3839
+ const s3 = s1 * s2;
3840
+ const s4 = s2 * s2;
3841
+ const s5 = s2 * s3;
3842
+
3843
+ const is1 = 1.0 - s1;
3844
+ const is2 = is1 * is1;
3845
+ const is3 = is1 * is2;
3846
+ const is4 = is2 * is2;
3847
+ const is5 = is2 * is3;
3848
+
3849
+ w[0] = is5;
3850
+ w[1] = is4 * s1 * 5.0;
3851
+ w[2] = is3 * s2 * 10.0;
3852
+ w[3] = is2 * s3 * 10.0;
3853
+ w[4] = is1 * s4 * 5.0;
3854
+ w[5] = s5;
3855
+ }
3856
+
3857
+ /**
3858
+ *
3859
+ * @param {number[]|Float32Array} dataset9 albedo x 2, turbidity x 10, quintics x 6, weights x 9
3860
+ * @param {number[]|Float32Array} datasetR albedo x 2, turbidity x 10, quintics x 6
3861
+ * @param {number} turbidity
3862
+ * @param {number} albedo
3863
+ * @param {number} solarElevation
3864
+ * @param {number[]|Float32Array} coeffs result is written here
3865
+ * @param {number} coeffs_offset
3866
+ * @return {number}
3867
+ * @constructor
3868
+ */
3869
+ function FindHosekCoeffs
3870
+ (
3871
+ dataset9,
3872
+ datasetR,
3873
+ turbidity,
3874
+ albedo,
3875
+ solarElevation,
3876
+ coeffs,
3877
+ coeffs_offset
3878
+ ) {
3879
+ const tbi = clamp(Math.floor(turbidity), 1, 9);
3880
+
3881
+ const tbf = turbidity - tbi;
3882
+
3883
+ const s = Math.pow(solarElevation / vl_halfPi, (1.0 / 3.0));
3884
+
3885
+ const quinticWeights = new Float32Array(6);
3886
+ FindQuinticWeights(s, quinticWeights);
3887
+
3888
+ const ic = new Float32Array(4 * 9);
3889
+
3890
+ const size_set9_1 = 6 * 9;
3891
+ const size_set9_0 = 10 * size_set9_1;
3892
+ EvalQuintic_3(quinticWeights, dataset9, (tbi - 1) * size_set9_1, ic, 0);
3893
+ EvalQuintic_3(quinticWeights, dataset9, size_set9_0 + (tbi - 1) * size_set9_1, ic, 9);
3894
+ EvalQuintic_3(quinticWeights, dataset9, tbi * size_set9_1, ic, 18);
3895
+ EvalQuintic_3(quinticWeights, dataset9, size_set9_0 + tbi * size_set9_1, ic, 27);
3896
+
3897
+ const size_set_R_1 = 6;
3898
+ const size_set_R_0 = 10 * size_set_R_1;
3899
+ const ir = [
3900
+ EvalQuintic_2(quinticWeights, datasetR, (tbi - 1) * size_set_R_1),
3901
+ EvalQuintic_2(quinticWeights, datasetR, size_set_R_0 + (tbi - 1) * size_set_R_1),
3902
+ EvalQuintic_2(quinticWeights, datasetR, tbi * size_set_R_1),
3903
+ EvalQuintic_2(quinticWeights, datasetR, size_set_R_0 + tbi * size_set_R_1),
3904
+ ];
3905
+
3906
+ const cw = [
3907
+ (1.0 - albedo) * (1.0 - tbf),
3908
+ albedo * (1.0 - tbf),
3909
+ (1.0 - albedo) * tbf,
3910
+ albedo * tbf,
3911
+ ];
3912
+
3913
+ for (let i = 0; i < 9; i++) {
3914
+ coeffs[coeffs_offset + i] = cw[0] * ic[ i]
3915
+ + cw[1] * ic[9 + i]
3916
+ + cw[2] * ic[2 * 9 + i]
3917
+ + cw[3] * ic[3 * 9 + i];
3918
+ }
3919
+
3920
+ return cw[0] * ir[0] + cw[1] * ir[1] + cw[2] * ir[2] + cw[3] * ir[3];
3921
+ }
3922
+
3923
+ /**
3924
+ *
3925
+ * Hosek:
3926
+ * (1 + A e ^ (B / cos(t))) (1 + C e ^ (D g) + E cos(g) ^ 2 + F mieM(g, G) + H cos(t)^1/2 + (I - 1))
3927
+ *
3928
+ * These bits are the same as Preetham, but do different jobs in some cases
3929
+ * A: sky gradient, carries white -> blue gradient
3930
+ * B: sky tightness
3931
+ * C: sun, carries most of sun-centred blue term
3932
+ * D: sun tightness, higher = tighter
3933
+ * E: rosy hue around sun
3934
+ *
3935
+ * Hosek-specific:
3936
+ * F: mie term, does most of the heavy lifting for sunset glow
3937
+ * G: mie tuning
3938
+ * H: zenith gradient
3939
+ * I: constant term balanced with H
3940
+ *
3941
+ * Notes:
3942
+ * A/B still carries some of the "blue" base of sky, but much comes from C/D
3943
+ * C/E minimal effect in sunset situations, carry bulk of sun halo in sun-overhead
3944
+ * F/G sunset glow, but also takes sun halo from yellowish to white overhead
3945
+ * @param {number[]|Float32Array} coeffs
3946
+ * @param {number} coeffs_offset
3947
+ * @param {number} cosTheta
3948
+ * @param {number} gamma
3949
+ * @param {number} cosGamma
3950
+ * @return {number}
3951
+ * @constructor
3952
+ */
3953
+ function EvalHosekCoeffs(
3954
+ coeffs,
3955
+ coeffs_offset,
3956
+ cosTheta,
3957
+ gamma,
3958
+ cosGamma
3959
+ ) {
3960
+ const c_0 = coeffs[coeffs_offset + 0];
3961
+ const c_1 = coeffs[coeffs_offset + 1];
3962
+ const c_2 = coeffs[coeffs_offset + 2];
3963
+ const c_3 = coeffs[coeffs_offset + 3];
3964
+ const c_4 = coeffs[coeffs_offset + 4];
3965
+ const c_5 = coeffs[coeffs_offset + 5];
3966
+ const c_6 = coeffs[coeffs_offset + 6];
3967
+ const c_7 = coeffs[coeffs_offset + 7];
3968
+ const c_8 = coeffs[coeffs_offset + 8];
3969
+
3970
+ // Current coeffs ordering is AB I CDEF HG
3971
+ // 01 2 3456 78
3972
+ const expM = Math.exp(c_4 * gamma); // D g
3973
+ const rayM = cosGamma * cosGamma; // Rayleigh scattering
3974
+ const mieM = (1.0 + rayM) / Math.pow((1.0 + c_8 * c_8 - 2.0 * c_8 * cosGamma), 1.5); // G
3975
+ const zenith = Math.sqrt(cosTheta); // vertical zenith gradient
3976
+
3977
+ return (
3978
+ 1.0 + c_0 * Math.exp(c_1 / (cosTheta + 0.01)) // A, B
3979
+ )
3980
+ * (1.0
3981
+ + c_3 * expM // C
3982
+ + c_5 * rayM // E
3983
+ + c_6 * mieM // F
3984
+ + c_7 * zenith // H
3985
+ + (c_2 - 1.0) // I
3986
+ );
3987
+ }
3988
+
3989
+ /**
3990
+ *
3991
+ * @param {number} thetaS
3992
+ * @param {number} T
3993
+ * @return {number}
3994
+ */
3995
+ function ZenithLuminance(thetaS, T) {
3996
+ const chi = (4.0 / 9.0 - T / 120.0) * (vl_pi - 2.0 * thetaS);
3997
+ let Lz = (4.0453 * T - 4.9710) * Math.tan(chi) - 0.2155 * T + 2.4192;
3998
+ Lz *= 1000.0; // conversion from kcd/m^2 to cd/m^2
3999
+ return Lz;
4000
+ }
4001
+
4002
+ /**
4003
+ * @see https://github.com/andrewwillmott/sun-sky/blob/master/SunSky.cpp
4004
+ * @param {number[]} mCoeffsXYZ output, float[3][9], Hosek 9-term distribution coefficients
4005
+ * @param {number[]} mRadXYZ output, vec3, Overall average radiance
4006
+ * @param {vec3} sun_direction
4007
+ * @param {number} turbidity should be between 1 and 10
4008
+ * @param {vec3} rgbAlbedo albedo in linear color space (make sure it's not sRGB)
4009
+ * @param {number} overcast
4010
+ */
4011
+ export function sky_hosek_precompute(
4012
+ mCoeffsXYZ,
4013
+ mRadXYZ,
4014
+ sun_direction,
4015
+ turbidity,
4016
+ rgbAlbedo,
4017
+ overcast
4018
+ ) {
4019
+
4020
+ const mToSun = sun_direction;
4021
+
4022
+ const sun_x = mToSun[0];
4023
+ const sun_y = mToSun[1];
4024
+ const sun_z = mToSun[2];
4025
+
4026
+ const solarElevation = sun_z > 0 ? Math.asin(sun_z) : 0;
4027
+
4028
+ const albedo = [];
4029
+ RGB_TO_XYZ(albedo, rgbAlbedo);
4030
+
4031
+ /**
4032
+ * Hosek 9-term distribution coefficients
4033
+ * float[3][9]
4034
+ * @type {Float32Array}
4035
+ */
4036
+ // const mCoeffsXYZ = new Float32Array(3 * 9);
4037
+
4038
+ /**
4039
+ * Overall average radiance
4040
+ * Vec3f
4041
+ * @type {Float32Array}
4042
+ */
4043
+ //const mRadXYZ = new Float32Array(3);
4044
+
4045
+ // Note that the hosek coefficients change with time of day, vs. Preetham where the 'upper' coefficients stay the same,
4046
+ // and only the scaler mPerezInvDen, consisting of time-dependent normalisation and zenith luminnce factors, changes.
4047
+ mRadXYZ[0] = FindHosekCoeffs(kHosekCoeffsX, kHosekRadX, turbidity, albedo[0], solarElevation, mCoeffsXYZ, 0);
4048
+ mRadXYZ[1] = FindHosekCoeffs(kHosekCoeffsY, kHosekRadY, turbidity, albedo[1], solarElevation, mCoeffsXYZ, 9);
4049
+ mRadXYZ[2] = FindHosekCoeffs(kHosekCoeffsZ, kHosekRadZ, turbidity, albedo[2], solarElevation, mCoeffsXYZ, 18);
4050
+
4051
+ vec3.scale(mRadXYZ, mRadXYZ, 683); // convert to luminance in lumens
4052
+
4053
+
4054
+ if (sun_z < 0.0) // sun below horizon?
4055
+ {
4056
+ const s = clamp01(1.0 + sun_z * 50.0); // goes from 1 to 0 as the sun sets
4057
+ const is = 1.0 - s;
4058
+
4059
+ // Emulate Preetham's zenith darkening
4060
+ const darken = ZenithLuminance(Math.acos(sun_z), turbidity) / ZenithLuminance(vl_halfPi, turbidity);
4061
+
4062
+ // Take C/E/F which control sun term to zero
4063
+ for (let j = 0; j < 3; j++) {
4064
+ mCoeffsXYZ[j * 9 + 3] *= s;
4065
+ mCoeffsXYZ[j * 9 + 5] *= s;
4066
+ mCoeffsXYZ[j * 9 + 6] *= s;
4067
+
4068
+ // Take horizon term H to zero, as it's an orange glow at this point
4069
+ mCoeffsXYZ[j * 9 + 7] *= s;
4070
+
4071
+ // Take I term back to 1
4072
+ mCoeffsXYZ[j * 9 + 2] *= s;
4073
+ mCoeffsXYZ[j * 9 + 2] += is;
4074
+ }
4075
+
4076
+ vec3.scale(mRadXYZ, mRadXYZ, darken);
4077
+ }
4078
+
4079
+ if (overcast !== 0.0) // Handle overcast term
4080
+ {
4081
+ const is = overcast;
4082
+ const s = 1.0 - overcast; // goes to 0 as we go to overcast
4083
+
4084
+ // Hosek isn't self-normalising, unlike Preetham/CIE, which divides by PreethamLower().
4085
+ // Thus when we lerp to the CIE overcast model, we get some non-linearities.
4086
+ // We deal with this by using ratios of normalisation terms to balance.
4087
+ // Another difference is that Hosek is relative to the average radiance,
4088
+ // whereas CIE is the zenith radiance, so rather than taking the zenith
4089
+ // as normalising as in CIE, we average over the zenith and two horizon
4090
+ // points.
4091
+ const cosGammaZ = sun_z;
4092
+ const gammaZ = Math.acos(cosGammaZ);
4093
+ const cosGammaH = sun_y;
4094
+ const gammaHP = Math.acos(sun_y);
4095
+ const gammaHN = vl_pi - gammaHP;
4096
+
4097
+ const sc0 = EvalHosekCoeffs(mCoeffsXYZ, 1 * 9, 1.0, gammaZ, cosGammaZ) * 2.0
4098
+ + EvalHosekCoeffs(mCoeffsXYZ, 1 * 9, 0.0, gammaHP, +cosGammaH)
4099
+ + EvalHosekCoeffs(mCoeffsXYZ, 1 * 9, 0.0, gammaHN, -cosGammaH);
4100
+
4101
+ for (let j = 0; j < 3; j++) {
4102
+ // sun flare -> 0 strength/base chroma
4103
+ // Take C/E/F which control sun term to zero
4104
+ mCoeffsXYZ[j * 9 + 3] *= s;
4105
+ mCoeffsXYZ[j * 9 + 5] *= s;
4106
+ mCoeffsXYZ[j * 9 + 6] *= s;
4107
+
4108
+ // Take H back to 0
4109
+ mCoeffsXYZ[j * 9 + 7] *= s;
4110
+
4111
+ // Take I term back to 1
4112
+ mCoeffsXYZ[j * 9 + 2] *= s;
4113
+ mCoeffsXYZ[j * 9 + 2] += is;
4114
+
4115
+ // Take A/B to CIE cloudy sky model: 4, -0.7
4116
+ mCoeffsXYZ[j * 9 + 0] = lerp(mCoeffsXYZ[j * 9 + 0], 4.0, is);
4117
+ mCoeffsXYZ[j * 9 + 1] = lerp(mCoeffsXYZ[j * 9 + 1], -0.7, is);
4118
+ }
4119
+
4120
+ const sc1 = EvalHosekCoeffs(mCoeffsXYZ, 1 * 9, 1.0, gammaZ, cosGammaZ) * 2.0
4121
+ + EvalHosekCoeffs(mCoeffsXYZ, 1 * 9, 0.0, gammaHP, +cosGammaH)
4122
+ + EvalHosekCoeffs(mCoeffsXYZ, 1 * 9, 0.0, gammaHN, -cosGammaH);
4123
+
4124
+ const rescale = sc0 / sc1;
4125
+ vec3.scale(mRadXYZ, mRadXYZ, rescale);
4126
+
4127
+
4128
+ // move back to white point
4129
+ mRadXYZ[0] = lerp(mRadXYZ[0], mRadXYZ[1], is);
4130
+ mRadXYZ[2] = lerp(mRadXYZ[2], mRadXYZ[1], is);
4131
+ }
4132
+
4133
+ }
4134
+
4135
+
4136
+ /**
4137
+ *
4138
+ * @param {number[]} out vec3 in RGB color space
4139
+ * @param {number[]} mCoeffsXYZ float[3][9]
4140
+ * @param {number[]} mRadXYZ vec3
4141
+ * @param {number[]} mToSun vec3
4142
+ * @param {number} direction_x
4143
+ * @param {number} direction_y
4144
+ * @param {number} direction_z
4145
+ */
4146
+ export function sky_hosek_compute_irradiance_by_direction(
4147
+ out,
4148
+ mCoeffsXYZ,
4149
+ mRadXYZ,
4150
+ mToSun,
4151
+ direction_x,
4152
+ direction_y,
4153
+ direction_z,
4154
+ ) {
4155
+ let cosTheta = direction_z;
4156
+ const cosGamma = v3_dot(mToSun[0], mToSun[1], mToSun[2], direction_x, direction_y, direction_z);
4157
+ const gamma = Math.acos(cosGamma);
4158
+
4159
+ if (cosTheta < 0.0)
4160
+ cosTheta = 0.0;
4161
+
4162
+ const x = EvalHosekCoeffs(mCoeffsXYZ, 0, cosTheta, gamma, cosGamma);
4163
+ const y = EvalHosekCoeffs(mCoeffsXYZ, 9, cosTheta, gamma, cosGamma);
4164
+ const z = EvalHosekCoeffs(mCoeffsXYZ, 18, cosTheta, gamma, cosGamma);
4165
+
4166
+ out[0] = x * mRadXYZ[0];
4167
+ out[1] = y * mRadXYZ[1];
4168
+ out[2] = z * mRadXYZ[2];
4169
+
4170
+ XYZ_TO_RGB(out, out);
4171
+ }