@carbonenginejs/runtime 0.1.0-alpha.0 → 0.1.0-alpha.2

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 (935) hide show
  1. package/README.md +58 -125
  2. package/dist/audio/index.js +8 -1
  3. package/dist/audio/index.js.map +1 -1
  4. package/dist/audio/trinity/audio/AudActionLog/AudActionLogCB.js +84 -0
  5. package/dist/audio/trinity/audio/AudActionLog/AudActionLogCB.js.map +1 -0
  6. package/dist/audio/trinity/audio/AudActionLog/AudActionRecord.js +14 -0
  7. package/dist/audio/trinity/audio/AudActionLog/AudActionRecord.js.map +1 -0
  8. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordExecuteActionOnPlayingID.js +26 -0
  9. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordExecuteActionOnPlayingID.js.map +1 -0
  10. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordPostEvent.js +27 -0
  11. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordPostEvent.js.map +1 -0
  12. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetRTPC.js +27 -0
  13. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetRTPC.js.map +1 -0
  14. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetState.js +25 -0
  15. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetState.js.map +1 -0
  16. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetSwitch.js +26 -0
  17. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetSwitch.js.map +1 -0
  18. package/dist/audio/trinity/audio/AudActionLog/IAudActionLog.js +58 -0
  19. package/dist/audio/trinity/audio/AudActionLog/IAudActionLog.js.map +1 -0
  20. package/dist/audio/trinity/audio/AudManager.js +1 -1
  21. package/dist/audio/trinity/audio/AudManager.js.map +1 -1
  22. package/dist/audio/trinity/audio/{AudObstructionOcclusion.js → AudObstructionOcclusion/AudObstructionOcclusion.js} +8 -52
  23. package/dist/audio/trinity/audio/AudObstructionOcclusion/AudObstructionOcclusion.js.map +1 -0
  24. package/dist/audio/trinity/audio/AudObstructionOcclusion/EmitterState.js +17 -0
  25. package/dist/audio/trinity/audio/AudObstructionOcclusion/EmitterState.js.map +1 -0
  26. package/dist/audio/trinity/audio/AudObstructionOcclusion/FadingValue.js +46 -0
  27. package/dist/audio/trinity/audio/AudObstructionOcclusion/FadingValue.js.map +1 -0
  28. package/dist/audio/trinity/index.js +8 -1
  29. package/dist/audio/trinity/index.js.map +1 -1
  30. package/dist/character/CjsCharacterAppearanceConstruction.js +5 -0
  31. package/dist/character/CjsCharacterAppearanceConstruction.js.map +1 -1
  32. package/dist/character/CjsCharacterAppearanceManager.js +14 -0
  33. package/dist/character/CjsCharacterAppearanceManager.js.map +1 -1
  34. package/dist/character/CjsCharacterFoundationConstruction.js +5 -0
  35. package/dist/character/CjsCharacterFoundationConstruction.js.map +1 -1
  36. package/dist/character/CjsCharacterTexturePolicy.js +5 -0
  37. package/dist/character/CjsCharacterTexturePolicy.js.map +1 -1
  38. package/dist/character/gles/CjsCharacterGlesAppearanceAL.js +17 -0
  39. package/dist/character/gles/CjsCharacterGlesAppearanceAL.js.map +1 -1
  40. package/dist/character/gles/CjsCharacterGlesAtlasRenderer.js +2 -0
  41. package/dist/character/gles/CjsCharacterGlesAtlasRenderer.js.map +1 -1
  42. package/dist/character/gles/CjsCharacterGlesFoundationTranslator.js +5 -0
  43. package/dist/character/gles/CjsCharacterGlesFoundationTranslator.js.map +1 -1
  44. package/dist/character/gles/CjsCharacterGlesLegacyConstructionTranslator.js +5 -0
  45. package/dist/character/gles/CjsCharacterGlesLegacyConstructionTranslator.js.map +1 -1
  46. package/dist/character/gles/CjsCharacterGlesMorphDeformation.js +2 -0
  47. package/dist/character/gles/CjsCharacterGlesMorphDeformation.js.map +1 -1
  48. package/dist/character/gles/CjsCharacterGlesPaletteCompatibility.js +5 -0
  49. package/dist/character/gles/CjsCharacterGlesPaletteCompatibility.js.map +1 -1
  50. package/dist/character/gles/CjsCharacterGlesTriangleCoverage.js +5 -0
  51. package/dist/character/gles/CjsCharacterGlesTriangleCoverage.js.map +1 -1
  52. package/dist/character/webgl2/CjsCharacterWebgl2EffectRouter.js +9 -0
  53. package/dist/character/webgl2/CjsCharacterWebgl2EffectRouter.js.map +1 -1
  54. package/dist/global/blue/CjsScriptCallback.js +142 -0
  55. package/dist/global/blue/CjsScriptCallback.js.map +1 -0
  56. package/dist/global/blue/index.js +2 -0
  57. package/dist/global/blue/index.js.map +1 -0
  58. package/dist/global/consts/renderContext/formats.js +51 -1
  59. package/dist/global/consts/renderContext/formats.js.map +1 -1
  60. package/dist/global/consts/renderContext/index.js +2 -2
  61. package/dist/global/consts/renderContext/renderStates.js +16 -1
  62. package/dist/global/consts/renderContext/renderStates.js.map +1 -1
  63. package/dist/global/contracts/index.js +0 -1
  64. package/dist/global/contracts/index.js.map +1 -1
  65. package/dist/global/index.js +4 -3
  66. package/dist/global/index.js.map +1 -1
  67. package/dist/global/math/index.js +2 -0
  68. package/dist/global/math/index.js.map +1 -1
  69. package/dist/global/math/mesh.js +70 -16
  70. package/dist/global/math/mesh.js.map +1 -1
  71. package/dist/global/math/noise.js +47 -68
  72. package/dist/global/math/noise.js.map +1 -1
  73. package/dist/global/math/pool.js +18 -3
  74. package/dist/global/math/pool.js.map +1 -1
  75. package/dist/global/math/random.js +52 -0
  76. package/dist/global/math/random.js.map +1 -0
  77. package/dist/global/math/tri3.js +18 -4
  78. package/dist/global/math/tri3.js.map +1 -1
  79. package/dist/global/schema/CjsSchema.js +20 -2
  80. package/dist/global/schema/CjsSchema.js.map +1 -1
  81. package/dist/global/schema/hydration.js +14 -0
  82. package/dist/global/schema/hydration.js.map +1 -1
  83. package/dist/global/utils/bytes.js +22 -4
  84. package/dist/global/utils/bytes.js.map +1 -1
  85. package/dist/global/utils/checksum.js +80 -0
  86. package/dist/global/utils/checksum.js.map +1 -0
  87. package/dist/global/utils/errors/CjsCancellationError.js +36 -0
  88. package/dist/global/utils/errors/CjsCancellationError.js.map +1 -0
  89. package/dist/global/utils/errors/CjsError.js +21 -52
  90. package/dist/global/utils/errors/CjsError.js.map +1 -1
  91. package/dist/global/utils/errors/abort.js +1 -1
  92. package/dist/global/utils/errors/abort.js.map +1 -1
  93. package/dist/global/utils/errors/index.js +2 -1
  94. package/dist/global/utils/errors/index.js.map +1 -1
  95. package/dist/global/utils/index.js +4 -2
  96. package/dist/global/utils/index.js.map +1 -1
  97. package/dist/index.js +95 -35
  98. package/dist/index.js.map +1 -1
  99. package/dist/input/Tr2MainWindow.js +7 -9
  100. package/dist/input/Tr2MainWindow.js.map +1 -1
  101. package/dist/resource/CjsResMan.js +33 -39
  102. package/dist/resource/CjsResMan.js.map +1 -1
  103. package/dist/resource/CjsResource.js +19 -5
  104. package/dist/resource/CjsResource.js.map +1 -1
  105. package/dist/resource/audio/AudioGeometryResData.js +22 -27
  106. package/dist/resource/audio/AudioGeometryResData.js.map +1 -1
  107. package/dist/resource/audio/CjsAudioRes.js +4 -5
  108. package/dist/resource/audio/CjsAudioRes.js.map +1 -1
  109. package/dist/resource/format/CjsBitReader.js +263 -0
  110. package/dist/resource/format/CjsBitReader.js.map +1 -0
  111. package/dist/resource/format/CjsByteReader.js +130 -125
  112. package/dist/resource/format/CjsByteReader.js.map +1 -1
  113. package/dist/resource/format/CjsFormat.js +11 -4
  114. package/dist/resource/format/CjsFormat.js.map +1 -1
  115. package/dist/resource/format/CjsFormatError.js +37 -1
  116. package/dist/resource/format/CjsFormatError.js.map +1 -1
  117. package/dist/resource/format/CjsResourceProbe.js +41 -37
  118. package/dist/resource/format/CjsResourceProbe.js.map +1 -1
  119. package/dist/resource/format/carbonRecordGuard.js +33 -0
  120. package/dist/resource/format/carbonRecordGuard.js.map +1 -0
  121. package/dist/resource/format/imageSignatures.js +202 -0
  122. package/dist/resource/format/imageSignatures.js.map +1 -0
  123. package/dist/resource/format/index.js +2 -1
  124. package/dist/resource/format/index.js.map +1 -1
  125. package/dist/resource/format/jsonPolicies.js +180 -0
  126. package/dist/resource/format/jsonPolicies.js.map +1 -0
  127. package/dist/resource/formats/black/core/helpers.js +18 -29
  128. package/dist/resource/formats/black/core/helpers.js.map +1 -1
  129. package/dist/resource/formats/bnk/CjsBnkFormat.js +4 -3
  130. package/dist/resource/formats/bnk/CjsBnkFormat.js.map +1 -1
  131. package/dist/resource/formats/bnk/core/WwiseCursor.js +218 -0
  132. package/dist/resource/formats/bnk/core/WwiseCursor.js.map +1 -0
  133. package/dist/resource/formats/bnk/core/busNodes.js +2 -1
  134. package/dist/resource/formats/bnk/core/busNodes.js.map +1 -1
  135. package/dist/resource/formats/bnk/core/effectNodes.js +2 -1
  136. package/dist/resource/formats/bnk/core/effectNodes.js.map +1 -1
  137. package/dist/resource/formats/bnk/core/eventAction.js +15 -93
  138. package/dist/resource/formats/bnk/core/eventAction.js.map +1 -1
  139. package/dist/resource/formats/bnk/core/globalSettings.js +19 -94
  140. package/dist/resource/formats/bnk/core/globalSettings.js.map +1 -1
  141. package/dist/resource/formats/bnk/core/helpers.js +2 -48
  142. package/dist/resource/formats/bnk/core/helpers.js.map +1 -1
  143. package/dist/resource/formats/bnk/core/musicNodes.js +42 -134
  144. package/dist/resource/formats/bnk/core/musicNodes.js.map +1 -1
  145. package/dist/resource/formats/bnk/core/nodeBase.js +20 -111
  146. package/dist/resource/formats/bnk/core/nodeBase.js.map +1 -1
  147. package/dist/resource/formats/bnk/core/sfxNodes.js +2 -1
  148. package/dist/resource/formats/bnk/core/sfxNodes.js.map +1 -1
  149. package/dist/resource/formats/cmf/CjsCmfFormat.js +242 -228
  150. package/dist/resource/formats/cmf/CjsCmfFormat.js.map +1 -1
  151. package/dist/resource/formats/cmf/core/binary.js +54 -60
  152. package/dist/resource/formats/cmf/core/binary.js.map +1 -1
  153. package/dist/resource/formats/dds/CjsDdsFormat.js +5 -3
  154. package/dist/resource/formats/dds/CjsDdsFormat.js.map +1 -1
  155. package/dist/resource/formats/dds/core/bc6h.js +16 -18
  156. package/dist/resource/formats/dds/core/bc6h.js.map +1 -1
  157. package/dist/resource/formats/dds/core/bc7.js +28 -24
  158. package/dist/resource/formats/dds/core/bc7.js.map +1 -1
  159. package/dist/resource/formats/dds/core/helpers.js +7 -133
  160. package/dist/resource/formats/dds/core/helpers.js.map +1 -1
  161. package/dist/resource/formats/dxbc/CjsDxbcFormat.js +3 -2
  162. package/dist/resource/formats/dxbc/CjsDxbcFormat.js.map +1 -1
  163. package/dist/resource/formats/dxbc/core/helpers.js +4 -32
  164. package/dist/resource/formats/dxbc/core/helpers.js.map +1 -1
  165. package/dist/resource/formats/fbx/CjsFbxFormat.js +11 -0
  166. package/dist/resource/formats/fbx/CjsFbxFormat.js.map +1 -1
  167. package/dist/resource/formats/fbx/core/helpers.js +18 -12
  168. package/dist/resource/formats/fbx/core/helpers.js.map +1 -1
  169. package/dist/resource/formats/flac/CjsFlacFormat.js +4 -9
  170. package/dist/resource/formats/flac/CjsFlacFormat.js.map +1 -1
  171. package/dist/resource/formats/flac/core/helpers.js +1 -62
  172. package/dist/resource/formats/flac/core/helpers.js.map +1 -1
  173. package/dist/resource/formats/gif/CjsGifFormat.js +4 -9
  174. package/dist/resource/formats/gif/CjsGifFormat.js.map +1 -1
  175. package/dist/resource/formats/gif/core/helpers.js +1 -63
  176. package/dist/resource/formats/gif/core/helpers.js.map +1 -1
  177. package/dist/resource/formats/gltf/CjsGltfFormat.js +4 -3
  178. package/dist/resource/formats/gltf/CjsGltfFormat.js.map +1 -1
  179. package/dist/resource/formats/gltf/core/helpers.js +3 -19
  180. package/dist/resource/formats/gltf/core/helpers.js.map +1 -1
  181. package/dist/resource/formats/gr2/CjsGr2Format.js +105 -92
  182. package/dist/resource/formats/gr2/CjsGr2Format.js.map +1 -1
  183. package/dist/resource/formats/gr2/core/container.js +1 -10
  184. package/dist/resource/formats/gr2/core/container.js.map +1 -1
  185. package/dist/resource/formats/gr2/core/helpers.js +24 -35
  186. package/dist/resource/formats/gr2/core/helpers.js.map +1 -1
  187. package/dist/resource/formats/gr2/core/shared.js +193 -189
  188. package/dist/resource/formats/gr2/core/shared.js.map +1 -1
  189. package/dist/resource/formats/hlsl/CjsHlslFormat.js +4 -3
  190. package/dist/resource/formats/hlsl/CjsHlslFormat.js.map +1 -1
  191. package/dist/resource/formats/hlsl/core/helpers.js +1 -30
  192. package/dist/resource/formats/hlsl/core/helpers.js.map +1 -1
  193. package/dist/resource/formats/jpeg/CjsJpegFormat.js +5 -3
  194. package/dist/resource/formats/jpeg/CjsJpegFormat.js.map +1 -1
  195. package/dist/resource/formats/jpeg/core/helpers.js +7 -134
  196. package/dist/resource/formats/jpeg/core/helpers.js.map +1 -1
  197. package/dist/resource/formats/mp3/CjsMp3Format.js +4 -9
  198. package/dist/resource/formats/mp3/CjsMp3Format.js.map +1 -1
  199. package/dist/resource/formats/mp3/core/helpers.js +1 -64
  200. package/dist/resource/formats/mp3/core/helpers.js.map +1 -1
  201. package/dist/resource/formats/mp4/CjsMp4Format.js +4 -9
  202. package/dist/resource/formats/mp4/CjsMp4Format.js.map +1 -1
  203. package/dist/resource/formats/mp4/core/helpers.js +1 -73
  204. package/dist/resource/formats/mp4/core/helpers.js.map +1 -1
  205. package/dist/resource/formats/obj/CjsObjFormat.js +4 -3
  206. package/dist/resource/formats/obj/CjsObjFormat.js.map +1 -1
  207. package/dist/resource/formats/obj/core/helpers.js +93 -115
  208. package/dist/resource/formats/obj/core/helpers.js.map +1 -1
  209. package/dist/resource/formats/ogg/CjsOggFormat.js +4 -3
  210. package/dist/resource/formats/ogg/CjsOggFormat.js.map +1 -1
  211. package/dist/resource/formats/ogg/core/helpers.js +1 -15
  212. package/dist/resource/formats/ogg/core/helpers.js.map +1 -1
  213. package/dist/resource/formats/ogg/core/vorbis.js +138 -144
  214. package/dist/resource/formats/ogg/core/vorbis.js.map +1 -1
  215. package/dist/resource/formats/pickle/CjsPickleFormat.js +83 -114
  216. package/dist/resource/formats/pickle/CjsPickleFormat.js.map +1 -1
  217. package/dist/resource/formats/png/CjsPngFormat.js +5 -3
  218. package/dist/resource/formats/png/CjsPngFormat.js.map +1 -1
  219. package/dist/resource/formats/png/core/helpers.js +13 -152
  220. package/dist/resource/formats/png/core/helpers.js.map +1 -1
  221. package/dist/resource/formats/png/core/writer.js +3 -27
  222. package/dist/resource/formats/png/core/writer.js.map +1 -1
  223. package/dist/resource/formats/red/core/helpers.js +19 -29
  224. package/dist/resource/formats/red/core/helpers.js.map +1 -1
  225. package/dist/resource/formats/stl/CjsStlFormat.js +158 -147
  226. package/dist/resource/formats/stl/CjsStlFormat.js.map +1 -1
  227. package/dist/resource/formats/stl/core/helpers.js +44 -66
  228. package/dist/resource/formats/stl/core/helpers.js.map +1 -1
  229. package/dist/resource/formats/tga/CjsTgaFormat.js +5 -3
  230. package/dist/resource/formats/tga/CjsTgaFormat.js.map +1 -1
  231. package/dist/resource/formats/tga/core/helpers.js +7 -153
  232. package/dist/resource/formats/tga/core/helpers.js.map +1 -1
  233. package/dist/resource/formats/vta/CjsVtaFormat.js +4 -3
  234. package/dist/resource/formats/vta/CjsVtaFormat.js.map +1 -1
  235. package/dist/resource/formats/vta/core/helpers.js +1 -17
  236. package/dist/resource/formats/vta/core/helpers.js.map +1 -1
  237. package/dist/resource/formats/wav/CjsWavFormat.js +4 -3
  238. package/dist/resource/formats/wav/CjsWavFormat.js.map +1 -1
  239. package/dist/resource/formats/wav/core/helpers.js +1 -15
  240. package/dist/resource/formats/wav/core/helpers.js.map +1 -1
  241. package/dist/resource/formats/webgl/CjsWebglFormat.js +4 -3
  242. package/dist/resource/formats/webgl/CjsWebglFormat.js.map +1 -1
  243. package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js +69 -9
  244. package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js.map +1 -1
  245. package/dist/resource/formats/webgl/core/glsl/DxbcGlslOperandFormatter.js +12 -3
  246. package/dist/resource/formats/webgl/core/glsl/DxbcGlslOperandFormatter.js.map +1 -1
  247. package/dist/resource/formats/webgl/core/helpers.js +39 -68
  248. package/dist/resource/formats/webgl/core/helpers.js.map +1 -1
  249. package/dist/resource/formats/webgpu/CjsWebgpuFormat.js +4 -3
  250. package/dist/resource/formats/webgpu/CjsWebgpuFormat.js.map +1 -1
  251. package/dist/resource/formats/webgpu/core/helpers.js +4 -30
  252. package/dist/resource/formats/webgpu/core/helpers.js.map +1 -1
  253. package/dist/resource/formats/webm/CjsWebmFormat.js +4 -9
  254. package/dist/resource/formats/webm/CjsWebmFormat.js.map +1 -1
  255. package/dist/resource/formats/webm/core/helpers.js +1 -73
  256. package/dist/resource/formats/webm/core/helpers.js.map +1 -1
  257. package/dist/resource/formats/webp/CjsWebpFormat.js +4 -9
  258. package/dist/resource/formats/webp/CjsWebpFormat.js.map +1 -1
  259. package/dist/resource/formats/webp/core/helpers.js +1 -62
  260. package/dist/resource/formats/webp/core/helpers.js.map +1 -1
  261. package/dist/resource/formats/wem/CjsWemFormat.js +4 -3
  262. package/dist/resource/formats/wem/CjsWemFormat.js.map +1 -1
  263. package/dist/resource/formats/wem/core/bitStream.js +83 -106
  264. package/dist/resource/formats/wem/core/bitStream.js.map +1 -1
  265. package/dist/resource/formats/wem/core/codebookLibrary.js +52 -52
  266. package/dist/resource/formats/wem/core/codebookLibrary.js.map +1 -1
  267. package/dist/resource/formats/wem/core/helpers.js +1 -15
  268. package/dist/resource/formats/wem/core/helpers.js.map +1 -1
  269. package/dist/resource/formats/wem/core/wemToOgg.js +67 -67
  270. package/dist/resource/formats/wem/core/wemToOgg.js.map +1 -1
  271. package/dist/resource/geometry/MeshDecalData.js +23 -25
  272. package/dist/resource/geometry/MeshDecalData.js.map +1 -1
  273. package/dist/resource/geometry/MeshDecalLodData.js +14 -23
  274. package/dist/resource/geometry/MeshDecalLodData.js.map +1 -1
  275. package/dist/resource/geometry/TriGeometryRes.js +299 -284
  276. package/dist/resource/geometry/TriGeometryRes.js.map +1 -1
  277. package/dist/resource/geometry/TriGeometryResAreaData.js +30 -31
  278. package/dist/resource/geometry/TriGeometryResAreaData.js.map +1 -1
  279. package/dist/resource/geometry/TriGeometryResJointData.js +16 -24
  280. package/dist/resource/geometry/TriGeometryResJointData.js.map +1 -1
  281. package/dist/resource/geometry/TriGeometryResLodData.js +50 -41
  282. package/dist/resource/geometry/TriGeometryResLodData.js.map +1 -1
  283. package/dist/resource/geometry/TriGeometryResMeshData.js +32 -32
  284. package/dist/resource/geometry/TriGeometryResMeshData.js.map +1 -1
  285. package/dist/resource/geometry/TriGeometryResSkeletonData.js +14 -23
  286. package/dist/resource/geometry/TriGeometryResSkeletonData.js.map +1 -1
  287. package/dist/resource/geometry/TriJointBinding.js +16 -24
  288. package/dist/resource/geometry/TriJointBinding.js.map +1 -1
  289. package/dist/resource/geometry/TriMorphTargetGeometryConstants.js +22 -27
  290. package/dist/resource/geometry/TriMorphTargetGeometryConstants.js.map +1 -1
  291. package/dist/resource/geometry/TriRtGeometryConstants.js +50 -41
  292. package/dist/resource/geometry/TriRtGeometryConstants.js.map +1 -1
  293. package/dist/resource/geometry/granny/GStateBindingCallbackData.js +12 -22
  294. package/dist/resource/geometry/granny/GStateBindingCallbackData.js.map +1 -1
  295. package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js +30 -31
  296. package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js.map +1 -1
  297. package/dist/resource/index.js +1 -1
  298. package/dist/resource/shader/reflection/Tr2EffectConstant.js +16 -17
  299. package/dist/resource/shader/reflection/Tr2EffectConstant.js.map +1 -1
  300. package/dist/resource/shader/reflection/Tr2EffectDescription.js +26 -28
  301. package/dist/resource/shader/reflection/Tr2EffectDescription.js.map +1 -1
  302. package/dist/resource/shader/reflection/Tr2EffectLibrary.js +24 -25
  303. package/dist/resource/shader/reflection/Tr2EffectLibrary.js.map +1 -1
  304. package/dist/resource/shader/reflection/Tr2EffectParameterAnnotation.js +21 -22
  305. package/dist/resource/shader/reflection/Tr2EffectParameterAnnotation.js.map +1 -1
  306. package/dist/resource/shader/reflection/Tr2EffectResource.js +25 -26
  307. package/dist/resource/shader/reflection/Tr2EffectResource.js.map +1 -1
  308. package/dist/resource/shader/reflection/Tr2EffectStageInput.js +69 -72
  309. package/dist/resource/shader/reflection/Tr2EffectStageInput.js.map +1 -1
  310. package/dist/resource/shader/reflection/Tr2EffectTechnique.js +17 -18
  311. package/dist/resource/shader/reflection/Tr2EffectTechnique.js.map +1 -1
  312. package/dist/resource/shader/reflection/Tr2Pass.js +42 -43
  313. package/dist/resource/shader/reflection/Tr2Pass.js.map +1 -1
  314. package/dist/resource/shader/reflection/Tr2RenderStateSetup.js +26 -5
  315. package/dist/resource/shader/reflection/Tr2RenderStateSetup.js.map +1 -1
  316. package/dist/resource/shader/reflection/carbonRecordFields.js +87 -90
  317. package/dist/resource/shader/reflection/carbonRecordFields.js.map +1 -1
  318. package/dist/resource/shader/sampler/Tr2SamplerSetup.js +32 -34
  319. package/dist/resource/shader/sampler/Tr2SamplerSetup.js.map +1 -1
  320. package/dist/resource/texture/CjsTextureArrayRes.js +1 -6
  321. package/dist/resource/texture/CjsTextureArrayRes.js.map +1 -1
  322. package/dist/resource/texture/Tr2TextureLodManager.js +35 -27
  323. package/dist/resource/texture/Tr2TextureLodManager.js.map +1 -1
  324. package/dist/resource/texture/Tr2TextureLodUpdateRequest.js +16 -24
  325. package/dist/resource/texture/Tr2TextureLodUpdateRequest.js.map +1 -1
  326. package/dist/resource/texture/Tr2TexturePackChannel.js +16 -24
  327. package/dist/resource/texture/Tr2TexturePackChannel.js.map +1 -1
  328. package/dist/resource/texture/Tr2TexturePipeline.js +24 -20
  329. package/dist/resource/texture/Tr2TexturePipeline.js.map +1 -1
  330. package/dist/resource/texture/Tr2TexturePipelineParams.js +14 -23
  331. package/dist/resource/texture/Tr2TexturePipelineParams.js.map +1 -1
  332. package/dist/resource/texture/Tr2TexturePipelineStepCompress.js +18 -25
  333. package/dist/resource/texture/Tr2TexturePipelineStepCompress.js.map +1 -1
  334. package/dist/resource/texture/Tr2TexturePipelineStepGenerateMips.js +11 -16
  335. package/dist/resource/texture/Tr2TexturePipelineStepGenerateMips.js.map +1 -1
  336. package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js +14 -23
  337. package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js.map +1 -1
  338. package/dist/resource/texture/Tr2TexturePipelineStepLoad.js +12 -22
  339. package/dist/resource/texture/Tr2TexturePipelineStepLoad.js.map +1 -1
  340. package/dist/resource/texture/Tr2TexturePipelineStepPack.js +38 -26
  341. package/dist/resource/texture/Tr2TexturePipelineStepPack.js.map +1 -1
  342. package/dist/resource/worker/CjsResManMainThreadLoader.js +2 -5
  343. package/dist/resource/worker/CjsResManMainThreadLoader.js.map +1 -1
  344. package/dist/resource/worker/CjsResManWorkerLoader.js +6 -7
  345. package/dist/resource/worker/CjsResManWorkerLoader.js.map +1 -1
  346. package/dist/resource/worker/protocol.js +18 -1
  347. package/dist/resource/worker/protocol.js.map +1 -1
  348. package/dist/sof/EveSOF.js +2 -222
  349. package/dist/sof/EveSOF.js.map +1 -1
  350. package/dist/sof/SofDocumentBuilder.js +205 -0
  351. package/dist/sof/SofDocumentBuilder.js.map +1 -0
  352. package/dist/sof/faction/ErrSOFFactionColorSetTypeNotFound.js +16 -0
  353. package/dist/sof/faction/ErrSOFFactionColorSetTypeNotFound.js.map +1 -0
  354. package/dist/sof/faction/ErrSOFFactionColorSetTypeUnknown.js +16 -0
  355. package/dist/sof/faction/ErrSOFFactionColorSetTypeUnknown.js.map +1 -0
  356. package/dist/sof/faction/EveSOFDataFactionColorSet.js +3 -27
  357. package/dist/sof/faction/EveSOFDataFactionColorSet.js.map +1 -1
  358. package/dist/sof/faction/index.js +3 -1
  359. package/dist/sof/faction/index.js.map +1 -1
  360. package/dist/sof/generic/ErrSOFAreaShaderNotFound.js +18 -0
  361. package/dist/sof/generic/ErrSOFAreaShaderNotFound.js.map +1 -0
  362. package/dist/sof/generic/ErrSOFDecalShaderNotFound.js +18 -0
  363. package/dist/sof/generic/ErrSOFDecalShaderNotFound.js.map +1 -0
  364. package/dist/sof/generic/ErrSOFMaterialPrefixNotFound.js +21 -0
  365. package/dist/sof/generic/ErrSOFMaterialPrefixNotFound.js.map +1 -0
  366. package/dist/sof/generic/ErrSOFPatternMaterialPrefixNotFound.js +21 -0
  367. package/dist/sof/generic/ErrSOFPatternMaterialPrefixNotFound.js.map +1 -0
  368. package/dist/sof/generic/EveSOFDataGeneric.js +5 -69
  369. package/dist/sof/generic/EveSOFDataGeneric.js.map +1 -1
  370. package/dist/sof/generic/index.js +5 -1
  371. package/dist/sof/generic/index.js.map +1 -1
  372. package/dist/sof/index.js +23 -7
  373. package/dist/sof/index.js.map +1 -1
  374. package/dist/sof/pattern/ErrSOFProjectionNotFound.js +20 -0
  375. package/dist/sof/pattern/ErrSOFProjectionNotFound.js.map +1 -0
  376. package/dist/sof/pattern/EveSOFDataPattern.js +2 -17
  377. package/dist/sof/pattern/EveSOFDataPattern.js.map +1 -1
  378. package/dist/sof/pattern/index.js +2 -1
  379. package/dist/sof/pattern/index.js.map +1 -1
  380. package/dist/sof/shared/ErrSOFAreaTypeNotFound.js +16 -0
  381. package/dist/sof/shared/ErrSOFAreaTypeNotFound.js.map +1 -0
  382. package/dist/sof/shared/ErrSOFLogoSetTypeNotFound.js +16 -0
  383. package/dist/sof/shared/ErrSOFLogoSetTypeNotFound.js.map +1 -0
  384. package/dist/sof/shared/ErrSOFLogoSetTypeUnknown.js +16 -0
  385. package/dist/sof/shared/ErrSOFLogoSetTypeUnknown.js.map +1 -0
  386. package/dist/sof/shared/EveSOFDataArea.js +2 -13
  387. package/dist/sof/shared/EveSOFDataArea.js.map +1 -1
  388. package/dist/sof/shared/EveSOFDataLogoSet.js +3 -27
  389. package/dist/sof/shared/EveSOFDataLogoSet.js.map +1 -1
  390. package/dist/sof/shared/EveSOFDataParameter.js +2 -146
  391. package/dist/sof/shared/EveSOFDataParameter.js.map +1 -1
  392. package/dist/sof/shared/EveSOFDataParameterBool.js +40 -0
  393. package/dist/sof/shared/EveSOFDataParameterBool.js.map +1 -0
  394. package/dist/sof/shared/EveSOFDataParameterColor.js +36 -0
  395. package/dist/sof/shared/EveSOFDataParameterColor.js.map +1 -0
  396. package/dist/sof/shared/EveSOFDataParameterFloat.js +37 -0
  397. package/dist/sof/shared/EveSOFDataParameterFloat.js.map +1 -0
  398. package/dist/sof/shared/EveSOFDataParameterInt.js +37 -0
  399. package/dist/sof/shared/EveSOFDataParameterInt.js.map +1 -0
  400. package/dist/sof/shared/EveSOFDataParameterVector2.js +37 -0
  401. package/dist/sof/shared/EveSOFDataParameterVector2.js.map +1 -0
  402. package/dist/sof/shared/EveSOFDataParameterVector3.js +37 -0
  403. package/dist/sof/shared/EveSOFDataParameterVector3.js.map +1 -0
  404. package/dist/sof/shared/{EveSOFDataSpotlightAttachment.js → EveSOFDataSpotLightAttachment.js} +1 -1
  405. package/dist/sof/shared/{EveSOFDataSpotlightAttachment.js.map → EveSOFDataSpotLightAttachment.js.map} +1 -1
  406. package/dist/sof/shared/index.js +13 -4
  407. package/dist/sof/shared/index.js.map +1 -1
  408. package/dist/sof/sofDocumentValues.js +33 -0
  409. package/dist/sof/sofDocumentValues.js.map +1 -0
  410. package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js +168 -0
  411. package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js.map +1 -0
  412. package/dist/trinity/controllers/{ITr2Controller.js → ITr2Controller/ITr2Controller.js} +2 -134
  413. package/dist/trinity/controllers/ITr2Controller/ITr2Controller.js.map +1 -0
  414. package/dist/trinity/controllers/Tr2Controller.js +2 -1
  415. package/dist/trinity/controllers/Tr2Controller.js.map +1 -1
  416. package/dist/trinity/controllers/Tr2ControllerReference.js +2 -1
  417. package/dist/trinity/controllers/Tr2ControllerReference.js.map +1 -1
  418. package/dist/trinity/controllers/action/ITr2ControllerAction.js +2 -1
  419. package/dist/trinity/controllers/action/ITr2ControllerAction.js.map +1 -1
  420. package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js +10 -9
  421. package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js.map +1 -1
  422. package/dist/trinity/controllers/expression/CjsControllerExpressionCompileError.js +26 -0
  423. package/dist/trinity/controllers/expression/CjsControllerExpressionCompileError.js.map +1 -0
  424. package/dist/trinity/controllers/expression/CjsControllerExpressionEvaluateError.js +24 -0
  425. package/dist/trinity/controllers/expression/CjsControllerExpressionEvaluateError.js.map +1 -0
  426. package/dist/trinity/controllers/expression/CjsControllerExpressionParser.js +387 -0
  427. package/dist/trinity/controllers/expression/CjsControllerExpressionParser.js.map +1 -0
  428. package/dist/trinity/controllers/expression/CjsControllerExpressionProgram.js +4 -1011
  429. package/dist/trinity/controllers/expression/CjsControllerExpressionProgram.js.map +1 -1
  430. package/dist/trinity/controllers/expression/expressionRuntime.js +605 -0
  431. package/dist/trinity/controllers/expression/expressionRuntime.js.map +1 -0
  432. package/dist/trinity/controllers/index.js +5 -2
  433. package/dist/trinity/controllers/index.js.map +1 -1
  434. package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js +2 -1
  435. package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js.map +1 -1
  436. package/dist/trinity/controllers/timeline/Tr2TimelineController.js +2 -1
  437. package/dist/trinity/controllers/timeline/Tr2TimelineController.js.map +1 -1
  438. package/dist/trinity/core/ITr2Updateable.js +2 -1
  439. package/dist/trinity/core/ITr2Updateable.js.map +1 -1
  440. package/dist/trinity/core/Tr2Blitter.js +6 -3
  441. package/dist/trinity/core/Tr2Blitter.js.map +1 -1
  442. package/dist/trinity/core/Tr2Denoiser.js +256 -0
  443. package/dist/trinity/core/Tr2Denoiser.js.map +1 -0
  444. package/dist/trinity/core/Tr2GpuResourcePool/GpuResourceHandle.js +115 -0
  445. package/dist/trinity/core/Tr2GpuResourcePool/GpuResourceHandle.js.map +1 -0
  446. package/dist/trinity/core/Tr2GpuResourcePool/TextureSize2D.js +79 -0
  447. package/dist/trinity/core/Tr2GpuResourcePool/TextureSize2D.js.map +1 -0
  448. package/dist/trinity/core/{Tr2GpuResourcePool.js → Tr2GpuResourcePool/Tr2GpuResourcePool.js} +63 -151
  449. package/dist/trinity/core/Tr2GpuResourcePool/Tr2GpuResourcePool.js.map +1 -0
  450. package/dist/trinity/core/{Tr2QuadRenderer.js → Tr2QuadRenderer/Tr2QuadRenderer.js} +8 -30
  451. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRenderer.js.map +1 -0
  452. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js +38 -0
  453. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js.map +1 -0
  454. package/dist/trinity/core/Tr2RenderUtils.js +20 -3
  455. package/dist/trinity/core/Tr2RenderUtils.js.map +1 -1
  456. package/dist/trinity/core/Tr2Renderer.js +146 -1
  457. package/dist/trinity/core/Tr2Renderer.js.map +1 -1
  458. package/dist/trinity/core/Tr2ShadowMap.js +135 -14
  459. package/dist/trinity/core/Tr2ShadowMap.js.map +1 -1
  460. package/dist/trinity/core/{Tr2TextureArray.js → Tr2TextureArray/Tr2TextureArray.js} +3 -58
  461. package/dist/trinity/core/Tr2TextureArray/Tr2TextureArray.js.map +1 -0
  462. package/dist/trinity/core/Tr2TextureArray/Tr2TextureArrayElement.js +61 -0
  463. package/dist/trinity/core/Tr2TextureArray/Tr2TextureArrayElement.js.map +1 -0
  464. package/dist/trinity/core/batch/TriRenderBatch/DefaultKeyGenerator.js +26 -0
  465. package/dist/trinity/core/batch/TriRenderBatch/DefaultKeyGenerator.js.map +1 -0
  466. package/dist/trinity/core/batch/TriRenderBatch/EffectKeyGenerator.js +29 -0
  467. package/dist/trinity/core/batch/TriRenderBatch/EffectKeyGenerator.js.map +1 -0
  468. package/dist/trinity/core/batch/{ITriRenderBatchAccumulator.js → TriRenderBatch/ITriRenderBatchAccumulator.js} +30 -30
  469. package/dist/trinity/core/batch/TriRenderBatch/ITriRenderBatchAccumulator.js.map +1 -0
  470. package/dist/trinity/core/batch/{Tr2RenderBatch.js → TriRenderBatch/Tr2RenderBatch.js} +81 -154
  471. package/dist/trinity/core/batch/TriRenderBatch/Tr2RenderBatch.js.map +1 -0
  472. package/dist/trinity/core/batch/{TriRenderBatchAccumulator.js → TriRenderBatch/TriRenderBatchAccumulator.js} +7 -38
  473. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAccumulator.js.map +1 -0
  474. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlock.js +61 -0
  475. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlock.js.map +1 -0
  476. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlocksWithSharedMaterial.js +40 -0
  477. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlocksWithSharedMaterial.js.map +1 -0
  478. package/dist/trinity/core/batch/TriRenderBatchMap.js +6 -1
  479. package/dist/trinity/core/batch/TriRenderBatchMap.js.map +1 -1
  480. package/dist/trinity/core/context/Tr2RenderContext.js +75 -57
  481. package/dist/trinity/core/context/Tr2RenderContext.js.map +1 -1
  482. package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityEvent.js +67 -0
  483. package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityEvent.js.map +1 -0
  484. package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityResults.js +50 -0
  485. package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityResults.js.map +1 -0
  486. package/dist/trinity/core/device/Tr2DepthStencil.js +186 -13
  487. package/dist/trinity/core/device/Tr2DepthStencil.js.map +1 -1
  488. package/dist/trinity/core/device/{Tr2RingBuffer.js → Tr2RingBuffer/Tr2RingBuffer.js} +27 -79
  489. package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBuffer.js.map +1 -0
  490. package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBufferOffsets.js +114 -0
  491. package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBufferOffsets.js.map +1 -0
  492. package/dist/trinity/core/device/{Tr2SuballocatedBuffer.js → Tr2SuballocatedBuffer/Tr2SuballocatedBuffer.js} +5 -59
  493. package/dist/trinity/core/device/Tr2SuballocatedBuffer/Tr2SuballocatedBuffer.js.map +1 -0
  494. package/dist/trinity/core/device/Tr2SuballocatedBuffer/Tr2SuballocatedBufferAllocation.js +80 -0
  495. package/dist/trinity/core/device/Tr2SuballocatedBuffer/Tr2SuballocatedBufferAllocation.js.map +1 -0
  496. package/dist/trinity/core/index.js +42 -15
  497. package/dist/trinity/core/index.js.map +1 -1
  498. package/dist/trinity/core/lighting/Tr2LightManager.js +6 -1
  499. package/dist/trinity/core/lighting/Tr2LightManager.js.map +1 -1
  500. package/dist/trinity/core/mesh/{ITr2ImpostorSource.js → ITr2ImpostorSource/ITr2ImpostorSource.js} +6 -28
  501. package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSource.js.map +1 -0
  502. package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSourceImpostorHash.js +32 -0
  503. package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSourceImpostorHash.js.map +1 -0
  504. package/dist/trinity/core/mesh/{ITr2InstanceData.js → ITr2InstanceData/ITr2InstanceData.js} +5 -29
  505. package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceData.js.map +1 -0
  506. package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceDataInstanceData.js +33 -0
  507. package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceDataInstanceData.js.map +1 -0
  508. package/dist/trinity/core/mesh/Tr2DirectInstanceData.js +2 -1
  509. package/dist/trinity/core/mesh/Tr2DirectInstanceData.js.map +1 -1
  510. package/dist/trinity/core/mesh/Tr2MeshBase.js +7 -1
  511. package/dist/trinity/core/mesh/Tr2MeshBase.js.map +1 -1
  512. package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js +2 -1
  513. package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js.map +1 -1
  514. package/dist/trinity/core/mesh/TriGeometryResAllocations.js +6 -2
  515. package/dist/trinity/core/mesh/TriGeometryResAllocations.js.map +1 -1
  516. package/dist/trinity/core/rawData/CjsConstantLayout.js +196 -0
  517. package/dist/trinity/core/rawData/CjsConstantLayout.js.map +1 -0
  518. package/dist/trinity/core/rawData/CjsPerFrameLayouts.js +8 -3
  519. package/dist/trinity/core/rawData/CjsPerFrameLayouts.js.map +1 -1
  520. package/dist/trinity/core/rawData/CjsPerObjectLayouts.js +40 -732
  521. package/dist/trinity/core/rawData/CjsPerObjectLayouts.js.map +1 -1
  522. package/dist/trinity/core/rawData/layouts/CjsEveBasicLayout.js +34 -0
  523. package/dist/trinity/core/rawData/layouts/CjsEveBasicLayout.js.map +1 -0
  524. package/dist/trinity/core/rawData/layouts/CjsEveBoosterSetLayout.js +69 -0
  525. package/dist/trinity/core/rawData/layouts/CjsEveBoosterSetLayout.js.map +1 -0
  526. package/dist/trinity/core/rawData/layouts/CjsEveChildBoosterSetLayout.js +59 -0
  527. package/dist/trinity/core/rawData/layouts/CjsEveChildBoosterSetLayout.js.map +1 -0
  528. package/dist/trinity/core/rawData/layouts/CjsEveChildBulletStormLayout.js +37 -0
  529. package/dist/trinity/core/rawData/layouts/CjsEveChildBulletStormLayout.js.map +1 -0
  530. package/dist/trinity/core/rawData/layouts/CjsEveChildSpherePinLayout.js +44 -0
  531. package/dist/trinity/core/rawData/layouts/CjsEveChildSpherePinLayout.js.map +1 -0
  532. package/dist/trinity/core/rawData/layouts/CjsEveLensflareLayout.js +31 -0
  533. package/dist/trinity/core/rawData/layouts/CjsEveLensflareLayout.js.map +1 -0
  534. package/dist/trinity/core/rawData/layouts/CjsEveMissileWarheadLayout.js +29 -0
  535. package/dist/trinity/core/rawData/layouts/CjsEveMissileWarheadLayout.js.map +1 -0
  536. package/dist/trinity/core/rawData/layouts/CjsEvePerObjectLayout.js +39 -0
  537. package/dist/trinity/core/rawData/layouts/CjsEvePerObjectLayout.js.map +1 -0
  538. package/dist/trinity/core/rawData/layouts/CjsEveSceneStaticParticlesLayout.js +30 -0
  539. package/dist/trinity/core/rawData/layouts/CjsEveSceneStaticParticlesLayout.js.map +1 -0
  540. package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectDecalLayout.js +78 -0
  541. package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectDecalLayout.js.map +1 -0
  542. package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectLayout.js +169 -0
  543. package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectLayout.js.map +1 -0
  544. package/dist/trinity/core/rawData/layouts/CjsEveSpacePerObjectLayout.js +107 -0
  545. package/dist/trinity/core/rawData/layouts/CjsEveSpacePerObjectLayout.js.map +1 -0
  546. package/dist/trinity/core/rawData/layouts/CjsEveSpherePinLayout.js +44 -0
  547. package/dist/trinity/core/rawData/layouts/CjsEveSpherePinLayout.js.map +1 -0
  548. package/dist/trinity/core/rawData/layouts/CjsEveStretch2Layout.js +34 -0
  549. package/dist/trinity/core/rawData/layouts/CjsEveStretch2Layout.js.map +1 -0
  550. package/dist/trinity/core/rawData/layouts/CjsEveTurretSetLayout.js +82 -0
  551. package/dist/trinity/core/rawData/layouts/CjsEveTurretSetLayout.js.map +1 -0
  552. package/dist/trinity/core/rawData/layouts/CjsTr2PerObjectLayout.js +42 -0
  553. package/dist/trinity/core/rawData/layouts/CjsTr2PerObjectLayout.js.map +1 -0
  554. package/dist/trinity/core/rawData/perObjectData/EveBasicPerObjectData.js +55 -0
  555. package/dist/trinity/core/rawData/perObjectData/EveBasicPerObjectData.js.map +1 -0
  556. package/dist/trinity/core/rawData/perObjectData/EveBoosterSetPerObjectData.js +59 -0
  557. package/dist/trinity/core/rawData/perObjectData/EveBoosterSetPerObjectData.js.map +1 -0
  558. package/dist/trinity/core/rawData/perObjectData/EveChildBoosterSetPerObjectData.js +59 -0
  559. package/dist/trinity/core/rawData/perObjectData/EveChildBoosterSetPerObjectData.js.map +1 -0
  560. package/dist/trinity/core/rawData/perObjectData/EveChildBulletStormPerObjectData.js +55 -0
  561. package/dist/trinity/core/rawData/perObjectData/EveChildBulletStormPerObjectData.js.map +1 -0
  562. package/dist/trinity/core/rawData/perObjectData/EveChildSpherePinPerObjectData.js +55 -0
  563. package/dist/trinity/core/rawData/perObjectData/EveChildSpherePinPerObjectData.js.map +1 -0
  564. package/dist/trinity/core/rawData/perObjectData/EveDecalPerObjectData.js +59 -0
  565. package/dist/trinity/core/rawData/perObjectData/EveDecalPerObjectData.js.map +1 -0
  566. package/dist/trinity/core/rawData/perObjectData/EveLensflarePerObjectData.js +55 -0
  567. package/dist/trinity/core/rawData/perObjectData/EveLensflarePerObjectData.js.map +1 -0
  568. package/dist/trinity/core/rawData/perObjectData/EveMissileWarheadPerObjectData.js +55 -0
  569. package/dist/trinity/core/rawData/perObjectData/EveMissileWarheadPerObjectData.js.map +1 -0
  570. package/dist/trinity/core/rawData/perObjectData/EveSceneStaticParticlesPerObjectData.js +55 -0
  571. package/dist/trinity/core/rawData/perObjectData/EveSceneStaticParticlesPerObjectData.js.map +1 -0
  572. package/dist/trinity/core/rawData/perObjectData/EveSpherePinPerObjectData.js +55 -0
  573. package/dist/trinity/core/rawData/perObjectData/EveSpherePinPerObjectData.js.map +1 -0
  574. package/dist/trinity/core/rawData/perObjectData/EveTurretSetPerObjectData.js +59 -0
  575. package/dist/trinity/core/rawData/perObjectData/EveTurretSetPerObjectData.js.map +1 -0
  576. package/dist/trinity/core/rawData/perObjectData/StretchPerObjectData.js +55 -0
  577. package/dist/trinity/core/rawData/perObjectData/StretchPerObjectData.js.map +1 -0
  578. package/dist/trinity/core/rawData/{Tr2PerObjectData.js → perObjectData/Tr2PerObjectData.js} +110 -62
  579. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectData.js.map +1 -0
  580. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js +104 -0
  581. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js.map +1 -0
  582. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js +87 -0
  583. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js.map +1 -0
  584. package/dist/trinity/core/variable/TriVariable.js +83 -83
  585. package/dist/trinity/core/variable/TriVariable.js.map +1 -1
  586. package/dist/trinity/core/vertex/{Tr2VertexDefinition.js → Tr2VertexDefinition/Tr2VertexDefinition.js} +4 -20
  587. package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinition.js.map +1 -0
  588. package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinitionItem.js +29 -0
  589. package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinitionItem.js.map +1 -0
  590. package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js +116 -36
  591. package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js.map +1 -1
  592. package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js +50 -92
  593. package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js.map +1 -1
  594. package/dist/trinity/eve/EveModularObjectModifier.js +9 -5
  595. package/dist/trinity/eve/EveModularObjectModifier.js.map +1 -1
  596. package/dist/trinity/eve/IEveInheritPropertiesOwner.js +2 -1
  597. package/dist/trinity/eve/IEveInheritPropertiesOwner.js.map +1 -1
  598. package/dist/trinity/eve/IEveSpaceObject2.js +2 -1
  599. package/dist/trinity/eve/IEveSpaceObject2.js.map +1 -1
  600. package/dist/trinity/eve/IEveTransform.js +2 -1
  601. package/dist/trinity/eve/IEveTransform.js.map +1 -1
  602. package/dist/trinity/eve/attachment/banner/EveBannerSet.js +2 -2
  603. package/dist/trinity/eve/attachment/banner/EveBannerSet.js.map +1 -1
  604. package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js +109 -133
  605. package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js.map +1 -1
  606. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js +40 -0
  607. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js.map +1 -0
  608. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js +1 -1
  609. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js.map +1 -1
  610. package/dist/trinity/eve/attachment/decal/DecalMeshCache.js +2 -14
  611. package/dist/trinity/eve/attachment/decal/DecalMeshCache.js.map +1 -1
  612. package/dist/trinity/eve/attachment/decal/DecalMeshCacheMeshBuffers.js +18 -0
  613. package/dist/trinity/eve/attachment/decal/DecalMeshCacheMeshBuffers.js.map +1 -0
  614. package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js +1 -1
  615. package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js.map +1 -1
  616. package/dist/trinity/eve/attachment/haze/EveHazeSet.js +1 -1
  617. package/dist/trinity/eve/attachment/haze/EveHazeSet.js.map +1 -1
  618. package/dist/trinity/eve/attachment/plane/EvePlaneSet.js +1 -1
  619. package/dist/trinity/eve/attachment/plane/EvePlaneSet.js.map +1 -1
  620. package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js +2 -2
  621. package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js.map +1 -1
  622. package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js +1 -1
  623. package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js.map +1 -1
  624. package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js +4 -2
  625. package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js.map +1 -1
  626. package/dist/trinity/eve/attachment/turrets/EveTurretSet.js +143 -139
  627. package/dist/trinity/eve/attachment/turrets/EveTurretSet.js.map +1 -1
  628. package/dist/trinity/eve/camera/EveCamera.js +1 -1
  629. package/dist/trinity/eve/camera/EveCamera.js.map +1 -1
  630. package/dist/trinity/eve/child/EveChildBoosterSet.js +12 -1
  631. package/dist/trinity/eve/child/EveChildBoosterSet.js.map +1 -1
  632. package/dist/trinity/eve/child/EveChildCloud2.js +178 -151
  633. package/dist/trinity/eve/child/EveChildCloud2.js.map +1 -1
  634. package/dist/trinity/eve/child/EveChildContainer.js +141 -141
  635. package/dist/trinity/eve/child/EveChildContainer.js.map +1 -1
  636. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js +87 -0
  637. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js.map +1 -0
  638. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js +46 -0
  639. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js.map +1 -0
  640. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js +35 -0
  641. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js.map +1 -0
  642. package/dist/trinity/eve/child/{EveChildInstancedMeshes.js → EveChildInstancedMeshes/EveChildInstancedMeshes.js} +42 -163
  643. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshes.js.map +1 -0
  644. package/dist/trinity/eve/child/EveChildMesh.js +218 -218
  645. package/dist/trinity/eve/child/EveChildMesh.js.map +1 -1
  646. package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js +53 -0
  647. package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js.map +1 -0
  648. package/dist/trinity/eve/child/{EveChildPartData.js → EveChildPartData/EveChildPartDataPartData.js} +9 -45
  649. package/dist/trinity/eve/child/EveChildPartData/EveChildPartDataPartData.js.map +1 -0
  650. package/dist/trinity/eve/child/EveChildParticleSystem.js +30 -29
  651. package/dist/trinity/eve/child/EveChildParticleSystem.js.map +1 -1
  652. package/dist/trinity/eve/child/EveChildTransform.js +5 -0
  653. package/dist/trinity/eve/child/EveChildTransform.js.map +1 -1
  654. package/dist/trinity/eve/child/EveChildTurret.js +7 -0
  655. package/dist/trinity/eve/child/EveChildTurret.js.map +1 -1
  656. package/dist/trinity/eve/index.js +10 -4
  657. package/dist/trinity/eve/index.js.map +1 -1
  658. package/dist/trinity/eve/lights/Tr2Light.js +5 -0
  659. package/dist/trinity/eve/lights/Tr2Light.js.map +1 -1
  660. package/dist/trinity/eve/overlays/overlayBatches.js +6 -1
  661. package/dist/trinity/eve/overlays/overlayBatches.js.map +1 -1
  662. package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js +4 -4
  663. package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js.map +1 -1
  664. package/dist/trinity/eve/renderable/stretch/EveStretch2.js +76 -71
  665. package/dist/trinity/eve/renderable/stretch/EveStretch2.js.map +1 -1
  666. package/dist/trinity/eve/renderable/stretch/EveStretch3.js +1 -1
  667. package/dist/trinity/eve/renderable/stretch/EveStretch3.js.map +1 -1
  668. package/dist/trinity/eve/spaceObject/EveShip2.js +3 -3
  669. package/dist/trinity/eve/spaceObject/EveShip2.js.map +1 -1
  670. package/dist/trinity/eve/spaceObject/EveSpaceObject2.js +408 -407
  671. package/dist/trinity/eve/spaceObject/EveSpaceObject2.js.map +1 -1
  672. package/dist/trinity/eve/ui/EveTacticalOverlay.js +1 -1
  673. package/dist/trinity/eve/ui/EveTacticalOverlay.js.map +1 -1
  674. package/dist/trinity/eve/ui/lines/EveCurveLineSet.js +9 -9
  675. package/dist/trinity/eve/ui/lines/EveCurveLineSet.js.map +1 -1
  676. package/dist/trinity/eve/ui/lines/EveLineSet.js +27 -25
  677. package/dist/trinity/eve/ui/lines/EveLineSet.js.map +1 -1
  678. package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js +3 -2
  679. package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js.map +1 -1
  680. package/dist/trinity/generated/index.js +0 -1
  681. package/dist/trinity/generated/index.js.map +1 -1
  682. package/dist/trinity/generated/trinityCore/index.js +0 -1
  683. package/dist/trinity/generated/trinityCore/index.js.map +1 -1
  684. package/dist/trinity/index.js +59 -23
  685. package/dist/trinity/index.js.map +1 -1
  686. package/dist/trinity/particle/{ITr2GenericEmitter.js → ITr2GenericEmitter/ITr2GenericEmitter.js} +4 -32
  687. package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitter.js.map +1 -0
  688. package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitterUpdateArguments.js +36 -0
  689. package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitterUpdateArguments.js.map +1 -0
  690. package/dist/trinity/particle/Tr2ParticleSystem.js +4 -2
  691. package/dist/trinity/particle/Tr2ParticleSystem.js.map +1 -1
  692. package/dist/trinity/particle/element/Tr2ParticleElementData.js +15 -4
  693. package/dist/trinity/particle/element/Tr2ParticleElementData.js.map +1 -1
  694. package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js +21 -20
  695. package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js.map +1 -1
  696. package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js +23 -22
  697. package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js.map +1 -1
  698. package/dist/trinity/particle/emitter/Tr2StaticEmitter.js +14 -13
  699. package/dist/trinity/particle/emitter/Tr2StaticEmitter.js.map +1 -1
  700. package/dist/trinity/particle/index.js +2 -1
  701. package/dist/trinity/particle/index.js.map +1 -1
  702. package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js +7 -1
  703. package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js.map +1 -1
  704. package/dist/trinity/shader/Tr2Effect.js +131 -58
  705. package/dist/trinity/shader/Tr2Effect.js.map +1 -1
  706. package/dist/trinity/shader/Tr2EffectStateManager.js +17 -5
  707. package/dist/trinity/shader/Tr2EffectStateManager.js.map +1 -1
  708. package/dist/trinity/shader/Tr2Material.js +21 -4
  709. package/dist/trinity/shader/Tr2Material.js.map +1 -1
  710. package/dist/trinity/shader/material/Tr2EffectPassParameters.js +4 -1
  711. package/dist/trinity/shader/material/Tr2EffectPassParameters.js.map +1 -1
  712. package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js +2 -2
  713. package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js.map +1 -1
  714. package/dist/trinityal/Tr2BufferAL/Tr2BufferDescriptionAL.js +79 -0
  715. package/dist/trinityal/Tr2BufferAL/Tr2BufferDescriptionAL.js.map +1 -0
  716. package/dist/trinityal/{Tr2DeviceResourceAL.js → Tr2DeviceResourceAL/Tr2BaseDeviceResourceAL.js} +77 -79
  717. package/dist/trinityal/Tr2DeviceResourceAL/Tr2BaseDeviceResourceAL.js.map +1 -0
  718. package/dist/trinityal/Tr2DeviceResourceAL/Tr2DeviceResourceAL.js +24 -0
  719. package/dist/trinityal/Tr2DeviceResourceAL/Tr2DeviceResourceAL.js.map +1 -0
  720. package/dist/trinityal/Tr2DrawUPHelper.js +2 -1
  721. package/dist/trinityal/Tr2DrawUPHelper.js.map +1 -1
  722. package/dist/trinityal/Tr2HalHelperStructures/Tr2MsaaDesc.js +45 -0
  723. package/dist/trinityal/Tr2HalHelperStructures/Tr2MsaaDesc.js.map +1 -0
  724. package/dist/trinityal/Tr2HalHelperStructures/Tr2SamplerDescription.js +154 -0
  725. package/dist/trinityal/Tr2HalHelperStructures/Tr2SamplerDescription.js.map +1 -0
  726. package/dist/trinityal/Tr2HalHelperStructures/Tr2SubresourceData.js +48 -0
  727. package/dist/trinityal/Tr2HalHelperStructures/Tr2SubresourceData.js.map +1 -0
  728. package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureCoordBox.js +75 -0
  729. package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureCoordBox.js.map +1 -0
  730. package/dist/trinityal/{Tr2HalHelperStructures.js → Tr2HalHelperStructures/Tr2TextureSubresource.js} +11 -115
  731. package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureSubresource.js.map +1 -0
  732. package/dist/trinityal/Tr2HalHelperStructures/Tr2Viewport.js +51 -0
  733. package/dist/trinityal/Tr2HalHelperStructures/Tr2Viewport.js.map +1 -0
  734. package/dist/trinityal/{Tr2RenderPassAL.js → Tr2RenderPassAL/Tr2ColorAttachment.js} +5 -28
  735. package/dist/trinityal/Tr2RenderPassAL/Tr2ColorAttachment.js.map +1 -0
  736. package/dist/trinityal/Tr2RenderPassAL/Tr2DepthAttachment.js +38 -0
  737. package/dist/trinityal/Tr2RenderPassAL/Tr2DepthAttachment.js.map +1 -0
  738. package/dist/trinityal/Tr2ResourceSetAL/Tr2RegisterMapAL.js +80 -0
  739. package/dist/trinityal/Tr2ResourceSetAL/Tr2RegisterMapAL.js.map +1 -0
  740. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetAL.js +76 -0
  741. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetAL.js.map +1 -0
  742. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetALStub.js +96 -0
  743. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetALStub.js.map +1 -0
  744. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetDescriptionAL.js +196 -0
  745. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetDescriptionAL.js.map +1 -0
  746. package/dist/trinityal/index.js +22 -9
  747. package/dist/trinityal/index.js.map +1 -1
  748. package/dist/trinityal/stub/Tr2BufferALStub.js +86 -141
  749. package/dist/trinityal/stub/Tr2BufferALStub.js.map +1 -1
  750. package/dist/trinityal/stub/Tr2CapsALStub.js +17 -0
  751. package/dist/trinityal/stub/Tr2CapsALStub.js.map +1 -1
  752. package/dist/trinityal/stub/Tr2ConstantBufferALStub.js +57 -41
  753. package/dist/trinityal/stub/Tr2ConstantBufferALStub.js.map +1 -1
  754. package/dist/trinityal/stub/Tr2FenceALStub.js +18 -2
  755. package/dist/trinityal/stub/Tr2FenceALStub.js.map +1 -1
  756. package/dist/trinityal/stub/Tr2GpuTimerALStub.js +97 -0
  757. package/dist/trinityal/stub/Tr2GpuTimerALStub.js.map +1 -0
  758. package/dist/trinityal/stub/Tr2OcclusionQueryALStub.js +124 -0
  759. package/dist/trinityal/stub/Tr2OcclusionQueryALStub.js.map +1 -0
  760. package/dist/trinityal/stub/Tr2PipelineStatsQueryALStub/Tr2PipelineStatsQueryALStub.js +146 -0
  761. package/dist/trinityal/stub/Tr2PipelineStatsQueryALStub/Tr2PipelineStatsQueryALStub.js.map +1 -0
  762. package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2BindlessResourcesAL.js +28 -0
  763. package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2BindlessResourcesAL.js.map +1 -0
  764. package/dist/trinityal/stub/{Tr2RenderContextALStub.js → Tr2RenderContextALStub/Tr2RenderContextALStub.js} +70 -75
  765. package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2RenderContextALStub.js.map +1 -0
  766. package/dist/trinityal/stub/Tr2SamplerStateALStub.js +47 -31
  767. package/dist/trinityal/stub/Tr2SamplerStateALStub.js.map +1 -1
  768. package/dist/trinityal/stub/Tr2ShaderALStub.js +61 -45
  769. package/dist/trinityal/stub/Tr2ShaderALStub.js.map +1 -1
  770. package/dist/trinityal/stub/Tr2ShaderProgramALStub.js +51 -33
  771. package/dist/trinityal/stub/Tr2ShaderProgramALStub.js.map +1 -1
  772. package/dist/trinityal/stub/Tr2SwapChainALStub.js +61 -45
  773. package/dist/trinityal/stub/Tr2SwapChainALStub.js.map +1 -1
  774. package/dist/trinityal/stub/Tr2TextureALStub.js +188 -171
  775. package/dist/trinityal/stub/Tr2TextureALStub.js.map +1 -1
  776. package/dist/trinityal/stub/Tr2VertexLayoutALStub.js +43 -27
  777. package/dist/trinityal/stub/Tr2VertexLayoutALStub.js.map +1 -1
  778. package/dist/trinityal/stub/{Tr2VideoAdapterInfoALStub.js → Tr2VideoAdapterInfoStub.js} +16 -1
  779. package/dist/trinityal/stub/Tr2VideoAdapterInfoStub.js.map +1 -0
  780. package/dist/trinityal/stub/index.js +8 -4
  781. package/dist/trinityal/stub/index.js.map +1 -1
  782. package/dist/trinityal/vertexLayoutMatch.js +2 -2
  783. package/dist/trinityal/vertexLayoutMatch.js.map +1 -1
  784. package/dist/trinityal/webgpu/CjsWebgpuBufferAL.js +105 -90
  785. package/dist/trinityal/webgpu/CjsWebgpuBufferAL.js.map +1 -1
  786. package/dist/trinityal/webgpu/CjsWebgpuCapsAL.js +17 -0
  787. package/dist/trinityal/webgpu/CjsWebgpuCapsAL.js.map +1 -1
  788. package/dist/trinityal/webgpu/CjsWebgpuConstantBufferAL.js +15 -0
  789. package/dist/trinityal/webgpu/CjsWebgpuConstantBufferAL.js.map +1 -1
  790. package/dist/trinityal/webgpu/CjsWebgpuDevice.js +2 -2
  791. package/dist/trinityal/webgpu/CjsWebgpuDevice.js.map +1 -1
  792. package/dist/trinityal/webgpu/CjsWebgpuRenderContextAL.js +900 -938
  793. package/dist/trinityal/webgpu/CjsWebgpuRenderContextAL.js.map +1 -1
  794. package/dist/trinityal/webgpu/CjsWebgpuResourceSetAL.js +56 -60
  795. package/dist/trinityal/webgpu/CjsWebgpuResourceSetAL.js.map +1 -1
  796. package/dist/trinityal/webgpu/CjsWebgpuSamplerStateAL.js +16 -1
  797. package/dist/trinityal/webgpu/CjsWebgpuSamplerStateAL.js.map +1 -1
  798. package/dist/trinityal/webgpu/CjsWebgpuShaderAL.js +100 -379
  799. package/dist/trinityal/webgpu/CjsWebgpuShaderAL.js.map +1 -1
  800. package/dist/trinityal/webgpu/CjsWebgpuShaderProgramAL.js +330 -0
  801. package/dist/trinityal/webgpu/CjsWebgpuShaderProgramAL.js.map +1 -0
  802. package/dist/trinityal/webgpu/CjsWebgpuTextureAL.js +15 -0
  803. package/dist/trinityal/webgpu/CjsWebgpuTextureAL.js.map +1 -1
  804. package/dist/trinityal/webgpu/core/{constantArena.js → CjsWebgpuConstantArena.js} +1 -1
  805. package/dist/trinityal/webgpu/core/CjsWebgpuConstantArena.js.map +1 -0
  806. package/dist/trinityal/webgpu/core/{batchGroups.js → CjsWebgpuEncodeState.js} +1 -1
  807. package/dist/trinityal/webgpu/core/CjsWebgpuEncodeState.js.map +1 -0
  808. package/dist/trinityal/webgpu/core/{perFrameSource.js → CjsWebgpuPerFrameSource.js} +1 -1
  809. package/dist/trinityal/webgpu/core/CjsWebgpuPerFrameSource.js.map +1 -0
  810. package/dist/trinityal/webgpu/core/{pipelineCache.js → CjsWebgpuPipelineCache.js} +1 -1
  811. package/dist/trinityal/webgpu/core/CjsWebgpuPipelineCache.js.map +1 -0
  812. package/dist/trinityal/webgpu/core/{psoDescription.js → CjsWebgpuPsoDescription.js} +2 -2
  813. package/dist/trinityal/webgpu/core/CjsWebgpuPsoDescription.js.map +1 -0
  814. package/dist/trinityal/webgpu/core/{renderTarget.js → CjsWebgpuRenderTarget.js} +1 -1
  815. package/dist/trinityal/webgpu/core/CjsWebgpuRenderTarget.js.map +1 -0
  816. package/dist/trinityal/webgpu/core/{samplerSource.js → CjsWebgpuSamplerSource.js} +1 -1
  817. package/dist/trinityal/webgpu/core/CjsWebgpuSamplerSource.js.map +1 -0
  818. package/dist/trinityal/webgpu/core/{textureSource.js → CjsWebgpuTextureSource.js} +1 -1
  819. package/dist/trinityal/webgpu/core/CjsWebgpuTextureSource.js.map +1 -0
  820. package/dist/trinityal/webgpu/core/{trinityBatchDispatcher.js → CjsWebgpuTrinityBatchDispatcher.js} +4 -4
  821. package/dist/trinityal/webgpu/core/CjsWebgpuTrinityBatchDispatcher.js.map +1 -0
  822. package/dist/trinityal/webgpu/core/{trinityBatchResolver.js → CjsWebgpuTrinityBatchResolver.js} +81 -81
  823. package/dist/trinityal/webgpu/core/CjsWebgpuTrinityBatchResolver.js.map +1 -0
  824. package/dist/trinityal/webgpu/core/{trinityPassEncoder.js → CjsWebgpuTrinityPassEncoder.js} +2 -2
  825. package/dist/trinityal/webgpu/core/CjsWebgpuTrinityPassEncoder.js.map +1 -0
  826. package/dist/trinityal/webgpu/core/{workQueue.js → CjsWebgpuWorkQueue.js} +1 -1
  827. package/dist/trinityal/webgpu/core/CjsWebgpuWorkQueue.js.map +1 -0
  828. package/dist/trinityal/webgpu/internal.js +12 -11
  829. package/dist/trinityal/webgpu/internal.js.map +1 -1
  830. package/docs/audio/reference/classes/trinity.md +44 -34
  831. package/docs/character/architecture.md +276 -0
  832. package/docs/character/reference/character-appearance-plans.md +30 -66
  833. package/docs/character/reference/prepared-libraries.md +14 -30
  834. package/docs/global/reference/api.md +2 -1
  835. package/docs/global/reference/classes/README.md +53 -71
  836. package/docs/global/reference/classes/dropped.md +16 -0
  837. package/docs/resource/README.md +19 -15
  838. package/docs/resource/architecture.md +9 -2
  839. package/docs/resource/concepts/format-capabilities.md +124 -80
  840. package/docs/resource/concepts/shared-format-helpers.md +94 -0
  841. package/docs/resource/formats/README.md +230 -224
  842. package/docs/resource/formats/bitknit2.md +221 -0
  843. package/docs/resource/formats/carbon-effect-container.md +184 -269
  844. package/docs/resource/formats/gr2.md +6 -1
  845. package/docs/resource/formats/schemabound.md +28 -48
  846. package/docs/resource/formats/static.md +70 -97
  847. package/docs/resource/formats/webgl/carbon-constant-layouts.md +8 -8
  848. package/docs/resource/formats/webgl/decl-io.md +165 -256
  849. package/docs/resource/formats/webgl/memory-structured.md +64 -142
  850. package/docs/resource/formats/webgl/texture-sample.md +109 -138
  851. package/docs/resource/formats/webgpu/formats/carbon-webgpu.md +38 -69
  852. package/docs/resource/formats/webgpu/guides/effect-packaging.md +54 -116
  853. package/docs/resource/formats/webgpu/reference/api.md +64 -67
  854. package/docs/resource/formats/webgpu/reference/wgsl-compatibility.md +158 -345
  855. package/docs/resource/reference/classes/core.md +256 -236
  856. package/docs/resource/reference/classes/formats.md +1668 -1672
  857. package/docs/resource/reference/workers.md +4 -2
  858. package/docs/sof/reference/classes/core.md +1 -1
  859. package/docs/sof/reference/classes/faction.md +2 -2
  860. package/docs/sof/reference/classes/generic.md +4 -4
  861. package/docs/sof/reference/classes/pattern.md +1 -1
  862. package/docs/sof/reference/classes/shared.md +10 -10
  863. package/docs/trinity/architecture.md +55 -44
  864. package/docs/trinity/concepts/generated-class-lifecycle.md +10 -15
  865. package/docs/trinity/reference/classes/curves-and-utilities.md +496 -506
  866. package/docs/trinity/reference/classes/dropped.md +0 -189
  867. package/docs/trinity/reference/classes/eve-runtime.md +8 -8
  868. package/docs/trinity/reference/classes/generated.md +0 -10
  869. package/docs/trinity/reference/classes/particle.md +2 -2
  870. package/docs/trinity/reference/classes/trinity-core.md +1554 -1256
  871. package/docs/trinity/reference/implementation-status.md +50 -75
  872. package/docs/trinity/reference/main-semantic-extraction.md +13 -17
  873. package/docs/trinityal/reference/classes/README.md +77 -27
  874. package/docs/trinityal/reference/classes/dropped.md +92 -0
  875. package/docs/trinityal/webgpu/README.md +3 -1
  876. package/docs/trinityal/webgpu/architecture.md +121 -228
  877. package/docs/trinityal/webgpu/reference/api.md +5 -5
  878. package/docs/trinityal/webgpu/reference/classes/README.md +13 -13
  879. package/format-notices/gr2/NOTICE +18 -12
  880. package/format-notices/gr2/THIRD-PARTY-NOTICES.md +5 -5
  881. package/package.json +4 -1
  882. package/dist/audio/trinity/audio/AudActionLog.js +0 -173
  883. package/dist/audio/trinity/audio/AudActionLog.js.map +0 -1
  884. package/dist/audio/trinity/audio/AudObstructionOcclusion.js.map +0 -1
  885. package/dist/global/contracts/CjsScriptCallback.js +0 -94
  886. package/dist/global/contracts/CjsScriptCallback.js.map +0 -1
  887. package/dist/trinity/controllers/ITr2Controller.js.map +0 -1
  888. package/dist/trinity/core/Tr2GpuResourcePool.js.map +0 -1
  889. package/dist/trinity/core/Tr2QuadRenderer.js.map +0 -1
  890. package/dist/trinity/core/Tr2TextureArray.js.map +0 -1
  891. package/dist/trinity/core/batch/ITriRenderBatchAccumulator.js.map +0 -1
  892. package/dist/trinity/core/batch/Tr2RenderBatch.js.map +0 -1
  893. package/dist/trinity/core/batch/TriRenderBatchAccumulator.js.map +0 -1
  894. package/dist/trinity/core/context/CjsShadowMapExecutor.js +0 -43
  895. package/dist/trinity/core/context/CjsShadowMapExecutor.js.map +0 -1
  896. package/dist/trinity/core/context/CjsVolumetricsExecutor.js +0 -64
  897. package/dist/trinity/core/context/CjsVolumetricsExecutor.js.map +0 -1
  898. package/dist/trinity/core/context/Tr2VisibilityResults.js +0 -109
  899. package/dist/trinity/core/context/Tr2VisibilityResults.js.map +0 -1
  900. package/dist/trinity/core/device/Tr2RingBuffer.js.map +0 -1
  901. package/dist/trinity/core/device/Tr2SuballocatedBuffer.js.map +0 -1
  902. package/dist/trinity/core/mesh/ITr2ImpostorSource.js.map +0 -1
  903. package/dist/trinity/core/mesh/ITr2InstanceData.js.map +0 -1
  904. package/dist/trinity/core/rawData/Tr2PerObjectData.js.map +0 -1
  905. package/dist/trinity/core/rawData/constantLayout.js +0 -175
  906. package/dist/trinity/core/rawData/constantLayout.js.map +0 -1
  907. package/dist/trinity/core/vertex/Tr2VertexDefinition.js.map +0 -1
  908. package/dist/trinity/eve/child/EveChildInstancedMeshes.js.map +0 -1
  909. package/dist/trinity/eve/child/EveChildPartData.js.map +0 -1
  910. package/dist/trinity/generated/trinityCore/Tr2Denoiser.js +0 -47
  911. package/dist/trinity/generated/trinityCore/Tr2Denoiser.js.map +0 -1
  912. package/dist/trinity/particle/ITr2GenericEmitter.js.map +0 -1
  913. package/dist/trinityal/Tr2DeviceResourceAL.js.map +0 -1
  914. package/dist/trinityal/Tr2HalHelperStructures.js.map +0 -1
  915. package/dist/trinityal/Tr2RenderPassAL.js.map +0 -1
  916. package/dist/trinityal/Tr2ResourceSetAL.js +0 -419
  917. package/dist/trinityal/Tr2ResourceSetAL.js.map +0 -1
  918. package/dist/trinityal/Tr2SamplerDescription.js +0 -72
  919. package/dist/trinityal/Tr2SamplerDescription.js.map +0 -1
  920. package/dist/trinityal/stub/Tr2QueryALStub.js +0 -326
  921. package/dist/trinityal/stub/Tr2QueryALStub.js.map +0 -1
  922. package/dist/trinityal/stub/Tr2RenderContextALStub.js.map +0 -1
  923. package/dist/trinityal/stub/Tr2VideoAdapterInfoALStub.js.map +0 -1
  924. package/dist/trinityal/webgpu/core/batchGroups.js.map +0 -1
  925. package/dist/trinityal/webgpu/core/constantArena.js.map +0 -1
  926. package/dist/trinityal/webgpu/core/perFrameSource.js.map +0 -1
  927. package/dist/trinityal/webgpu/core/pipelineCache.js.map +0 -1
  928. package/dist/trinityal/webgpu/core/psoDescription.js.map +0 -1
  929. package/dist/trinityal/webgpu/core/renderTarget.js.map +0 -1
  930. package/dist/trinityal/webgpu/core/samplerSource.js.map +0 -1
  931. package/dist/trinityal/webgpu/core/textureSource.js.map +0 -1
  932. package/dist/trinityal/webgpu/core/trinityBatchDispatcher.js.map +0 -1
  933. package/dist/trinityal/webgpu/core/trinityBatchResolver.js.map +0 -1
  934. package/dist/trinityal/webgpu/core/trinityPassEncoder.js.map +0 -1
  935. package/dist/trinityal/webgpu/core/workQueue.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"EveBoosterSet2.js","sources":["../../../../../../src/trinity/eve/attachment/booster/EveBoosterSet2.js"],"sourcesContent":["// Source: trinity/trinity/Eve/SpaceObject/Attachments/EveBoosterSet2.h\r\n// Source: trinity/trinity/Eve/SpaceObject/Attachments/EveBoosterSet2.cpp\r\n// Source: trinity/trinity/Eve/SpaceObject/Attachments/EveBoosterSet2_Blue.cpp\r\nimport { mat4 } from \"#math/mat4\";\r\nimport { sph3 } from \"#math/sph3\";\r\nimport { vec3 } from \"#math/vec3\";\r\nimport { vec4 } from \"#math/vec4\";\r\nimport { CjsModel } from \"#model\";\r\nimport { carbon, impl, io, type } from \"#schema\";\r\nimport { EveEntity } from \"../../EveEntity.js\";\r\nimport { EveBoosterSet2Renderable } from \"./EveBoosterSet2Renderable.js\";\r\nimport { EveComponentType } from \"../../EveComponentTypes.js\";\r\nimport {\r\n AddBoosterLights,\r\n CreateBoosterFlares,\r\n GenerateBoosterLightPhase\r\n} from \"./boosterUtilities.js\";\r\n\r\n\r\n/**\r\n * One authored booster placement: its local transform, functionality inputs,\r\n * atlas slots, light scale and whether it emits a trail.\r\n */\r\n@type.define({ className: \"EveBoosterSet2Item\", family: \"eve/attachment/boosters\" })\r\nexport class EveBoosterSet2Item extends CjsModel\r\n{\r\n @io.rebuild(\"packedGeometry\")\r\n @io.persist\r\n @type.mat4\r\n transform = mat4.create();\r\n\r\n @io.rebuild(\"packedGeometry\")\r\n @io.persist\r\n @type.vec4\r\n functionality = vec4.fromValues(0, 1, 1, 1);\r\n\r\n @io.rebuild(\"packedGeometry\")\r\n @io.persist\r\n @type.boolean\r\n hasTrail = true;\r\n\r\n @io.rebuild(\"packedGeometry\")\r\n @io.persist\r\n @type.uint32\r\n atlasIndex0 = 0;\r\n\r\n @io.rebuild(\"packedGeometry\")\r\n @io.persist\r\n @type.uint32\r\n atlasIndex1 = 0;\r\n\r\n @io.rebuild(\"packedGeometry\")\r\n @io.persist\r\n @type.float32\r\n lightScale = 1;\r\n}\r\n\r\n\r\n/**\r\n * Owns a hull's authored booster placements and derives from them the glow\r\n * flares, trails, set bounding sphere and flickering point lights that its\r\n * renderable instances draw.\r\n */\r\n@type.define({ className: \"EveBoosterSet2\", family: \"eve/attachment/boosters\" })\r\nexport class EveBoosterSet2 extends EveEntity\r\n{\r\n\r\n /** m_flareLodEnabled (bool) [READWRITE, NOTIFY] */\r\n @io.notify\r\n @io.readwrite\r\n @type.boolean\r\n flareLodEnabled = true;\r\n\r\n /** m_staticTrailLength (float) [READWRITE, PERSIST, NOTIFY] */\r\n @io.flag(\"staticTrailOffsets\")\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n staticTrailLength = 0;\r\n\r\n /** m_trailsStaticOffsets[0] (Vector3) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.vec3\r\n trailsStaticOffsets0 = vec3.create();\r\n\r\n /** m_trailsStaticOffsets[1] (Vector3) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.vec3\r\n trailsStaticOffsets1 = vec3.create();\r\n\r\n /** m_trailsStaticOffsets[2] (Vector3) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.vec3\r\n trailsStaticOffsets2 = vec3.create();\r\n\r\n /** m_trailsStaticOffsets[3] (Vector3) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.vec3\r\n trailsStaticOffsets3 = vec3.create();\r\n\r\n /** m_trailsStaticOffsets[4] (Vector3) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.vec3\r\n trailsStaticOffsets4 = vec3.create();\r\n\r\n /** m_lightOffset (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n lightOffset = 0;\r\n\r\n /** m_lightFlickerAmplitude (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n lightFlickerAmplitude = 0;\r\n\r\n /** m_lightFlickerFrequency (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n lightFlickerFrequency = 0;\r\n\r\n /** m_lightRadius (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n lightRadius = 0;\r\n\r\n /** m_lightColor (Color) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.color\r\n lightColor = vec4.create();\r\n\r\n /** m_lightWarpRadius (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n lightWarpRadius = 0;\r\n\r\n /** m_lightWarpColor (Color) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.color\r\n lightWarpColor = vec4.create();\r\n\r\n /** m_display (bool) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.boolean\r\n display = true;\r\n\r\n /** m_alwaysOnIntensity (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n alwaysOnIntensity = 1;\r\n\r\n /** m_warpGlowColor (Color) [READWRITE, PERSIST, NOTIFY] */\r\n @io.flag(\"flares\")\r\n @io.notify\r\n @io.persist\r\n @type.color\r\n warpGlowColor = vec4.create();\r\n\r\n /** m_glowColor (Color) [READWRITE, PERSIST, NOTIFY] */\r\n @io.flag(\"flares\")\r\n @io.notify\r\n @io.persist\r\n @type.color\r\n glowColor = vec4.create();\r\n\r\n /** m_haloColor (Color) [READWRITE, PERSIST, NOTIFY] */\r\n @io.flag(\"flares\")\r\n @io.notify\r\n @io.persist\r\n @type.color\r\n haloColor = vec4.create();\r\n\r\n /** m_warpHaloColor (Color) [READWRITE, PERSIST, NOTIFY] */\r\n @io.flag(\"flares\")\r\n @io.notify\r\n @io.persist\r\n @type.color\r\n warpHaloColor = vec4.create();\r\n\r\n /** m_effectFar (Tr2EffectPtr) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.objectRef(\"Tr2Effect\")\r\n effectFar = null;\r\n\r\n /** m_effect (Tr2EffectPtr) [READWRITE, PERSIST] */\r\n @io.rebuild(\"packedGeometry\")\r\n @io.persist\r\n @type.objectRef(\"Tr2Effect\")\r\n effect = null;\r\n\r\n /** m_boosterRenderables (PEveBoosterSet2RenderableVector) [READ] */\r\n @io.read\r\n @type.list(\"EveBoosterSet2Renderable\")\r\n instances = [];\r\n\r\n /** m_maxVel (float) [READWRITE] */\r\n @io.readwrite\r\n @type.float32\r\n maxVel = 250;\r\n\r\n /** m_glowScale (float) [READWRITE, PERSIST, NOTIFY] */\r\n @io.flag(\"flares\")\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n glowScale = 1;\r\n\r\n /** m_symHaloScale (float) [READWRITE, PERSIST, NOTIFY] */\r\n @io.flag(\"flares\")\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n symHaloScale = 1;\r\n\r\n /** m_haloScaleX (float) [READWRITE, PERSIST, NOTIFY] */\r\n @io.flag(\"flares\")\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n haloScaleX = 1;\r\n\r\n /** m_haloScaleY (float) [READWRITE, PERSIST, NOTIFY] */\r\n @io.flag(\"flares\")\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n haloScaleY = 1;\r\n\r\n /** m_trailsSmoothing (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n trailsSmoothing = 10;\r\n\r\n /** m_glows (EveSpriteSetPtr) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.objectRef(\"EveSpriteSet\")\r\n glows = null;\r\n\r\n /** m_maxSize (float) [READ] */\r\n @io.read\r\n @type.float32\r\n maxSize = 0;\r\n\r\n /** m_boosterBoundingSphere.xyz (Vector4) [READ] */\r\n @io.read\r\n @type.vec3\r\n boosterBoundingSphereCenter = vec3.create();\r\n\r\n /** m_boosterBoundingSphere.w (float) [READ] */\r\n @io.read\r\n @type.float32\r\n boosterBoundingSphereRadius = 0;\r\n\r\n /** m_warpIntensity (float) [READWRITE] */\r\n @io.readwrite\r\n @type.float32\r\n warpIntensity = 0;\r\n\r\n /** m_physicsUpdate (bool) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.boolean\r\n physicsUpdate = true;\r\n\r\n /** m_destinyUpdate (bool) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.boolean\r\n destinyUpdate = true;\r\n\r\n /** m_alwaysOn (bool) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.boolean\r\n alwaysOn = false;\r\n\r\n /** m_trails (EveTrailsSetPtr) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.objectRef(\"EveTrailsSet\")\r\n trails = null;\r\n\r\n @io.flag(\"items\")\r\n @io.rebuild(\"packedGeometry\")\r\n @io.notify\r\n @io.persist\r\n @type.list(\"EveBoosterSet2Item\")\r\n items = [];\r\n\r\n #singleBoosters = [];\r\n\r\n #revision = 0;\r\n\r\n /** m_glowsVisible (cpp:682) - starts visible, recomputed by UpdateVisibility. */\r\n #glowsVisible = true;\r\n\r\n /**\r\n * Derives the runtime boosters, flares and trails from the authored items and\r\n * binds every renderable instance back to this set.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n Initialize()\r\n {\r\n EveBoosterSet2.#RebuildItems(this);\r\n for (const renderable of this.instances)\r\n {\r\n renderable?.SetBoosterSet?.(this);\r\n }\r\n this.#revision++;\r\n return true;\r\n }\r\n\r\n /**\r\n * Applies whichever of the items, staticTrailOffsets and flares rebuild flags\r\n * a property change raised, rebuilding only what that flag covers, and bumps\r\n * the revision.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n OnModified(_options = {})\r\n {\r\n const flags = this.__state.flags;\r\n if (flags.has(\"items\"))\r\n {\r\n EveBoosterSet2.#RebuildItems(this);\r\n }\r\n if (flags.has(\"staticTrailOffsets\"))\r\n {\r\n EveBoosterSet2.#UpdateStaticTrailOffsets(this);\r\n }\r\n if (flags.delete(\"flares\") && this.glows)\r\n {\r\n this.glows.Clear();\r\n for (const booster of this.#singleBoosters)\r\n {\r\n CreateBoosterFlares(this.glows, booster.transform, EveBoosterSet2.#GetFlareParams(this));\r\n }\r\n this.glows.Rebuild?.();\r\n }\r\n this.#revision++;\r\n return true;\r\n }\r\n\r\n /**\r\n * Resizes the renderable instance list - one instance per ship drawing this\r\n * booster set - keeping at least one, and rebinds every instance; returns the\r\n * resulting count.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n SetCount(count)\r\n {\r\n const requested = Math.trunc(Number(count));\r\n const target = Number.isFinite(requested) ? Math.max(1, requested) : 1;\r\n if (this.instances.length > target)\r\n {\r\n this.instances.length = target;\r\n }\r\n while (this.instances.length < target)\r\n {\r\n const renderable = new EveBoosterSet2Renderable();\r\n renderable.SetBoosterSet(this);\r\n this.instances.push(renderable);\r\n }\r\n for (const renderable of this.instances)\r\n {\r\n renderable?.SetBoosterSet?.(this);\r\n }\r\n this.#revision++;\r\n return this.instances.length;\r\n }\r\n\r\n /**\r\n * Updates one renderable instance from the parent's transform, speed,\r\n * acceleration and rotation, creating the first instance when the set has\r\n * none; returns false when boosterInstance is out of range.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n Update(\r\n deltaTime,\r\n time,\r\n parentMatrix = mat4.create(),\r\n parentSpeed = 0,\r\n parentAcceleration = EveBoosterSet2.#zero,\r\n parentRotation = EveBoosterSet2.#identityRotation,\r\n boosterInstance = 0\r\n )\r\n {\r\n if (!this.instances.length)\r\n {\r\n this.SetCount(1);\r\n }\r\n const index = Number(boosterInstance) >>> 0;\r\n if (index >= this.instances.length)\r\n {\r\n return false;\r\n }\r\n this.instances[index]?.Update(\r\n deltaTime,\r\n time,\r\n parentMatrix,\r\n parentSpeed,\r\n parentAcceleration,\r\n parentRotation\r\n );\r\n return true;\r\n }\r\n\r\n /**\r\n * Advances every instance's trail spline and then the trail set itself;\r\n * returns false when no trail set is attached.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n UpdateTrails(deltaTime, time)\r\n {\r\n if (!this.trails)\r\n {\r\n return false;\r\n }\r\n let updated = false;\r\n for (const renderable of this.instances)\r\n {\r\n updated = renderable?.UpdateTrails?.(deltaTime, time) || updated;\r\n }\r\n this.trails.Update(time);\r\n return updated;\r\n }\r\n\r\n /**\r\n * Drops the authored items along with everything derived from them - runtime\r\n * boosters, glows, trails, bounding sphere and max size.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n Clear()\r\n {\r\n this.items.length = 0;\r\n EveBoosterSet2.#ClearRuntimeItems(this);\r\n this.#revision++;\r\n }\r\n\r\n /**\r\n * Appends an authored booster placement and immediately derives its runtime\r\n * booster, flares and trail; returns the new item's index and throws a\r\n * TypeError when localMatrix is not sixteen values.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n Add(\r\n localMatrix,\r\n functionality,\r\n hasTrail,\r\n atlasIndex0,\r\n atlasIndex1,\r\n lightScale = 1\r\n )\r\n {\r\n if (!localMatrix || localMatrix.length !== 16)\r\n {\r\n throw new TypeError(\"EveBoosterSet2 transforms must contain 16 values\");\r\n }\r\n const item = new EveBoosterSet2Item();\r\n mat4.copy(item.transform, localMatrix);\r\n vec4.copy(item.functionality, functionality ?? EveBoosterSet2.#defaultFunctionality);\r\n item.hasTrail = !!hasTrail;\r\n item.atlasIndex0 = Number(atlasIndex0) >>> 0;\r\n item.atlasIndex1 = Number(atlasIndex1) >>> 0;\r\n item.lightScale = Number(lightScale) || 0;\r\n this.items.push(item);\r\n EveBoosterSet2.#AddRuntimeItem(this, item);\r\n this.#revision++;\r\n return this.items.length - 1;\r\n }\r\n\r\n /**\r\n * Empties the derived booster records, glows and trails and resets the set\r\n * bounding sphere and max size, leaving the authored items alone.\r\n */\r\n static #ClearRuntimeItems(owner)\r\n {\r\n owner.#singleBoosters.length = 0;\r\n owner.glows?.Clear();\r\n owner.trails?.Clear();\r\n vec3.set(owner.boosterBoundingSphereCenter, 0, 0, 0);\r\n owner.boosterBoundingSphereRadius = 0;\r\n owner.maxSize = 0;\r\n }\r\n\r\n /**\r\n * Discards the derived state and re-derives it from every authored item, then\r\n * clears both the items and flares rebuild flags.\r\n */\r\n static #RebuildItems(owner)\r\n {\r\n EveBoosterSet2.#ClearRuntimeItems(owner);\r\n for (const item of owner.items)\r\n {\r\n EveBoosterSet2.#AddRuntimeItem(owner, item);\r\n }\r\n owner.__state.flags.delete(\"items\");\r\n owner.__state.flags.delete(\"flares\");\r\n }\r\n\r\n /**\r\n * Derives one runtime booster from an authored item - scale from the larger of\r\n * the transform's X and Y basis lengths, a light position pushed back along -Z\r\n * by lightOffset, and a random light flicker phase - then creates its flares\r\n * and its trail (offset back half a unit along the booster axis), and grows\r\n * the set bounding sphere and max size.\r\n */\r\n static #AddRuntimeItem(owner, item)\r\n {\r\n const transform = mat4.clone(item.transform);\r\n const scale = Math.max(\r\n Math.hypot(transform[0], transform[1], transform[2]),\r\n Math.hypot(transform[4], transform[5], transform[6])\r\n );\r\n const lightPosition = vec3.transformMat4(\r\n vec3.create(),\r\n [0, 0, -owner.lightOffset],\r\n transform\r\n );\r\n const booster = {\r\n transform,\r\n functionality: vec4.clone(item.functionality),\r\n lightPosition,\r\n lightRadius: scale * item.lightScale,\r\n lightPhase: GenerateBoosterLightPhase(),\r\n atlasIndex0: item.atlasIndex0,\r\n atlasIndex1: item.atlasIndex1,\r\n hasTrail: item.hasTrail\r\n };\r\n owner.#singleBoosters.push(booster);\r\n\r\n if (owner.glows)\r\n {\r\n CreateBoosterFlares(owner.glows, booster.transform, EveBoosterSet2.#GetFlareParams(owner));\r\n }\r\n if (owner.trails && item.hasTrail)\r\n {\r\n const trailTransform = mat4.clone(transform);\r\n trailTransform[12] -= trailTransform[8] * 0.5;\r\n trailTransform[13] -= trailTransform[9] * 0.5;\r\n trailTransform[14] -= trailTransform[10] * 0.5;\r\n owner.trails.Add?.(trailTransform, scale);\r\n }\r\n\r\n EveBoosterSet2.#UpdateBoundingSphere(owner, transform.subarray(12, 15));\r\n owner.maxSize = Math.max(owner.maxSize, scale);\r\n }\r\n\r\n /**\r\n * Sets the whole flare description in one call: glow and halo scales with\r\n * their normal and warp colours, plus the always-on flag.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n SetData(\r\n glowScale,\r\n glowColor,\r\n warpGlowColor,\r\n symHaloScale,\r\n haloScaleX,\r\n haloScaleY,\r\n haloColor,\r\n warpHaloColor,\r\n alwaysOn\r\n )\r\n {\r\n this.glowScale = Number(glowScale);\r\n vec4.copy(this.glowColor, glowColor);\r\n vec4.copy(this.warpGlowColor, warpGlowColor);\r\n this.symHaloScale = Number(symHaloScale);\r\n this.haloScaleX = Number(haloScaleX);\r\n this.haloScaleY = Number(haloScaleY);\r\n vec4.copy(this.haloColor, haloColor);\r\n vec4.copy(this.warpHaloColor, warpHaloColor);\r\n this.alwaysOn = !!alwaysOn;\r\n }\r\n\r\n /**\r\n * Sets the whole booster point-light description in one call: light offset,\r\n * flicker amplitude and frequency, and the normal and warp radius and colour.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n SetLightData(offset, flickerAmplitude, flickerFrequency, radius, color, warpRadius, warpColor)\r\n {\r\n this.lightOffset = Number(offset);\r\n this.lightFlickerAmplitude = Number(flickerAmplitude);\r\n this.lightFlickerFrequency = Number(flickerFrequency);\r\n this.lightRadius = Number(radius);\r\n vec4.copy(this.lightColor, color);\r\n this.lightWarpRadius = Number(warpRadius);\r\n vec4.copy(this.lightWarpColor, warpColor);\r\n }\r\n\r\n /**\r\n * Sets the near and far booster effects; the renderable's boosterHighLod flag\r\n * picks between them at draw time.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n SetEffect(effect, effectFar)\r\n {\r\n this.effect = effect ?? null;\r\n this.effectFar = effectFar ?? null;\r\n }\r\n\r\n /**\r\n * Attaches the sprite set that the per-booster flares are added to; without\r\n * one no flares are created.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n SetGlow(glow)\r\n {\r\n this.glows = glow ?? null;\r\n }\r\n\r\n /**\r\n * Attaches the trails set that per-booster trails are added to; without one no\r\n * trails are created.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n SetTrail(trail)\r\n {\r\n this.trails = trail ?? null;\r\n }\r\n\r\n /**\r\n * The intensity of one renderable instance, or the mean across every instance\r\n * when no index is given; zero when the set has no instances.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n GetBoosterIntensity(index = null)\r\n {\r\n if (index !== null && index !== undefined)\r\n {\r\n return this.instances[Number(index) >>> 0]?.GetIntensity?.() ?? 0;\r\n }\r\n if (!this.instances.length)\r\n {\r\n return 0;\r\n }\r\n let intensity = 0;\r\n for (const renderable of this.instances)\r\n {\r\n intensity += renderable?.GetIntensity?.() ?? 0;\r\n }\r\n return intensity / this.instances.length;\r\n }\r\n\r\n /** The union of every renderable's world bounding sphere. Carbon has no\r\n * set-level equivalent (each renderable answers for itself); `out` is\r\n * required so a caller can keep its own scratch. An empty set leaves `out`\r\n * empty (sph3 radius -1) rather than reporting a zero-radius sphere at the\r\n * origin. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Set-level aggregate with no Carbon counterpart; sph3.union replaces a hand-rolled merge.\")\r\n GetBoundingSphere(out)\r\n {\r\n sph3.empty(out);\r\n for (const renderable of this.instances)\r\n {\r\n if (renderable?.GetBoundingSphere)\r\n {\r\n renderable.GetBoundingSphere(EveBoosterSet2.#sphereScratch);\r\n sph3.union(out, out, EveBoosterSet2.#sphereScratch);\r\n }\r\n }\r\n return out;\r\n }\r\n\r\n /**\r\n * The derived runtime boosters as deep copies - transform, functionality,\r\n * light position, radius and phase, atlas indices and trail flag - safe for an\r\n * adapter to keep.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n GetBoosterData()\r\n {\r\n return this.#singleBoosters.map(booster => ({\r\n transform: mat4.clone(booster.transform),\r\n functionality: vec4.clone(booster.functionality),\r\n lightPosition: vec3.clone(booster.lightPosition),\r\n lightRadius: booster.lightRadius,\r\n lightPhase: booster.lightPhase,\r\n atlasIndex0: booster.atlasIndex0,\r\n atlasIndex1: booster.atlasIndex1,\r\n hasTrail: booster.hasTrail\r\n }));\r\n }\r\n\r\n /**\r\n * A counter bumped whenever the authored items or the instance list change, so\r\n * an adapter can tell its packed data is stale.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetRevision()\r\n {\r\n return this.#revision;\r\n }\r\n\r\n /** Carbon EveBoosterSet2::UpdateVisibility (cpp:1096-1116): a display gate,\r\n * then per-renderable LOD, then ONE glow test - the loop breaks on the first\r\n * renderable whose glow sprite set is on screen, so `glowsVisible` is a\r\n * whole-set flag, not per booster.\r\n *\r\n * The glow test is EveSpriteSet::UpdateVisibility - a transformed item-set\r\n * AABB against the frustum. A foreign glow duck without that method is taken\r\n * as visible rather than culled; the flare is still gated per renderable by\r\n * `boostersVisible` (cpp:1264). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"A glow duck lacking UpdateVisibility is treated as visible rather than culled.\")\r\n UpdateVisibility(updateContext)\r\n {\r\n this.#glowsVisible = false;\r\n if (!this.display)\r\n {\r\n return false;\r\n }\r\n\r\n for (const renderable of this.instances)\r\n {\r\n renderable?.UpdateVisibility(updateContext);\r\n }\r\n\r\n if (this.glows)\r\n {\r\n for (const renderable of this.instances)\r\n {\r\n const transform = renderable?.GetParentTransform?.();\r\n if (!transform)\r\n {\r\n continue;\r\n }\r\n // cpp:1109 passes nullptr bones deliberately, and it is not a deferral:\r\n // booster glows are tied to the booster LOCATORS, so each glow is placed\r\n // by its renderable's parent transform (the locator placement) rather\r\n // than by a bone index. There is nothing for a bone palette to resolve.\r\n const visible = this.glows.UpdateVisibility\r\n ? this.glows.UpdateVisibility(updateContext, transform, null, 0)\r\n : true;\r\n if (visible)\r\n {\r\n this.#glowsVisible = true;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return this.#glowsVisible;\r\n }\r\n\r\n /** Whether any booster glow sprite passed the last UpdateVisibility. Carbon\r\n * reads m_glowsVisible directly in AddToQuadRenderer (cpp:1257); the quad\r\n * renderer is engine-side here, so the flag is exposed instead. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon's mutable member read becomes an accessor; the quad renderer that consumes it is engine-owned.\")\r\n GetGlowsVisible()\r\n {\r\n return this.#glowsVisible;\r\n }\r\n\r\n /** Carbon EveBoosterSet2::GetRenderables (cpp:1130-1145): gated on display\r\n * AND on the set owning an effect, then delegated to each renderable's own\r\n * visibility. */\r\n @carbon.method\r\n @impl.implemented\r\n GetRenderables(out = [])\r\n {\r\n if (!this.display || !this.effect)\r\n {\r\n return out;\r\n }\r\n for (const renderable of this.instances)\r\n {\r\n renderable?.GetRenderables(out);\r\n }\r\n return out;\r\n }\r\n\r\n /** Carbon EveBoosterSet2::RegisterComponents (cpp:1272-1279): unconditional\r\n * LightOwner leaf self-registration. */\r\n @carbon.method\r\n @impl.implemented\r\n RegisterComponents()\r\n {\r\n const registry = this.GetComponentRegistry();\r\n if (registry)\r\n {\r\n registry.RegisterComponent(EveComponentType.LightOwner, this);\r\n }\r\n }\r\n\r\n /** Carbon EveBoosterSet2::GetLights (cpp:1287-1319): NO display gate\r\n * (registration is unconditional too) - the effective gates are both light\r\n * radii <= 0 (cpp:1289) and per-renderable overallIntensity <= 0\r\n * (cpp:1296). Per renderable: warp blend of radius factor and color\r\n * (clamped warpIntensity, cpp:1301-1304 - the COLOR blend itself is\r\n * unclamped 4-component lerp); per single booster: the shared 128-entry\r\n * random noise table drives a flicker of 1 +/- amplitude around the\r\n * interpolated noise (cpp:1308-1312), and AddPointLight submits the\r\n * booster light position under the renderable's parent transform\r\n * (TransformCoord - single matrix, no composition) with radius *\r\n * radiusFactor and color * flicker (the 3-arg overload: innerRadius 0,\r\n * FLAG_DEFAULT - manager-side). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Tr2Renderer::GetAnimationTime relocates onto the light-manager duck (GetAnimationTime, default 0); the g_lightNoise table is module state filled with Math.random (Carbon fills it with rand()/RAND_MAX - random either way).\")\r\n GetLights(lightManager)\r\n {\r\n if (this.lightRadius <= 0 && this.lightWarpRadius <= 0)\r\n {\r\n return;\r\n }\r\n if (!lightManager)\r\n {\r\n return;\r\n }\r\n\r\n const time = lightManager.GetAnimationTime() ?? 0;\r\n // Carbon EveBoosterSet2.cpp:1186: radii deliberately UNSCALED here (the\r\n // child booster set pre-multiplies by its parent scale; this class does\r\n // not - do not unify).\r\n const params = {\r\n lightRadius: this.lightRadius,\r\n lightColor: this.lightColor,\r\n lightWarpRadius: this.lightWarpRadius,\r\n lightWarpColor: this.lightWarpColor,\r\n lightFlickerAmplitude: this.lightFlickerAmplitude,\r\n lightFlickerFrequency: this.lightFlickerFrequency\r\n };\r\n\r\n for (const renderable of this.instances)\r\n {\r\n if (!renderable || renderable.overallIntensity <= 0)\r\n {\r\n continue;\r\n }\r\n const transform = renderable.GetParentTransform?.();\r\n if (!transform)\r\n {\r\n continue;\r\n }\r\n AddBoosterLights(\r\n lightManager, this.#singleBoosters, transform,\r\n renderable.overallIntensity, this.warpIntensity, params, time);\r\n }\r\n }\r\n\r\n /**\r\n * The flare parameters CreateBoosterFlares consumes, in Carbon's\r\n * EveBoosterFlareParams shape (EveBoosterSet2.cpp:739-742).\r\n */\r\n static #GetFlareParams(owner)\r\n {\r\n return {\r\n warpGlowColor: owner.warpGlowColor,\r\n glowScale: owner.glowScale,\r\n glowColor: owner.glowColor,\r\n haloScaleX: owner.haloScaleX,\r\n haloScaleY: owner.haloScaleY,\r\n symHaloScale: owner.symHaloScale,\r\n haloColor: owner.haloColor,\r\n warpHaloColor: owner.warpHaloColor\r\n };\r\n }\r\n\r\n /**\r\n * Grows the set bounding sphere just far enough to include one booster\r\n * position, leaving it unchanged when the position already falls inside.\r\n */\r\n static #UpdateBoundingSphere(owner, position)\r\n {\r\n const delta = vec3.subtract(vec3.create(), position, owner.boosterBoundingSphereCenter);\r\n const distance = vec3.length(delta);\r\n const radius = owner.boosterBoundingSphereRadius;\r\n if (distance * distance <= radius * radius + 1e-4 || !distance)\r\n {\r\n return;\r\n }\r\n vec3.scaleAndAdd(\r\n owner.boosterBoundingSphereCenter,\r\n owner.boosterBoundingSphereCenter,\r\n delta,\r\n 0.5 * (1 - radius / distance)\r\n );\r\n owner.boosterBoundingSphereRadius = 0.5 * (radius + distance);\r\n }\r\n\r\n /**\r\n * Redistributes the five static trail control offsets evenly backwards along\r\n * -Z across staticTrailLength and clears the staticTrailOffsets flag.\r\n */\r\n static #UpdateStaticTrailOffsets(owner)\r\n {\r\n owner.__state.flags.delete(\"staticTrailOffsets\");\r\n const step = owner.staticTrailLength / 4;\r\n const offsets = [\r\n owner.trailsStaticOffsets0,\r\n owner.trailsStaticOffsets1,\r\n owner.trailsStaticOffsets2,\r\n owner.trailsStaticOffsets3,\r\n owner.trailsStaticOffsets4\r\n ];\r\n for (let index = 0; index < offsets.length; index++)\r\n {\r\n vec3.set(offsets[index], 0, 0, -step * index);\r\n }\r\n }\r\n\r\n static #sphereScratch = sph3.create();\r\n\r\n static #zero = Object.freeze([0, 0, 0]);\r\n\r\n static #identityRotation = Object.freeze([0, 0, 0, 1]);\r\n\r\n static #defaultFunctionality = Object.freeze([0, 1, 1, 1]);\r\n\r\n static Shape = Object.freeze({\r\n STAR: 0,\r\n BOX: 1,\r\n SHAPE_COUNT: 2\r\n });\r\n\r\n}\r\n"],"names":["_EveBoosterSet2Item","EveBoosterSet2Item","CjsModel","e","_init_transform","_init_extra_transform","_init_functionality","_init_extra_functionality","_init_hasTrail","_init_extra_hasTrail","_init_atlasIndex","_init_extra_atlasIndex","_init_atlasIndex2","_init_extra_atlasIndex2","_init_lightScale","_init_extra_lightScale","c","_initClass","_applyDecs","type","define","className","family","io","rebuild","persist","mat4","vec4","boolean","uint32","float32","constructor","args","transform","create","functionality","fromValues","hasTrail","atlasIndex0","atlasIndex1","lightScale","_EveBoosterSet","_identity","EveBoosterSet2","EveEntity","_init_flareLodEnabled","_init_extra_flareLodEnabled","_init_staticTrailLength","_init_extra_staticTrailLength","_init_trailsStaticOffsets","_init_extra_trailsStaticOffsets","_init_trailsStaticOffsets2","_init_extra_trailsStaticOffsets2","_init_trailsStaticOffsets3","_init_extra_trailsStaticOffsets3","_init_trailsStaticOffsets4","_init_extra_trailsStaticOffsets4","_init_trailsStaticOffsets5","_init_extra_trailsStaticOffsets5","_init_lightOffset","_init_extra_lightOffset","_init_lightFlickerAmplitude","_init_extra_lightFlickerAmplitude","_init_lightFlickerFrequency","_init_extra_lightFlickerFrequency","_init_lightRadius","_init_extra_lightRadius","_init_lightColor","_init_extra_lightColor","_init_lightWarpRadius","_init_extra_lightWarpRadius","_init_lightWarpColor","_init_extra_lightWarpColor","_init_display","_init_extra_display","_init_alwaysOnIntensity","_init_extra_alwaysOnIntensity","_init_warpGlowColor","_init_extra_warpGlowColor","_init_glowColor","_init_extra_glowColor","_init_haloColor","_init_extra_haloColor","_init_warpHaloColor","_init_extra_warpHaloColor","_init_effectFar","_init_extra_effectFar","_init_effect","_init_extra_effect","_init_instances","_init_extra_instances","_init_maxVel","_init_extra_maxVel","_init_glowScale","_init_extra_glowScale","_init_symHaloScale","_init_extra_symHaloScale","_init_haloScaleX","_init_extra_haloScaleX","_init_haloScaleY","_init_extra_haloScaleY","_init_trailsSmoothing","_init_extra_trailsSmoothing","_init_glows","_init_extra_glows","_init_maxSize","_init_extra_maxSize","_init_boosterBoundingSphereCenter","_init_extra_boosterBoundingSphereCenter","_init_boosterBoundingSphereRadius","_init_extra_boosterBoundingSphereRadius","_init_warpIntensity","_init_extra_warpIntensity","_init_physicsUpdate","_init_extra_physicsUpdate","_init_destinyUpdate","_init_extra_destinyUpdate","_init_alwaysOn","_init_extra_alwaysOn","_init_trails","_init_extra_trails","_init_items","_init_extra_items","_initProto","_initClass2","notify","readwrite","flag","vec3","color","objectRef","read","list","carbon","method","impl","adapted","implemented","reason","_ClearRuntimeItems","owner","length","glows","Clear","trails","set","boosterBoundingSphereCenter","boosterBoundingSphereRadius","maxSize","_AddRuntimeItem","item","clone","scale","Math","max","hypot","lightPosition","transformMat4","lightOffset","booster","lightRadius","lightPhase","GenerateBoosterLightPhase","push","CreateBoosterFlares","trailTransform","Add","subarray","flareLodEnabled","staticTrailLength","trailsStaticOffsets0","trailsStaticOffsets1","trailsStaticOffsets2","trailsStaticOffsets3","trailsStaticOffsets4","lightFlickerAmplitude","lightFlickerFrequency","lightColor","lightWarpRadius","lightWarpColor","display","alwaysOnIntensity","warpGlowColor","glowColor","haloColor","warpHaloColor","effectFar","effect","instances","maxVel","glowScale","symHaloScale","haloScaleX","haloScaleY","trailsSmoothing","warpIntensity","physicsUpdate","destinyUpdate","alwaysOn","items","Initialize","renderable","SetBoosterSet","OnModified","_options","flags","__state","has","delete","Rebuild","SetCount","count","requested","trunc","Number","target","isFinite","EveBoosterSet2Renderable","Update","deltaTime","time","parentMatrix","parentSpeed","parentAcceleration","parentRotation","boosterInstance","index","UpdateTrails","updated","localMatrix","TypeError","copy","SetData","SetLightData","offset","flickerAmplitude","flickerFrequency","radius","warpRadius","warpColor","SetEffect","SetGlow","glow","SetTrail","trail","GetBoosterIntensity","undefined","GetIntensity","intensity","GetBoundingSphere","out","sph3","empty","union","GetBoosterData","map","GetRevision","UpdateVisibility","updateContext","GetParentTransform","visible","GetGlowsVisible","GetRenderables","RegisterComponents","registry","GetComponentRegistry","RegisterComponent","EveComponentType","LightOwner","GetLights","lightManager","GetAnimationTime","params","overallIntensity","AddBoosterLights","#ClearRuntimeItems","_0","apply","arguments","#RebuildItems","#AddRuntimeItem","_1","#GetFlareParams","#UpdateBoundingSphere","position","delta","subtract","distance","scaleAndAdd","#UpdateStaticTrailOffsets","step","offsets","Object","freeze","Shape","STAR","BOX","SHAPE_COUNT"],"mappings":"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"}
1
+ {"version":3,"file":"EveBoosterSet2.js","sources":["../../../../../../src/trinity/eve/attachment/booster/EveBoosterSet2.js"],"sourcesContent":["// Source: trinity/trinity/Eve/SpaceObject/Attachments/EveBoosterSet2.h\n// Source: trinity/trinity/Eve/SpaceObject/Attachments/EveBoosterSet2.cpp\n// Source: trinity/trinity/Eve/SpaceObject/Attachments/EveBoosterSet2_Blue.cpp\nimport { mat4 } from \"#math/mat4\";\nimport { sph3 } from \"#math/sph3\";\nimport { vec3 } from \"#math/vec3\";\nimport { vec4 } from \"#math/vec4\";\nimport { carbon, impl, io, type } from \"#schema\";\nimport { EveEntity } from \"../../EveEntity.js\";\nimport { EveBoosterSet2Item } from \"./EveBoosterSet2Item.js\";\nimport { EveBoosterSet2Renderable } from \"./EveBoosterSet2Renderable.js\";\nimport { EveComponentType } from \"../../EveComponentTypes.js\";\nimport {\n AddBoosterLights,\n CreateBoosterFlares,\n GenerateBoosterLightPhase\n} from \"./boosterUtilities.js\";\n\n\n/**\n * Owns a hull's authored booster placements and derives from them the glow\n * flares, trails, set bounding sphere and flickering point lights that its\n * renderable instances draw.\n */\n@type.define({ className: \"EveBoosterSet2\", family: \"eve/attachment/boosters\" })\nexport class EveBoosterSet2 extends EveEntity\n{\n\n /** m_flareLodEnabled (bool) [READWRITE, NOTIFY] */\n @io.notify\n @io.readwrite\n @type.boolean\n flareLodEnabled = true;\n\n /** m_staticTrailLength (float) [READWRITE, PERSIST, NOTIFY] */\n @io.flag(\"staticTrailOffsets\")\n @io.notify\n @io.persist\n @type.float32\n staticTrailLength = 0;\n\n /** m_trailsStaticOffsets[0] (Vector3) [READWRITE, PERSIST] */\n @io.persist\n @type.vec3\n trailsStaticOffsets0 = vec3.create();\n\n /** m_trailsStaticOffsets[1] (Vector3) [READWRITE, PERSIST] */\n @io.persist\n @type.vec3\n trailsStaticOffsets1 = vec3.create();\n\n /** m_trailsStaticOffsets[2] (Vector3) [READWRITE, PERSIST] */\n @io.persist\n @type.vec3\n trailsStaticOffsets2 = vec3.create();\n\n /** m_trailsStaticOffsets[3] (Vector3) [READWRITE, PERSIST] */\n @io.persist\n @type.vec3\n trailsStaticOffsets3 = vec3.create();\n\n /** m_trailsStaticOffsets[4] (Vector3) [READWRITE, PERSIST] */\n @io.persist\n @type.vec3\n trailsStaticOffsets4 = vec3.create();\n\n /** m_lightOffset (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n lightOffset = 0;\n\n /** m_lightFlickerAmplitude (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n lightFlickerAmplitude = 0;\n\n /** m_lightFlickerFrequency (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n lightFlickerFrequency = 0;\n\n /** m_lightRadius (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n lightRadius = 0;\n\n /** m_lightColor (Color) [READWRITE, PERSIST] */\n @io.persist\n @type.color\n lightColor = vec4.create();\n\n /** m_lightWarpRadius (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n lightWarpRadius = 0;\n\n /** m_lightWarpColor (Color) [READWRITE, PERSIST] */\n @io.persist\n @type.color\n lightWarpColor = vec4.create();\n\n /** m_display (bool) [READWRITE, PERSIST] */\n @io.persist\n @type.boolean\n display = true;\n\n /** m_alwaysOnIntensity (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n alwaysOnIntensity = 1;\n\n /** m_warpGlowColor (Color) [READWRITE, PERSIST, NOTIFY] */\n @io.flag(\"flares\")\n @io.notify\n @io.persist\n @type.color\n warpGlowColor = vec4.create();\n\n /** m_glowColor (Color) [READWRITE, PERSIST, NOTIFY] */\n @io.flag(\"flares\")\n @io.notify\n @io.persist\n @type.color\n glowColor = vec4.create();\n\n /** m_haloColor (Color) [READWRITE, PERSIST, NOTIFY] */\n @io.flag(\"flares\")\n @io.notify\n @io.persist\n @type.color\n haloColor = vec4.create();\n\n /** m_warpHaloColor (Color) [READWRITE, PERSIST, NOTIFY] */\n @io.flag(\"flares\")\n @io.notify\n @io.persist\n @type.color\n warpHaloColor = vec4.create();\n\n /** m_effectFar (Tr2EffectPtr) [READWRITE, PERSIST] */\n @io.persist\n @type.objectRef(\"Tr2Effect\")\n effectFar = null;\n\n /** m_effect (Tr2EffectPtr) [READWRITE, PERSIST] */\n @io.rebuild(\"packedGeometry\")\n @io.persist\n @type.objectRef(\"Tr2Effect\")\n effect = null;\n\n /** m_boosterRenderables (PEveBoosterSet2RenderableVector) [READ] */\n @io.read\n @type.list(\"EveBoosterSet2Renderable\")\n instances = [];\n\n /** m_maxVel (float) [READWRITE] */\n @io.readwrite\n @type.float32\n maxVel = 250;\n\n /** m_glowScale (float) [READWRITE, PERSIST, NOTIFY] */\n @io.flag(\"flares\")\n @io.notify\n @io.persist\n @type.float32\n glowScale = 1;\n\n /** m_symHaloScale (float) [READWRITE, PERSIST, NOTIFY] */\n @io.flag(\"flares\")\n @io.notify\n @io.persist\n @type.float32\n symHaloScale = 1;\n\n /** m_haloScaleX (float) [READWRITE, PERSIST, NOTIFY] */\n @io.flag(\"flares\")\n @io.notify\n @io.persist\n @type.float32\n haloScaleX = 1;\n\n /** m_haloScaleY (float) [READWRITE, PERSIST, NOTIFY] */\n @io.flag(\"flares\")\n @io.notify\n @io.persist\n @type.float32\n haloScaleY = 1;\n\n /** m_trailsSmoothing (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n trailsSmoothing = 10;\n\n /** m_glows (EveSpriteSetPtr) [READWRITE, PERSIST] */\n @io.persist\n @type.objectRef(\"EveSpriteSet\")\n glows = null;\n\n /** m_maxSize (float) [READ] */\n @io.read\n @type.float32\n maxSize = 0;\n\n /** m_boosterBoundingSphere.xyz (Vector4) [READ] */\n @io.read\n @type.vec3\n boosterBoundingSphereCenter = vec3.create();\n\n /** m_boosterBoundingSphere.w (float) [READ] */\n @io.read\n @type.float32\n boosterBoundingSphereRadius = 0;\n\n /** m_warpIntensity (float) [READWRITE] */\n @io.readwrite\n @type.float32\n warpIntensity = 0;\n\n /** m_physicsUpdate (bool) [READWRITE, PERSIST] */\n @io.persist\n @type.boolean\n physicsUpdate = true;\n\n /** m_destinyUpdate (bool) [READWRITE, PERSIST] */\n @io.persist\n @type.boolean\n destinyUpdate = true;\n\n /** m_alwaysOn (bool) [READWRITE, PERSIST] */\n @io.persist\n @type.boolean\n alwaysOn = false;\n\n /** m_trails (EveTrailsSetPtr) [READWRITE, PERSIST] */\n @io.persist\n @type.objectRef(\"EveTrailsSet\")\n trails = null;\n\n @io.flag(\"items\")\n @io.rebuild(\"packedGeometry\")\n @io.notify\n @io.persist\n @type.list(\"EveBoosterSet2Item\")\n items = [];\n\n #singleBoosters = [];\n\n #revision = 0;\n\n /** m_glowsVisible (cpp:682) - starts visible, recomputed by UpdateVisibility. */\n #glowsVisible = true;\n\n /**\n * Derives the runtime boosters, flares and trails from the authored items and\n * binds every renderable instance back to this set.\n */\n @carbon.method\n @impl.adapted\n Initialize()\n {\n EveBoosterSet2.#RebuildItems(this);\n for (const renderable of this.instances)\n {\n renderable?.SetBoosterSet?.(this);\n }\n this.#revision++;\n return true;\n }\n\n /**\n * Applies whichever of the items, staticTrailOffsets and flares rebuild flags\n * a property change raised, rebuilding only what that flag covers, and bumps\n * the revision.\n */\n @carbon.method\n @impl.adapted\n OnModified(_options = {})\n {\n const flags = this.__state.flags;\n if (flags.has(\"items\"))\n {\n EveBoosterSet2.#RebuildItems(this);\n }\n if (flags.has(\"staticTrailOffsets\"))\n {\n EveBoosterSet2.#UpdateStaticTrailOffsets(this);\n }\n if (flags.delete(\"flares\") && this.glows)\n {\n this.glows.Clear();\n for (const booster of this.#singleBoosters)\n {\n CreateBoosterFlares(this.glows, booster.transform, EveBoosterSet2.#GetFlareParams(this));\n }\n this.glows.Rebuild?.();\n }\n this.#revision++;\n return true;\n }\n\n /**\n * Resizes the renderable instance list - one instance per ship drawing this\n * booster set - keeping at least one, and rebinds every instance; returns the\n * resulting count.\n */\n @carbon.method\n @impl.implemented\n SetCount(count)\n {\n const requested = Math.trunc(Number(count));\n const target = Number.isFinite(requested) ? Math.max(1, requested) : 1;\n if (this.instances.length > target)\n {\n this.instances.length = target;\n }\n while (this.instances.length < target)\n {\n const renderable = new EveBoosterSet2Renderable();\n renderable.SetBoosterSet(this);\n this.instances.push(renderable);\n }\n for (const renderable of this.instances)\n {\n renderable?.SetBoosterSet?.(this);\n }\n this.#revision++;\n return this.instances.length;\n }\n\n /**\n * Updates one renderable instance from the parent's transform, speed,\n * acceleration and rotation, creating the first instance when the set has\n * none; returns false when boosterInstance is out of range.\n */\n @carbon.method\n @impl.adapted\n Update(\n deltaTime,\n time,\n parentMatrix = mat4.create(),\n parentSpeed = 0,\n parentAcceleration = EveBoosterSet2.#zero,\n parentRotation = EveBoosterSet2.#identityRotation,\n boosterInstance = 0\n )\n {\n if (!this.instances.length)\n {\n this.SetCount(1);\n }\n const index = Number(boosterInstance) >>> 0;\n if (index >= this.instances.length)\n {\n return false;\n }\n this.instances[index]?.Update(\n deltaTime,\n time,\n parentMatrix,\n parentSpeed,\n parentAcceleration,\n parentRotation\n );\n return true;\n }\n\n /**\n * Advances every instance's trail spline and then the trail set itself;\n * returns false when no trail set is attached.\n */\n @carbon.method\n @impl.adapted\n UpdateTrails(deltaTime, time)\n {\n if (!this.trails)\n {\n return false;\n }\n let updated = false;\n for (const renderable of this.instances)\n {\n updated = renderable?.UpdateTrails?.(deltaTime, time) || updated;\n }\n this.trails.Update(time);\n return updated;\n }\n\n /**\n * Drops the authored items along with everything derived from them - runtime\n * boosters, glows, trails, bounding sphere and max size.\n */\n @carbon.method\n @impl.adapted\n Clear()\n {\n this.items.length = 0;\n EveBoosterSet2.#ClearRuntimeItems(this);\n this.#revision++;\n }\n\n /**\n * Appends an authored booster placement and immediately derives its runtime\n * booster, flares and trail; returns the new item's index and throws a\n * TypeError when localMatrix is not sixteen values.\n */\n @carbon.method\n @impl.adapted\n Add(\n localMatrix,\n functionality,\n hasTrail,\n atlasIndex0,\n atlasIndex1,\n lightScale = 1\n )\n {\n if (!localMatrix || localMatrix.length !== 16)\n {\n throw new TypeError(\"EveBoosterSet2 transforms must contain 16 values\");\n }\n const item = new EveBoosterSet2Item();\n mat4.copy(item.transform, localMatrix);\n vec4.copy(item.functionality, functionality ?? EveBoosterSet2.#defaultFunctionality);\n item.hasTrail = !!hasTrail;\n item.atlasIndex0 = Number(atlasIndex0) >>> 0;\n item.atlasIndex1 = Number(atlasIndex1) >>> 0;\n item.lightScale = Number(lightScale) || 0;\n this.items.push(item);\n EveBoosterSet2.#AddRuntimeItem(this, item);\n this.#revision++;\n return this.items.length - 1;\n }\n\n /**\n * Empties the derived booster records, glows and trails and resets the set\n * bounding sphere and max size, leaving the authored items alone.\n */\n static #ClearRuntimeItems(owner)\n {\n owner.#singleBoosters.length = 0;\n owner.glows?.Clear();\n owner.trails?.Clear();\n vec3.set(owner.boosterBoundingSphereCenter, 0, 0, 0);\n owner.boosterBoundingSphereRadius = 0;\n owner.maxSize = 0;\n }\n\n /**\n * Discards the derived state and re-derives it from every authored item, then\n * clears both the items and flares rebuild flags.\n */\n static #RebuildItems(owner)\n {\n EveBoosterSet2.#ClearRuntimeItems(owner);\n for (const item of owner.items)\n {\n EveBoosterSet2.#AddRuntimeItem(owner, item);\n }\n owner.__state.flags.delete(\"items\");\n owner.__state.flags.delete(\"flares\");\n }\n\n /**\n * Derives one runtime booster from an authored item - scale from the larger of\n * the transform's X and Y basis lengths, a light position pushed back along -Z\n * by lightOffset, and a random light flicker phase - then creates its flares\n * and its trail (offset back half a unit along the booster axis), and grows\n * the set bounding sphere and max size.\n */\n static #AddRuntimeItem(owner, item)\n {\n const transform = mat4.clone(item.transform);\n const scale = Math.max(\n Math.hypot(transform[0], transform[1], transform[2]),\n Math.hypot(transform[4], transform[5], transform[6])\n );\n const lightPosition = vec3.transformMat4(\n vec3.create(),\n [0, 0, -owner.lightOffset],\n transform\n );\n const booster = {\n transform,\n functionality: vec4.clone(item.functionality),\n lightPosition,\n lightRadius: scale * item.lightScale,\n lightPhase: GenerateBoosterLightPhase(),\n atlasIndex0: item.atlasIndex0,\n atlasIndex1: item.atlasIndex1,\n hasTrail: item.hasTrail\n };\n owner.#singleBoosters.push(booster);\n\n if (owner.glows)\n {\n CreateBoosterFlares(owner.glows, booster.transform, EveBoosterSet2.#GetFlareParams(owner));\n }\n if (owner.trails && item.hasTrail)\n {\n const trailTransform = mat4.clone(transform);\n trailTransform[12] -= trailTransform[8] * 0.5;\n trailTransform[13] -= trailTransform[9] * 0.5;\n trailTransform[14] -= trailTransform[10] * 0.5;\n owner.trails.Add?.(trailTransform, scale);\n }\n\n EveBoosterSet2.#UpdateBoundingSphere(owner, transform.subarray(12, 15));\n owner.maxSize = Math.max(owner.maxSize, scale);\n }\n\n /**\n * Sets the whole flare description in one call: glow and halo scales with\n * their normal and warp colours, plus the always-on flag.\n */\n @carbon.method\n @impl.implemented\n SetData(\n glowScale,\n glowColor,\n warpGlowColor,\n symHaloScale,\n haloScaleX,\n haloScaleY,\n haloColor,\n warpHaloColor,\n alwaysOn\n )\n {\n this.glowScale = Number(glowScale);\n vec4.copy(this.glowColor, glowColor);\n vec4.copy(this.warpGlowColor, warpGlowColor);\n this.symHaloScale = Number(symHaloScale);\n this.haloScaleX = Number(haloScaleX);\n this.haloScaleY = Number(haloScaleY);\n vec4.copy(this.haloColor, haloColor);\n vec4.copy(this.warpHaloColor, warpHaloColor);\n this.alwaysOn = !!alwaysOn;\n }\n\n /**\n * Sets the whole booster point-light description in one call: light offset,\n * flicker amplitude and frequency, and the normal and warp radius and colour.\n */\n @carbon.method\n @impl.implemented\n SetLightData(offset, flickerAmplitude, flickerFrequency, radius, color, warpRadius, warpColor)\n {\n this.lightOffset = Number(offset);\n this.lightFlickerAmplitude = Number(flickerAmplitude);\n this.lightFlickerFrequency = Number(flickerFrequency);\n this.lightRadius = Number(radius);\n vec4.copy(this.lightColor, color);\n this.lightWarpRadius = Number(warpRadius);\n vec4.copy(this.lightWarpColor, warpColor);\n }\n\n /**\n * Sets the near and far booster effects; the renderable's boosterHighLod flag\n * picks between them at draw time.\n */\n @carbon.method\n @impl.implemented\n SetEffect(effect, effectFar)\n {\n this.effect = effect ?? null;\n this.effectFar = effectFar ?? null;\n }\n\n /**\n * Attaches the sprite set that the per-booster flares are added to; without\n * one no flares are created.\n */\n @carbon.method\n @impl.implemented\n SetGlow(glow)\n {\n this.glows = glow ?? null;\n }\n\n /**\n * Attaches the trails set that per-booster trails are added to; without one no\n * trails are created.\n */\n @carbon.method\n @impl.implemented\n SetTrail(trail)\n {\n this.trails = trail ?? null;\n }\n\n /**\n * The intensity of one renderable instance, or the mean across every instance\n * when no index is given; zero when the set has no instances.\n */\n @carbon.method\n @impl.adapted\n GetBoosterIntensity(index = null)\n {\n if (index !== null && index !== undefined)\n {\n return this.instances[Number(index) >>> 0]?.GetIntensity?.() ?? 0;\n }\n if (!this.instances.length)\n {\n return 0;\n }\n let intensity = 0;\n for (const renderable of this.instances)\n {\n intensity += renderable?.GetIntensity?.() ?? 0;\n }\n return intensity / this.instances.length;\n }\n\n /** The union of every renderable's world bounding sphere. Carbon has no\n * set-level equivalent (each renderable answers for itself); `out` is\n * required so a caller can keep its own scratch. An empty set leaves `out`\n * empty (sph3 radius -1) rather than reporting a zero-radius sphere at the\n * origin. */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Set-level aggregate with no Carbon counterpart; sph3.union replaces a hand-rolled merge.\")\n GetBoundingSphere(out)\n {\n sph3.empty(out);\n for (const renderable of this.instances)\n {\n if (renderable?.GetBoundingSphere)\n {\n renderable.GetBoundingSphere(EveBoosterSet2.#sphereScratch);\n sph3.union(out, out, EveBoosterSet2.#sphereScratch);\n }\n }\n return out;\n }\n\n /**\n * The derived runtime boosters as deep copies - transform, functionality,\n * light position, radius and phase, atlas indices and trail flag - safe for an\n * adapter to keep.\n */\n @carbon.method\n @impl.adapted\n GetBoosterData()\n {\n return this.#singleBoosters.map(booster => ({\n transform: mat4.clone(booster.transform),\n functionality: vec4.clone(booster.functionality),\n lightPosition: vec3.clone(booster.lightPosition),\n lightRadius: booster.lightRadius,\n lightPhase: booster.lightPhase,\n atlasIndex0: booster.atlasIndex0,\n atlasIndex1: booster.atlasIndex1,\n hasTrail: booster.hasTrail\n }));\n }\n\n /**\n * A counter bumped whenever the authored items or the instance list change, so\n * an adapter can tell its packed data is stale.\n */\n @carbon.method\n @impl.implemented\n GetRevision()\n {\n return this.#revision;\n }\n\n /** Carbon EveBoosterSet2::UpdateVisibility (cpp:1096-1116): a display gate,\n * then per-renderable LOD, then ONE glow test - the loop breaks on the first\n * renderable whose glow sprite set is on screen, so `glowsVisible` is a\n * whole-set flag, not per booster.\n *\n * The glow test is EveSpriteSet::UpdateVisibility - a transformed item-set\n * AABB against the frustum. A foreign glow duck without that method is taken\n * as visible rather than culled; the flare is still gated per renderable by\n * `boostersVisible` (cpp:1264). */\n @carbon.method\n @impl.adapted\n @impl.reason(\"A glow duck lacking UpdateVisibility is treated as visible rather than culled.\")\n UpdateVisibility(updateContext)\n {\n this.#glowsVisible = false;\n if (!this.display)\n {\n return false;\n }\n\n for (const renderable of this.instances)\n {\n renderable?.UpdateVisibility(updateContext);\n }\n\n if (this.glows)\n {\n for (const renderable of this.instances)\n {\n const transform = renderable?.GetParentTransform?.();\n if (!transform)\n {\n continue;\n }\n // cpp:1109 passes nullptr bones deliberately, and it is not a deferral:\n // booster glows are tied to the booster LOCATORS, so each glow is placed\n // by its renderable's parent transform (the locator placement) rather\n // than by a bone index. There is nothing for a bone palette to resolve.\n const visible = this.glows.UpdateVisibility\n ? this.glows.UpdateVisibility(updateContext, transform, null, 0)\n : true;\n if (visible)\n {\n this.#glowsVisible = true;\n break;\n }\n }\n }\n\n return this.#glowsVisible;\n }\n\n /** Whether any booster glow sprite passed the last UpdateVisibility. Carbon\n * reads m_glowsVisible directly in AddToQuadRenderer (cpp:1257); the quad\n * renderer is engine-side here, so the flag is exposed instead. */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Carbon's mutable member read becomes an accessor; the quad renderer that consumes it is engine-owned.\")\n GetGlowsVisible()\n {\n return this.#glowsVisible;\n }\n\n /** Carbon EveBoosterSet2::GetRenderables (cpp:1130-1145): gated on display\n * AND on the set owning an effect, then delegated to each renderable's own\n * visibility. */\n @carbon.method\n @impl.implemented\n GetRenderables(out = [])\n {\n if (!this.display || !this.effect)\n {\n return out;\n }\n for (const renderable of this.instances)\n {\n renderable?.GetRenderables(out);\n }\n return out;\n }\n\n /** Carbon EveBoosterSet2::RegisterComponents (cpp:1272-1279): unconditional\n * LightOwner leaf self-registration. */\n @carbon.method\n @impl.implemented\n RegisterComponents()\n {\n const registry = this.GetComponentRegistry();\n if (registry)\n {\n registry.RegisterComponent(EveComponentType.LightOwner, this);\n }\n }\n\n /** Carbon EveBoosterSet2::GetLights (cpp:1287-1319): NO display gate\n * (registration is unconditional too) - the effective gates are both light\n * radii <= 0 (cpp:1289) and per-renderable overallIntensity <= 0\n * (cpp:1296). Per renderable: warp blend of radius factor and color\n * (clamped warpIntensity, cpp:1301-1304 - the COLOR blend itself is\n * unclamped 4-component lerp); per single booster: the shared 128-entry\n * random noise table drives a flicker of 1 +/- amplitude around the\n * interpolated noise (cpp:1308-1312), and AddPointLight submits the\n * booster light position under the renderable's parent transform\n * (TransformCoord - single matrix, no composition) with radius *\n * radiusFactor and color * flicker (the 3-arg overload: innerRadius 0,\n * FLAG_DEFAULT - manager-side). */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Tr2Renderer::GetAnimationTime relocates onto the light-manager duck (GetAnimationTime, default 0); the g_lightNoise table is module state filled with Math.random (Carbon fills it with rand()/RAND_MAX - random either way).\")\n GetLights(lightManager)\n {\n if (this.lightRadius <= 0 && this.lightWarpRadius <= 0)\n {\n return;\n }\n if (!lightManager)\n {\n return;\n }\n\n const time = lightManager.GetAnimationTime() ?? 0;\n // Carbon EveBoosterSet2.cpp:1186: radii deliberately UNSCALED here (the\n // child booster set pre-multiplies by its parent scale; this class does\n // not - do not unify).\n const params = {\n lightRadius: this.lightRadius,\n lightColor: this.lightColor,\n lightWarpRadius: this.lightWarpRadius,\n lightWarpColor: this.lightWarpColor,\n lightFlickerAmplitude: this.lightFlickerAmplitude,\n lightFlickerFrequency: this.lightFlickerFrequency\n };\n\n for (const renderable of this.instances)\n {\n if (!renderable || renderable.overallIntensity <= 0)\n {\n continue;\n }\n const transform = renderable.GetParentTransform?.();\n if (!transform)\n {\n continue;\n }\n AddBoosterLights(\n lightManager, this.#singleBoosters, transform,\n renderable.overallIntensity, this.warpIntensity, params, time);\n }\n }\n\n /**\n * The flare parameters CreateBoosterFlares consumes, in Carbon's\n * EveBoosterFlareParams shape (EveBoosterSet2.cpp:739-742).\n */\n static #GetFlareParams(owner)\n {\n return {\n warpGlowColor: owner.warpGlowColor,\n glowScale: owner.glowScale,\n glowColor: owner.glowColor,\n haloScaleX: owner.haloScaleX,\n haloScaleY: owner.haloScaleY,\n symHaloScale: owner.symHaloScale,\n haloColor: owner.haloColor,\n warpHaloColor: owner.warpHaloColor\n };\n }\n\n /**\n * Grows the set bounding sphere just far enough to include one booster\n * position, leaving it unchanged when the position already falls inside.\n */\n static #UpdateBoundingSphere(owner, position)\n {\n const delta = vec3.subtract(vec3.create(), position, owner.boosterBoundingSphereCenter);\n const distance = vec3.length(delta);\n const radius = owner.boosterBoundingSphereRadius;\n if (distance * distance <= radius * radius + 1e-4 || !distance)\n {\n return;\n }\n vec3.scaleAndAdd(\n owner.boosterBoundingSphereCenter,\n owner.boosterBoundingSphereCenter,\n delta,\n 0.5 * (1 - radius / distance)\n );\n owner.boosterBoundingSphereRadius = 0.5 * (radius + distance);\n }\n\n /**\n * Redistributes the five static trail control offsets evenly backwards along\n * -Z across staticTrailLength and clears the staticTrailOffsets flag.\n */\n static #UpdateStaticTrailOffsets(owner)\n {\n owner.__state.flags.delete(\"staticTrailOffsets\");\n const step = owner.staticTrailLength / 4;\n const offsets = [\n owner.trailsStaticOffsets0,\n owner.trailsStaticOffsets1,\n owner.trailsStaticOffsets2,\n owner.trailsStaticOffsets3,\n owner.trailsStaticOffsets4\n ];\n for (let index = 0; index < offsets.length; index++)\n {\n vec3.set(offsets[index], 0, 0, -step * index);\n }\n }\n\n static #sphereScratch = sph3.create();\n\n static #zero = Object.freeze([0, 0, 0]);\n\n static #identityRotation = Object.freeze([0, 0, 0, 1]);\n\n static #defaultFunctionality = Object.freeze([0, 1, 1, 1]);\n\n static Shape = Object.freeze({\n STAR: 0,\n BOX: 1,\n SHAPE_COUNT: 2\n });\n\n}\n"],"names":["_EveBoosterSet","_identity","EveBoosterSet2","EveEntity","e","_init_flareLodEnabled","_init_extra_flareLodEnabled","_init_staticTrailLength","_init_extra_staticTrailLength","_init_trailsStaticOffsets","_init_extra_trailsStaticOffsets","_init_trailsStaticOffsets2","_init_extra_trailsStaticOffsets2","_init_trailsStaticOffsets3","_init_extra_trailsStaticOffsets3","_init_trailsStaticOffsets4","_init_extra_trailsStaticOffsets4","_init_trailsStaticOffsets5","_init_extra_trailsStaticOffsets5","_init_lightOffset","_init_extra_lightOffset","_init_lightFlickerAmplitude","_init_extra_lightFlickerAmplitude","_init_lightFlickerFrequency","_init_extra_lightFlickerFrequency","_init_lightRadius","_init_extra_lightRadius","_init_lightColor","_init_extra_lightColor","_init_lightWarpRadius","_init_extra_lightWarpRadius","_init_lightWarpColor","_init_extra_lightWarpColor","_init_display","_init_extra_display","_init_alwaysOnIntensity","_init_extra_alwaysOnIntensity","_init_warpGlowColor","_init_extra_warpGlowColor","_init_glowColor","_init_extra_glowColor","_init_haloColor","_init_extra_haloColor","_init_warpHaloColor","_init_extra_warpHaloColor","_init_effectFar","_init_extra_effectFar","_init_effect","_init_extra_effect","_init_instances","_init_extra_instances","_init_maxVel","_init_extra_maxVel","_init_glowScale","_init_extra_glowScale","_init_symHaloScale","_init_extra_symHaloScale","_init_haloScaleX","_init_extra_haloScaleX","_init_haloScaleY","_init_extra_haloScaleY","_init_trailsSmoothing","_init_extra_trailsSmoothing","_init_glows","_init_extra_glows","_init_maxSize","_init_extra_maxSize","_init_boosterBoundingSphereCenter","_init_extra_boosterBoundingSphereCenter","_init_boosterBoundingSphereRadius","_init_extra_boosterBoundingSphereRadius","_init_warpIntensity","_init_extra_warpIntensity","_init_physicsUpdate","_init_extra_physicsUpdate","_init_destinyUpdate","_init_extra_destinyUpdate","_init_alwaysOn","_init_extra_alwaysOn","_init_trails","_init_extra_trails","_init_items","_init_extra_items","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","notify","readwrite","boolean","flag","persist","float32","vec3","color","objectRef","rebuild","read","list","carbon","method","impl","adapted","implemented","reason","_ClearRuntimeItems","owner","length","glows","Clear","trails","set","boosterBoundingSphereCenter","boosterBoundingSphereRadius","maxSize","_AddRuntimeItem","item","transform","mat4","clone","scale","Math","max","hypot","lightPosition","transformMat4","create","lightOffset","booster","functionality","vec4","lightRadius","lightScale","lightPhase","GenerateBoosterLightPhase","atlasIndex0","atlasIndex1","hasTrail","push","CreateBoosterFlares","trailTransform","Add","subarray","flareLodEnabled","staticTrailLength","trailsStaticOffsets0","trailsStaticOffsets1","trailsStaticOffsets2","trailsStaticOffsets3","trailsStaticOffsets4","lightFlickerAmplitude","lightFlickerFrequency","lightColor","lightWarpRadius","lightWarpColor","display","alwaysOnIntensity","warpGlowColor","glowColor","haloColor","warpHaloColor","effectFar","effect","instances","maxVel","glowScale","symHaloScale","haloScaleX","haloScaleY","trailsSmoothing","warpIntensity","physicsUpdate","destinyUpdate","alwaysOn","items","Initialize","renderable","SetBoosterSet","OnModified","_options","flags","__state","has","delete","Rebuild","SetCount","count","requested","trunc","Number","target","isFinite","EveBoosterSet2Renderable","Update","deltaTime","time","parentMatrix","parentSpeed","parentAcceleration","parentRotation","boosterInstance","index","UpdateTrails","updated","localMatrix","TypeError","EveBoosterSet2Item","copy","SetData","SetLightData","offset","flickerAmplitude","flickerFrequency","radius","warpRadius","warpColor","SetEffect","SetGlow","glow","SetTrail","trail","GetBoosterIntensity","undefined","GetIntensity","intensity","GetBoundingSphere","out","sph3","empty","union","GetBoosterData","map","GetRevision","UpdateVisibility","updateContext","GetParentTransform","visible","GetGlowsVisible","GetRenderables","RegisterComponents","registry","GetComponentRegistry","RegisterComponent","EveComponentType","LightOwner","GetLights","lightManager","GetAnimationTime","params","overallIntensity","AddBoosterLights","#ClearRuntimeItems","_0","apply","arguments","#RebuildItems","#AddRuntimeItem","_1","#GetFlareParams","#UpdateBoundingSphere","position","delta","subtract","distance","scaleAndAdd","#UpdateStaticTrailOffsets","step","offsets","Object","freeze","Shape","STAR","BOX","SHAPE_COUNT","constructor"],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import { applyDecs2311 as _applyDecs2311 } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import { mat4 } from '#math/mat4';
3
+ import { vec4 } from '#math/vec4';
4
+ import { CjsModel } from '#model';
5
+ import { io, type } from '#schema';
6
+
7
+ let _initClass, _init_transform, _init_extra_transform, _init_functionality, _init_extra_functionality, _init_hasTrail, _init_extra_hasTrail, _init_atlasIndex, _init_extra_atlasIndex, _init_atlasIndex2, _init_extra_atlasIndex2, _init_lightScale, _init_extra_lightScale;
8
+
9
+ /**
10
+ * One authored booster placement: its local transform, functionality inputs,
11
+ * atlas slots, light scale and whether it emits a trail.
12
+ */
13
+ let _EveBoosterSet2Item;
14
+ class EveBoosterSet2Item extends CjsModel {
15
+ static {
16
+ ({
17
+ e: [_init_transform, _init_extra_transform, _init_functionality, _init_extra_functionality, _init_hasTrail, _init_extra_hasTrail, _init_atlasIndex, _init_extra_atlasIndex, _init_atlasIndex2, _init_extra_atlasIndex2, _init_lightScale, _init_extra_lightScale],
18
+ c: [_EveBoosterSet2Item, _initClass]
19
+ } = _applyDecs2311(this, [type.define({
20
+ className: "EveBoosterSet2Item",
21
+ family: "eve/attachment/boosters"
22
+ })], [[[void 0, io.rebuild("packedGeometry"), io, io.persist, type, type.mat4], 16, "transform"], [[void 0, io.rebuild("packedGeometry"), io, io.persist, type, type.vec4], 16, "functionality"], [[void 0, io.rebuild("packedGeometry"), io, io.persist, type, type.boolean], 16, "hasTrail"], [[void 0, io.rebuild("packedGeometry"), io, io.persist, type, type.uint32], 16, "atlasIndex0"], [[void 0, io.rebuild("packedGeometry"), io, io.persist, type, type.uint32], 16, "atlasIndex1"], [[void 0, io.rebuild("packedGeometry"), io, io.persist, type, type.float32], 16, "lightScale"]], 0, void 0, CjsModel));
23
+ }
24
+ constructor(...args) {
25
+ super(...args);
26
+ _init_extra_lightScale(this);
27
+ }
28
+ transform = _init_transform(this, mat4.create());
29
+ functionality = (_init_extra_transform(this), _init_functionality(this, vec4.fromValues(0, 1, 1, 1)));
30
+ hasTrail = (_init_extra_functionality(this), _init_hasTrail(this, true));
31
+ atlasIndex0 = (_init_extra_hasTrail(this), _init_atlasIndex(this, 0));
32
+ atlasIndex1 = (_init_extra_atlasIndex(this), _init_atlasIndex2(this, 0));
33
+ lightScale = (_init_extra_atlasIndex2(this), _init_lightScale(this, 1));
34
+ static {
35
+ _initClass();
36
+ }
37
+ }
38
+
39
+ export { _EveBoosterSet2Item as EveBoosterSet2Item };
40
+ //# sourceMappingURL=EveBoosterSet2Item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EveBoosterSet2Item.js","sources":["../../../../../../src/trinity/eve/attachment/booster/EveBoosterSet2Item.js"],"sourcesContent":["// Source: trinity/trinity/Eve/SpaceObject/Attachments/EveBoosterSet2.h\n//\n// NOT A CARBON CLASS. Its six fields are the argument list of\n// EveBoosterSet2::Add( const Matrix*, const Vector4*, bool hasTrail, uint32_t\n// atlasIndex0, uint32_t atlasIndex1, float lightScale ) in declaration order.\n// Carbon adds boosters imperatively and keeps only the DERIVED\n// EveBoosterSet2::SingleBoosterData (which carries light position, radius and\n// phase instead, and neither hasTrail nor lightScale). We need the AUTHORED\n// placements to survive a values round trip, so the call's arguments are held\n// as a record. The name is ours and reads as though Carbon had an Item type;\n// it does not.\nimport { mat4 } from \"#math/mat4\";\nimport { vec4 } from \"#math/vec4\";\nimport { CjsModel } from \"#model\";\nimport { io, type } from \"#schema\";\n\n/**\n * One authored booster placement: its local transform, functionality inputs,\n * atlas slots, light scale and whether it emits a trail.\n */\n@type.define({ className: \"EveBoosterSet2Item\", family: \"eve/attachment/boosters\" })\nexport class EveBoosterSet2Item extends CjsModel\n{\n @io.rebuild(\"packedGeometry\")\n @io.persist\n @type.mat4\n transform = mat4.create();\n\n @io.rebuild(\"packedGeometry\")\n @io.persist\n @type.vec4\n functionality = vec4.fromValues(0, 1, 1, 1);\n\n @io.rebuild(\"packedGeometry\")\n @io.persist\n @type.boolean\n hasTrail = true;\n\n @io.rebuild(\"packedGeometry\")\n @io.persist\n @type.uint32\n atlasIndex0 = 0;\n\n @io.rebuild(\"packedGeometry\")\n @io.persist\n @type.uint32\n atlasIndex1 = 0;\n\n @io.rebuild(\"packedGeometry\")\n @io.persist\n @type.float32\n lightScale = 1;\n}\n"],"names":["_EveBoosterSet2Item","EveBoosterSet2Item","CjsModel","e","_init_transform","_init_extra_transform","_init_functionality","_init_extra_functionality","_init_hasTrail","_init_extra_hasTrail","_init_atlasIndex","_init_extra_atlasIndex","_init_atlasIndex2","_init_extra_atlasIndex2","_init_lightScale","_init_extra_lightScale","c","_initClass","_applyDecs","type","define","className","family","io","rebuild","persist","mat4","vec4","boolean","uint32","float32","constructor","args","transform","create","functionality","fromValues","hasTrail","atlasIndex0","atlasIndex1","lightScale"],"mappings":"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"}
@@ -251,7 +251,7 @@ new class extends _identity {
251
251
  * and therefore the DEPTH pixel-size formula, not the Est one.
252
252
  * No lodFactor is applied anywhere here; Carbon does not apply one either. */
253
253
  UpdateVisibility(updateContext) {
254
- const frustum = updateContext?.GetFrustum?.();
254
+ const frustum = updateContext?.GetFrustum();
255
255
  if (!frustum || !this.#boosterSet) {
256
256
  return false;
257
257
  }