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

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 (929) 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/utils/bytes.js +22 -4
  80. package/dist/global/utils/bytes.js.map +1 -1
  81. package/dist/global/utils/checksum.js +80 -0
  82. package/dist/global/utils/checksum.js.map +1 -0
  83. package/dist/global/utils/errors/CjsCancellationError.js +36 -0
  84. package/dist/global/utils/errors/CjsCancellationError.js.map +1 -0
  85. package/dist/global/utils/errors/CjsError.js +21 -52
  86. package/dist/global/utils/errors/CjsError.js.map +1 -1
  87. package/dist/global/utils/errors/abort.js +1 -1
  88. package/dist/global/utils/errors/abort.js.map +1 -1
  89. package/dist/global/utils/errors/index.js +2 -1
  90. package/dist/global/utils/errors/index.js.map +1 -1
  91. package/dist/global/utils/index.js +4 -2
  92. package/dist/global/utils/index.js.map +1 -1
  93. package/dist/index.js +95 -35
  94. package/dist/index.js.map +1 -1
  95. package/dist/input/Tr2MainWindow.js +7 -9
  96. package/dist/input/Tr2MainWindow.js.map +1 -1
  97. package/dist/resource/CjsResMan.js +33 -39
  98. package/dist/resource/CjsResMan.js.map +1 -1
  99. package/dist/resource/CjsResource.js +19 -5
  100. package/dist/resource/CjsResource.js.map +1 -1
  101. package/dist/resource/audio/AudioGeometryResData.js +22 -27
  102. package/dist/resource/audio/AudioGeometryResData.js.map +1 -1
  103. package/dist/resource/audio/CjsAudioRes.js +4 -5
  104. package/dist/resource/audio/CjsAudioRes.js.map +1 -1
  105. package/dist/resource/format/CjsBitReader.js +263 -0
  106. package/dist/resource/format/CjsBitReader.js.map +1 -0
  107. package/dist/resource/format/CjsByteReader.js +130 -125
  108. package/dist/resource/format/CjsByteReader.js.map +1 -1
  109. package/dist/resource/format/CjsFormat.js +11 -4
  110. package/dist/resource/format/CjsFormat.js.map +1 -1
  111. package/dist/resource/format/CjsFormatError.js +37 -1
  112. package/dist/resource/format/CjsFormatError.js.map +1 -1
  113. package/dist/resource/format/CjsResourceProbe.js +41 -37
  114. package/dist/resource/format/CjsResourceProbe.js.map +1 -1
  115. package/dist/resource/format/carbonRecordGuard.js +33 -0
  116. package/dist/resource/format/carbonRecordGuard.js.map +1 -0
  117. package/dist/resource/format/imageSignatures.js +202 -0
  118. package/dist/resource/format/imageSignatures.js.map +1 -0
  119. package/dist/resource/format/index.js +2 -1
  120. package/dist/resource/format/index.js.map +1 -1
  121. package/dist/resource/format/jsonPolicies.js +180 -0
  122. package/dist/resource/format/jsonPolicies.js.map +1 -0
  123. package/dist/resource/formats/black/core/helpers.js +18 -29
  124. package/dist/resource/formats/black/core/helpers.js.map +1 -1
  125. package/dist/resource/formats/bnk/CjsBnkFormat.js +4 -3
  126. package/dist/resource/formats/bnk/CjsBnkFormat.js.map +1 -1
  127. package/dist/resource/formats/bnk/core/WwiseCursor.js +218 -0
  128. package/dist/resource/formats/bnk/core/WwiseCursor.js.map +1 -0
  129. package/dist/resource/formats/bnk/core/busNodes.js +2 -1
  130. package/dist/resource/formats/bnk/core/busNodes.js.map +1 -1
  131. package/dist/resource/formats/bnk/core/effectNodes.js +2 -1
  132. package/dist/resource/formats/bnk/core/effectNodes.js.map +1 -1
  133. package/dist/resource/formats/bnk/core/eventAction.js +15 -93
  134. package/dist/resource/formats/bnk/core/eventAction.js.map +1 -1
  135. package/dist/resource/formats/bnk/core/globalSettings.js +19 -94
  136. package/dist/resource/formats/bnk/core/globalSettings.js.map +1 -1
  137. package/dist/resource/formats/bnk/core/helpers.js +2 -48
  138. package/dist/resource/formats/bnk/core/helpers.js.map +1 -1
  139. package/dist/resource/formats/bnk/core/musicNodes.js +42 -134
  140. package/dist/resource/formats/bnk/core/musicNodes.js.map +1 -1
  141. package/dist/resource/formats/bnk/core/nodeBase.js +20 -111
  142. package/dist/resource/formats/bnk/core/nodeBase.js.map +1 -1
  143. package/dist/resource/formats/bnk/core/sfxNodes.js +2 -1
  144. package/dist/resource/formats/bnk/core/sfxNodes.js.map +1 -1
  145. package/dist/resource/formats/cmf/CjsCmfFormat.js +242 -228
  146. package/dist/resource/formats/cmf/CjsCmfFormat.js.map +1 -1
  147. package/dist/resource/formats/cmf/core/binary.js +54 -60
  148. package/dist/resource/formats/cmf/core/binary.js.map +1 -1
  149. package/dist/resource/formats/dds/CjsDdsFormat.js +5 -3
  150. package/dist/resource/formats/dds/CjsDdsFormat.js.map +1 -1
  151. package/dist/resource/formats/dds/core/bc6h.js +16 -18
  152. package/dist/resource/formats/dds/core/bc6h.js.map +1 -1
  153. package/dist/resource/formats/dds/core/bc7.js +28 -24
  154. package/dist/resource/formats/dds/core/bc7.js.map +1 -1
  155. package/dist/resource/formats/dds/core/helpers.js +7 -133
  156. package/dist/resource/formats/dds/core/helpers.js.map +1 -1
  157. package/dist/resource/formats/dxbc/CjsDxbcFormat.js +3 -2
  158. package/dist/resource/formats/dxbc/CjsDxbcFormat.js.map +1 -1
  159. package/dist/resource/formats/dxbc/core/helpers.js +4 -32
  160. package/dist/resource/formats/dxbc/core/helpers.js.map +1 -1
  161. package/dist/resource/formats/fbx/CjsFbxFormat.js +11 -0
  162. package/dist/resource/formats/fbx/CjsFbxFormat.js.map +1 -1
  163. package/dist/resource/formats/fbx/core/helpers.js +18 -12
  164. package/dist/resource/formats/fbx/core/helpers.js.map +1 -1
  165. package/dist/resource/formats/flac/CjsFlacFormat.js +4 -9
  166. package/dist/resource/formats/flac/CjsFlacFormat.js.map +1 -1
  167. package/dist/resource/formats/flac/core/helpers.js +1 -62
  168. package/dist/resource/formats/flac/core/helpers.js.map +1 -1
  169. package/dist/resource/formats/gif/CjsGifFormat.js +4 -9
  170. package/dist/resource/formats/gif/CjsGifFormat.js.map +1 -1
  171. package/dist/resource/formats/gif/core/helpers.js +1 -63
  172. package/dist/resource/formats/gif/core/helpers.js.map +1 -1
  173. package/dist/resource/formats/gltf/CjsGltfFormat.js +4 -3
  174. package/dist/resource/formats/gltf/CjsGltfFormat.js.map +1 -1
  175. package/dist/resource/formats/gltf/core/helpers.js +3 -19
  176. package/dist/resource/formats/gltf/core/helpers.js.map +1 -1
  177. package/dist/resource/formats/gr2/CjsGr2Format.js +105 -92
  178. package/dist/resource/formats/gr2/CjsGr2Format.js.map +1 -1
  179. package/dist/resource/formats/gr2/core/container.js +1 -10
  180. package/dist/resource/formats/gr2/core/container.js.map +1 -1
  181. package/dist/resource/formats/gr2/core/helpers.js +24 -35
  182. package/dist/resource/formats/gr2/core/helpers.js.map +1 -1
  183. package/dist/resource/formats/gr2/core/shared.js +193 -189
  184. package/dist/resource/formats/gr2/core/shared.js.map +1 -1
  185. package/dist/resource/formats/hlsl/CjsHlslFormat.js +4 -3
  186. package/dist/resource/formats/hlsl/CjsHlslFormat.js.map +1 -1
  187. package/dist/resource/formats/hlsl/core/helpers.js +1 -30
  188. package/dist/resource/formats/hlsl/core/helpers.js.map +1 -1
  189. package/dist/resource/formats/jpeg/CjsJpegFormat.js +5 -3
  190. package/dist/resource/formats/jpeg/CjsJpegFormat.js.map +1 -1
  191. package/dist/resource/formats/jpeg/core/helpers.js +7 -134
  192. package/dist/resource/formats/jpeg/core/helpers.js.map +1 -1
  193. package/dist/resource/formats/mp3/CjsMp3Format.js +4 -9
  194. package/dist/resource/formats/mp3/CjsMp3Format.js.map +1 -1
  195. package/dist/resource/formats/mp3/core/helpers.js +1 -64
  196. package/dist/resource/formats/mp3/core/helpers.js.map +1 -1
  197. package/dist/resource/formats/mp4/CjsMp4Format.js +4 -9
  198. package/dist/resource/formats/mp4/CjsMp4Format.js.map +1 -1
  199. package/dist/resource/formats/mp4/core/helpers.js +1 -73
  200. package/dist/resource/formats/mp4/core/helpers.js.map +1 -1
  201. package/dist/resource/formats/obj/CjsObjFormat.js +4 -3
  202. package/dist/resource/formats/obj/CjsObjFormat.js.map +1 -1
  203. package/dist/resource/formats/obj/core/helpers.js +93 -115
  204. package/dist/resource/formats/obj/core/helpers.js.map +1 -1
  205. package/dist/resource/formats/ogg/CjsOggFormat.js +4 -3
  206. package/dist/resource/formats/ogg/CjsOggFormat.js.map +1 -1
  207. package/dist/resource/formats/ogg/core/helpers.js +1 -15
  208. package/dist/resource/formats/ogg/core/helpers.js.map +1 -1
  209. package/dist/resource/formats/ogg/core/vorbis.js +138 -144
  210. package/dist/resource/formats/ogg/core/vorbis.js.map +1 -1
  211. package/dist/resource/formats/pickle/CjsPickleFormat.js +83 -114
  212. package/dist/resource/formats/pickle/CjsPickleFormat.js.map +1 -1
  213. package/dist/resource/formats/png/CjsPngFormat.js +5 -3
  214. package/dist/resource/formats/png/CjsPngFormat.js.map +1 -1
  215. package/dist/resource/formats/png/core/helpers.js +13 -152
  216. package/dist/resource/formats/png/core/helpers.js.map +1 -1
  217. package/dist/resource/formats/png/core/writer.js +3 -27
  218. package/dist/resource/formats/png/core/writer.js.map +1 -1
  219. package/dist/resource/formats/red/core/helpers.js +19 -29
  220. package/dist/resource/formats/red/core/helpers.js.map +1 -1
  221. package/dist/resource/formats/stl/CjsStlFormat.js +158 -147
  222. package/dist/resource/formats/stl/CjsStlFormat.js.map +1 -1
  223. package/dist/resource/formats/stl/core/helpers.js +44 -66
  224. package/dist/resource/formats/stl/core/helpers.js.map +1 -1
  225. package/dist/resource/formats/tga/CjsTgaFormat.js +5 -3
  226. package/dist/resource/formats/tga/CjsTgaFormat.js.map +1 -1
  227. package/dist/resource/formats/tga/core/helpers.js +7 -153
  228. package/dist/resource/formats/tga/core/helpers.js.map +1 -1
  229. package/dist/resource/formats/vta/CjsVtaFormat.js +4 -3
  230. package/dist/resource/formats/vta/CjsVtaFormat.js.map +1 -1
  231. package/dist/resource/formats/vta/core/helpers.js +1 -17
  232. package/dist/resource/formats/vta/core/helpers.js.map +1 -1
  233. package/dist/resource/formats/wav/CjsWavFormat.js +4 -3
  234. package/dist/resource/formats/wav/CjsWavFormat.js.map +1 -1
  235. package/dist/resource/formats/wav/core/helpers.js +1 -15
  236. package/dist/resource/formats/wav/core/helpers.js.map +1 -1
  237. package/dist/resource/formats/webgl/CjsWebglFormat.js +4 -3
  238. package/dist/resource/formats/webgl/CjsWebglFormat.js.map +1 -1
  239. package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js +52 -4
  240. package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js.map +1 -1
  241. package/dist/resource/formats/webgl/core/helpers.js +39 -68
  242. package/dist/resource/formats/webgl/core/helpers.js.map +1 -1
  243. package/dist/resource/formats/webgpu/CjsWebgpuFormat.js +4 -3
  244. package/dist/resource/formats/webgpu/CjsWebgpuFormat.js.map +1 -1
  245. package/dist/resource/formats/webgpu/core/helpers.js +4 -30
  246. package/dist/resource/formats/webgpu/core/helpers.js.map +1 -1
  247. package/dist/resource/formats/webm/CjsWebmFormat.js +4 -9
  248. package/dist/resource/formats/webm/CjsWebmFormat.js.map +1 -1
  249. package/dist/resource/formats/webm/core/helpers.js +1 -73
  250. package/dist/resource/formats/webm/core/helpers.js.map +1 -1
  251. package/dist/resource/formats/webp/CjsWebpFormat.js +4 -9
  252. package/dist/resource/formats/webp/CjsWebpFormat.js.map +1 -1
  253. package/dist/resource/formats/webp/core/helpers.js +1 -62
  254. package/dist/resource/formats/webp/core/helpers.js.map +1 -1
  255. package/dist/resource/formats/wem/CjsWemFormat.js +4 -3
  256. package/dist/resource/formats/wem/CjsWemFormat.js.map +1 -1
  257. package/dist/resource/formats/wem/core/bitStream.js +83 -106
  258. package/dist/resource/formats/wem/core/bitStream.js.map +1 -1
  259. package/dist/resource/formats/wem/core/codebookLibrary.js +52 -52
  260. package/dist/resource/formats/wem/core/codebookLibrary.js.map +1 -1
  261. package/dist/resource/formats/wem/core/helpers.js +1 -15
  262. package/dist/resource/formats/wem/core/helpers.js.map +1 -1
  263. package/dist/resource/formats/wem/core/wemToOgg.js +67 -67
  264. package/dist/resource/formats/wem/core/wemToOgg.js.map +1 -1
  265. package/dist/resource/geometry/MeshDecalData.js +23 -25
  266. package/dist/resource/geometry/MeshDecalData.js.map +1 -1
  267. package/dist/resource/geometry/MeshDecalLodData.js +14 -23
  268. package/dist/resource/geometry/MeshDecalLodData.js.map +1 -1
  269. package/dist/resource/geometry/TriGeometryRes.js +299 -284
  270. package/dist/resource/geometry/TriGeometryRes.js.map +1 -1
  271. package/dist/resource/geometry/TriGeometryResAreaData.js +30 -31
  272. package/dist/resource/geometry/TriGeometryResAreaData.js.map +1 -1
  273. package/dist/resource/geometry/TriGeometryResJointData.js +16 -24
  274. package/dist/resource/geometry/TriGeometryResJointData.js.map +1 -1
  275. package/dist/resource/geometry/TriGeometryResLodData.js +50 -41
  276. package/dist/resource/geometry/TriGeometryResLodData.js.map +1 -1
  277. package/dist/resource/geometry/TriGeometryResMeshData.js +32 -32
  278. package/dist/resource/geometry/TriGeometryResMeshData.js.map +1 -1
  279. package/dist/resource/geometry/TriGeometryResSkeletonData.js +14 -23
  280. package/dist/resource/geometry/TriGeometryResSkeletonData.js.map +1 -1
  281. package/dist/resource/geometry/TriJointBinding.js +16 -24
  282. package/dist/resource/geometry/TriJointBinding.js.map +1 -1
  283. package/dist/resource/geometry/TriMorphTargetGeometryConstants.js +22 -27
  284. package/dist/resource/geometry/TriMorphTargetGeometryConstants.js.map +1 -1
  285. package/dist/resource/geometry/TriRtGeometryConstants.js +50 -41
  286. package/dist/resource/geometry/TriRtGeometryConstants.js.map +1 -1
  287. package/dist/resource/geometry/granny/GStateBindingCallbackData.js +12 -22
  288. package/dist/resource/geometry/granny/GStateBindingCallbackData.js.map +1 -1
  289. package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js +30 -31
  290. package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js.map +1 -1
  291. package/dist/resource/index.js +1 -1
  292. package/dist/resource/shader/reflection/Tr2EffectConstant.js +16 -17
  293. package/dist/resource/shader/reflection/Tr2EffectConstant.js.map +1 -1
  294. package/dist/resource/shader/reflection/Tr2EffectDescription.js +26 -28
  295. package/dist/resource/shader/reflection/Tr2EffectDescription.js.map +1 -1
  296. package/dist/resource/shader/reflection/Tr2EffectLibrary.js +24 -25
  297. package/dist/resource/shader/reflection/Tr2EffectLibrary.js.map +1 -1
  298. package/dist/resource/shader/reflection/Tr2EffectParameterAnnotation.js +21 -22
  299. package/dist/resource/shader/reflection/Tr2EffectParameterAnnotation.js.map +1 -1
  300. package/dist/resource/shader/reflection/Tr2EffectResource.js +25 -26
  301. package/dist/resource/shader/reflection/Tr2EffectResource.js.map +1 -1
  302. package/dist/resource/shader/reflection/Tr2EffectStageInput.js +69 -72
  303. package/dist/resource/shader/reflection/Tr2EffectStageInput.js.map +1 -1
  304. package/dist/resource/shader/reflection/Tr2EffectTechnique.js +17 -18
  305. package/dist/resource/shader/reflection/Tr2EffectTechnique.js.map +1 -1
  306. package/dist/resource/shader/reflection/Tr2Pass.js +42 -43
  307. package/dist/resource/shader/reflection/Tr2Pass.js.map +1 -1
  308. package/dist/resource/shader/reflection/Tr2RenderStateSetup.js +26 -5
  309. package/dist/resource/shader/reflection/Tr2RenderStateSetup.js.map +1 -1
  310. package/dist/resource/shader/reflection/carbonRecordFields.js +87 -90
  311. package/dist/resource/shader/reflection/carbonRecordFields.js.map +1 -1
  312. package/dist/resource/shader/sampler/Tr2SamplerSetup.js +32 -34
  313. package/dist/resource/shader/sampler/Tr2SamplerSetup.js.map +1 -1
  314. package/dist/resource/texture/CjsTextureArrayRes.js +1 -6
  315. package/dist/resource/texture/CjsTextureArrayRes.js.map +1 -1
  316. package/dist/resource/texture/Tr2TextureLodManager.js +35 -27
  317. package/dist/resource/texture/Tr2TextureLodManager.js.map +1 -1
  318. package/dist/resource/texture/Tr2TextureLodUpdateRequest.js +16 -24
  319. package/dist/resource/texture/Tr2TextureLodUpdateRequest.js.map +1 -1
  320. package/dist/resource/texture/Tr2TexturePackChannel.js +16 -24
  321. package/dist/resource/texture/Tr2TexturePackChannel.js.map +1 -1
  322. package/dist/resource/texture/Tr2TexturePipeline.js +24 -20
  323. package/dist/resource/texture/Tr2TexturePipeline.js.map +1 -1
  324. package/dist/resource/texture/Tr2TexturePipelineParams.js +14 -23
  325. package/dist/resource/texture/Tr2TexturePipelineParams.js.map +1 -1
  326. package/dist/resource/texture/Tr2TexturePipelineStepCompress.js +18 -25
  327. package/dist/resource/texture/Tr2TexturePipelineStepCompress.js.map +1 -1
  328. package/dist/resource/texture/Tr2TexturePipelineStepGenerateMips.js +11 -16
  329. package/dist/resource/texture/Tr2TexturePipelineStepGenerateMips.js.map +1 -1
  330. package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js +14 -23
  331. package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js.map +1 -1
  332. package/dist/resource/texture/Tr2TexturePipelineStepLoad.js +12 -22
  333. package/dist/resource/texture/Tr2TexturePipelineStepLoad.js.map +1 -1
  334. package/dist/resource/texture/Tr2TexturePipelineStepPack.js +38 -26
  335. package/dist/resource/texture/Tr2TexturePipelineStepPack.js.map +1 -1
  336. package/dist/resource/worker/CjsResManMainThreadLoader.js +2 -5
  337. package/dist/resource/worker/CjsResManMainThreadLoader.js.map +1 -1
  338. package/dist/resource/worker/CjsResManWorkerLoader.js +6 -7
  339. package/dist/resource/worker/CjsResManWorkerLoader.js.map +1 -1
  340. package/dist/resource/worker/protocol.js +18 -1
  341. package/dist/resource/worker/protocol.js.map +1 -1
  342. package/dist/sof/EveSOF.js +2 -222
  343. package/dist/sof/EveSOF.js.map +1 -1
  344. package/dist/sof/SofDocumentBuilder.js +205 -0
  345. package/dist/sof/SofDocumentBuilder.js.map +1 -0
  346. package/dist/sof/faction/ErrSOFFactionColorSetTypeNotFound.js +16 -0
  347. package/dist/sof/faction/ErrSOFFactionColorSetTypeNotFound.js.map +1 -0
  348. package/dist/sof/faction/ErrSOFFactionColorSetTypeUnknown.js +16 -0
  349. package/dist/sof/faction/ErrSOFFactionColorSetTypeUnknown.js.map +1 -0
  350. package/dist/sof/faction/EveSOFDataFactionColorSet.js +3 -27
  351. package/dist/sof/faction/EveSOFDataFactionColorSet.js.map +1 -1
  352. package/dist/sof/faction/index.js +3 -1
  353. package/dist/sof/faction/index.js.map +1 -1
  354. package/dist/sof/generic/ErrSOFAreaShaderNotFound.js +18 -0
  355. package/dist/sof/generic/ErrSOFAreaShaderNotFound.js.map +1 -0
  356. package/dist/sof/generic/ErrSOFDecalShaderNotFound.js +18 -0
  357. package/dist/sof/generic/ErrSOFDecalShaderNotFound.js.map +1 -0
  358. package/dist/sof/generic/ErrSOFMaterialPrefixNotFound.js +21 -0
  359. package/dist/sof/generic/ErrSOFMaterialPrefixNotFound.js.map +1 -0
  360. package/dist/sof/generic/ErrSOFPatternMaterialPrefixNotFound.js +21 -0
  361. package/dist/sof/generic/ErrSOFPatternMaterialPrefixNotFound.js.map +1 -0
  362. package/dist/sof/generic/EveSOFDataGeneric.js +5 -69
  363. package/dist/sof/generic/EveSOFDataGeneric.js.map +1 -1
  364. package/dist/sof/generic/index.js +5 -1
  365. package/dist/sof/generic/index.js.map +1 -1
  366. package/dist/sof/index.js +23 -7
  367. package/dist/sof/index.js.map +1 -1
  368. package/dist/sof/pattern/ErrSOFProjectionNotFound.js +20 -0
  369. package/dist/sof/pattern/ErrSOFProjectionNotFound.js.map +1 -0
  370. package/dist/sof/pattern/EveSOFDataPattern.js +2 -17
  371. package/dist/sof/pattern/EveSOFDataPattern.js.map +1 -1
  372. package/dist/sof/pattern/index.js +2 -1
  373. package/dist/sof/pattern/index.js.map +1 -1
  374. package/dist/sof/shared/ErrSOFAreaTypeNotFound.js +16 -0
  375. package/dist/sof/shared/ErrSOFAreaTypeNotFound.js.map +1 -0
  376. package/dist/sof/shared/ErrSOFLogoSetTypeNotFound.js +16 -0
  377. package/dist/sof/shared/ErrSOFLogoSetTypeNotFound.js.map +1 -0
  378. package/dist/sof/shared/ErrSOFLogoSetTypeUnknown.js +16 -0
  379. package/dist/sof/shared/ErrSOFLogoSetTypeUnknown.js.map +1 -0
  380. package/dist/sof/shared/EveSOFDataArea.js +2 -13
  381. package/dist/sof/shared/EveSOFDataArea.js.map +1 -1
  382. package/dist/sof/shared/EveSOFDataLogoSet.js +3 -27
  383. package/dist/sof/shared/EveSOFDataLogoSet.js.map +1 -1
  384. package/dist/sof/shared/EveSOFDataParameter.js +2 -146
  385. package/dist/sof/shared/EveSOFDataParameter.js.map +1 -1
  386. package/dist/sof/shared/EveSOFDataParameterBool.js +40 -0
  387. package/dist/sof/shared/EveSOFDataParameterBool.js.map +1 -0
  388. package/dist/sof/shared/EveSOFDataParameterColor.js +36 -0
  389. package/dist/sof/shared/EveSOFDataParameterColor.js.map +1 -0
  390. package/dist/sof/shared/EveSOFDataParameterFloat.js +37 -0
  391. package/dist/sof/shared/EveSOFDataParameterFloat.js.map +1 -0
  392. package/dist/sof/shared/EveSOFDataParameterInt.js +37 -0
  393. package/dist/sof/shared/EveSOFDataParameterInt.js.map +1 -0
  394. package/dist/sof/shared/EveSOFDataParameterVector2.js +37 -0
  395. package/dist/sof/shared/EveSOFDataParameterVector2.js.map +1 -0
  396. package/dist/sof/shared/EveSOFDataParameterVector3.js +37 -0
  397. package/dist/sof/shared/EveSOFDataParameterVector3.js.map +1 -0
  398. package/dist/sof/shared/{EveSOFDataSpotlightAttachment.js → EveSOFDataSpotLightAttachment.js} +1 -1
  399. package/dist/sof/shared/{EveSOFDataSpotlightAttachment.js.map → EveSOFDataSpotLightAttachment.js.map} +1 -1
  400. package/dist/sof/shared/index.js +13 -4
  401. package/dist/sof/shared/index.js.map +1 -1
  402. package/dist/sof/sofDocumentValues.js +33 -0
  403. package/dist/sof/sofDocumentValues.js.map +1 -0
  404. package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js +168 -0
  405. package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js.map +1 -0
  406. package/dist/trinity/controllers/{ITr2Controller.js → ITr2Controller/ITr2Controller.js} +2 -134
  407. package/dist/trinity/controllers/ITr2Controller/ITr2Controller.js.map +1 -0
  408. package/dist/trinity/controllers/Tr2Controller.js +2 -1
  409. package/dist/trinity/controllers/Tr2Controller.js.map +1 -1
  410. package/dist/trinity/controllers/Tr2ControllerReference.js +2 -1
  411. package/dist/trinity/controllers/Tr2ControllerReference.js.map +1 -1
  412. package/dist/trinity/controllers/action/ITr2ControllerAction.js +2 -1
  413. package/dist/trinity/controllers/action/ITr2ControllerAction.js.map +1 -1
  414. package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js +10 -9
  415. package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js.map +1 -1
  416. package/dist/trinity/controllers/expression/CjsControllerExpressionCompileError.js +26 -0
  417. package/dist/trinity/controllers/expression/CjsControllerExpressionCompileError.js.map +1 -0
  418. package/dist/trinity/controllers/expression/CjsControllerExpressionEvaluateError.js +24 -0
  419. package/dist/trinity/controllers/expression/CjsControllerExpressionEvaluateError.js.map +1 -0
  420. package/dist/trinity/controllers/expression/CjsControllerExpressionParser.js +387 -0
  421. package/dist/trinity/controllers/expression/CjsControllerExpressionParser.js.map +1 -0
  422. package/dist/trinity/controllers/expression/CjsControllerExpressionProgram.js +4 -1011
  423. package/dist/trinity/controllers/expression/CjsControllerExpressionProgram.js.map +1 -1
  424. package/dist/trinity/controllers/expression/expressionRuntime.js +605 -0
  425. package/dist/trinity/controllers/expression/expressionRuntime.js.map +1 -0
  426. package/dist/trinity/controllers/index.js +5 -2
  427. package/dist/trinity/controllers/index.js.map +1 -1
  428. package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js +2 -1
  429. package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js.map +1 -1
  430. package/dist/trinity/controllers/timeline/Tr2TimelineController.js +2 -1
  431. package/dist/trinity/controllers/timeline/Tr2TimelineController.js.map +1 -1
  432. package/dist/trinity/core/ITr2Updateable.js +2 -1
  433. package/dist/trinity/core/ITr2Updateable.js.map +1 -1
  434. package/dist/trinity/core/Tr2Blitter.js +6 -3
  435. package/dist/trinity/core/Tr2Blitter.js.map +1 -1
  436. package/dist/trinity/core/Tr2Denoiser.js +256 -0
  437. package/dist/trinity/core/Tr2Denoiser.js.map +1 -0
  438. package/dist/trinity/core/Tr2GpuResourcePool/GpuResourceHandle.js +115 -0
  439. package/dist/trinity/core/Tr2GpuResourcePool/GpuResourceHandle.js.map +1 -0
  440. package/dist/trinity/core/Tr2GpuResourcePool/TextureSize2D.js +79 -0
  441. package/dist/trinity/core/Tr2GpuResourcePool/TextureSize2D.js.map +1 -0
  442. package/dist/trinity/core/{Tr2GpuResourcePool.js → Tr2GpuResourcePool/Tr2GpuResourcePool.js} +63 -151
  443. package/dist/trinity/core/Tr2GpuResourcePool/Tr2GpuResourcePool.js.map +1 -0
  444. package/dist/trinity/core/{Tr2QuadRenderer.js → Tr2QuadRenderer/Tr2QuadRenderer.js} +8 -30
  445. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRenderer.js.map +1 -0
  446. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js +38 -0
  447. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js.map +1 -0
  448. package/dist/trinity/core/Tr2RenderUtils.js +20 -3
  449. package/dist/trinity/core/Tr2RenderUtils.js.map +1 -1
  450. package/dist/trinity/core/Tr2Renderer.js +146 -1
  451. package/dist/trinity/core/Tr2Renderer.js.map +1 -1
  452. package/dist/trinity/core/Tr2ShadowMap.js +135 -14
  453. package/dist/trinity/core/Tr2ShadowMap.js.map +1 -1
  454. package/dist/trinity/core/{Tr2TextureArray.js → Tr2TextureArray/Tr2TextureArray.js} +3 -58
  455. package/dist/trinity/core/Tr2TextureArray/Tr2TextureArray.js.map +1 -0
  456. package/dist/trinity/core/Tr2TextureArray/Tr2TextureArrayElement.js +61 -0
  457. package/dist/trinity/core/Tr2TextureArray/Tr2TextureArrayElement.js.map +1 -0
  458. package/dist/trinity/core/batch/TriRenderBatch/DefaultKeyGenerator.js +26 -0
  459. package/dist/trinity/core/batch/TriRenderBatch/DefaultKeyGenerator.js.map +1 -0
  460. package/dist/trinity/core/batch/TriRenderBatch/EffectKeyGenerator.js +29 -0
  461. package/dist/trinity/core/batch/TriRenderBatch/EffectKeyGenerator.js.map +1 -0
  462. package/dist/trinity/core/batch/{ITriRenderBatchAccumulator.js → TriRenderBatch/ITriRenderBatchAccumulator.js} +30 -30
  463. package/dist/trinity/core/batch/TriRenderBatch/ITriRenderBatchAccumulator.js.map +1 -0
  464. package/dist/trinity/core/batch/{Tr2RenderBatch.js → TriRenderBatch/Tr2RenderBatch.js} +81 -154
  465. package/dist/trinity/core/batch/TriRenderBatch/Tr2RenderBatch.js.map +1 -0
  466. package/dist/trinity/core/batch/{TriRenderBatchAccumulator.js → TriRenderBatch/TriRenderBatchAccumulator.js} +7 -38
  467. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAccumulator.js.map +1 -0
  468. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlock.js +61 -0
  469. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlock.js.map +1 -0
  470. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlocksWithSharedMaterial.js +40 -0
  471. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlocksWithSharedMaterial.js.map +1 -0
  472. package/dist/trinity/core/batch/TriRenderBatchMap.js +6 -1
  473. package/dist/trinity/core/batch/TriRenderBatchMap.js.map +1 -1
  474. package/dist/trinity/core/context/Tr2RenderContext.js +75 -57
  475. package/dist/trinity/core/context/Tr2RenderContext.js.map +1 -1
  476. package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityEvent.js +67 -0
  477. package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityEvent.js.map +1 -0
  478. package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityResults.js +50 -0
  479. package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityResults.js.map +1 -0
  480. package/dist/trinity/core/device/Tr2DepthStencil.js +186 -13
  481. package/dist/trinity/core/device/Tr2DepthStencil.js.map +1 -1
  482. package/dist/trinity/core/device/{Tr2RingBuffer.js → Tr2RingBuffer/Tr2RingBuffer.js} +27 -79
  483. package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBuffer.js.map +1 -0
  484. package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBufferOffsets.js +114 -0
  485. package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBufferOffsets.js.map +1 -0
  486. package/dist/trinity/core/device/{Tr2SuballocatedBuffer.js → Tr2SuballocatedBuffer/Tr2SuballocatedBuffer.js} +5 -59
  487. package/dist/trinity/core/device/Tr2SuballocatedBuffer/Tr2SuballocatedBuffer.js.map +1 -0
  488. package/dist/trinity/core/device/Tr2SuballocatedBuffer/Tr2SuballocatedBufferAllocation.js +80 -0
  489. package/dist/trinity/core/device/Tr2SuballocatedBuffer/Tr2SuballocatedBufferAllocation.js.map +1 -0
  490. package/dist/trinity/core/index.js +42 -15
  491. package/dist/trinity/core/index.js.map +1 -1
  492. package/dist/trinity/core/lighting/Tr2LightManager.js +6 -1
  493. package/dist/trinity/core/lighting/Tr2LightManager.js.map +1 -1
  494. package/dist/trinity/core/mesh/{ITr2ImpostorSource.js → ITr2ImpostorSource/ITr2ImpostorSource.js} +6 -28
  495. package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSource.js.map +1 -0
  496. package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSourceImpostorHash.js +32 -0
  497. package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSourceImpostorHash.js.map +1 -0
  498. package/dist/trinity/core/mesh/{ITr2InstanceData.js → ITr2InstanceData/ITr2InstanceData.js} +5 -29
  499. package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceData.js.map +1 -0
  500. package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceDataInstanceData.js +33 -0
  501. package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceDataInstanceData.js.map +1 -0
  502. package/dist/trinity/core/mesh/Tr2DirectInstanceData.js +2 -1
  503. package/dist/trinity/core/mesh/Tr2DirectInstanceData.js.map +1 -1
  504. package/dist/trinity/core/mesh/Tr2MeshBase.js +7 -1
  505. package/dist/trinity/core/mesh/Tr2MeshBase.js.map +1 -1
  506. package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js +2 -1
  507. package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js.map +1 -1
  508. package/dist/trinity/core/mesh/TriGeometryResAllocations.js +6 -2
  509. package/dist/trinity/core/mesh/TriGeometryResAllocations.js.map +1 -1
  510. package/dist/trinity/core/rawData/CjsConstantLayout.js +196 -0
  511. package/dist/trinity/core/rawData/CjsConstantLayout.js.map +1 -0
  512. package/dist/trinity/core/rawData/CjsPerFrameLayouts.js +8 -3
  513. package/dist/trinity/core/rawData/CjsPerFrameLayouts.js.map +1 -1
  514. package/dist/trinity/core/rawData/CjsPerObjectLayouts.js +40 -732
  515. package/dist/trinity/core/rawData/CjsPerObjectLayouts.js.map +1 -1
  516. package/dist/trinity/core/rawData/layouts/CjsEveBasicLayout.js +34 -0
  517. package/dist/trinity/core/rawData/layouts/CjsEveBasicLayout.js.map +1 -0
  518. package/dist/trinity/core/rawData/layouts/CjsEveBoosterSetLayout.js +69 -0
  519. package/dist/trinity/core/rawData/layouts/CjsEveBoosterSetLayout.js.map +1 -0
  520. package/dist/trinity/core/rawData/layouts/CjsEveChildBoosterSetLayout.js +59 -0
  521. package/dist/trinity/core/rawData/layouts/CjsEveChildBoosterSetLayout.js.map +1 -0
  522. package/dist/trinity/core/rawData/layouts/CjsEveChildBulletStormLayout.js +37 -0
  523. package/dist/trinity/core/rawData/layouts/CjsEveChildBulletStormLayout.js.map +1 -0
  524. package/dist/trinity/core/rawData/layouts/CjsEveChildSpherePinLayout.js +44 -0
  525. package/dist/trinity/core/rawData/layouts/CjsEveChildSpherePinLayout.js.map +1 -0
  526. package/dist/trinity/core/rawData/layouts/CjsEveLensflareLayout.js +31 -0
  527. package/dist/trinity/core/rawData/layouts/CjsEveLensflareLayout.js.map +1 -0
  528. package/dist/trinity/core/rawData/layouts/CjsEveMissileWarheadLayout.js +29 -0
  529. package/dist/trinity/core/rawData/layouts/CjsEveMissileWarheadLayout.js.map +1 -0
  530. package/dist/trinity/core/rawData/layouts/CjsEvePerObjectLayout.js +39 -0
  531. package/dist/trinity/core/rawData/layouts/CjsEvePerObjectLayout.js.map +1 -0
  532. package/dist/trinity/core/rawData/layouts/CjsEveSceneStaticParticlesLayout.js +30 -0
  533. package/dist/trinity/core/rawData/layouts/CjsEveSceneStaticParticlesLayout.js.map +1 -0
  534. package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectDecalLayout.js +78 -0
  535. package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectDecalLayout.js.map +1 -0
  536. package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectLayout.js +169 -0
  537. package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectLayout.js.map +1 -0
  538. package/dist/trinity/core/rawData/layouts/CjsEveSpacePerObjectLayout.js +107 -0
  539. package/dist/trinity/core/rawData/layouts/CjsEveSpacePerObjectLayout.js.map +1 -0
  540. package/dist/trinity/core/rawData/layouts/CjsEveSpherePinLayout.js +44 -0
  541. package/dist/trinity/core/rawData/layouts/CjsEveSpherePinLayout.js.map +1 -0
  542. package/dist/trinity/core/rawData/layouts/CjsEveStretch2Layout.js +34 -0
  543. package/dist/trinity/core/rawData/layouts/CjsEveStretch2Layout.js.map +1 -0
  544. package/dist/trinity/core/rawData/layouts/CjsEveTurretSetLayout.js +82 -0
  545. package/dist/trinity/core/rawData/layouts/CjsEveTurretSetLayout.js.map +1 -0
  546. package/dist/trinity/core/rawData/layouts/CjsTr2PerObjectLayout.js +42 -0
  547. package/dist/trinity/core/rawData/layouts/CjsTr2PerObjectLayout.js.map +1 -0
  548. package/dist/trinity/core/rawData/perObjectData/EveBasicPerObjectData.js +55 -0
  549. package/dist/trinity/core/rawData/perObjectData/EveBasicPerObjectData.js.map +1 -0
  550. package/dist/trinity/core/rawData/perObjectData/EveBoosterSetPerObjectData.js +59 -0
  551. package/dist/trinity/core/rawData/perObjectData/EveBoosterSetPerObjectData.js.map +1 -0
  552. package/dist/trinity/core/rawData/perObjectData/EveChildBoosterSetPerObjectData.js +59 -0
  553. package/dist/trinity/core/rawData/perObjectData/EveChildBoosterSetPerObjectData.js.map +1 -0
  554. package/dist/trinity/core/rawData/perObjectData/EveChildBulletStormPerObjectData.js +55 -0
  555. package/dist/trinity/core/rawData/perObjectData/EveChildBulletStormPerObjectData.js.map +1 -0
  556. package/dist/trinity/core/rawData/perObjectData/EveChildSpherePinPerObjectData.js +55 -0
  557. package/dist/trinity/core/rawData/perObjectData/EveChildSpherePinPerObjectData.js.map +1 -0
  558. package/dist/trinity/core/rawData/perObjectData/EveDecalPerObjectData.js +59 -0
  559. package/dist/trinity/core/rawData/perObjectData/EveDecalPerObjectData.js.map +1 -0
  560. package/dist/trinity/core/rawData/perObjectData/EveLensflarePerObjectData.js +55 -0
  561. package/dist/trinity/core/rawData/perObjectData/EveLensflarePerObjectData.js.map +1 -0
  562. package/dist/trinity/core/rawData/perObjectData/EveMissileWarheadPerObjectData.js +55 -0
  563. package/dist/trinity/core/rawData/perObjectData/EveMissileWarheadPerObjectData.js.map +1 -0
  564. package/dist/trinity/core/rawData/perObjectData/EveSceneStaticParticlesPerObjectData.js +55 -0
  565. package/dist/trinity/core/rawData/perObjectData/EveSceneStaticParticlesPerObjectData.js.map +1 -0
  566. package/dist/trinity/core/rawData/perObjectData/EveSpherePinPerObjectData.js +55 -0
  567. package/dist/trinity/core/rawData/perObjectData/EveSpherePinPerObjectData.js.map +1 -0
  568. package/dist/trinity/core/rawData/perObjectData/EveTurretSetPerObjectData.js +59 -0
  569. package/dist/trinity/core/rawData/perObjectData/EveTurretSetPerObjectData.js.map +1 -0
  570. package/dist/trinity/core/rawData/perObjectData/StretchPerObjectData.js +55 -0
  571. package/dist/trinity/core/rawData/perObjectData/StretchPerObjectData.js.map +1 -0
  572. package/dist/trinity/core/rawData/{Tr2PerObjectData.js → perObjectData/Tr2PerObjectData.js} +110 -62
  573. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectData.js.map +1 -0
  574. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js +104 -0
  575. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js.map +1 -0
  576. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js +87 -0
  577. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js.map +1 -0
  578. package/dist/trinity/core/variable/TriVariable.js +83 -83
  579. package/dist/trinity/core/variable/TriVariable.js.map +1 -1
  580. package/dist/trinity/core/vertex/{Tr2VertexDefinition.js → Tr2VertexDefinition/Tr2VertexDefinition.js} +4 -20
  581. package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinition.js.map +1 -0
  582. package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinitionItem.js +29 -0
  583. package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinitionItem.js.map +1 -0
  584. package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js +116 -36
  585. package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js.map +1 -1
  586. package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js +50 -92
  587. package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js.map +1 -1
  588. package/dist/trinity/eve/EveModularObjectModifier.js +9 -5
  589. package/dist/trinity/eve/EveModularObjectModifier.js.map +1 -1
  590. package/dist/trinity/eve/IEveInheritPropertiesOwner.js +2 -1
  591. package/dist/trinity/eve/IEveInheritPropertiesOwner.js.map +1 -1
  592. package/dist/trinity/eve/IEveSpaceObject2.js +2 -1
  593. package/dist/trinity/eve/IEveSpaceObject2.js.map +1 -1
  594. package/dist/trinity/eve/IEveTransform.js +2 -1
  595. package/dist/trinity/eve/IEveTransform.js.map +1 -1
  596. package/dist/trinity/eve/attachment/banner/EveBannerSet.js +2 -2
  597. package/dist/trinity/eve/attachment/banner/EveBannerSet.js.map +1 -1
  598. package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js +109 -133
  599. package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js.map +1 -1
  600. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js +40 -0
  601. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js.map +1 -0
  602. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js +1 -1
  603. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js.map +1 -1
  604. package/dist/trinity/eve/attachment/decal/DecalMeshCache.js +2 -14
  605. package/dist/trinity/eve/attachment/decal/DecalMeshCache.js.map +1 -1
  606. package/dist/trinity/eve/attachment/decal/DecalMeshCacheMeshBuffers.js +18 -0
  607. package/dist/trinity/eve/attachment/decal/DecalMeshCacheMeshBuffers.js.map +1 -0
  608. package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js +1 -1
  609. package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js.map +1 -1
  610. package/dist/trinity/eve/attachment/haze/EveHazeSet.js +1 -1
  611. package/dist/trinity/eve/attachment/haze/EveHazeSet.js.map +1 -1
  612. package/dist/trinity/eve/attachment/plane/EvePlaneSet.js +1 -1
  613. package/dist/trinity/eve/attachment/plane/EvePlaneSet.js.map +1 -1
  614. package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js +2 -2
  615. package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js.map +1 -1
  616. package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js +1 -1
  617. package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js.map +1 -1
  618. package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js +4 -2
  619. package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js.map +1 -1
  620. package/dist/trinity/eve/attachment/turrets/EveTurretSet.js +143 -139
  621. package/dist/trinity/eve/attachment/turrets/EveTurretSet.js.map +1 -1
  622. package/dist/trinity/eve/camera/EveCamera.js +1 -1
  623. package/dist/trinity/eve/camera/EveCamera.js.map +1 -1
  624. package/dist/trinity/eve/child/EveChildBoosterSet.js +12 -1
  625. package/dist/trinity/eve/child/EveChildBoosterSet.js.map +1 -1
  626. package/dist/trinity/eve/child/EveChildCloud2.js +178 -151
  627. package/dist/trinity/eve/child/EveChildCloud2.js.map +1 -1
  628. package/dist/trinity/eve/child/EveChildContainer.js +141 -141
  629. package/dist/trinity/eve/child/EveChildContainer.js.map +1 -1
  630. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js +87 -0
  631. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js.map +1 -0
  632. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js +46 -0
  633. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js.map +1 -0
  634. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js +35 -0
  635. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js.map +1 -0
  636. package/dist/trinity/eve/child/{EveChildInstancedMeshes.js → EveChildInstancedMeshes/EveChildInstancedMeshes.js} +42 -163
  637. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshes.js.map +1 -0
  638. package/dist/trinity/eve/child/EveChildMesh.js +218 -218
  639. package/dist/trinity/eve/child/EveChildMesh.js.map +1 -1
  640. package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js +53 -0
  641. package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js.map +1 -0
  642. package/dist/trinity/eve/child/{EveChildPartData.js → EveChildPartData/EveChildPartDataPartData.js} +9 -45
  643. package/dist/trinity/eve/child/EveChildPartData/EveChildPartDataPartData.js.map +1 -0
  644. package/dist/trinity/eve/child/EveChildParticleSystem.js +30 -29
  645. package/dist/trinity/eve/child/EveChildParticleSystem.js.map +1 -1
  646. package/dist/trinity/eve/child/EveChildTransform.js +5 -0
  647. package/dist/trinity/eve/child/EveChildTransform.js.map +1 -1
  648. package/dist/trinity/eve/child/EveChildTurret.js +7 -0
  649. package/dist/trinity/eve/child/EveChildTurret.js.map +1 -1
  650. package/dist/trinity/eve/index.js +10 -4
  651. package/dist/trinity/eve/index.js.map +1 -1
  652. package/dist/trinity/eve/lights/Tr2Light.js +5 -0
  653. package/dist/trinity/eve/lights/Tr2Light.js.map +1 -1
  654. package/dist/trinity/eve/overlays/overlayBatches.js +6 -1
  655. package/dist/trinity/eve/overlays/overlayBatches.js.map +1 -1
  656. package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js +4 -4
  657. package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js.map +1 -1
  658. package/dist/trinity/eve/renderable/stretch/EveStretch2.js +76 -71
  659. package/dist/trinity/eve/renderable/stretch/EveStretch2.js.map +1 -1
  660. package/dist/trinity/eve/renderable/stretch/EveStretch3.js +1 -1
  661. package/dist/trinity/eve/renderable/stretch/EveStretch3.js.map +1 -1
  662. package/dist/trinity/eve/spaceObject/EveShip2.js +3 -3
  663. package/dist/trinity/eve/spaceObject/EveShip2.js.map +1 -1
  664. package/dist/trinity/eve/spaceObject/EveSpaceObject2.js +408 -407
  665. package/dist/trinity/eve/spaceObject/EveSpaceObject2.js.map +1 -1
  666. package/dist/trinity/eve/ui/EveTacticalOverlay.js +1 -1
  667. package/dist/trinity/eve/ui/EveTacticalOverlay.js.map +1 -1
  668. package/dist/trinity/eve/ui/lines/EveCurveLineSet.js +9 -9
  669. package/dist/trinity/eve/ui/lines/EveCurveLineSet.js.map +1 -1
  670. package/dist/trinity/eve/ui/lines/EveLineSet.js +27 -25
  671. package/dist/trinity/eve/ui/lines/EveLineSet.js.map +1 -1
  672. package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js +3 -2
  673. package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js.map +1 -1
  674. package/dist/trinity/generated/index.js +0 -1
  675. package/dist/trinity/generated/index.js.map +1 -1
  676. package/dist/trinity/generated/trinityCore/index.js +0 -1
  677. package/dist/trinity/generated/trinityCore/index.js.map +1 -1
  678. package/dist/trinity/index.js +59 -23
  679. package/dist/trinity/index.js.map +1 -1
  680. package/dist/trinity/particle/{ITr2GenericEmitter.js → ITr2GenericEmitter/ITr2GenericEmitter.js} +4 -32
  681. package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitter.js.map +1 -0
  682. package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitterUpdateArguments.js +36 -0
  683. package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitterUpdateArguments.js.map +1 -0
  684. package/dist/trinity/particle/Tr2ParticleSystem.js +4 -2
  685. package/dist/trinity/particle/Tr2ParticleSystem.js.map +1 -1
  686. package/dist/trinity/particle/element/Tr2ParticleElementData.js +15 -4
  687. package/dist/trinity/particle/element/Tr2ParticleElementData.js.map +1 -1
  688. package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js +21 -20
  689. package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js.map +1 -1
  690. package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js +23 -22
  691. package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js.map +1 -1
  692. package/dist/trinity/particle/emitter/Tr2StaticEmitter.js +14 -13
  693. package/dist/trinity/particle/emitter/Tr2StaticEmitter.js.map +1 -1
  694. package/dist/trinity/particle/index.js +2 -1
  695. package/dist/trinity/particle/index.js.map +1 -1
  696. package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js +7 -1
  697. package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js.map +1 -1
  698. package/dist/trinity/shader/Tr2Effect.js +131 -58
  699. package/dist/trinity/shader/Tr2Effect.js.map +1 -1
  700. package/dist/trinity/shader/Tr2EffectStateManager.js +17 -5
  701. package/dist/trinity/shader/Tr2EffectStateManager.js.map +1 -1
  702. package/dist/trinity/shader/Tr2Material.js +21 -4
  703. package/dist/trinity/shader/Tr2Material.js.map +1 -1
  704. package/dist/trinity/shader/material/Tr2EffectPassParameters.js +4 -1
  705. package/dist/trinity/shader/material/Tr2EffectPassParameters.js.map +1 -1
  706. package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js +2 -2
  707. package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js.map +1 -1
  708. package/dist/trinityal/Tr2BufferAL/Tr2BufferDescriptionAL.js +79 -0
  709. package/dist/trinityal/Tr2BufferAL/Tr2BufferDescriptionAL.js.map +1 -0
  710. package/dist/trinityal/{Tr2DeviceResourceAL.js → Tr2DeviceResourceAL/Tr2BaseDeviceResourceAL.js} +77 -79
  711. package/dist/trinityal/Tr2DeviceResourceAL/Tr2BaseDeviceResourceAL.js.map +1 -0
  712. package/dist/trinityal/Tr2DeviceResourceAL/Tr2DeviceResourceAL.js +24 -0
  713. package/dist/trinityal/Tr2DeviceResourceAL/Tr2DeviceResourceAL.js.map +1 -0
  714. package/dist/trinityal/Tr2DrawUPHelper.js +2 -1
  715. package/dist/trinityal/Tr2DrawUPHelper.js.map +1 -1
  716. package/dist/trinityal/Tr2HalHelperStructures/Tr2MsaaDesc.js +45 -0
  717. package/dist/trinityal/Tr2HalHelperStructures/Tr2MsaaDesc.js.map +1 -0
  718. package/dist/trinityal/Tr2HalHelperStructures/Tr2SamplerDescription.js +154 -0
  719. package/dist/trinityal/Tr2HalHelperStructures/Tr2SamplerDescription.js.map +1 -0
  720. package/dist/trinityal/Tr2HalHelperStructures/Tr2SubresourceData.js +48 -0
  721. package/dist/trinityal/Tr2HalHelperStructures/Tr2SubresourceData.js.map +1 -0
  722. package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureCoordBox.js +75 -0
  723. package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureCoordBox.js.map +1 -0
  724. package/dist/trinityal/{Tr2HalHelperStructures.js → Tr2HalHelperStructures/Tr2TextureSubresource.js} +11 -115
  725. package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureSubresource.js.map +1 -0
  726. package/dist/trinityal/Tr2HalHelperStructures/Tr2Viewport.js +51 -0
  727. package/dist/trinityal/Tr2HalHelperStructures/Tr2Viewport.js.map +1 -0
  728. package/dist/trinityal/{Tr2RenderPassAL.js → Tr2RenderPassAL/Tr2ColorAttachment.js} +5 -28
  729. package/dist/trinityal/Tr2RenderPassAL/Tr2ColorAttachment.js.map +1 -0
  730. package/dist/trinityal/Tr2RenderPassAL/Tr2DepthAttachment.js +38 -0
  731. package/dist/trinityal/Tr2RenderPassAL/Tr2DepthAttachment.js.map +1 -0
  732. package/dist/trinityal/Tr2ResourceSetAL/Tr2RegisterMapAL.js +80 -0
  733. package/dist/trinityal/Tr2ResourceSetAL/Tr2RegisterMapAL.js.map +1 -0
  734. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetAL.js +76 -0
  735. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetAL.js.map +1 -0
  736. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetALStub.js +96 -0
  737. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetALStub.js.map +1 -0
  738. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetDescriptionAL.js +196 -0
  739. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetDescriptionAL.js.map +1 -0
  740. package/dist/trinityal/index.js +22 -9
  741. package/dist/trinityal/index.js.map +1 -1
  742. package/dist/trinityal/stub/Tr2BufferALStub.js +86 -141
  743. package/dist/trinityal/stub/Tr2BufferALStub.js.map +1 -1
  744. package/dist/trinityal/stub/Tr2CapsALStub.js +17 -0
  745. package/dist/trinityal/stub/Tr2CapsALStub.js.map +1 -1
  746. package/dist/trinityal/stub/Tr2ConstantBufferALStub.js +57 -41
  747. package/dist/trinityal/stub/Tr2ConstantBufferALStub.js.map +1 -1
  748. package/dist/trinityal/stub/Tr2FenceALStub.js +18 -2
  749. package/dist/trinityal/stub/Tr2FenceALStub.js.map +1 -1
  750. package/dist/trinityal/stub/Tr2GpuTimerALStub.js +97 -0
  751. package/dist/trinityal/stub/Tr2GpuTimerALStub.js.map +1 -0
  752. package/dist/trinityal/stub/Tr2OcclusionQueryALStub.js +124 -0
  753. package/dist/trinityal/stub/Tr2OcclusionQueryALStub.js.map +1 -0
  754. package/dist/trinityal/stub/Tr2PipelineStatsQueryALStub/Tr2PipelineStatsQueryALStub.js +146 -0
  755. package/dist/trinityal/stub/Tr2PipelineStatsQueryALStub/Tr2PipelineStatsQueryALStub.js.map +1 -0
  756. package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2BindlessResourcesAL.js +28 -0
  757. package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2BindlessResourcesAL.js.map +1 -0
  758. package/dist/trinityal/stub/{Tr2RenderContextALStub.js → Tr2RenderContextALStub/Tr2RenderContextALStub.js} +70 -75
  759. package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2RenderContextALStub.js.map +1 -0
  760. package/dist/trinityal/stub/Tr2SamplerStateALStub.js +47 -31
  761. package/dist/trinityal/stub/Tr2SamplerStateALStub.js.map +1 -1
  762. package/dist/trinityal/stub/Tr2ShaderALStub.js +61 -45
  763. package/dist/trinityal/stub/Tr2ShaderALStub.js.map +1 -1
  764. package/dist/trinityal/stub/Tr2ShaderProgramALStub.js +51 -33
  765. package/dist/trinityal/stub/Tr2ShaderProgramALStub.js.map +1 -1
  766. package/dist/trinityal/stub/Tr2SwapChainALStub.js +61 -45
  767. package/dist/trinityal/stub/Tr2SwapChainALStub.js.map +1 -1
  768. package/dist/trinityal/stub/Tr2TextureALStub.js +188 -171
  769. package/dist/trinityal/stub/Tr2TextureALStub.js.map +1 -1
  770. package/dist/trinityal/stub/Tr2VertexLayoutALStub.js +43 -27
  771. package/dist/trinityal/stub/Tr2VertexLayoutALStub.js.map +1 -1
  772. package/dist/trinityal/stub/{Tr2VideoAdapterInfoALStub.js → Tr2VideoAdapterInfoStub.js} +16 -1
  773. package/dist/trinityal/stub/Tr2VideoAdapterInfoStub.js.map +1 -0
  774. package/dist/trinityal/stub/index.js +8 -4
  775. package/dist/trinityal/stub/index.js.map +1 -1
  776. package/dist/trinityal/vertexLayoutMatch.js +2 -2
  777. package/dist/trinityal/vertexLayoutMatch.js.map +1 -1
  778. package/dist/trinityal/webgpu/CjsWebgpuBufferAL.js +105 -90
  779. package/dist/trinityal/webgpu/CjsWebgpuBufferAL.js.map +1 -1
  780. package/dist/trinityal/webgpu/CjsWebgpuCapsAL.js +17 -0
  781. package/dist/trinityal/webgpu/CjsWebgpuCapsAL.js.map +1 -1
  782. package/dist/trinityal/webgpu/CjsWebgpuConstantBufferAL.js +15 -0
  783. package/dist/trinityal/webgpu/CjsWebgpuConstantBufferAL.js.map +1 -1
  784. package/dist/trinityal/webgpu/CjsWebgpuDevice.js +2 -2
  785. package/dist/trinityal/webgpu/CjsWebgpuDevice.js.map +1 -1
  786. package/dist/trinityal/webgpu/CjsWebgpuRenderContextAL.js +900 -938
  787. package/dist/trinityal/webgpu/CjsWebgpuRenderContextAL.js.map +1 -1
  788. package/dist/trinityal/webgpu/CjsWebgpuResourceSetAL.js +56 -60
  789. package/dist/trinityal/webgpu/CjsWebgpuResourceSetAL.js.map +1 -1
  790. package/dist/trinityal/webgpu/CjsWebgpuSamplerStateAL.js +16 -1
  791. package/dist/trinityal/webgpu/CjsWebgpuSamplerStateAL.js.map +1 -1
  792. package/dist/trinityal/webgpu/CjsWebgpuShaderAL.js +100 -379
  793. package/dist/trinityal/webgpu/CjsWebgpuShaderAL.js.map +1 -1
  794. package/dist/trinityal/webgpu/CjsWebgpuShaderProgramAL.js +330 -0
  795. package/dist/trinityal/webgpu/CjsWebgpuShaderProgramAL.js.map +1 -0
  796. package/dist/trinityal/webgpu/CjsWebgpuTextureAL.js +15 -0
  797. package/dist/trinityal/webgpu/CjsWebgpuTextureAL.js.map +1 -1
  798. package/dist/trinityal/webgpu/core/{constantArena.js → CjsWebgpuConstantArena.js} +1 -1
  799. package/dist/trinityal/webgpu/core/CjsWebgpuConstantArena.js.map +1 -0
  800. package/dist/trinityal/webgpu/core/{batchGroups.js → CjsWebgpuEncodeState.js} +1 -1
  801. package/dist/trinityal/webgpu/core/CjsWebgpuEncodeState.js.map +1 -0
  802. package/dist/trinityal/webgpu/core/{perFrameSource.js → CjsWebgpuPerFrameSource.js} +1 -1
  803. package/dist/trinityal/webgpu/core/CjsWebgpuPerFrameSource.js.map +1 -0
  804. package/dist/trinityal/webgpu/core/{pipelineCache.js → CjsWebgpuPipelineCache.js} +1 -1
  805. package/dist/trinityal/webgpu/core/CjsWebgpuPipelineCache.js.map +1 -0
  806. package/dist/trinityal/webgpu/core/{psoDescription.js → CjsWebgpuPsoDescription.js} +2 -2
  807. package/dist/trinityal/webgpu/core/CjsWebgpuPsoDescription.js.map +1 -0
  808. package/dist/trinityal/webgpu/core/{renderTarget.js → CjsWebgpuRenderTarget.js} +1 -1
  809. package/dist/trinityal/webgpu/core/CjsWebgpuRenderTarget.js.map +1 -0
  810. package/dist/trinityal/webgpu/core/{samplerSource.js → CjsWebgpuSamplerSource.js} +1 -1
  811. package/dist/trinityal/webgpu/core/CjsWebgpuSamplerSource.js.map +1 -0
  812. package/dist/trinityal/webgpu/core/{textureSource.js → CjsWebgpuTextureSource.js} +1 -1
  813. package/dist/trinityal/webgpu/core/CjsWebgpuTextureSource.js.map +1 -0
  814. package/dist/trinityal/webgpu/core/{trinityBatchDispatcher.js → CjsWebgpuTrinityBatchDispatcher.js} +4 -4
  815. package/dist/trinityal/webgpu/core/CjsWebgpuTrinityBatchDispatcher.js.map +1 -0
  816. package/dist/trinityal/webgpu/core/{trinityBatchResolver.js → CjsWebgpuTrinityBatchResolver.js} +81 -81
  817. package/dist/trinityal/webgpu/core/CjsWebgpuTrinityBatchResolver.js.map +1 -0
  818. package/dist/trinityal/webgpu/core/{trinityPassEncoder.js → CjsWebgpuTrinityPassEncoder.js} +2 -2
  819. package/dist/trinityal/webgpu/core/CjsWebgpuTrinityPassEncoder.js.map +1 -0
  820. package/dist/trinityal/webgpu/core/{workQueue.js → CjsWebgpuWorkQueue.js} +1 -1
  821. package/dist/trinityal/webgpu/core/CjsWebgpuWorkQueue.js.map +1 -0
  822. package/dist/trinityal/webgpu/internal.js +12 -11
  823. package/dist/trinityal/webgpu/internal.js.map +1 -1
  824. package/docs/audio/reference/classes/trinity.md +44 -34
  825. package/docs/character/architecture.md +276 -0
  826. package/docs/character/reference/character-appearance-plans.md +30 -66
  827. package/docs/character/reference/prepared-libraries.md +14 -30
  828. package/docs/global/reference/api.md +2 -1
  829. package/docs/global/reference/classes/README.md +53 -71
  830. package/docs/global/reference/classes/dropped.md +16 -0
  831. package/docs/resource/README.md +19 -15
  832. package/docs/resource/architecture.md +9 -2
  833. package/docs/resource/concepts/format-capabilities.md +124 -80
  834. package/docs/resource/concepts/shared-format-helpers.md +94 -0
  835. package/docs/resource/formats/README.md +230 -224
  836. package/docs/resource/formats/bitknit2.md +221 -0
  837. package/docs/resource/formats/carbon-effect-container.md +184 -269
  838. package/docs/resource/formats/gr2.md +6 -1
  839. package/docs/resource/formats/schemabound.md +28 -48
  840. package/docs/resource/formats/static.md +70 -97
  841. package/docs/resource/formats/webgl/carbon-constant-layouts.md +8 -8
  842. package/docs/resource/formats/webgl/decl-io.md +165 -256
  843. package/docs/resource/formats/webgl/memory-structured.md +64 -142
  844. package/docs/resource/formats/webgl/texture-sample.md +109 -138
  845. package/docs/resource/formats/webgpu/formats/carbon-webgpu.md +38 -69
  846. package/docs/resource/formats/webgpu/guides/effect-packaging.md +54 -116
  847. package/docs/resource/formats/webgpu/reference/api.md +64 -67
  848. package/docs/resource/formats/webgpu/reference/wgsl-compatibility.md +104 -260
  849. package/docs/resource/reference/classes/core.md +256 -236
  850. package/docs/resource/reference/classes/formats.md +1668 -1672
  851. package/docs/resource/reference/workers.md +4 -2
  852. package/docs/sof/reference/classes/core.md +1 -1
  853. package/docs/sof/reference/classes/faction.md +2 -2
  854. package/docs/sof/reference/classes/generic.md +4 -4
  855. package/docs/sof/reference/classes/pattern.md +1 -1
  856. package/docs/sof/reference/classes/shared.md +10 -10
  857. package/docs/trinity/architecture.md +55 -44
  858. package/docs/trinity/concepts/generated-class-lifecycle.md +10 -15
  859. package/docs/trinity/reference/classes/curves-and-utilities.md +496 -506
  860. package/docs/trinity/reference/classes/dropped.md +0 -189
  861. package/docs/trinity/reference/classes/eve-runtime.md +8 -8
  862. package/docs/trinity/reference/classes/generated.md +0 -10
  863. package/docs/trinity/reference/classes/particle.md +2 -2
  864. package/docs/trinity/reference/classes/trinity-core.md +1554 -1256
  865. package/docs/trinity/reference/implementation-status.md +50 -75
  866. package/docs/trinity/reference/main-semantic-extraction.md +13 -17
  867. package/docs/trinityal/reference/classes/README.md +77 -27
  868. package/docs/trinityal/reference/classes/dropped.md +82 -0
  869. package/docs/trinityal/webgpu/README.md +3 -1
  870. package/docs/trinityal/webgpu/architecture.md +121 -228
  871. package/docs/trinityal/webgpu/reference/api.md +5 -5
  872. package/docs/trinityal/webgpu/reference/classes/README.md +13 -13
  873. package/format-notices/gr2/NOTICE +18 -12
  874. package/format-notices/gr2/THIRD-PARTY-NOTICES.md +5 -5
  875. package/package.json +4 -1
  876. package/dist/audio/trinity/audio/AudActionLog.js +0 -173
  877. package/dist/audio/trinity/audio/AudActionLog.js.map +0 -1
  878. package/dist/audio/trinity/audio/AudObstructionOcclusion.js.map +0 -1
  879. package/dist/global/contracts/CjsScriptCallback.js +0 -94
  880. package/dist/global/contracts/CjsScriptCallback.js.map +0 -1
  881. package/dist/trinity/controllers/ITr2Controller.js.map +0 -1
  882. package/dist/trinity/core/Tr2GpuResourcePool.js.map +0 -1
  883. package/dist/trinity/core/Tr2QuadRenderer.js.map +0 -1
  884. package/dist/trinity/core/Tr2TextureArray.js.map +0 -1
  885. package/dist/trinity/core/batch/ITriRenderBatchAccumulator.js.map +0 -1
  886. package/dist/trinity/core/batch/Tr2RenderBatch.js.map +0 -1
  887. package/dist/trinity/core/batch/TriRenderBatchAccumulator.js.map +0 -1
  888. package/dist/trinity/core/context/CjsShadowMapExecutor.js +0 -43
  889. package/dist/trinity/core/context/CjsShadowMapExecutor.js.map +0 -1
  890. package/dist/trinity/core/context/CjsVolumetricsExecutor.js +0 -64
  891. package/dist/trinity/core/context/CjsVolumetricsExecutor.js.map +0 -1
  892. package/dist/trinity/core/context/Tr2VisibilityResults.js +0 -109
  893. package/dist/trinity/core/context/Tr2VisibilityResults.js.map +0 -1
  894. package/dist/trinity/core/device/Tr2RingBuffer.js.map +0 -1
  895. package/dist/trinity/core/device/Tr2SuballocatedBuffer.js.map +0 -1
  896. package/dist/trinity/core/mesh/ITr2ImpostorSource.js.map +0 -1
  897. package/dist/trinity/core/mesh/ITr2InstanceData.js.map +0 -1
  898. package/dist/trinity/core/rawData/Tr2PerObjectData.js.map +0 -1
  899. package/dist/trinity/core/rawData/constantLayout.js +0 -175
  900. package/dist/trinity/core/rawData/constantLayout.js.map +0 -1
  901. package/dist/trinity/core/vertex/Tr2VertexDefinition.js.map +0 -1
  902. package/dist/trinity/eve/child/EveChildInstancedMeshes.js.map +0 -1
  903. package/dist/trinity/eve/child/EveChildPartData.js.map +0 -1
  904. package/dist/trinity/generated/trinityCore/Tr2Denoiser.js +0 -47
  905. package/dist/trinity/generated/trinityCore/Tr2Denoiser.js.map +0 -1
  906. package/dist/trinity/particle/ITr2GenericEmitter.js.map +0 -1
  907. package/dist/trinityal/Tr2DeviceResourceAL.js.map +0 -1
  908. package/dist/trinityal/Tr2HalHelperStructures.js.map +0 -1
  909. package/dist/trinityal/Tr2RenderPassAL.js.map +0 -1
  910. package/dist/trinityal/Tr2ResourceSetAL.js +0 -419
  911. package/dist/trinityal/Tr2ResourceSetAL.js.map +0 -1
  912. package/dist/trinityal/Tr2SamplerDescription.js +0 -72
  913. package/dist/trinityal/Tr2SamplerDescription.js.map +0 -1
  914. package/dist/trinityal/stub/Tr2QueryALStub.js +0 -326
  915. package/dist/trinityal/stub/Tr2QueryALStub.js.map +0 -1
  916. package/dist/trinityal/stub/Tr2RenderContextALStub.js.map +0 -1
  917. package/dist/trinityal/stub/Tr2VideoAdapterInfoALStub.js.map +0 -1
  918. package/dist/trinityal/webgpu/core/batchGroups.js.map +0 -1
  919. package/dist/trinityal/webgpu/core/constantArena.js.map +0 -1
  920. package/dist/trinityal/webgpu/core/perFrameSource.js.map +0 -1
  921. package/dist/trinityal/webgpu/core/pipelineCache.js.map +0 -1
  922. package/dist/trinityal/webgpu/core/psoDescription.js.map +0 -1
  923. package/dist/trinityal/webgpu/core/renderTarget.js.map +0 -1
  924. package/dist/trinityal/webgpu/core/samplerSource.js.map +0 -1
  925. package/dist/trinityal/webgpu/core/textureSource.js.map +0 -1
  926. package/dist/trinityal/webgpu/core/trinityBatchDispatcher.js.map +0 -1
  927. package/dist/trinityal/webgpu/core/trinityBatchResolver.js.map +0 -1
  928. package/dist/trinityal/webgpu/core/trinityPassEncoder.js.map +0 -1
  929. package/dist/trinityal/webgpu/core/workQueue.js.map +0 -1
@@ -7,7 +7,7 @@ import { vec3 } from '#math/vec3';
7
7
  import { vec4 } from '#math/vec4';
8
8
  import { TriBatchType } from '#consts/graphics';
9
9
  import { Tr2VariableStore as _Tr2VariableStore } from '../../core/variable/Tr2VariableStore.js';
10
- import { Tr2VertexDefinition } from '../../core/vertex/Tr2VertexDefinition.js';
10
+ import { Tr2VertexDefinition } from '../../core/vertex/Tr2VertexDefinition/Tr2VertexDefinition.js';
11
11
 
12
12
  var _withIEveSpaceObject;
13
13
  let _initProto, _initClass, _init_trackObjects, _init_extra_trackObjects, _init_totalSegmentsLast, _init_extra_totalSegmentsLast, _init_requestedSegmentsLast, _init_extra_requestedSegmentsLast, _init_anchorEffect, _init_extra_anchorEffect, _init_connectorEffect, _init_extra_connectorEffect, _init_velocityEffect, _init_extra_velocityEffect, _init_activeRange, _init_extra_activeRange, _init_rangeFadeLength, _init_extra_rangeFadeLength, _init_rangeMultiplier, _init_extra_rangeMultiplier, _init_sourceRadius, _init_extra_sourceRadius, _init_interestRange, _init_extra_interestRange, _init_outsideInterestIntensity, _init_extra_outsideInterestIntensity, _init_minRadiusForRange, _init_extra_minRadiusForRange, _init_segmentsLow, _init_extra_segmentsLow, _init_segmentsMedium, _init_extra_segmentsMedium, _init_segmentsHigh, _init_extra_segmentsHigh, _init_targetMaxSegments, _init_extra_targetMaxSegments, _init_arcSegmentMultiplier, _init_extra_arcSegmentMultiplier, _init_segmentCountMultiplier, _init_extra_segmentCountMultiplier, _init_translationCurve, _init_extra_translationCurve, _init_worldPosition, _init_extra_worldPosition, _init_interestObject, _init_extra_interestObject;
@@ -1 +1 @@
1
- {"version":3,"file":"EveTacticalOverlay.js","sources":["../../../../../src/trinity/eve/ui/EveTacticalOverlay.js"],"sourcesContent":["// Source: trinity/trinity/Eve/UI/EveTacticalOverlay.h\r\n// Source: trinity/trinity/Eve/UI/EveTacticalOverlay.cpp\r\n// Source: trinity/trinity/Eve/UI/EveTacticalOverlay_Blue.cpp\r\n// Promoted to hand-maintained source 2026-08-22; quad instance policy is portable CPU work.\r\nimport { mat4 } from \"#math/mat4\";\r\nimport { withIEveSpaceObject2 } from \"../IEveSpaceObject2.js\";\r\nimport { CjsModel } from \"#model\";\r\nimport { carbon, impl, io, type } from \"#schema\";\r\nimport { vec3 } from \"#math/vec3\";\r\nimport { vec4 } from \"#math/vec4\";\r\nimport { TriBatchType } from \"#consts/graphics\";\r\nimport { Tr2VariableStore } from \"../../core/variable/Tr2VariableStore.js\";\r\nimport { Tr2VertexDefinition } from \"../../core/vertex/Tr2VertexDefinition.js\";\r\n\r\n\r\nconst effectIdentities = new WeakMap();\r\nlet nextEffectIdentity = 1;\r\n\r\n// These three ARE Carbon's AnchorVertex/SphereConnectorVertex/\r\n// VelocityConnectorVertex::GetDefinition statics (EveTacticalOverlay.cpp:\r\n// 31-66) - three nested-struct methods the schema scrape collapses to the\r\n// single name \"GetDefinition\", which is why the parity baseline carries a\r\n// GetDefinition entry for this class despite all three being ported here.\r\n// Built the way Carbon builds every definition: Tr2VertexDefinition.Add\r\n// with its automatic per-stream offsets.\r\nconst ANCHOR_DEFINITION = new Tr2VertexDefinition();\r\nANCHOR_DEFINITION.Add(\"FLOAT32_1\", \"TEXCOORD\", 5);\r\nANCHOR_DEFINITION.Add(\"FLOAT32_4\", \"TEXCOORD\", 0, 1, 1);\r\n\r\nconst CONNECTOR_DEFINITION = new Tr2VertexDefinition();\r\nCONNECTOR_DEFINITION.Add(\"FLOAT32_1\", \"TEXCOORD\", 5);\r\nCONNECTOR_DEFINITION.Add(\"FLOAT32_4\", \"TEXCOORD\", 0, 1, 1);\r\nCONNECTOR_DEFINITION.Add(\"FLOAT32_1\", \"TEXCOORD\", 1, 1, 1);\r\n\r\nconst VELOCITY_DEFINITION = new Tr2VertexDefinition();\r\nVELOCITY_DEFINITION.Add(\"FLOAT32_1\", \"TEXCOORD\", 5);\r\nVELOCITY_DEFINITION.Add(\"FLOAT32_4\", \"TEXCOORD\", 0, 1, 1);\r\nVELOCITY_DEFINITION.Add(\"FLOAT32_4\", \"TEXCOORD\", 1, 1, 1);\r\n\r\n\r\nfunction getEffectKey(effect)\r\n{\r\n let identity = effectIdentities.get(effect);\r\n if (identity === undefined)\r\n {\r\n identity = nextEffectIdentity++;\r\n effectIdentities.set(effect, identity);\r\n }\r\n return `${effect.GetHashValue() >>> 0}:${identity}`;\r\n}\r\n\r\n\r\nfunction triLinearize(min, max, value)\r\n{\r\n return Math.min(Math.max((value - min) / (max - min), 0), 1);\r\n}\r\n\r\n\r\nfunction getSubdivisionCount(pixelSize, low, medium, high, updateContext)\r\n{\r\n if (pixelSize < updateContext.GetVisibilityThreshold()) return 0;\r\n\r\n let lowCount;\r\n let highCount;\r\n let lowStep;\r\n let highStep;\r\n if (pixelSize <= updateContext.GetLowDetailThreshold())\r\n {\r\n lowCount = 1;\r\n highCount = low;\r\n lowStep = updateContext.GetVisibilityThreshold();\r\n highStep = updateContext.GetLowDetailThreshold();\r\n }\r\n else if (pixelSize <= updateContext.GetMediumDetailThreshold())\r\n {\r\n lowCount = low;\r\n highCount = medium;\r\n lowStep = updateContext.GetLowDetailThreshold();\r\n highStep = updateContext.GetMediumDetailThreshold();\r\n }\r\n else\r\n {\r\n lowCount = medium;\r\n highCount = high;\r\n lowStep = updateContext.GetMediumDetailThreshold();\r\n highStep = updateContext.GetHighDetailThreshold();\r\n }\r\n return Math.floor(lowCount + (highCount - lowCount) * triLinearize(lowStep, highStep, pixelSize));\r\n}\r\n\r\n\r\n/** Produces tactical anchor, range, and velocity quad-instance records. */\r\n@type.define({ className: \"EveTacticalOverlay\", family: \"eve/ui\" })\r\nexport class EveTacticalOverlay extends withIEveSpaceObject2(CjsModel)\r\n{\r\n /** Initializes the effect-local variable-store records. */\r\n constructor()\r\n {\r\n super();\r\n this.#RegisterVariables();\r\n }\r\n\r\n /** Attaches the owned variable store to every authored effect. */\r\n @carbon.method\r\n @impl.implemented\r\n Initialize()\r\n {\r\n this.#SetVariableStore(this.anchorEffect);\r\n this.#SetVariableStore(this.connectorEffect);\r\n this.#SetVariableStore(this.velocityEffect);\r\n this.#lastAnchorEffect = this.anchorEffect;\r\n this.#lastConnectorEffect = this.connectorEffect;\r\n this.#lastVelocityEffect = this.velocityEffect;\r\n return true;\r\n }\r\n\r\n /** Reattaches only effect references that changed since the prior settle. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"CjsModel supplies a broad settle hook rather than Carbon's Be::Var identity; cached effect references preserve the same targeted consequence.\")\r\n OnModified(_options)\r\n {\r\n if (this.anchorEffect !== this.#lastAnchorEffect)\r\n {\r\n this.#SetVariableStore(this.anchorEffect);\r\n this.#lastAnchorEffect = this.anchorEffect;\r\n }\r\n if (this.connectorEffect !== this.#lastConnectorEffect)\r\n {\r\n this.#SetVariableStore(this.connectorEffect);\r\n this.#lastConnectorEffect = this.connectorEffect;\r\n }\r\n if (this.velocityEffect !== this.#lastVelocityEffect)\r\n {\r\n this.#SetVariableStore(this.velocityEffect);\r\n this.#lastVelocityEffect = this.velocityEffect;\r\n }\r\n return true;\r\n }\r\n\r\n /** Samples the root and every owned track object, then refreshes effect variables. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon vector-function output pointers use the runtime's established time-first, out-last JavaScript contract.\")\r\n UpdateSyncronous(updateContext)\r\n {\r\n if (this.translationCurve)\r\n {\r\n const time = updateContext.GetTime();\r\n this.translationCurve.GetValueAt(time, this.worldPosition);\r\n this.translationCurve.GetValueDotAt(time, this.#rootVelocity);\r\n }\r\n for (const trackObject of this.trackObjects)\r\n {\r\n trackObject.UpdatePosition(updateContext);\r\n }\r\n this.#RegisterVariables();\r\n }\r\n\r\n /** Carbon's asynchronous overlay update is intentionally empty. */\r\n @carbon.method\r\n @impl.noop\r\n UpdateAsyncronous(_updateContext)\r\n {\r\n }\r\n\r\n /** Rebuilds the flat CPU instance records for this frame. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon's typed vertex vectors are represented by flat Float32Array-compatible number buffers consumed by Tr2QuadRenderer.\")\r\n UpdateVisibility(updateContext, _parentTransform)\r\n {\r\n this.#anchorBuffer.length = 0;\r\n this.#connectorBuffer.length = 0;\r\n this.#velocityBuffer.length = 0;\r\n\r\n const rootX = this.worldPosition[0];\r\n const rootY = this.worldPosition[1];\r\n const rootZ = this.worldPosition[2];\r\n const sourceRadius = this.sourceRadius;\r\n const distanceThreshold = (this.activeRange + this.rangeFadeLength) * this.rangeMultiplier;\r\n let requestedSegments = 0;\r\n const frustum = updateContext.GetFrustum();\r\n\r\n for (const trackObject of this.trackObjects)\r\n {\r\n trackObject.GetPosition(this.#positionScratch);\r\n const positionX = this.#positionScratch[0];\r\n const positionY = this.#positionScratch[1];\r\n const positionZ = this.#positionScratch[2];\r\n const radius = trackObject.GetRadius();\r\n const deltaX = positionX - rootX;\r\n const deltaY = positionY - rootY;\r\n const deltaZ = positionZ - rootZ;\r\n const distance = Math.hypot(deltaX, deltaY, deltaZ);\r\n if (distance > distanceThreshold) continue;\r\n\r\n const planarDirectionLength = Math.hypot(deltaX, deltaZ);\r\n let directionX = planarDirectionLength ? deltaX / planarDirectionLength : 0;\r\n let directionZ = planarDirectionLength ? deltaZ / planarDirectionLength : 0;\r\n if (!(directionX || directionZ)) directionX = 0.01;\r\n const planeX = rootX + directionX * distance;\r\n const planeY = rootY;\r\n const planeZ = rootZ + directionZ * distance;\r\n\r\n const halfX = (planeX - positionX) * 0.5;\r\n const halfY = (planeY - positionY) * 0.5;\r\n const halfZ = (planeZ - positionZ) * 0.5;\r\n vec4.set(\r\n this.#sphereScratch,\r\n positionX + halfX,\r\n positionY + halfY,\r\n positionZ + halfZ,\r\n Math.hypot(halfX, halfY, halfZ) + 1e-4\r\n );\r\n if (!frustum.IsSphereVisible(this.#sphereScratch)) continue;\r\n\r\n const pixelDiameter = frustum.GetPixelSizeAccross(this.#sphereScratch);\r\n let segments = getSubdivisionCount(\r\n pixelDiameter,\r\n this.segmentsLow,\r\n this.segmentsMedium,\r\n this.segmentsHigh,\r\n updateContext\r\n );\r\n if (segments !== 0)\r\n {\r\n const planarLength = Math.hypot(planeX - positionX, planeZ - positionZ);\r\n const height = Math.abs(positionY - planeY);\r\n segments *= 1 + this.arcSegmentMultiplier * planarLength / height;\r\n requestedSegments += segments * this.segmentCountMultiplier;\r\n if (this.requestedSegmentsLast && this.requestedSegmentsLast > this.targetMaxSegments)\r\n {\r\n segments *= this.targetMaxSegments / this.requestedSegmentsLast;\r\n segments = Math.max(segments, 1);\r\n }\r\n segments = this.segmentCountMultiplier * Math.floor(segments + 0.5);\r\n }\r\n\r\n const counter = radius > this.minRadiusForRange ? segments + 1 : segments;\r\n const interestReducedIntensity = this.interestRange > 0.0001 &&\r\n distance - radius - sourceRadius > this.interestRange\r\n ? 1 - this.outsideInterestIntensity\r\n : 0;\r\n this.#anchorBuffer.push(positionX, positionY, positionZ, interestReducedIntensity);\r\n for (let segmentIndex = 0; segmentIndex < counter; segmentIndex++)\r\n {\r\n this.#connectorBuffer.push(\r\n positionX,\r\n positionY,\r\n positionZ,\r\n segments * 256 + segmentIndex,\r\n Math.floor(radius) + interestReducedIntensity\r\n );\r\n }\r\n\r\n trackObject.GetVelocity(this.#velocityScratch);\r\n const velocityX = this.#velocityScratch[0];\r\n const velocityY = this.#velocityScratch[1];\r\n const velocityZ = this.#velocityScratch[2];\r\n for (let kind = 0; kind < 3; kind++)\r\n {\r\n if (kind === 1 && !trackObject.IsAggressive()) continue;\r\n if (kind === 0 && !trackObject.ShowVelocity()) continue;\r\n this.#velocityBuffer.push(\r\n positionX,\r\n positionY,\r\n positionZ,\r\n kind,\r\n velocityX,\r\n velocityY,\r\n velocityZ,\r\n Math.floor(radius) + (kind === 1 ? 0.9 : 0)\r\n );\r\n }\r\n }\r\n\r\n this.#velocityBuffer.push(\r\n rootX,\r\n rootY,\r\n rootZ,\r\n 0,\r\n this.#rootVelocity[0],\r\n this.#rootVelocity[1],\r\n this.#rootVelocity[2],\r\n Math.floor(sourceRadius)\r\n );\r\n if (this.interestObject && this.interestObject.ShowVelocity())\r\n {\r\n this.interestObject.GetPosition(this.#positionScratch);\r\n const interestX = this.#positionScratch[0];\r\n const interestY = this.#positionScratch[1];\r\n const interestZ = this.#positionScratch[2];\r\n const interestRadius = this.interestObject.GetRadius();\r\n this.#velocityBuffer.push(\r\n interestX,\r\n interestY,\r\n interestZ,\r\n 0,\r\n this.#rootVelocity[0],\r\n this.#rootVelocity[1],\r\n this.#rootVelocity[2],\r\n Math.floor(interestRadius) + 0.9\r\n );\r\n this.interestObject.GetVelocity(this.#velocityScratch);\r\n this.#velocityBuffer.push(\r\n rootX,\r\n rootY,\r\n rootZ,\r\n 0,\r\n this.#velocityScratch[0],\r\n this.#velocityScratch[1],\r\n this.#velocityScratch[2],\r\n Math.floor(sourceRadius) + 0.9\r\n );\r\n }\r\n\r\n this.totalSegmentsLast = this.#connectorBuffer.length / 5;\r\n this.requestedSegmentsLast = requestedSegments;\r\n }\r\n\r\n /** Carbon's tactical overlay has no ordinary renderable children. */\r\n @carbon.method\r\n @impl.noop\r\n GetRenderables(_renderables, _impostors)\r\n {\r\n }\r\n\r\n /** The overlay supplies no spatial bounds. */\r\n @carbon.method\r\n @impl.implemented\r\n GetBoundingSphere(_sphere, _query)\r\n {\r\n return false;\r\n }\r\n\r\n /** The overlay's model center is always the world origin. */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateModelCenterWorldPosition(out, _time)\r\n {\r\n vec3.set(out, 0, 0, 0);\r\n }\r\n\r\n /** The overlay's model center is always the world origin. */\r\n @carbon.method\r\n @impl.implemented\r\n GetModelCenterWorldPosition(out)\r\n {\r\n vec3.set(out, 0, 0, 0);\r\n }\r\n\r\n /** The overlay supplies no local box. */\r\n @carbon.method\r\n @impl.implemented\r\n GetLocalBoundingBox(_min, _max)\r\n {\r\n return false;\r\n }\r\n\r\n /** The overlay has no authored object transform. */\r\n @carbon.method\r\n @impl.implemented\r\n GetLocalToWorldTransform(out)\r\n {\r\n mat4.identity(out);\r\n }\r\n\r\n /** Registers the three exact instance layouts with the shared quad renderer. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon combines an effect content hash with its native pointer; JavaScript combines it with a stable WeakMap identity.\")\r\n RegisterWithQuadRenderer(quadRenderer)\r\n {\r\n if (this.connectorEffect)\r\n {\r\n this.#connectorEffectKey = getEffectKey(this.connectorEffect);\r\n quadRenderer.RegisterEffect(\r\n this.#connectorEffectKey,\r\n TriBatchType.TRIBATCHTYPE_ADDITIVE,\r\n 20,\r\n 1,\r\n CONNECTOR_DEFINITION,\r\n this.connectorEffect\r\n );\r\n }\r\n if (this.anchorEffect)\r\n {\r\n this.#anchorEffectKey = getEffectKey(this.anchorEffect);\r\n quadRenderer.RegisterEffect(\r\n this.#anchorEffectKey,\r\n TriBatchType.TRIBATCHTYPE_ADDITIVE,\r\n 16,\r\n 1,\r\n ANCHOR_DEFINITION,\r\n this.anchorEffect\r\n );\r\n }\r\n if (this.velocityEffect)\r\n {\r\n this.#velocityEffectKey = getEffectKey(this.velocityEffect);\r\n quadRenderer.RegisterEffect(\r\n this.#velocityEffectKey,\r\n TriBatchType.TRIBATCHTYPE_ADDITIVE,\r\n 32,\r\n 1,\r\n VELOCITY_DEFINITION,\r\n this.velocityEffect\r\n );\r\n }\r\n }\r\n\r\n /** Adds all three instance streams once their effect registrations exist. */\r\n @carbon.method\r\n @impl.implemented\r\n AddQuadsToQuadRenderer(_frustum, quadRenderer)\r\n {\r\n if (!this.#connectorEffectKey || !this.#anchorEffectKey || !this.#velocityEffectKey) return;\r\n quadRenderer.AddQuads(this.#connectorEffectKey, this.#connectorBuffer, this.#connectorBuffer.length / 5);\r\n quadRenderer.AddQuads(this.#anchorEffectKey, this.#anchorBuffer, this.#anchorBuffer.length / 4);\r\n quadRenderer.AddQuads(this.#velocityEffectKey, this.#velocityBuffer, this.#velocityBuffer.length / 8);\r\n }\r\n\r\n /** Refreshes the variable-store values exposed to tactical effects. */\r\n #RegisterVariables()\r\n {\r\n vec4.set(\r\n this.#ranges,\r\n this.activeRange,\r\n this.rangeFadeLength,\r\n this.rangeMultiplier,\r\n this.sourceRadius\r\n );\r\n this.#variableStore.RegisterVariable(\"PlanePosition\", this.worldPosition);\r\n this.#variableStore.RegisterVariable(\"Fadeout\", this.#ranges);\r\n this.#variableStore.RegisterVariable(\"RootVelocity\", this.#rootVelocity);\r\n }\r\n\r\n /** Attaches the local variable store to one nullable effect. */\r\n #SetVariableStore(effect)\r\n {\r\n if (!effect) return;\r\n effect.StartUpdate();\r\n effect.SetVariableStore(this.#variableStore);\r\n effect.EndUpdate();\r\n }\r\n\r\n /** m_trackObjects (PEveTacticalOverlayTrackObjectVector) [READ] */\r\n @io.read\r\n @type.list(\"EveTacticalOverlayTrackObject\")\r\n trackObjects = [];\r\n\r\n /** m_totalSegmentsLast (float) [READ] */\r\n @io.read\r\n @type.float32\r\n totalSegmentsLast = 0;\r\n\r\n /** m_requestedSegmentsLast (float) [READ] */\r\n @io.read\r\n @type.float32\r\n requestedSegmentsLast = 0;\r\n\r\n /** m_anchorEffect (Tr2EffectPtr) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.model(\"Tr2Effect\")\r\n anchorEffect = null;\r\n\r\n /** m_connectorEffect (Tr2EffectPtr) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.model(\"Tr2Effect\")\r\n connectorEffect = null;\r\n\r\n /** m_velocityEffect (Tr2EffectPtr) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.model(\"Tr2Effect\")\r\n velocityEffect = null;\r\n\r\n /** m_ranges.x (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n activeRange = 200000;\r\n\r\n /** m_ranges.y (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n rangeFadeLength = 50000;\r\n\r\n /** m_ranges.z (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n rangeMultiplier = 1;\r\n\r\n /** m_ranges.w (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n sourceRadius = 50;\r\n\r\n /** m_interestRange (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n interestRange = 0;\r\n\r\n /** m_outsideInterestIntensity (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n outsideInterestIntensity = 0.35;\r\n\r\n /** m_minRadiusForRange (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n minRadiusForRange = 150;\r\n\r\n /** m_connectorSegmentsLow (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n segmentsLow = 2;\r\n\r\n /** m_connectorSegmentsMedium (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n segmentsMedium = 5;\r\n\r\n /** m_connectorSegmentsHigh (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n segmentsHigh = 9;\r\n\r\n /** m_targetSegmentCount (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n targetMaxSegments = 25000;\r\n\r\n /** m_arcSegmentMultiplier (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n arcSegmentMultiplier = 1;\r\n\r\n /** m_segmentCountMultiplier (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n segmentCountMultiplier = 2;\r\n\r\n /** m_positionCurve (ITriVectorFunctionPtr) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.model(\"ITriVectorFunction\")\r\n translationCurve = null;\r\n\r\n /** m_rootPosition (Vector3) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.vec3\r\n worldPosition = vec3.create();\r\n\r\n /** m_interestObject (EveTacticalOverlayTrackObjectPtr) [READWRITE] */\r\n @io.readwrite\r\n @type.objectRef(\"EveTacticalOverlayTrackObject\")\r\n interestObject = null;\r\n\r\n // Carbon's deterministic destructor detaches this local store from the three\r\n // effects. JavaScript has no model-level destruction hook: the hydrated\r\n // overlay and its authored effects therefore share one graph lifetime. A\r\n // future nominal graph-lifecycle contract must own explicit detachment rather\r\n // than relying on a finalizer or a backend-specific teardown probe.\r\n #rootVelocity = vec3.create();\r\n #variableStore = new Tr2VariableStore();\r\n #ranges = vec4.fromValues(200000, 50000, 1, 50);\r\n #anchorBuffer = [];\r\n #connectorBuffer = [];\r\n #velocityBuffer = [];\r\n #positionScratch = vec3.create();\r\n #velocityScratch = vec3.create();\r\n #sphereScratch = vec4.create();\r\n #anchorEffectKey = null;\r\n #connectorEffectKey = null;\r\n #velocityEffectKey = null;\r\n #lastAnchorEffect = null;\r\n #lastConnectorEffect = null;\r\n #lastVelocityEffect = null;\r\n}\r\n"],"names":["effectIdentities","WeakMap","nextEffectIdentity","ANCHOR_DEFINITION","Tr2VertexDefinition","Add","CONNECTOR_DEFINITION","VELOCITY_DEFINITION","getEffectKey","effect","identity","get","undefined","set","GetHashValue","triLinearize","min","max","value","Math","getSubdivisionCount","pixelSize","low","medium","high","updateContext","GetVisibilityThreshold","lowCount","highCount","lowStep","highStep","GetLowDetailThreshold","GetMediumDetailThreshold","GetHighDetailThreshold","floor","_EveTacticalOverlay","EveTacticalOverlay","_withIEveSpaceObject","withIEveSpaceObject2","CjsModel","e","_init_trackObjects","_init_extra_trackObjects","_init_totalSegmentsLast","_init_extra_totalSegmentsLast","_init_requestedSegmentsLast","_init_extra_requestedSegmentsLast","_init_anchorEffect","_init_extra_anchorEffect","_init_connectorEffect","_init_extra_connectorEffect","_init_velocityEffect","_init_extra_velocityEffect","_init_activeRange","_init_extra_activeRange","_init_rangeFadeLength","_init_extra_rangeFadeLength","_init_rangeMultiplier","_init_extra_rangeMultiplier","_init_sourceRadius","_init_extra_sourceRadius","_init_interestRange","_init_extra_interestRange","_init_outsideInterestIntensity","_init_extra_outsideInterestIntensity","_init_minRadiusForRange","_init_extra_minRadiusForRange","_init_segmentsLow","_init_extra_segmentsLow","_init_segmentsMedium","_init_extra_segmentsMedium","_init_segmentsHigh","_init_extra_segmentsHigh","_init_targetMaxSegments","_init_extra_targetMaxSegments","_init_arcSegmentMultiplier","_init_extra_arcSegmentMultiplier","_init_segmentCountMultiplier","_init_extra_segmentCountMultiplier","_init_translationCurve","_init_extra_translationCurve","_init_worldPosition","_init_extra_worldPosition","_init_interestObject","_init_extra_interestObject","_initProto","c","_initClass","_applyDecs","type","define","className","family","carbon","method","impl","implemented","adapted","reason","noop","io","read","list","float32","notify","persist","model","vec3","readwrite","objectRef","constructor","Initialize","anchorEffect","connectorEffect","velocityEffect","OnModified","_options","UpdateSyncronous","translationCurve","time","GetTime","GetValueAt","worldPosition","GetValueDotAt","trackObject","trackObjects","UpdatePosition","UpdateAsyncronous","_updateContext","UpdateVisibility","_parentTransform","length","rootX","rootY","rootZ","sourceRadius","distanceThreshold","activeRange","rangeFadeLength","rangeMultiplier","requestedSegments","frustum","GetFrustum","GetPosition","positionX","positionY","positionZ","radius","GetRadius","deltaX","deltaY","deltaZ","distance","hypot","planarDirectionLength","directionX","directionZ","planeX","planeY","planeZ","halfX","halfY","halfZ","vec4","IsSphereVisible","pixelDiameter","GetPixelSizeAccross","segments","segmentsLow","segmentsMedium","segmentsHigh","planarLength","height","abs","arcSegmentMultiplier","segmentCountMultiplier","requestedSegmentsLast","targetMaxSegments","counter","minRadiusForRange","interestReducedIntensity","interestRange","outsideInterestIntensity","push","segmentIndex","GetVelocity","velocityX","velocityY","velocityZ","kind","IsAggressive","ShowVelocity","interestObject","interestX","interestY","interestZ","interestRadius","totalSegmentsLast","GetRenderables","_renderables","_impostors","GetBoundingSphere","_sphere","_query","UpdateModelCenterWorldPosition","out","_time","GetModelCenterWorldPosition","GetLocalBoundingBox","_min","_max","GetLocalToWorldTransform","mat4","RegisterWithQuadRenderer","quadRenderer","RegisterEffect","TriBatchType","TRIBATCHTYPE_ADDITIVE","AddQuadsToQuadRenderer","_frustum","AddQuads","#RegisterVariables","RegisterVariable","#SetVariableStore","StartUpdate","SetVariableStore","EndUpdate","create","Tr2VariableStore","fromValues"],"mappings":"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"}
1
+ {"version":3,"file":"EveTacticalOverlay.js","sources":["../../../../../src/trinity/eve/ui/EveTacticalOverlay.js"],"sourcesContent":["// Source: trinity/trinity/Eve/UI/EveTacticalOverlay.h\r\n// Source: trinity/trinity/Eve/UI/EveTacticalOverlay.cpp\r\n// Source: trinity/trinity/Eve/UI/EveTacticalOverlay_Blue.cpp\r\n// Promoted to hand-maintained source 2026-08-22; quad instance policy is portable CPU work.\r\nimport { mat4 } from \"#math/mat4\";\r\nimport { withIEveSpaceObject2 } from \"../IEveSpaceObject2.js\";\r\nimport { CjsModel } from \"#model\";\r\nimport { carbon, impl, io, type } from \"#schema\";\r\nimport { vec3 } from \"#math/vec3\";\r\nimport { vec4 } from \"#math/vec4\";\r\nimport { TriBatchType } from \"#consts/graphics\";\r\nimport { Tr2VariableStore } from \"../../core/variable/Tr2VariableStore.js\";\r\nimport { Tr2VertexDefinition } from \"../../core/vertex/Tr2VertexDefinition/index.js\";\r\n\r\n\r\nconst effectIdentities = new WeakMap();\r\nlet nextEffectIdentity = 1;\r\n\r\n// These three ARE Carbon's AnchorVertex/SphereConnectorVertex/\r\n// VelocityConnectorVertex::GetDefinition statics (EveTacticalOverlay.cpp:\r\n// 31-66) - three nested-struct methods the schema scrape collapses to the\r\n// single name \"GetDefinition\", which is why the parity baseline carries a\r\n// GetDefinition entry for this class despite all three being ported here.\r\n// Built the way Carbon builds every definition: Tr2VertexDefinition.Add\r\n// with its automatic per-stream offsets.\r\nconst ANCHOR_DEFINITION = new Tr2VertexDefinition();\r\nANCHOR_DEFINITION.Add(\"FLOAT32_1\", \"TEXCOORD\", 5);\r\nANCHOR_DEFINITION.Add(\"FLOAT32_4\", \"TEXCOORD\", 0, 1, 1);\r\n\r\nconst CONNECTOR_DEFINITION = new Tr2VertexDefinition();\r\nCONNECTOR_DEFINITION.Add(\"FLOAT32_1\", \"TEXCOORD\", 5);\r\nCONNECTOR_DEFINITION.Add(\"FLOAT32_4\", \"TEXCOORD\", 0, 1, 1);\r\nCONNECTOR_DEFINITION.Add(\"FLOAT32_1\", \"TEXCOORD\", 1, 1, 1);\r\n\r\nconst VELOCITY_DEFINITION = new Tr2VertexDefinition();\r\nVELOCITY_DEFINITION.Add(\"FLOAT32_1\", \"TEXCOORD\", 5);\r\nVELOCITY_DEFINITION.Add(\"FLOAT32_4\", \"TEXCOORD\", 0, 1, 1);\r\nVELOCITY_DEFINITION.Add(\"FLOAT32_4\", \"TEXCOORD\", 1, 1, 1);\r\n\r\n\r\nfunction getEffectKey(effect)\r\n{\r\n let identity = effectIdentities.get(effect);\r\n if (identity === undefined)\r\n {\r\n identity = nextEffectIdentity++;\r\n effectIdentities.set(effect, identity);\r\n }\r\n return `${effect.GetHashValue() >>> 0}:${identity}`;\r\n}\r\n\r\n\r\nfunction triLinearize(min, max, value)\r\n{\r\n return Math.min(Math.max((value - min) / (max - min), 0), 1);\r\n}\r\n\r\n\r\nfunction getSubdivisionCount(pixelSize, low, medium, high, updateContext)\r\n{\r\n if (pixelSize < updateContext.GetVisibilityThreshold()) return 0;\r\n\r\n let lowCount;\r\n let highCount;\r\n let lowStep;\r\n let highStep;\r\n if (pixelSize <= updateContext.GetLowDetailThreshold())\r\n {\r\n lowCount = 1;\r\n highCount = low;\r\n lowStep = updateContext.GetVisibilityThreshold();\r\n highStep = updateContext.GetLowDetailThreshold();\r\n }\r\n else if (pixelSize <= updateContext.GetMediumDetailThreshold())\r\n {\r\n lowCount = low;\r\n highCount = medium;\r\n lowStep = updateContext.GetLowDetailThreshold();\r\n highStep = updateContext.GetMediumDetailThreshold();\r\n }\r\n else\r\n {\r\n lowCount = medium;\r\n highCount = high;\r\n lowStep = updateContext.GetMediumDetailThreshold();\r\n highStep = updateContext.GetHighDetailThreshold();\r\n }\r\n return Math.floor(lowCount + (highCount - lowCount) * triLinearize(lowStep, highStep, pixelSize));\r\n}\r\n\r\n\r\n/** Produces tactical anchor, range, and velocity quad-instance records. */\r\n@type.define({ className: \"EveTacticalOverlay\", family: \"eve/ui\" })\r\nexport class EveTacticalOverlay extends withIEveSpaceObject2(CjsModel)\r\n{\r\n /** Initializes the effect-local variable-store records. */\r\n constructor()\r\n {\r\n super();\r\n this.#RegisterVariables();\r\n }\r\n\r\n /** Attaches the owned variable store to every authored effect. */\r\n @carbon.method\r\n @impl.implemented\r\n Initialize()\r\n {\r\n this.#SetVariableStore(this.anchorEffect);\r\n this.#SetVariableStore(this.connectorEffect);\r\n this.#SetVariableStore(this.velocityEffect);\r\n this.#lastAnchorEffect = this.anchorEffect;\r\n this.#lastConnectorEffect = this.connectorEffect;\r\n this.#lastVelocityEffect = this.velocityEffect;\r\n return true;\r\n }\r\n\r\n /** Reattaches only effect references that changed since the prior settle. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"CjsModel supplies a broad settle hook rather than Carbon's Be::Var identity; cached effect references preserve the same targeted consequence.\")\r\n OnModified(_options)\r\n {\r\n if (this.anchorEffect !== this.#lastAnchorEffect)\r\n {\r\n this.#SetVariableStore(this.anchorEffect);\r\n this.#lastAnchorEffect = this.anchorEffect;\r\n }\r\n if (this.connectorEffect !== this.#lastConnectorEffect)\r\n {\r\n this.#SetVariableStore(this.connectorEffect);\r\n this.#lastConnectorEffect = this.connectorEffect;\r\n }\r\n if (this.velocityEffect !== this.#lastVelocityEffect)\r\n {\r\n this.#SetVariableStore(this.velocityEffect);\r\n this.#lastVelocityEffect = this.velocityEffect;\r\n }\r\n return true;\r\n }\r\n\r\n /** Samples the root and every owned track object, then refreshes effect variables. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon vector-function output pointers use the runtime's established time-first, out-last JavaScript contract.\")\r\n UpdateSyncronous(updateContext)\r\n {\r\n if (this.translationCurve)\r\n {\r\n const time = updateContext.GetTime();\r\n this.translationCurve.GetValueAt(time, this.worldPosition);\r\n this.translationCurve.GetValueDotAt(time, this.#rootVelocity);\r\n }\r\n for (const trackObject of this.trackObjects)\r\n {\r\n trackObject.UpdatePosition(updateContext);\r\n }\r\n this.#RegisterVariables();\r\n }\r\n\r\n /** Carbon's asynchronous overlay update is intentionally empty. */\r\n @carbon.method\r\n @impl.noop\r\n UpdateAsyncronous(_updateContext)\r\n {\r\n }\r\n\r\n /** Rebuilds the flat CPU instance records for this frame. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon's typed vertex vectors are represented by flat Float32Array-compatible number buffers consumed by Tr2QuadRenderer.\")\r\n UpdateVisibility(updateContext, _parentTransform)\r\n {\r\n this.#anchorBuffer.length = 0;\r\n this.#connectorBuffer.length = 0;\r\n this.#velocityBuffer.length = 0;\r\n\r\n const rootX = this.worldPosition[0];\r\n const rootY = this.worldPosition[1];\r\n const rootZ = this.worldPosition[2];\r\n const sourceRadius = this.sourceRadius;\r\n const distanceThreshold = (this.activeRange + this.rangeFadeLength) * this.rangeMultiplier;\r\n let requestedSegments = 0;\r\n const frustum = updateContext.GetFrustum();\r\n\r\n for (const trackObject of this.trackObjects)\r\n {\r\n trackObject.GetPosition(this.#positionScratch);\r\n const positionX = this.#positionScratch[0];\r\n const positionY = this.#positionScratch[1];\r\n const positionZ = this.#positionScratch[2];\r\n const radius = trackObject.GetRadius();\r\n const deltaX = positionX - rootX;\r\n const deltaY = positionY - rootY;\r\n const deltaZ = positionZ - rootZ;\r\n const distance = Math.hypot(deltaX, deltaY, deltaZ);\r\n if (distance > distanceThreshold) continue;\r\n\r\n const planarDirectionLength = Math.hypot(deltaX, deltaZ);\r\n let directionX = planarDirectionLength ? deltaX / planarDirectionLength : 0;\r\n let directionZ = planarDirectionLength ? deltaZ / planarDirectionLength : 0;\r\n if (!(directionX || directionZ)) directionX = 0.01;\r\n const planeX = rootX + directionX * distance;\r\n const planeY = rootY;\r\n const planeZ = rootZ + directionZ * distance;\r\n\r\n const halfX = (planeX - positionX) * 0.5;\r\n const halfY = (planeY - positionY) * 0.5;\r\n const halfZ = (planeZ - positionZ) * 0.5;\r\n vec4.set(\r\n this.#sphereScratch,\r\n positionX + halfX,\r\n positionY + halfY,\r\n positionZ + halfZ,\r\n Math.hypot(halfX, halfY, halfZ) + 1e-4\r\n );\r\n if (!frustum.IsSphereVisible(this.#sphereScratch)) continue;\r\n\r\n const pixelDiameter = frustum.GetPixelSizeAccross(this.#sphereScratch);\r\n let segments = getSubdivisionCount(\r\n pixelDiameter,\r\n this.segmentsLow,\r\n this.segmentsMedium,\r\n this.segmentsHigh,\r\n updateContext\r\n );\r\n if (segments !== 0)\r\n {\r\n const planarLength = Math.hypot(planeX - positionX, planeZ - positionZ);\r\n const height = Math.abs(positionY - planeY);\r\n segments *= 1 + this.arcSegmentMultiplier * planarLength / height;\r\n requestedSegments += segments * this.segmentCountMultiplier;\r\n if (this.requestedSegmentsLast && this.requestedSegmentsLast > this.targetMaxSegments)\r\n {\r\n segments *= this.targetMaxSegments / this.requestedSegmentsLast;\r\n segments = Math.max(segments, 1);\r\n }\r\n segments = this.segmentCountMultiplier * Math.floor(segments + 0.5);\r\n }\r\n\r\n const counter = radius > this.minRadiusForRange ? segments + 1 : segments;\r\n const interestReducedIntensity = this.interestRange > 0.0001 &&\r\n distance - radius - sourceRadius > this.interestRange\r\n ? 1 - this.outsideInterestIntensity\r\n : 0;\r\n this.#anchorBuffer.push(positionX, positionY, positionZ, interestReducedIntensity);\r\n for (let segmentIndex = 0; segmentIndex < counter; segmentIndex++)\r\n {\r\n this.#connectorBuffer.push(\r\n positionX,\r\n positionY,\r\n positionZ,\r\n segments * 256 + segmentIndex,\r\n Math.floor(radius) + interestReducedIntensity\r\n );\r\n }\r\n\r\n trackObject.GetVelocity(this.#velocityScratch);\r\n const velocityX = this.#velocityScratch[0];\r\n const velocityY = this.#velocityScratch[1];\r\n const velocityZ = this.#velocityScratch[2];\r\n for (let kind = 0; kind < 3; kind++)\r\n {\r\n if (kind === 1 && !trackObject.IsAggressive()) continue;\r\n if (kind === 0 && !trackObject.ShowVelocity()) continue;\r\n this.#velocityBuffer.push(\r\n positionX,\r\n positionY,\r\n positionZ,\r\n kind,\r\n velocityX,\r\n velocityY,\r\n velocityZ,\r\n Math.floor(radius) + (kind === 1 ? 0.9 : 0)\r\n );\r\n }\r\n }\r\n\r\n this.#velocityBuffer.push(\r\n rootX,\r\n rootY,\r\n rootZ,\r\n 0,\r\n this.#rootVelocity[0],\r\n this.#rootVelocity[1],\r\n this.#rootVelocity[2],\r\n Math.floor(sourceRadius)\r\n );\r\n if (this.interestObject && this.interestObject.ShowVelocity())\r\n {\r\n this.interestObject.GetPosition(this.#positionScratch);\r\n const interestX = this.#positionScratch[0];\r\n const interestY = this.#positionScratch[1];\r\n const interestZ = this.#positionScratch[2];\r\n const interestRadius = this.interestObject.GetRadius();\r\n this.#velocityBuffer.push(\r\n interestX,\r\n interestY,\r\n interestZ,\r\n 0,\r\n this.#rootVelocity[0],\r\n this.#rootVelocity[1],\r\n this.#rootVelocity[2],\r\n Math.floor(interestRadius) + 0.9\r\n );\r\n this.interestObject.GetVelocity(this.#velocityScratch);\r\n this.#velocityBuffer.push(\r\n rootX,\r\n rootY,\r\n rootZ,\r\n 0,\r\n this.#velocityScratch[0],\r\n this.#velocityScratch[1],\r\n this.#velocityScratch[2],\r\n Math.floor(sourceRadius) + 0.9\r\n );\r\n }\r\n\r\n this.totalSegmentsLast = this.#connectorBuffer.length / 5;\r\n this.requestedSegmentsLast = requestedSegments;\r\n }\r\n\r\n /** Carbon's tactical overlay has no ordinary renderable children. */\r\n @carbon.method\r\n @impl.noop\r\n GetRenderables(_renderables, _impostors)\r\n {\r\n }\r\n\r\n /** The overlay supplies no spatial bounds. */\r\n @carbon.method\r\n @impl.implemented\r\n GetBoundingSphere(_sphere, _query)\r\n {\r\n return false;\r\n }\r\n\r\n /** The overlay's model center is always the world origin. */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateModelCenterWorldPosition(out, _time)\r\n {\r\n vec3.set(out, 0, 0, 0);\r\n }\r\n\r\n /** The overlay's model center is always the world origin. */\r\n @carbon.method\r\n @impl.implemented\r\n GetModelCenterWorldPosition(out)\r\n {\r\n vec3.set(out, 0, 0, 0);\r\n }\r\n\r\n /** The overlay supplies no local box. */\r\n @carbon.method\r\n @impl.implemented\r\n GetLocalBoundingBox(_min, _max)\r\n {\r\n return false;\r\n }\r\n\r\n /** The overlay has no authored object transform. */\r\n @carbon.method\r\n @impl.implemented\r\n GetLocalToWorldTransform(out)\r\n {\r\n mat4.identity(out);\r\n }\r\n\r\n /** Registers the three exact instance layouts with the shared quad renderer. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon combines an effect content hash with its native pointer; JavaScript combines it with a stable WeakMap identity.\")\r\n RegisterWithQuadRenderer(quadRenderer)\r\n {\r\n if (this.connectorEffect)\r\n {\r\n this.#connectorEffectKey = getEffectKey(this.connectorEffect);\r\n quadRenderer.RegisterEffect(\r\n this.#connectorEffectKey,\r\n TriBatchType.TRIBATCHTYPE_ADDITIVE,\r\n 20,\r\n 1,\r\n CONNECTOR_DEFINITION,\r\n this.connectorEffect\r\n );\r\n }\r\n if (this.anchorEffect)\r\n {\r\n this.#anchorEffectKey = getEffectKey(this.anchorEffect);\r\n quadRenderer.RegisterEffect(\r\n this.#anchorEffectKey,\r\n TriBatchType.TRIBATCHTYPE_ADDITIVE,\r\n 16,\r\n 1,\r\n ANCHOR_DEFINITION,\r\n this.anchorEffect\r\n );\r\n }\r\n if (this.velocityEffect)\r\n {\r\n this.#velocityEffectKey = getEffectKey(this.velocityEffect);\r\n quadRenderer.RegisterEffect(\r\n this.#velocityEffectKey,\r\n TriBatchType.TRIBATCHTYPE_ADDITIVE,\r\n 32,\r\n 1,\r\n VELOCITY_DEFINITION,\r\n this.velocityEffect\r\n );\r\n }\r\n }\r\n\r\n /** Adds all three instance streams once their effect registrations exist. */\r\n @carbon.method\r\n @impl.implemented\r\n AddQuadsToQuadRenderer(_frustum, quadRenderer)\r\n {\r\n if (!this.#connectorEffectKey || !this.#anchorEffectKey || !this.#velocityEffectKey) return;\r\n quadRenderer.AddQuads(this.#connectorEffectKey, this.#connectorBuffer, this.#connectorBuffer.length / 5);\r\n quadRenderer.AddQuads(this.#anchorEffectKey, this.#anchorBuffer, this.#anchorBuffer.length / 4);\r\n quadRenderer.AddQuads(this.#velocityEffectKey, this.#velocityBuffer, this.#velocityBuffer.length / 8);\r\n }\r\n\r\n /** Refreshes the variable-store values exposed to tactical effects. */\r\n #RegisterVariables()\r\n {\r\n vec4.set(\r\n this.#ranges,\r\n this.activeRange,\r\n this.rangeFadeLength,\r\n this.rangeMultiplier,\r\n this.sourceRadius\r\n );\r\n this.#variableStore.RegisterVariable(\"PlanePosition\", this.worldPosition);\r\n this.#variableStore.RegisterVariable(\"Fadeout\", this.#ranges);\r\n this.#variableStore.RegisterVariable(\"RootVelocity\", this.#rootVelocity);\r\n }\r\n\r\n /** Attaches the local variable store to one nullable effect. */\r\n #SetVariableStore(effect)\r\n {\r\n if (!effect) return;\r\n effect.StartUpdate();\r\n effect.SetVariableStore(this.#variableStore);\r\n effect.EndUpdate();\r\n }\r\n\r\n /** m_trackObjects (PEveTacticalOverlayTrackObjectVector) [READ] */\r\n @io.read\r\n @type.list(\"EveTacticalOverlayTrackObject\")\r\n trackObjects = [];\r\n\r\n /** m_totalSegmentsLast (float) [READ] */\r\n @io.read\r\n @type.float32\r\n totalSegmentsLast = 0;\r\n\r\n /** m_requestedSegmentsLast (float) [READ] */\r\n @io.read\r\n @type.float32\r\n requestedSegmentsLast = 0;\r\n\r\n /** m_anchorEffect (Tr2EffectPtr) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.model(\"Tr2Effect\")\r\n anchorEffect = null;\r\n\r\n /** m_connectorEffect (Tr2EffectPtr) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.model(\"Tr2Effect\")\r\n connectorEffect = null;\r\n\r\n /** m_velocityEffect (Tr2EffectPtr) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.model(\"Tr2Effect\")\r\n velocityEffect = null;\r\n\r\n /** m_ranges.x (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n activeRange = 200000;\r\n\r\n /** m_ranges.y (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n rangeFadeLength = 50000;\r\n\r\n /** m_ranges.z (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n rangeMultiplier = 1;\r\n\r\n /** m_ranges.w (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n sourceRadius = 50;\r\n\r\n /** m_interestRange (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n interestRange = 0;\r\n\r\n /** m_outsideInterestIntensity (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n outsideInterestIntensity = 0.35;\r\n\r\n /** m_minRadiusForRange (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n minRadiusForRange = 150;\r\n\r\n /** m_connectorSegmentsLow (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n segmentsLow = 2;\r\n\r\n /** m_connectorSegmentsMedium (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n segmentsMedium = 5;\r\n\r\n /** m_connectorSegmentsHigh (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n segmentsHigh = 9;\r\n\r\n /** m_targetSegmentCount (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n targetMaxSegments = 25000;\r\n\r\n /** m_arcSegmentMultiplier (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n arcSegmentMultiplier = 1;\r\n\r\n /** m_segmentCountMultiplier (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n segmentCountMultiplier = 2;\r\n\r\n /** m_positionCurve (ITriVectorFunctionPtr) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.model(\"ITriVectorFunction\")\r\n translationCurve = null;\r\n\r\n /** m_rootPosition (Vector3) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.vec3\r\n worldPosition = vec3.create();\r\n\r\n /** m_interestObject (EveTacticalOverlayTrackObjectPtr) [READWRITE] */\r\n @io.readwrite\r\n @type.objectRef(\"EveTacticalOverlayTrackObject\")\r\n interestObject = null;\r\n\r\n // Carbon's deterministic destructor detaches this local store from the three\r\n // effects. JavaScript has no model-level destruction hook: the hydrated\r\n // overlay and its authored effects therefore share one graph lifetime. A\r\n // future nominal graph-lifecycle contract must own explicit detachment rather\r\n // than relying on a finalizer or a backend-specific teardown probe.\r\n #rootVelocity = vec3.create();\r\n #variableStore = new Tr2VariableStore();\r\n #ranges = vec4.fromValues(200000, 50000, 1, 50);\r\n #anchorBuffer = [];\r\n #connectorBuffer = [];\r\n #velocityBuffer = [];\r\n #positionScratch = vec3.create();\r\n #velocityScratch = vec3.create();\r\n #sphereScratch = vec4.create();\r\n #anchorEffectKey = null;\r\n #connectorEffectKey = null;\r\n #velocityEffectKey = null;\r\n #lastAnchorEffect = null;\r\n #lastConnectorEffect = null;\r\n #lastVelocityEffect = null;\r\n}\r\n"],"names":["effectIdentities","WeakMap","nextEffectIdentity","ANCHOR_DEFINITION","Tr2VertexDefinition","Add","CONNECTOR_DEFINITION","VELOCITY_DEFINITION","getEffectKey","effect","identity","get","undefined","set","GetHashValue","triLinearize","min","max","value","Math","getSubdivisionCount","pixelSize","low","medium","high","updateContext","GetVisibilityThreshold","lowCount","highCount","lowStep","highStep","GetLowDetailThreshold","GetMediumDetailThreshold","GetHighDetailThreshold","floor","_EveTacticalOverlay","EveTacticalOverlay","_withIEveSpaceObject","withIEveSpaceObject2","CjsModel","e","_init_trackObjects","_init_extra_trackObjects","_init_totalSegmentsLast","_init_extra_totalSegmentsLast","_init_requestedSegmentsLast","_init_extra_requestedSegmentsLast","_init_anchorEffect","_init_extra_anchorEffect","_init_connectorEffect","_init_extra_connectorEffect","_init_velocityEffect","_init_extra_velocityEffect","_init_activeRange","_init_extra_activeRange","_init_rangeFadeLength","_init_extra_rangeFadeLength","_init_rangeMultiplier","_init_extra_rangeMultiplier","_init_sourceRadius","_init_extra_sourceRadius","_init_interestRange","_init_extra_interestRange","_init_outsideInterestIntensity","_init_extra_outsideInterestIntensity","_init_minRadiusForRange","_init_extra_minRadiusForRange","_init_segmentsLow","_init_extra_segmentsLow","_init_segmentsMedium","_init_extra_segmentsMedium","_init_segmentsHigh","_init_extra_segmentsHigh","_init_targetMaxSegments","_init_extra_targetMaxSegments","_init_arcSegmentMultiplier","_init_extra_arcSegmentMultiplier","_init_segmentCountMultiplier","_init_extra_segmentCountMultiplier","_init_translationCurve","_init_extra_translationCurve","_init_worldPosition","_init_extra_worldPosition","_init_interestObject","_init_extra_interestObject","_initProto","c","_initClass","_applyDecs","type","define","className","family","carbon","method","impl","implemented","adapted","reason","noop","io","read","list","float32","notify","persist","model","vec3","readwrite","objectRef","constructor","Initialize","anchorEffect","connectorEffect","velocityEffect","OnModified","_options","UpdateSyncronous","translationCurve","time","GetTime","GetValueAt","worldPosition","GetValueDotAt","trackObject","trackObjects","UpdatePosition","UpdateAsyncronous","_updateContext","UpdateVisibility","_parentTransform","length","rootX","rootY","rootZ","sourceRadius","distanceThreshold","activeRange","rangeFadeLength","rangeMultiplier","requestedSegments","frustum","GetFrustum","GetPosition","positionX","positionY","positionZ","radius","GetRadius","deltaX","deltaY","deltaZ","distance","hypot","planarDirectionLength","directionX","directionZ","planeX","planeY","planeZ","halfX","halfY","halfZ","vec4","IsSphereVisible","pixelDiameter","GetPixelSizeAccross","segments","segmentsLow","segmentsMedium","segmentsHigh","planarLength","height","abs","arcSegmentMultiplier","segmentCountMultiplier","requestedSegmentsLast","targetMaxSegments","counter","minRadiusForRange","interestReducedIntensity","interestRange","outsideInterestIntensity","push","segmentIndex","GetVelocity","velocityX","velocityY","velocityZ","kind","IsAggressive","ShowVelocity","interestObject","interestX","interestY","interestZ","interestRadius","totalSegmentsLast","GetRenderables","_renderables","_impostors","GetBoundingSphere","_sphere","_query","UpdateModelCenterWorldPosition","out","_time","GetModelCenterWorldPosition","GetLocalBoundingBox","_min","_max","GetLocalToWorldTransform","mat4","RegisterWithQuadRenderer","quadRenderer","RegisterEffect","TriBatchType","TRIBATCHTYPE_ADDITIVE","AddQuadsToQuadRenderer","_frustum","AddQuads","#RegisterVariables","RegisterVariable","#SetVariableStore","StartUpdate","SetVariableStore","EndUpdate","create","Tr2VariableStore","fromValues"],"mappings":"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"}
@@ -6,6 +6,7 @@ import { vec3 } from '#math/vec3';
6
6
  import { vec4 } from '#math/vec4';
7
7
  import { type, carbon, impl } from '#schema';
8
8
  import { Tr2CurveLineSet as _Tr2CurveLineSet } from '../../../core/line/Tr2CurveLineSet.js';
9
+ import { Tr2PerObjectDataStandard } from '../../../core/rawData/perObjectData/Tr2PerObjectDataStandard.js';
9
10
  import { Tr2Effect as _Tr2Effect } from '../../../shader/Tr2Effect.js';
10
11
  import { Tr2Lod } from '#consts/trinity';
11
12
 
@@ -79,16 +80,15 @@ new class extends _identity {
79
80
  return true;
80
81
  }
81
82
 
82
- /** Allocates and packs the line set's standard VS and PS object records. */
83
+ /**
84
+ * Carbon EveCurveLineSet::GetPerObjectData (cpp:106-125): the same standard
85
+ * pair as EveLineSet, each with a transposed WorldMat.
86
+ */
83
87
  GetPerObjectData(accumulator) {
84
- const vs = accumulator.Alloc("EvePerObjectVSData");
85
- const ps = accumulator.Alloc("EvePerObjectPSData");
86
- vs.SetAndTranspose("WorldMat", this.worldTransform);
87
- ps.SetAndTranspose("WorldMat", this.worldTransform);
88
- return {
89
- vs,
90
- ps
91
- };
88
+ const data = Tr2PerObjectDataStandard.alloc(accumulator, "EvePerObjectVSData", "EvePerObjectPSData");
89
+ data.vs.SetAndTranspose("WorldMat", this.worldTransform);
90
+ data.ps.SetAndTranspose("WorldMat", this.worldTransform);
91
+ return data;
92
92
  }
93
93
 
94
94
  /** Carbon always reports the high LOD for this UI renderable. */
@@ -1 +1 @@
1
- {"version":3,"file":"EveCurveLineSet.js","sources":["../../../../../../src/trinity/eve/ui/lines/EveCurveLineSet.js"],"sourcesContent":["// Source: trinity/trinity/Eve/UI/EveCurveLineSet.h\n// Source: trinity/trinity/Eve/UI/EveCurveLineSet.cpp\nimport { mat4 } from \"#math/mat4\";\nimport { withIEveSpaceObject2 } from \"../../IEveSpaceObject2.js\";\nimport { withIEveTransform } from \"../../IEveTransform.js\";\r\nimport { vec3 } from \"#math/vec3\";\r\nimport { vec4 } from \"#math/vec4\";\r\nimport { carbon, impl, type } from \"#schema\";\r\nimport { Tr2CurveLineSet } from \"../../../core/line/Tr2CurveLineSet.js\";\r\nimport { Tr2Effect } from \"../../../shader/Tr2Effect.js\";\r\nimport { Tr2Lod } from \"../../EveLODHelper.js\";\r\n\r\n\r\nconst LOCAL_TRANSFORM = mat4.create();\r\nconst WORLD_SPHERE = vec4.create();\r\n\r\n\r\n/** An Eve-owned, transformed and visibility-culled Carbon curve-line set. */\r\n@type.define({ className: \"EveCurveLineSet\", family: \"eve/ui\" })\r\nexport class EveCurveLineSet extends withIEveTransform(withIEveSpaceObject2(Tr2CurveLineSet))\r\n{\r\n\r\n /** Creates the default line and picking effects. */\r\n constructor()\r\n {\r\n super();\r\n this.lineEffect = new Tr2Effect();\r\n this.lineEffect.SetEffectPathName(\"res:/Graphics/Effect/Managed/Space/SpecialFX/Lines3D.fx\");\r\n this.pickEffect = new Tr2Effect();\r\n this.pickEffect.SetEffectPathName(\"res:/Graphics/Effect/Managed/Space/SpecialFX/Lines3DPicking.fx\");\r\n }\r\n\r\n /** Carbon's last visibility result. */\r\n @type.boolean\r\n isVisible = false;\r\n\r\n /** Carbon performs no synchronous work for this leaf. */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateSyncronous(_updateContext)\r\n {\r\n }\r\n\r\n /** Carbon performs no asynchronous work for this leaf. */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateAsyncronous(_updateContext)\r\n {\r\n }\r\n\r\n /** Carbon's IEveTransform update is intentionally empty. */\r\n @carbon.method\r\n @impl.implemented\r\n Update(_updateContext)\r\n {\r\n }\r\n\r\n /** Composes local SRT with the parent and culls the transformed local sphere. */\r\n @carbon.method\r\n @carbon.contextual([\"camera\"])\r\n @impl.implemented\r\n UpdateVisibility(updateContext, parentTransform)\r\n {\r\n this.isVisible = false;\r\n if (!this.display)\r\n {\r\n return;\r\n }\r\n\r\n mat4.fromRotationTranslationScale(LOCAL_TRANSFORM, this.rotation, this.translation, this.scaling);\r\n mat4.multiply(this.worldTransform, parentTransform, LOCAL_TRANSFORM);\r\n\r\n vec4.copy(WORLD_SPHERE, this.boundingSphere);\r\n vec3.transformMat4(WORLD_SPHERE, WORLD_SPHERE, this.worldTransform);\r\n const scaleX = Math.hypot(this.worldTransform[0], this.worldTransform[1], this.worldTransform[2]);\r\n const scaleY = Math.hypot(this.worldTransform[4], this.worldTransform[5], this.worldTransform[6]);\r\n const scaleZ = Math.hypot(this.worldTransform[8], this.worldTransform[9], this.worldTransform[10]);\r\n WORLD_SPHERE[3] *= Math.max(scaleX, scaleY, scaleZ);\r\n this.isVisible = updateContext.GetFrustum().IsSphereVisible(WORLD_SPHERE);\r\n }\r\n\r\n /** Appends this renderable only when the last cull passed. */\r\n @carbon.method\r\n @impl.implemented\r\n GetRenderables(renderables, _impostors = null)\r\n {\r\n if (this.isVisible)\r\n {\r\n renderables.push(this);\r\n }\r\n return renderables;\r\n }\r\n\r\n /** Copies Carbon's local-space bound. */\r\n @carbon.method\r\n @impl.implemented\r\n GetBoundingSphere(out = vec4.create(), _query = 0)\r\n {\r\n vec4.copy(out, this.boundingSphere);\r\n return true;\r\n }\r\n\r\n /** Allocates and packs the line set's standard VS and PS object records. */\r\n @carbon.method\r\n @impl.implemented\r\n GetPerObjectData(accumulator)\r\n {\r\n const vs = accumulator.Alloc(\"EvePerObjectVSData\");\r\n const ps = accumulator.Alloc(\"EvePerObjectPSData\");\r\n vs.SetAndTranspose(\"WorldMat\", this.worldTransform);\r\n ps.SetAndTranspose(\"WorldMat\", this.worldTransform);\r\n return { vs, ps };\r\n }\r\n\r\n /** Carbon always reports the high LOD for this UI renderable. */\r\n @carbon.method\r\n @impl.implemented\r\n GetLODLevel()\r\n {\r\n return Tr2Lod.TR2_LOD_HIGH;\r\n }\r\n\r\n /** Carbon provides no model-center update for this object. */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateModelCenterWorldPosition(_position, _time)\r\n {\r\n }\r\n\r\n /** Carbon provides no model-center result for this object. */\r\n @carbon.method\r\n @impl.implemented\r\n GetModelCenterWorldPosition(_position)\r\n {\r\n }\r\n\r\n /** Carbon provides no local box for this object. */\r\n @carbon.method\r\n @impl.implemented\r\n GetLocalBoundingBox(_minBounds, _maxBounds)\r\n {\r\n return false;\r\n }\r\n\r\n /** Carbon's IEveTransform implementation deliberately returns identity. */\r\n @carbon.method\r\n @impl.implemented\r\n GetLocalToWorldTransform(out = mat4.create())\r\n {\r\n return mat4.identity(out);\r\n }\r\n\r\n static Tr2Lod = Tr2Lod;\r\n\r\n}\r\n"],"names":["LOCAL_TRANSFORM","mat4","create","WORLD_SPHERE","vec4","_EveCurveLineSet","_identity","EveCurveLineSet","_withIEveTransform","withIEveTransform","withIEveSpaceObject2","Tr2CurveLineSet","e","_init_isVisible","_init_extra_isVisible","_initProto","c","_initClass","_applyDecs","type","define","className","family","boolean","carbon","method","impl","implemented","contextual","constructor","lineEffect","Tr2Effect","SetEffectPathName","pickEffect","isVisible","UpdateSyncronous","_updateContext","UpdateAsyncronous","Update","UpdateVisibility","updateContext","parentTransform","display","fromRotationTranslationScale","rotation","translation","scaling","multiply","worldTransform","copy","boundingSphere","vec3","transformMat4","scaleX","Math","hypot","scaleY","scaleZ","max","GetFrustum","IsSphereVisible","GetRenderables","renderables","_impostors","push","GetBoundingSphere","out","_query","GetPerObjectData","accumulator","vs","Alloc","ps","SetAndTranspose","GetLODLevel","Tr2Lod","TR2_LOD_HIGH","UpdateModelCenterWorldPosition","_position","_time","GetModelCenterWorldPosition","GetLocalBoundingBox","_minBounds","_maxBounds","GetLocalToWorldTransform","identity"],"mappings":"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"}
1
+ {"version":3,"file":"EveCurveLineSet.js","sources":["../../../../../../src/trinity/eve/ui/lines/EveCurveLineSet.js"],"sourcesContent":["// Source: trinity/trinity/Eve/UI/EveCurveLineSet.h\n// Source: trinity/trinity/Eve/UI/EveCurveLineSet.cpp\nimport { mat4 } from \"#math/mat4\";\nimport { withIEveSpaceObject2 } from \"../../IEveSpaceObject2.js\";\nimport { withIEveTransform } from \"../../IEveTransform.js\";\nimport { vec3 } from \"#math/vec3\";\nimport { vec4 } from \"#math/vec4\";\nimport { carbon, impl, type } from \"#schema\";\nimport { Tr2CurveLineSet } from \"../../../core/line/Tr2CurveLineSet.js\";\nimport { Tr2PerObjectDataStandard } from \"../../../core/rawData/perObjectData/Tr2PerObjectDataStandard.js\";\nimport { Tr2Effect } from \"../../../shader/Tr2Effect.js\";\nimport { Tr2Lod } from \"../../EveLODHelper.js\";\n\n\nconst LOCAL_TRANSFORM = mat4.create();\nconst WORLD_SPHERE = vec4.create();\n\n\n/** An Eve-owned, transformed and visibility-culled Carbon curve-line set. */\n@type.define({ className: \"EveCurveLineSet\", family: \"eve/ui\" })\nexport class EveCurveLineSet extends withIEveTransform(withIEveSpaceObject2(Tr2CurveLineSet))\n{\n\n /** Creates the default line and picking effects. */\n constructor()\n {\n super();\n this.lineEffect = new Tr2Effect();\n this.lineEffect.SetEffectPathName(\"res:/Graphics/Effect/Managed/Space/SpecialFX/Lines3D.fx\");\n this.pickEffect = new Tr2Effect();\n this.pickEffect.SetEffectPathName(\"res:/Graphics/Effect/Managed/Space/SpecialFX/Lines3DPicking.fx\");\n }\n\n /** Carbon's last visibility result. */\n @type.boolean\n isVisible = false;\n\n /** Carbon performs no synchronous work for this leaf. */\n @carbon.method\n @impl.implemented\n UpdateSyncronous(_updateContext)\n {\n }\n\n /** Carbon performs no asynchronous work for this leaf. */\n @carbon.method\n @impl.implemented\n UpdateAsyncronous(_updateContext)\n {\n }\n\n /** Carbon's IEveTransform update is intentionally empty. */\n @carbon.method\n @impl.implemented\n Update(_updateContext)\n {\n }\n\n /** Composes local SRT with the parent and culls the transformed local sphere. */\n @carbon.method\n @carbon.contextual([\"camera\"])\n @impl.implemented\n UpdateVisibility(updateContext, parentTransform)\n {\n this.isVisible = false;\n if (!this.display)\n {\n return;\n }\n\n mat4.fromRotationTranslationScale(LOCAL_TRANSFORM, this.rotation, this.translation, this.scaling);\n mat4.multiply(this.worldTransform, parentTransform, LOCAL_TRANSFORM);\n\n vec4.copy(WORLD_SPHERE, this.boundingSphere);\n vec3.transformMat4(WORLD_SPHERE, WORLD_SPHERE, this.worldTransform);\n const scaleX = Math.hypot(this.worldTransform[0], this.worldTransform[1], this.worldTransform[2]);\n const scaleY = Math.hypot(this.worldTransform[4], this.worldTransform[5], this.worldTransform[6]);\n const scaleZ = Math.hypot(this.worldTransform[8], this.worldTransform[9], this.worldTransform[10]);\n WORLD_SPHERE[3] *= Math.max(scaleX, scaleY, scaleZ);\n this.isVisible = updateContext.GetFrustum().IsSphereVisible(WORLD_SPHERE);\n }\n\n /** Appends this renderable only when the last cull passed. */\n @carbon.method\n @impl.implemented\n GetRenderables(renderables, _impostors = null)\n {\n if (this.isVisible)\n {\n renderables.push(this);\n }\n return renderables;\n }\n\n /** Copies Carbon's local-space bound. */\n @carbon.method\n @impl.implemented\n GetBoundingSphere(out = vec4.create(), _query = 0)\n {\n vec4.copy(out, this.boundingSphere);\n return true;\n }\n\n /**\n * Carbon EveCurveLineSet::GetPerObjectData (cpp:106-125): the same standard\n * pair as EveLineSet, each with a transposed WorldMat.\n */\n @carbon.method\n @impl.implemented\n GetPerObjectData(accumulator)\n {\n const data = Tr2PerObjectDataStandard.alloc(accumulator, \"EvePerObjectVSData\", \"EvePerObjectPSData\");\n\n data.vs.SetAndTranspose(\"WorldMat\", this.worldTransform);\n data.ps.SetAndTranspose(\"WorldMat\", this.worldTransform);\n\n return data;\n }\n\n /** Carbon always reports the high LOD for this UI renderable. */\n @carbon.method\n @impl.implemented\n GetLODLevel()\n {\n return Tr2Lod.TR2_LOD_HIGH;\n }\n\n /** Carbon provides no model-center update for this object. */\n @carbon.method\n @impl.implemented\n UpdateModelCenterWorldPosition(_position, _time)\n {\n }\n\n /** Carbon provides no model-center result for this object. */\n @carbon.method\n @impl.implemented\n GetModelCenterWorldPosition(_position)\n {\n }\n\n /** Carbon provides no local box for this object. */\n @carbon.method\n @impl.implemented\n GetLocalBoundingBox(_minBounds, _maxBounds)\n {\n return false;\n }\n\n /** Carbon's IEveTransform implementation deliberately returns identity. */\n @carbon.method\n @impl.implemented\n GetLocalToWorldTransform(out = mat4.create())\n {\n return mat4.identity(out);\n }\n\n static Tr2Lod = Tr2Lod;\n\n}\n"],"names":["LOCAL_TRANSFORM","mat4","create","WORLD_SPHERE","vec4","_EveCurveLineSet","_identity","EveCurveLineSet","_withIEveTransform","withIEveTransform","withIEveSpaceObject2","Tr2CurveLineSet","e","_init_isVisible","_init_extra_isVisible","_initProto","c","_initClass","_applyDecs","type","define","className","family","boolean","carbon","method","impl","implemented","contextual","constructor","lineEffect","Tr2Effect","SetEffectPathName","pickEffect","isVisible","UpdateSyncronous","_updateContext","UpdateAsyncronous","Update","UpdateVisibility","updateContext","parentTransform","display","fromRotationTranslationScale","rotation","translation","scaling","multiply","worldTransform","copy","boundingSphere","vec3","transformMat4","scaleX","Math","hypot","scaleY","scaleZ","max","GetFrustum","IsSphereVisible","GetRenderables","renderables","_impostors","push","GetBoundingSphere","out","_query","GetPerObjectData","accumulator","data","Tr2PerObjectDataStandard","alloc","vs","SetAndTranspose","ps","GetLODLevel","Tr2Lod","TR2_LOD_HIGH","UpdateModelCenterWorldPosition","_position","_time","GetModelCenterWorldPosition","GetLocalBoundingBox","_minBounds","_maxBounds","GetLocalToWorldTransform","identity"],"mappings":"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"}
@@ -7,6 +7,7 @@ import { mat4 } from '#math/mat4';
7
7
  import { vec3 } from '#math/vec3';
8
8
  import { vec4 } from '#math/vec4';
9
9
  import { withITr2Renderable } from '../../../core/ITr2Renderable.js';
10
+ import { Tr2PerObjectDataStandard } from '../../../core/rawData/perObjectData/Tr2PerObjectDataStandard.js';
10
11
 
11
12
  var _withIEveTransform;
12
13
  let _initProto, _initClass, _init_lines, _init_extra_lines, _init_maxCurrentLineCount, _init_extra_maxCurrentLineCount, _init_currentSubmittedLineCount, _init_extra_currentSubmittedLineCount, _init_scaling, _init_extra_scaling, _init_name, _init_extra_name, _init_rotationCurve, _init_extra_rotationCurve, _init_effect, _init_extra_effect, _init_display, _init_extra_display, _init_renderTransparent, _init_extra_renderTransparent, _init_translationCurve, _init_extra_translationCurve;
@@ -49,14 +50,14 @@ class EveLineSet extends (_withIEveTransform = withIEveTransform(withIEveSpaceOb
49
50
  /** m_ballPosition (ITriVectorFunctionPtr) [READWRITE, PERSIST] */
50
51
  translationCurve = (_init_extra_renderTransparent(this), _init_translationCurve(this, null));
51
52
 
52
- /** m_worldTransform (EveLineSet.h:119) - runtime state stamped by
53
+ /** m_worldTransform (EveLineSet.h:119) - runtime state stamped by
53
54
  * UpdateSyncronous from the curves and scaling; not persisted. */
54
55
  worldTransform = (_init_extra_translationCurve(this), mat4.create());
55
56
 
56
- /** Carbon EveLineSet::UpdateSyncronous (cpp:97-114): sample the position and
57
- * rotation curves, then m_worldTransform = TransformationMatrix(scaling,
58
- * rotation, translation). Carbon (s, r, t) is gl
59
- * fromRotationTranslationScale (r, t, s) - equivalent matrix, different
57
+ /** Carbon EveLineSet::UpdateSyncronous (cpp:97-114): sample the position and
58
+ * rotation curves, then m_worldTransform = TransformationMatrix(scaling,
59
+ * rotation, translation). Carbon (s, r, t) is gl
60
+ * fromRotationTranslationScale (r, t, s) - equivalent matrix, different
60
61
  * argument order (math skill rule table). */
61
62
  UpdateSyncronous(updateContext) {
62
63
  const rotation = vec4.fromValues(0, 0, 0, 1);
@@ -112,11 +113,11 @@ class EveLineSet extends (_withIEveTransform = withIEveTransform(withIEveSpaceOb
112
113
  return true;
113
114
  }
114
115
 
115
- /**
116
- * Carbon Initialize (EveLineSet.cpp:35-42): seed the line capacity at 100
117
- * and bring resources up. JS arrays need no reserve, so the seed IS the
118
- * capacity watermark; the PrepareResources hop is the AL half and stays
119
- * with the device lane (OnPrepareResources is classified there).
116
+ /**
117
+ * Carbon Initialize (EveLineSet.cpp:35-42): seed the line capacity at 100
118
+ * and bring resources up. JS arrays need no reserve, so the seed IS the
119
+ * capacity watermark; the PrepareResources hop is the AL half and stays
120
+ * with the device lane (OnPrepareResources is classified there).
120
121
  */
121
122
  Initialize() {
122
123
  this.maxCurrentLineCount = Math.max(this.maxCurrentLineCount, 100);
@@ -152,8 +153,8 @@ class EveLineSet extends (_withIEveTransform = withIEveTransform(withIEveSpaceOb
152
153
  throw new Error("EveLineSet.GetBatches is not implemented in CarbonEngineJS.");
153
154
  }
154
155
 
155
- /** Carbon EveLineSet::GetSortValue (cpp:203-208): distance from the view
156
- * position to the world translation. Carbon reads the Tr2Renderer static;
156
+ /** Carbon EveLineSet::GetSortValue (cpp:203-208): distance from the view
157
+ * position to the world translation. Carbon reads the Tr2Renderer static;
157
158
  * the collector threads the render context instead. */
158
159
  GetSortValue(renderContext = null) {
159
160
  const viewPosition = renderContext?.GetViewPosition();
@@ -167,20 +168,21 @@ class EveLineSet extends (_withIEveTransform = withIEveTransform(withIEveSpaceOb
167
168
  return Math.sqrt(dx * dx + dy * dy + dz * dz);
168
169
  }
169
170
 
170
- /** Carbon EveLineSet::GetPerObjectData (cpp:210-231): a Tr2PerObjectDataStandard
171
- * carrying EvePerObjectVSData + EvePerObjectPSData, each one transposed
172
- * WorldMat, uploaded as two constant buffers. Here that is two Allocs
173
- * returned as a { vs, ps } record; Set(MATRIX) performs Carbon's
174
- * `Transpose(m_worldTransform)`. */
171
+ /**
172
+ * Carbon EveLineSet::GetPerObjectData (cpp:210-231): a Tr2PerObjectDataStandard
173
+ * carrying EvePerObjectVSData and EvePerObjectPSData, each with a transposed
174
+ * WorldMat, bound as two constant buffers.
175
+ *
176
+ * Carbon leases the object from the accumulator and copies a stack struct into
177
+ * each of its buffers; the lease here creates the buffers in those named
178
+ * layouts, so the writes below land where the copy would have put them.
179
+ * SetAndTranspose is Carbon's `Transpose( m_worldTransform )`.
180
+ */
175
181
  GetPerObjectData(accumulator) {
176
- const vs = accumulator.Alloc("EvePerObjectVSData");
177
- const ps = accumulator.Alloc("EvePerObjectPSData");
178
- vs.SetAndTranspose("WorldMat", this.worldTransform);
179
- ps.SetAndTranspose("WorldMat", this.worldTransform);
180
- return {
181
- vs,
182
- ps
183
- };
182
+ const data = Tr2PerObjectDataStandard.alloc(accumulator, "EvePerObjectVSData", "EvePerObjectPSData");
183
+ data.vs.SetAndTranspose("WorldMat", this.worldTransform);
184
+ data.ps.SetAndTranspose("WorldMat", this.worldTransform);
185
+ return data;
184
186
  }
185
187
  static {
186
188
  _initClass();
@@ -1 +1 @@
1
- {"version":3,"file":"EveLineSet.js","sources":["../../../../../../src/trinity/eve/ui/lines/EveLineSet.js"],"sourcesContent":["// Source: trinity/trinity/Eve/UI/EveLineSet.h\r\n// Source: trinity/trinity/Eve/UI/EveLineSet.cpp\r\n// Hand-maintained after promotion from generated schema intake.\r\nimport { carbon, impl, io, type } from \"#schema\";\r\nimport { withIEveSpaceObject2 } from \"../../IEveSpaceObject2.js\";\r\nimport { withIEveTransform } from \"../../IEveTransform.js\";\r\nimport { CjsModel } from \"#model\";\r\nimport { mat4 } from \"#math/mat4\";\r\nimport { vec3 } from \"#math/vec3\";\r\nimport { vec4 } from \"#math/vec4\";\r\nimport { withITr2Renderable } from \"../../../core/ITr2Renderable.js\";\r\n\r\n/** Stores editable tactical line records before renderer submission. */\r\n@type.define({ className: \"EveLineSet\", family: \"eve/ui\" })\r\nexport class EveLineSet extends withIEveTransform(withIEveSpaceObject2(withITr2Renderable(CjsModel)))\r\n{\r\n\r\n /** Carbon's pending CPU line records. */\r\n @type.list(\"EveLineData\")\r\n lines = [];\r\n\r\n @type.uint32\r\n maxCurrentLineCount = 0;\r\n\r\n @type.uint32\r\n currentSubmittedLineCount = 0;\r\n\r\n /** m_scaling (Vector3) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.vec3\r\n scaling = vec3.fromValues(1, 1, 1);\r\n\r\n /** m_name (std::string) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.string\r\n name = \"\";\r\n\r\n /** m_ballRotation (ITriQuaternionFunctionPtr) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.model(\"ITriQuaternionFunction\")\r\n rotationCurve = null;\r\n\r\n /** m_effect (Tr2EffectPtr) [READWRITE, NOTIFY, PERSIST] */\r\n @io.notify\r\n @io.persist\r\n @type.model(\"Tr2Effect\")\r\n effect = null;\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_isRenderedAsTransparent (bool) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.boolean\r\n renderTransparent = false;\r\n\r\n /** m_ballPosition (ITriVectorFunctionPtr) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.model(\"ITriVectorFunction\")\r\n translationCurve = null;\r\n\r\n /** m_worldTransform (EveLineSet.h:119) - runtime state stamped by\r\n * UpdateSyncronous from the curves and scaling; not persisted. */\r\n worldTransform = mat4.create();\r\n\r\n /** Carbon EveLineSet::UpdateSyncronous (cpp:97-114): sample the position and\r\n * rotation curves, then m_worldTransform = TransformationMatrix(scaling,\r\n * rotation, translation). Carbon (s, r, t) is gl\r\n * fromRotationTranslationScale (r, t, s) - equivalent matrix, different\r\n * argument order (math skill rule table). */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateSyncronous(updateContext)\r\n {\r\n const rotation = vec4.fromValues(0, 0, 0, 1);\r\n const translation = vec3.create();\r\n const time = updateContext?.GetTime?.() ?? updateContext?.currentTime ?? 0;\r\n\r\n this.translationCurve?.Update(time, translation);\r\n this.rotationCurve?.Update(time, rotation);\r\n\r\n mat4.fromRotationTranslationScale(this.worldTransform, rotation, translation, this.scaling);\r\n }\r\n\r\n /** Carbon EveLineSet::Update forwards to UpdateSyncronous (cpp:120-123). */\r\n @carbon.method\r\n @impl.implemented\r\n Update(updateContext)\r\n {\r\n this.UpdateSyncronous(updateContext);\r\n }\r\n\r\n /** Carbon method AddLine (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Stores Carbon's pending line data as renderer-neutral JavaScript records; buffer realization belongs to an engine package.\")\r\n AddLine(position1, color1, position2, color2)\r\n {\r\n this.lines.push({\r\n position1: vec3.clone(position1),\r\n color1: vec4.clone(color1),\r\n position2: vec3.clone(position2),\r\n color2: vec4.clone(color2)\r\n });\r\n return this.lines.length - 1;\r\n }\r\n\r\n /** Carbon method ChangeLineColor (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Mutates the renderer-neutral CPU record because GPU buffer updates belong to an engine package.\")\r\n ChangeLineColor(id, color1, color2)\r\n {\r\n const line = this.lines[id];\r\n if (!line) return false;\r\n vec4.copy(line.color1, color1);\r\n vec4.copy(line.color2, color2);\r\n return true;\r\n }\r\n\r\n /** Carbon method ChangeLine (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Mutates the renderer-neutral CPU record because GPU buffer updates belong to an engine package.\")\r\n ChangeLine(id, position1, color1, position2, color2)\r\n {\r\n const line = this.lines[id];\r\n if (!line) return false;\r\n vec3.copy(line.position1, position1);\r\n vec4.copy(line.color1, color1);\r\n vec3.copy(line.position2, position2);\r\n vec4.copy(line.color2, color2);\r\n return true;\r\n }\r\n\r\n /** Carbon method ChangeLinePosition (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Mutates the renderer-neutral CPU record because GPU buffer updates belong to an engine package.\")\r\n ChangeLinePosition(id, position1, position2)\r\n {\r\n const line = this.lines[id];\r\n if (!line) return false;\r\n vec3.copy(line.position1, position1);\r\n vec3.copy(line.position2, position2);\r\n return true;\r\n }\r\n\r\n /**\r\n * Carbon Initialize (EveLineSet.cpp:35-42): seed the line capacity at 100\r\n * and bring resources up. JS arrays need no reserve, so the seed IS the\r\n * capacity watermark; the PrepareResources hop is the AL half and stays\r\n * with the device lane (OnPrepareResources is classified there).\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon reserves vector capacity and calls PrepareResources; JS arrays need no reserve and the device half belongs to the AL lane.\")\r\n Initialize()\r\n {\r\n this.maxCurrentLineCount = Math.max(this.maxCurrentLineCount, 100);\r\n return true;\r\n }\r\n\r\n /** Carbon method ClearLines (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.implemented\r\n ClearLines()\r\n {\r\n this.lines.length = 0;\r\n }\r\n\r\n /** Carbon method RemoveLine (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Returns a Boolean for JavaScript callers while preserving Carbon's indexed CPU-line removal.\")\r\n RemoveLine(id)\r\n {\r\n if (!this.lines[id]) return false;\r\n this.lines.splice(id, 1);\r\n return true;\r\n }\r\n\r\n /** Carbon method SubmitChanges (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Records submitted counts without creating Carbon's GPU vertex buffer; realization belongs to an engine package.\")\r\n SubmitChanges()\r\n {\r\n this.maxCurrentLineCount = Math.max(this.maxCurrentLineCount, this.lines.length);\r\n this.currentSubmittedLineCount = this.lines.length;\r\n return true;\r\n }\r\n\r\n /** Carbon EveLineSet::HasTransparentBatches is always true (cpp:161-164). */\r\n @carbon.method\r\n @impl.implemented\r\n HasTransparentBatches()\r\n {\r\n return true;\r\n }\r\n\r\n /** Carbon EveLineSet::GetBatches submits its GPU-backed line vertex buffer (cpp:166-201). */\r\n @carbon.method\r\n @impl.notImplemented\r\n GetBatches(_accumulator, _batchType, _perObjectData, _reason)\r\n {\r\n throw new Error(\"EveLineSet.GetBatches is not implemented in CarbonEngineJS.\");\r\n }\r\n\r\n /** Carbon EveLineSet::GetSortValue (cpp:203-208): distance from the view\r\n * position to the world translation. Carbon reads the Tr2Renderer static;\r\n * the collector threads the render context instead. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon reads the Tr2Renderer view-position static; the batch collector supplies the render context explicitly.\")\r\n GetSortValue(renderContext = null)\r\n {\r\n const viewPosition = renderContext?.GetViewPosition();\r\n\r\n if (!viewPosition)\r\n {\r\n return 0;\r\n }\r\n\r\n const world = this.worldTransform;\r\n const dx = viewPosition[0] - world[12];\r\n const dy = viewPosition[1] - world[13];\r\n const dz = viewPosition[2] - world[14];\r\n\r\n return Math.sqrt(dx * dx + dy * dy + dz * dz);\r\n }\r\n\r\n /** Carbon EveLineSet::GetPerObjectData (cpp:210-231): a Tr2PerObjectDataStandard\r\n * carrying EvePerObjectVSData + EvePerObjectPSData, each one transposed\r\n * WorldMat, uploaded as two constant buffers. Here that is two Allocs\r\n * returned as a { vs, ps } record; Set(MATRIX) performs Carbon's\r\n * `Transpose(m_worldTransform)`. */\r\n @carbon.method\r\n @impl.implemented\r\n GetPerObjectData(accumulator)\r\n {\r\n const vs = accumulator.Alloc(\"EvePerObjectVSData\");\r\n const ps = accumulator.Alloc(\"EvePerObjectPSData\");\r\n\r\n vs.SetAndTranspose(\"WorldMat\", this.worldTransform);\r\n ps.SetAndTranspose(\"WorldMat\", this.worldTransform);\r\n\r\n return { vs, ps };\r\n }\r\n\r\n}\r\n"],"names":["_EveLineSet","EveLineSet","_withIEveTransform","withIEveTransform","withIEveSpaceObject2","withITr2Renderable","CjsModel","e","_init_lines","_init_extra_lines","_init_maxCurrentLineCount","_init_extra_maxCurrentLineCount","_init_currentSubmittedLineCount","_init_extra_currentSubmittedLineCount","_init_scaling","_init_extra_scaling","_init_name","_init_extra_name","_init_rotationCurve","_init_extra_rotationCurve","_init_effect","_init_extra_effect","_init_display","_init_extra_display","_init_renderTransparent","_init_extra_renderTransparent","_init_translationCurve","_init_extra_translationCurve","_initProto","c","_initClass","_applyDecs","type","define","className","family","list","uint32","io","persist","vec3","string","model","notify","boolean","carbon","method","impl","implemented","adapted","reason","notImplemented","lines","maxCurrentLineCount","currentSubmittedLineCount","scaling","fromValues","name","rotationCurve","effect","display","renderTransparent","translationCurve","worldTransform","mat4","create","UpdateSyncronous","updateContext","rotation","vec4","translation","time","GetTime","currentTime","Update","fromRotationTranslationScale","AddLine","position1","color1","position2","color2","push","clone","length","ChangeLineColor","id","line","copy","ChangeLine","ChangeLinePosition","Initialize","Math","max","ClearLines","RemoveLine","splice","SubmitChanges","HasTransparentBatches","GetBatches","_accumulator","_batchType","_perObjectData","_reason","Error","GetSortValue","renderContext","viewPosition","GetViewPosition","world","dx","dy","dz","sqrt","GetPerObjectData","accumulator","vs","Alloc","ps","SetAndTranspose"],"mappings":"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"}
1
+ {"version":3,"file":"EveLineSet.js","sources":["../../../../../../src/trinity/eve/ui/lines/EveLineSet.js"],"sourcesContent":["// Source: trinity/trinity/Eve/UI/EveLineSet.h\n// Source: trinity/trinity/Eve/UI/EveLineSet.cpp\n// Hand-maintained after promotion from generated schema intake.\nimport { carbon, impl, io, type } from \"#schema\";\nimport { withIEveSpaceObject2 } from \"../../IEveSpaceObject2.js\";\nimport { withIEveTransform } from \"../../IEveTransform.js\";\nimport { CjsModel } from \"#model\";\nimport { mat4 } from \"#math/mat4\";\nimport { vec3 } from \"#math/vec3\";\nimport { vec4 } from \"#math/vec4\";\nimport { withITr2Renderable } from \"../../../core/ITr2Renderable.js\";\nimport { Tr2PerObjectDataStandard } from \"../../../core/rawData/perObjectData/Tr2PerObjectDataStandard.js\";\n\n/** Stores editable tactical line records before renderer submission. */\n@type.define({ className: \"EveLineSet\", family: \"eve/ui\" })\nexport class EveLineSet extends withIEveTransform(withIEveSpaceObject2(withITr2Renderable(CjsModel)))\n{\n\n /** Carbon's pending CPU line records. */\n @type.list(\"EveLineData\")\n lines = [];\n\n @type.uint32\n maxCurrentLineCount = 0;\n\n @type.uint32\n currentSubmittedLineCount = 0;\n\n /** m_scaling (Vector3) [READWRITE, PERSIST] */\n @io.persist\n @type.vec3\n scaling = vec3.fromValues(1, 1, 1);\n\n /** m_name (std::string) [READWRITE, PERSIST] */\n @io.persist\n @type.string\n name = \"\";\n\n /** m_ballRotation (ITriQuaternionFunctionPtr) [READWRITE, PERSIST] */\n @io.persist\n @type.model(\"ITriQuaternionFunction\")\n rotationCurve = null;\n\n /** m_effect (Tr2EffectPtr) [READWRITE, NOTIFY, PERSIST] */\n @io.notify\n @io.persist\n @type.model(\"Tr2Effect\")\n effect = null;\n\n /** m_display (bool) [READWRITE, PERSIST] */\n @io.persist\n @type.boolean\n display = true;\n\n /** m_isRenderedAsTransparent (bool) [READWRITE, PERSIST] */\n @io.persist\n @type.boolean\n renderTransparent = false;\n\n /** m_ballPosition (ITriVectorFunctionPtr) [READWRITE, PERSIST] */\n @io.persist\n @type.model(\"ITriVectorFunction\")\n translationCurve = null;\n\n /** m_worldTransform (EveLineSet.h:119) - runtime state stamped by\n * UpdateSyncronous from the curves and scaling; not persisted. */\n worldTransform = mat4.create();\n\n /** Carbon EveLineSet::UpdateSyncronous (cpp:97-114): sample the position and\n * rotation curves, then m_worldTransform = TransformationMatrix(scaling,\n * rotation, translation). Carbon (s, r, t) is gl\n * fromRotationTranslationScale (r, t, s) - equivalent matrix, different\n * argument order (math skill rule table). */\n @carbon.method\n @impl.implemented\n UpdateSyncronous(updateContext)\n {\n const rotation = vec4.fromValues(0, 0, 0, 1);\n const translation = vec3.create();\n const time = updateContext?.GetTime?.() ?? updateContext?.currentTime ?? 0;\n\n this.translationCurve?.Update(time, translation);\n this.rotationCurve?.Update(time, rotation);\n\n mat4.fromRotationTranslationScale(this.worldTransform, rotation, translation, this.scaling);\n }\n\n /** Carbon EveLineSet::Update forwards to UpdateSyncronous (cpp:120-123). */\n @carbon.method\n @impl.implemented\n Update(updateContext)\n {\n this.UpdateSyncronous(updateContext);\n }\n\n /** Carbon method AddLine (MAP_METHOD_AND_WRAP). */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Stores Carbon's pending line data as renderer-neutral JavaScript records; buffer realization belongs to an engine package.\")\n AddLine(position1, color1, position2, color2)\n {\n this.lines.push({\n position1: vec3.clone(position1),\n color1: vec4.clone(color1),\n position2: vec3.clone(position2),\n color2: vec4.clone(color2)\n });\n return this.lines.length - 1;\n }\n\n /** Carbon method ChangeLineColor (MAP_METHOD_AND_WRAP). */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Mutates the renderer-neutral CPU record because GPU buffer updates belong to an engine package.\")\n ChangeLineColor(id, color1, color2)\n {\n const line = this.lines[id];\n if (!line) return false;\n vec4.copy(line.color1, color1);\n vec4.copy(line.color2, color2);\n return true;\n }\n\n /** Carbon method ChangeLine (MAP_METHOD_AND_WRAP). */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Mutates the renderer-neutral CPU record because GPU buffer updates belong to an engine package.\")\n ChangeLine(id, position1, color1, position2, color2)\n {\n const line = this.lines[id];\n if (!line) return false;\n vec3.copy(line.position1, position1);\n vec4.copy(line.color1, color1);\n vec3.copy(line.position2, position2);\n vec4.copy(line.color2, color2);\n return true;\n }\n\n /** Carbon method ChangeLinePosition (MAP_METHOD_AND_WRAP). */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Mutates the renderer-neutral CPU record because GPU buffer updates belong to an engine package.\")\n ChangeLinePosition(id, position1, position2)\n {\n const line = this.lines[id];\n if (!line) return false;\n vec3.copy(line.position1, position1);\n vec3.copy(line.position2, position2);\n return true;\n }\n\n /**\n * Carbon Initialize (EveLineSet.cpp:35-42): seed the line capacity at 100\n * and bring resources up. JS arrays need no reserve, so the seed IS the\n * capacity watermark; the PrepareResources hop is the AL half and stays\n * with the device lane (OnPrepareResources is classified there).\n */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Carbon reserves vector capacity and calls PrepareResources; JS arrays need no reserve and the device half belongs to the AL lane.\")\n Initialize()\n {\n this.maxCurrentLineCount = Math.max(this.maxCurrentLineCount, 100);\n return true;\n }\n\n /** Carbon method ClearLines (MAP_METHOD_AND_WRAP). */\n @carbon.method\n @impl.implemented\n ClearLines()\n {\n this.lines.length = 0;\n }\n\n /** Carbon method RemoveLine (MAP_METHOD_AND_WRAP). */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Returns a Boolean for JavaScript callers while preserving Carbon's indexed CPU-line removal.\")\n RemoveLine(id)\n {\n if (!this.lines[id]) return false;\n this.lines.splice(id, 1);\n return true;\n }\n\n /** Carbon method SubmitChanges (MAP_METHOD_AND_WRAP). */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Records submitted counts without creating Carbon's GPU vertex buffer; realization belongs to an engine package.\")\n SubmitChanges()\n {\n this.maxCurrentLineCount = Math.max(this.maxCurrentLineCount, this.lines.length);\n this.currentSubmittedLineCount = this.lines.length;\n return true;\n }\n\n /** Carbon EveLineSet::HasTransparentBatches is always true (cpp:161-164). */\n @carbon.method\n @impl.implemented\n HasTransparentBatches()\n {\n return true;\n }\n\n /** Carbon EveLineSet::GetBatches submits its GPU-backed line vertex buffer (cpp:166-201). */\n @carbon.method\n @impl.notImplemented\n GetBatches(_accumulator, _batchType, _perObjectData, _reason)\n {\n throw new Error(\"EveLineSet.GetBatches is not implemented in CarbonEngineJS.\");\n }\n\n /** Carbon EveLineSet::GetSortValue (cpp:203-208): distance from the view\n * position to the world translation. Carbon reads the Tr2Renderer static;\n * the collector threads the render context instead. */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Carbon reads the Tr2Renderer view-position static; the batch collector supplies the render context explicitly.\")\n GetSortValue(renderContext = null)\n {\n const viewPosition = renderContext?.GetViewPosition();\n\n if (!viewPosition)\n {\n return 0;\n }\n\n const world = this.worldTransform;\n const dx = viewPosition[0] - world[12];\n const dy = viewPosition[1] - world[13];\n const dz = viewPosition[2] - world[14];\n\n return Math.sqrt(dx * dx + dy * dy + dz * dz);\n }\n\n /**\n * Carbon EveLineSet::GetPerObjectData (cpp:210-231): a Tr2PerObjectDataStandard\n * carrying EvePerObjectVSData and EvePerObjectPSData, each with a transposed\n * WorldMat, bound as two constant buffers.\n *\n * Carbon leases the object from the accumulator and copies a stack struct into\n * each of its buffers; the lease here creates the buffers in those named\n * layouts, so the writes below land where the copy would have put them.\n * SetAndTranspose is Carbon's `Transpose( m_worldTransform )`.\n */\n @carbon.method\n @impl.implemented\n GetPerObjectData(accumulator)\n {\n const data = Tr2PerObjectDataStandard.alloc(accumulator, \"EvePerObjectVSData\", \"EvePerObjectPSData\");\n\n data.vs.SetAndTranspose(\"WorldMat\", this.worldTransform);\n data.ps.SetAndTranspose(\"WorldMat\", this.worldTransform);\n\n return data;\n }\n\n}\n"],"names":["_EveLineSet","EveLineSet","_withIEveTransform","withIEveTransform","withIEveSpaceObject2","withITr2Renderable","CjsModel","e","_init_lines","_init_extra_lines","_init_maxCurrentLineCount","_init_extra_maxCurrentLineCount","_init_currentSubmittedLineCount","_init_extra_currentSubmittedLineCount","_init_scaling","_init_extra_scaling","_init_name","_init_extra_name","_init_rotationCurve","_init_extra_rotationCurve","_init_effect","_init_extra_effect","_init_display","_init_extra_display","_init_renderTransparent","_init_extra_renderTransparent","_init_translationCurve","_init_extra_translationCurve","_initProto","c","_initClass","_applyDecs","type","define","className","family","list","uint32","io","persist","vec3","string","model","notify","boolean","carbon","method","impl","implemented","adapted","reason","notImplemented","lines","maxCurrentLineCount","currentSubmittedLineCount","scaling","fromValues","name","rotationCurve","effect","display","renderTransparent","translationCurve","worldTransform","mat4","create","UpdateSyncronous","updateContext","rotation","vec4","translation","time","GetTime","currentTime","Update","fromRotationTranslationScale","AddLine","position1","color1","position2","color2","push","clone","length","ChangeLineColor","id","line","copy","ChangeLine","ChangeLinePosition","Initialize","Math","max","ClearLines","RemoveLine","splice","SubmitChanges","HasTransparentBatches","GetBatches","_accumulator","_batchType","_perObjectData","_reason","Error","GetSortValue","renderContext","viewPosition","GetViewPosition","world","dx","dy","dz","sqrt","GetPerObjectData","accumulator","data","Tr2PerObjectDataStandard","alloc","vs","SetAndTranspose","ps"],"mappings":"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"}
@@ -3,12 +3,13 @@ import { io, type, carbon, impl } from '#schema';
3
3
  import { withIEveSpaceObject2 } from '../../IEveSpaceObject2.js';
4
4
  import { CjsModel } from '#model';
5
5
  import { withITr2Renderable } from '../../../core/ITr2Renderable.js';
6
- import { Tr2VertexDefinition } from '../../../core/vertex/Tr2VertexDefinition.js';
6
+ import { Tr2VertexDefinition } from '../../../core/vertex/Tr2VertexDefinition/Tr2VertexDefinition.js';
7
7
  import { Tr2EffectStateManager as _Tr2EffectStateManage } from '../../../shader/Tr2EffectStateManager.js';
8
8
  import { Tr2RenderContext as _Tr2RenderContext } from '../../../core/context/Tr2RenderContext.js';
9
- import { Tr2BufferDescriptionAL } from '../../../../trinityal/stub/Tr2BufferALStub.js';
9
+ import '../../../../trinityal/stub/Tr2BufferALStub.js';
10
10
  import { Tr2GpuUsage, Tr2CpuUsage } from '#consts/render-context';
11
11
  import { Failed } from '../../../../trinityal/ALResult.js';
12
+ import { Tr2BufferDescriptionAL } from '../../../../trinityal/Tr2BufferAL/Tr2BufferDescriptionAL.js';
12
13
 
13
14
  var _withIEveSpaceObject;
14
15
  let _initProto, _initClass, _init_trackedObjects, _init_extra_trackedObjects, _init_segments, _init_extra_segments, _init_egoBall, _init_extra_egoBall, _init_trailEffect, _init_extra_trailEffect, _init_fadeOutTime, _init_extra_fadeOutTime;