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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (935) hide show
  1. package/README.md +58 -125
  2. package/dist/audio/index.js +8 -1
  3. package/dist/audio/index.js.map +1 -1
  4. package/dist/audio/trinity/audio/AudActionLog/AudActionLogCB.js +84 -0
  5. package/dist/audio/trinity/audio/AudActionLog/AudActionLogCB.js.map +1 -0
  6. package/dist/audio/trinity/audio/AudActionLog/AudActionRecord.js +14 -0
  7. package/dist/audio/trinity/audio/AudActionLog/AudActionRecord.js.map +1 -0
  8. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordExecuteActionOnPlayingID.js +26 -0
  9. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordExecuteActionOnPlayingID.js.map +1 -0
  10. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordPostEvent.js +27 -0
  11. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordPostEvent.js.map +1 -0
  12. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetRTPC.js +27 -0
  13. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetRTPC.js.map +1 -0
  14. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetState.js +25 -0
  15. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetState.js.map +1 -0
  16. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetSwitch.js +26 -0
  17. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetSwitch.js.map +1 -0
  18. package/dist/audio/trinity/audio/AudActionLog/IAudActionLog.js +58 -0
  19. package/dist/audio/trinity/audio/AudActionLog/IAudActionLog.js.map +1 -0
  20. package/dist/audio/trinity/audio/AudManager.js +1 -1
  21. package/dist/audio/trinity/audio/AudManager.js.map +1 -1
  22. package/dist/audio/trinity/audio/{AudObstructionOcclusion.js → AudObstructionOcclusion/AudObstructionOcclusion.js} +8 -52
  23. package/dist/audio/trinity/audio/AudObstructionOcclusion/AudObstructionOcclusion.js.map +1 -0
  24. package/dist/audio/trinity/audio/AudObstructionOcclusion/EmitterState.js +17 -0
  25. package/dist/audio/trinity/audio/AudObstructionOcclusion/EmitterState.js.map +1 -0
  26. package/dist/audio/trinity/audio/AudObstructionOcclusion/FadingValue.js +46 -0
  27. package/dist/audio/trinity/audio/AudObstructionOcclusion/FadingValue.js.map +1 -0
  28. package/dist/audio/trinity/index.js +8 -1
  29. package/dist/audio/trinity/index.js.map +1 -1
  30. package/dist/character/CjsCharacterAppearanceConstruction.js +5 -0
  31. package/dist/character/CjsCharacterAppearanceConstruction.js.map +1 -1
  32. package/dist/character/CjsCharacterAppearanceManager.js +14 -0
  33. package/dist/character/CjsCharacterAppearanceManager.js.map +1 -1
  34. package/dist/character/CjsCharacterFoundationConstruction.js +5 -0
  35. package/dist/character/CjsCharacterFoundationConstruction.js.map +1 -1
  36. package/dist/character/CjsCharacterTexturePolicy.js +5 -0
  37. package/dist/character/CjsCharacterTexturePolicy.js.map +1 -1
  38. package/dist/character/gles/CjsCharacterGlesAppearanceAL.js +17 -0
  39. package/dist/character/gles/CjsCharacterGlesAppearanceAL.js.map +1 -1
  40. package/dist/character/gles/CjsCharacterGlesAtlasRenderer.js +2 -0
  41. package/dist/character/gles/CjsCharacterGlesAtlasRenderer.js.map +1 -1
  42. package/dist/character/gles/CjsCharacterGlesFoundationTranslator.js +5 -0
  43. package/dist/character/gles/CjsCharacterGlesFoundationTranslator.js.map +1 -1
  44. package/dist/character/gles/CjsCharacterGlesLegacyConstructionTranslator.js +5 -0
  45. package/dist/character/gles/CjsCharacterGlesLegacyConstructionTranslator.js.map +1 -1
  46. package/dist/character/gles/CjsCharacterGlesMorphDeformation.js +2 -0
  47. package/dist/character/gles/CjsCharacterGlesMorphDeformation.js.map +1 -1
  48. package/dist/character/gles/CjsCharacterGlesPaletteCompatibility.js +5 -0
  49. package/dist/character/gles/CjsCharacterGlesPaletteCompatibility.js.map +1 -1
  50. package/dist/character/gles/CjsCharacterGlesTriangleCoverage.js +5 -0
  51. package/dist/character/gles/CjsCharacterGlesTriangleCoverage.js.map +1 -1
  52. package/dist/character/webgl2/CjsCharacterWebgl2EffectRouter.js +9 -0
  53. package/dist/character/webgl2/CjsCharacterWebgl2EffectRouter.js.map +1 -1
  54. package/dist/global/blue/CjsScriptCallback.js +142 -0
  55. package/dist/global/blue/CjsScriptCallback.js.map +1 -0
  56. package/dist/global/blue/index.js +2 -0
  57. package/dist/global/blue/index.js.map +1 -0
  58. package/dist/global/consts/renderContext/formats.js +51 -1
  59. package/dist/global/consts/renderContext/formats.js.map +1 -1
  60. package/dist/global/consts/renderContext/index.js +2 -2
  61. package/dist/global/consts/renderContext/renderStates.js +16 -1
  62. package/dist/global/consts/renderContext/renderStates.js.map +1 -1
  63. package/dist/global/contracts/index.js +0 -1
  64. package/dist/global/contracts/index.js.map +1 -1
  65. package/dist/global/index.js +4 -3
  66. package/dist/global/index.js.map +1 -1
  67. package/dist/global/math/index.js +2 -0
  68. package/dist/global/math/index.js.map +1 -1
  69. package/dist/global/math/mesh.js +70 -16
  70. package/dist/global/math/mesh.js.map +1 -1
  71. package/dist/global/math/noise.js +47 -68
  72. package/dist/global/math/noise.js.map +1 -1
  73. package/dist/global/math/pool.js +18 -3
  74. package/dist/global/math/pool.js.map +1 -1
  75. package/dist/global/math/random.js +52 -0
  76. package/dist/global/math/random.js.map +1 -0
  77. package/dist/global/math/tri3.js +18 -4
  78. package/dist/global/math/tri3.js.map +1 -1
  79. package/dist/global/schema/CjsSchema.js +20 -2
  80. package/dist/global/schema/CjsSchema.js.map +1 -1
  81. package/dist/global/schema/hydration.js +14 -0
  82. package/dist/global/schema/hydration.js.map +1 -1
  83. package/dist/global/utils/bytes.js +22 -4
  84. package/dist/global/utils/bytes.js.map +1 -1
  85. package/dist/global/utils/checksum.js +80 -0
  86. package/dist/global/utils/checksum.js.map +1 -0
  87. package/dist/global/utils/errors/CjsCancellationError.js +36 -0
  88. package/dist/global/utils/errors/CjsCancellationError.js.map +1 -0
  89. package/dist/global/utils/errors/CjsError.js +21 -52
  90. package/dist/global/utils/errors/CjsError.js.map +1 -1
  91. package/dist/global/utils/errors/abort.js +1 -1
  92. package/dist/global/utils/errors/abort.js.map +1 -1
  93. package/dist/global/utils/errors/index.js +2 -1
  94. package/dist/global/utils/errors/index.js.map +1 -1
  95. package/dist/global/utils/index.js +4 -2
  96. package/dist/global/utils/index.js.map +1 -1
  97. package/dist/index.js +95 -35
  98. package/dist/index.js.map +1 -1
  99. package/dist/input/Tr2MainWindow.js +7 -9
  100. package/dist/input/Tr2MainWindow.js.map +1 -1
  101. package/dist/resource/CjsResMan.js +33 -39
  102. package/dist/resource/CjsResMan.js.map +1 -1
  103. package/dist/resource/CjsResource.js +19 -5
  104. package/dist/resource/CjsResource.js.map +1 -1
  105. package/dist/resource/audio/AudioGeometryResData.js +22 -27
  106. package/dist/resource/audio/AudioGeometryResData.js.map +1 -1
  107. package/dist/resource/audio/CjsAudioRes.js +4 -5
  108. package/dist/resource/audio/CjsAudioRes.js.map +1 -1
  109. package/dist/resource/format/CjsBitReader.js +263 -0
  110. package/dist/resource/format/CjsBitReader.js.map +1 -0
  111. package/dist/resource/format/CjsByteReader.js +130 -125
  112. package/dist/resource/format/CjsByteReader.js.map +1 -1
  113. package/dist/resource/format/CjsFormat.js +11 -4
  114. package/dist/resource/format/CjsFormat.js.map +1 -1
  115. package/dist/resource/format/CjsFormatError.js +37 -1
  116. package/dist/resource/format/CjsFormatError.js.map +1 -1
  117. package/dist/resource/format/CjsResourceProbe.js +41 -37
  118. package/dist/resource/format/CjsResourceProbe.js.map +1 -1
  119. package/dist/resource/format/carbonRecordGuard.js +33 -0
  120. package/dist/resource/format/carbonRecordGuard.js.map +1 -0
  121. package/dist/resource/format/imageSignatures.js +202 -0
  122. package/dist/resource/format/imageSignatures.js.map +1 -0
  123. package/dist/resource/format/index.js +2 -1
  124. package/dist/resource/format/index.js.map +1 -1
  125. package/dist/resource/format/jsonPolicies.js +180 -0
  126. package/dist/resource/format/jsonPolicies.js.map +1 -0
  127. package/dist/resource/formats/black/core/helpers.js +18 -29
  128. package/dist/resource/formats/black/core/helpers.js.map +1 -1
  129. package/dist/resource/formats/bnk/CjsBnkFormat.js +4 -3
  130. package/dist/resource/formats/bnk/CjsBnkFormat.js.map +1 -1
  131. package/dist/resource/formats/bnk/core/WwiseCursor.js +218 -0
  132. package/dist/resource/formats/bnk/core/WwiseCursor.js.map +1 -0
  133. package/dist/resource/formats/bnk/core/busNodes.js +2 -1
  134. package/dist/resource/formats/bnk/core/busNodes.js.map +1 -1
  135. package/dist/resource/formats/bnk/core/effectNodes.js +2 -1
  136. package/dist/resource/formats/bnk/core/effectNodes.js.map +1 -1
  137. package/dist/resource/formats/bnk/core/eventAction.js +15 -93
  138. package/dist/resource/formats/bnk/core/eventAction.js.map +1 -1
  139. package/dist/resource/formats/bnk/core/globalSettings.js +19 -94
  140. package/dist/resource/formats/bnk/core/globalSettings.js.map +1 -1
  141. package/dist/resource/formats/bnk/core/helpers.js +2 -48
  142. package/dist/resource/formats/bnk/core/helpers.js.map +1 -1
  143. package/dist/resource/formats/bnk/core/musicNodes.js +42 -134
  144. package/dist/resource/formats/bnk/core/musicNodes.js.map +1 -1
  145. package/dist/resource/formats/bnk/core/nodeBase.js +20 -111
  146. package/dist/resource/formats/bnk/core/nodeBase.js.map +1 -1
  147. package/dist/resource/formats/bnk/core/sfxNodes.js +2 -1
  148. package/dist/resource/formats/bnk/core/sfxNodes.js.map +1 -1
  149. package/dist/resource/formats/cmf/CjsCmfFormat.js +242 -228
  150. package/dist/resource/formats/cmf/CjsCmfFormat.js.map +1 -1
  151. package/dist/resource/formats/cmf/core/binary.js +54 -60
  152. package/dist/resource/formats/cmf/core/binary.js.map +1 -1
  153. package/dist/resource/formats/dds/CjsDdsFormat.js +5 -3
  154. package/dist/resource/formats/dds/CjsDdsFormat.js.map +1 -1
  155. package/dist/resource/formats/dds/core/bc6h.js +16 -18
  156. package/dist/resource/formats/dds/core/bc6h.js.map +1 -1
  157. package/dist/resource/formats/dds/core/bc7.js +28 -24
  158. package/dist/resource/formats/dds/core/bc7.js.map +1 -1
  159. package/dist/resource/formats/dds/core/helpers.js +7 -133
  160. package/dist/resource/formats/dds/core/helpers.js.map +1 -1
  161. package/dist/resource/formats/dxbc/CjsDxbcFormat.js +3 -2
  162. package/dist/resource/formats/dxbc/CjsDxbcFormat.js.map +1 -1
  163. package/dist/resource/formats/dxbc/core/helpers.js +4 -32
  164. package/dist/resource/formats/dxbc/core/helpers.js.map +1 -1
  165. package/dist/resource/formats/fbx/CjsFbxFormat.js +11 -0
  166. package/dist/resource/formats/fbx/CjsFbxFormat.js.map +1 -1
  167. package/dist/resource/formats/fbx/core/helpers.js +18 -12
  168. package/dist/resource/formats/fbx/core/helpers.js.map +1 -1
  169. package/dist/resource/formats/flac/CjsFlacFormat.js +4 -9
  170. package/dist/resource/formats/flac/CjsFlacFormat.js.map +1 -1
  171. package/dist/resource/formats/flac/core/helpers.js +1 -62
  172. package/dist/resource/formats/flac/core/helpers.js.map +1 -1
  173. package/dist/resource/formats/gif/CjsGifFormat.js +4 -9
  174. package/dist/resource/formats/gif/CjsGifFormat.js.map +1 -1
  175. package/dist/resource/formats/gif/core/helpers.js +1 -63
  176. package/dist/resource/formats/gif/core/helpers.js.map +1 -1
  177. package/dist/resource/formats/gltf/CjsGltfFormat.js +4 -3
  178. package/dist/resource/formats/gltf/CjsGltfFormat.js.map +1 -1
  179. package/dist/resource/formats/gltf/core/helpers.js +3 -19
  180. package/dist/resource/formats/gltf/core/helpers.js.map +1 -1
  181. package/dist/resource/formats/gr2/CjsGr2Format.js +105 -92
  182. package/dist/resource/formats/gr2/CjsGr2Format.js.map +1 -1
  183. package/dist/resource/formats/gr2/core/container.js +1 -10
  184. package/dist/resource/formats/gr2/core/container.js.map +1 -1
  185. package/dist/resource/formats/gr2/core/helpers.js +24 -35
  186. package/dist/resource/formats/gr2/core/helpers.js.map +1 -1
  187. package/dist/resource/formats/gr2/core/shared.js +193 -189
  188. package/dist/resource/formats/gr2/core/shared.js.map +1 -1
  189. package/dist/resource/formats/hlsl/CjsHlslFormat.js +4 -3
  190. package/dist/resource/formats/hlsl/CjsHlslFormat.js.map +1 -1
  191. package/dist/resource/formats/hlsl/core/helpers.js +1 -30
  192. package/dist/resource/formats/hlsl/core/helpers.js.map +1 -1
  193. package/dist/resource/formats/jpeg/CjsJpegFormat.js +5 -3
  194. package/dist/resource/formats/jpeg/CjsJpegFormat.js.map +1 -1
  195. package/dist/resource/formats/jpeg/core/helpers.js +7 -134
  196. package/dist/resource/formats/jpeg/core/helpers.js.map +1 -1
  197. package/dist/resource/formats/mp3/CjsMp3Format.js +4 -9
  198. package/dist/resource/formats/mp3/CjsMp3Format.js.map +1 -1
  199. package/dist/resource/formats/mp3/core/helpers.js +1 -64
  200. package/dist/resource/formats/mp3/core/helpers.js.map +1 -1
  201. package/dist/resource/formats/mp4/CjsMp4Format.js +4 -9
  202. package/dist/resource/formats/mp4/CjsMp4Format.js.map +1 -1
  203. package/dist/resource/formats/mp4/core/helpers.js +1 -73
  204. package/dist/resource/formats/mp4/core/helpers.js.map +1 -1
  205. package/dist/resource/formats/obj/CjsObjFormat.js +4 -3
  206. package/dist/resource/formats/obj/CjsObjFormat.js.map +1 -1
  207. package/dist/resource/formats/obj/core/helpers.js +93 -115
  208. package/dist/resource/formats/obj/core/helpers.js.map +1 -1
  209. package/dist/resource/formats/ogg/CjsOggFormat.js +4 -3
  210. package/dist/resource/formats/ogg/CjsOggFormat.js.map +1 -1
  211. package/dist/resource/formats/ogg/core/helpers.js +1 -15
  212. package/dist/resource/formats/ogg/core/helpers.js.map +1 -1
  213. package/dist/resource/formats/ogg/core/vorbis.js +138 -144
  214. package/dist/resource/formats/ogg/core/vorbis.js.map +1 -1
  215. package/dist/resource/formats/pickle/CjsPickleFormat.js +83 -114
  216. package/dist/resource/formats/pickle/CjsPickleFormat.js.map +1 -1
  217. package/dist/resource/formats/png/CjsPngFormat.js +5 -3
  218. package/dist/resource/formats/png/CjsPngFormat.js.map +1 -1
  219. package/dist/resource/formats/png/core/helpers.js +13 -152
  220. package/dist/resource/formats/png/core/helpers.js.map +1 -1
  221. package/dist/resource/formats/png/core/writer.js +3 -27
  222. package/dist/resource/formats/png/core/writer.js.map +1 -1
  223. package/dist/resource/formats/red/core/helpers.js +19 -29
  224. package/dist/resource/formats/red/core/helpers.js.map +1 -1
  225. package/dist/resource/formats/stl/CjsStlFormat.js +158 -147
  226. package/dist/resource/formats/stl/CjsStlFormat.js.map +1 -1
  227. package/dist/resource/formats/stl/core/helpers.js +44 -66
  228. package/dist/resource/formats/stl/core/helpers.js.map +1 -1
  229. package/dist/resource/formats/tga/CjsTgaFormat.js +5 -3
  230. package/dist/resource/formats/tga/CjsTgaFormat.js.map +1 -1
  231. package/dist/resource/formats/tga/core/helpers.js +7 -153
  232. package/dist/resource/formats/tga/core/helpers.js.map +1 -1
  233. package/dist/resource/formats/vta/CjsVtaFormat.js +4 -3
  234. package/dist/resource/formats/vta/CjsVtaFormat.js.map +1 -1
  235. package/dist/resource/formats/vta/core/helpers.js +1 -17
  236. package/dist/resource/formats/vta/core/helpers.js.map +1 -1
  237. package/dist/resource/formats/wav/CjsWavFormat.js +4 -3
  238. package/dist/resource/formats/wav/CjsWavFormat.js.map +1 -1
  239. package/dist/resource/formats/wav/core/helpers.js +1 -15
  240. package/dist/resource/formats/wav/core/helpers.js.map +1 -1
  241. package/dist/resource/formats/webgl/CjsWebglFormat.js +4 -3
  242. package/dist/resource/formats/webgl/CjsWebglFormat.js.map +1 -1
  243. package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js +69 -9
  244. package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js.map +1 -1
  245. package/dist/resource/formats/webgl/core/glsl/DxbcGlslOperandFormatter.js +12 -3
  246. package/dist/resource/formats/webgl/core/glsl/DxbcGlslOperandFormatter.js.map +1 -1
  247. package/dist/resource/formats/webgl/core/helpers.js +39 -68
  248. package/dist/resource/formats/webgl/core/helpers.js.map +1 -1
  249. package/dist/resource/formats/webgpu/CjsWebgpuFormat.js +4 -3
  250. package/dist/resource/formats/webgpu/CjsWebgpuFormat.js.map +1 -1
  251. package/dist/resource/formats/webgpu/core/helpers.js +4 -30
  252. package/dist/resource/formats/webgpu/core/helpers.js.map +1 -1
  253. package/dist/resource/formats/webm/CjsWebmFormat.js +4 -9
  254. package/dist/resource/formats/webm/CjsWebmFormat.js.map +1 -1
  255. package/dist/resource/formats/webm/core/helpers.js +1 -73
  256. package/dist/resource/formats/webm/core/helpers.js.map +1 -1
  257. package/dist/resource/formats/webp/CjsWebpFormat.js +4 -9
  258. package/dist/resource/formats/webp/CjsWebpFormat.js.map +1 -1
  259. package/dist/resource/formats/webp/core/helpers.js +1 -62
  260. package/dist/resource/formats/webp/core/helpers.js.map +1 -1
  261. package/dist/resource/formats/wem/CjsWemFormat.js +4 -3
  262. package/dist/resource/formats/wem/CjsWemFormat.js.map +1 -1
  263. package/dist/resource/formats/wem/core/bitStream.js +83 -106
  264. package/dist/resource/formats/wem/core/bitStream.js.map +1 -1
  265. package/dist/resource/formats/wem/core/codebookLibrary.js +52 -52
  266. package/dist/resource/formats/wem/core/codebookLibrary.js.map +1 -1
  267. package/dist/resource/formats/wem/core/helpers.js +1 -15
  268. package/dist/resource/formats/wem/core/helpers.js.map +1 -1
  269. package/dist/resource/formats/wem/core/wemToOgg.js +67 -67
  270. package/dist/resource/formats/wem/core/wemToOgg.js.map +1 -1
  271. package/dist/resource/geometry/MeshDecalData.js +23 -25
  272. package/dist/resource/geometry/MeshDecalData.js.map +1 -1
  273. package/dist/resource/geometry/MeshDecalLodData.js +14 -23
  274. package/dist/resource/geometry/MeshDecalLodData.js.map +1 -1
  275. package/dist/resource/geometry/TriGeometryRes.js +299 -284
  276. package/dist/resource/geometry/TriGeometryRes.js.map +1 -1
  277. package/dist/resource/geometry/TriGeometryResAreaData.js +30 -31
  278. package/dist/resource/geometry/TriGeometryResAreaData.js.map +1 -1
  279. package/dist/resource/geometry/TriGeometryResJointData.js +16 -24
  280. package/dist/resource/geometry/TriGeometryResJointData.js.map +1 -1
  281. package/dist/resource/geometry/TriGeometryResLodData.js +50 -41
  282. package/dist/resource/geometry/TriGeometryResLodData.js.map +1 -1
  283. package/dist/resource/geometry/TriGeometryResMeshData.js +32 -32
  284. package/dist/resource/geometry/TriGeometryResMeshData.js.map +1 -1
  285. package/dist/resource/geometry/TriGeometryResSkeletonData.js +14 -23
  286. package/dist/resource/geometry/TriGeometryResSkeletonData.js.map +1 -1
  287. package/dist/resource/geometry/TriJointBinding.js +16 -24
  288. package/dist/resource/geometry/TriJointBinding.js.map +1 -1
  289. package/dist/resource/geometry/TriMorphTargetGeometryConstants.js +22 -27
  290. package/dist/resource/geometry/TriMorphTargetGeometryConstants.js.map +1 -1
  291. package/dist/resource/geometry/TriRtGeometryConstants.js +50 -41
  292. package/dist/resource/geometry/TriRtGeometryConstants.js.map +1 -1
  293. package/dist/resource/geometry/granny/GStateBindingCallbackData.js +12 -22
  294. package/dist/resource/geometry/granny/GStateBindingCallbackData.js.map +1 -1
  295. package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js +30 -31
  296. package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js.map +1 -1
  297. package/dist/resource/index.js +1 -1
  298. package/dist/resource/shader/reflection/Tr2EffectConstant.js +16 -17
  299. package/dist/resource/shader/reflection/Tr2EffectConstant.js.map +1 -1
  300. package/dist/resource/shader/reflection/Tr2EffectDescription.js +26 -28
  301. package/dist/resource/shader/reflection/Tr2EffectDescription.js.map +1 -1
  302. package/dist/resource/shader/reflection/Tr2EffectLibrary.js +24 -25
  303. package/dist/resource/shader/reflection/Tr2EffectLibrary.js.map +1 -1
  304. package/dist/resource/shader/reflection/Tr2EffectParameterAnnotation.js +21 -22
  305. package/dist/resource/shader/reflection/Tr2EffectParameterAnnotation.js.map +1 -1
  306. package/dist/resource/shader/reflection/Tr2EffectResource.js +25 -26
  307. package/dist/resource/shader/reflection/Tr2EffectResource.js.map +1 -1
  308. package/dist/resource/shader/reflection/Tr2EffectStageInput.js +69 -72
  309. package/dist/resource/shader/reflection/Tr2EffectStageInput.js.map +1 -1
  310. package/dist/resource/shader/reflection/Tr2EffectTechnique.js +17 -18
  311. package/dist/resource/shader/reflection/Tr2EffectTechnique.js.map +1 -1
  312. package/dist/resource/shader/reflection/Tr2Pass.js +42 -43
  313. package/dist/resource/shader/reflection/Tr2Pass.js.map +1 -1
  314. package/dist/resource/shader/reflection/Tr2RenderStateSetup.js +26 -5
  315. package/dist/resource/shader/reflection/Tr2RenderStateSetup.js.map +1 -1
  316. package/dist/resource/shader/reflection/carbonRecordFields.js +87 -90
  317. package/dist/resource/shader/reflection/carbonRecordFields.js.map +1 -1
  318. package/dist/resource/shader/sampler/Tr2SamplerSetup.js +32 -34
  319. package/dist/resource/shader/sampler/Tr2SamplerSetup.js.map +1 -1
  320. package/dist/resource/texture/CjsTextureArrayRes.js +1 -6
  321. package/dist/resource/texture/CjsTextureArrayRes.js.map +1 -1
  322. package/dist/resource/texture/Tr2TextureLodManager.js +35 -27
  323. package/dist/resource/texture/Tr2TextureLodManager.js.map +1 -1
  324. package/dist/resource/texture/Tr2TextureLodUpdateRequest.js +16 -24
  325. package/dist/resource/texture/Tr2TextureLodUpdateRequest.js.map +1 -1
  326. package/dist/resource/texture/Tr2TexturePackChannel.js +16 -24
  327. package/dist/resource/texture/Tr2TexturePackChannel.js.map +1 -1
  328. package/dist/resource/texture/Tr2TexturePipeline.js +24 -20
  329. package/dist/resource/texture/Tr2TexturePipeline.js.map +1 -1
  330. package/dist/resource/texture/Tr2TexturePipelineParams.js +14 -23
  331. package/dist/resource/texture/Tr2TexturePipelineParams.js.map +1 -1
  332. package/dist/resource/texture/Tr2TexturePipelineStepCompress.js +18 -25
  333. package/dist/resource/texture/Tr2TexturePipelineStepCompress.js.map +1 -1
  334. package/dist/resource/texture/Tr2TexturePipelineStepGenerateMips.js +11 -16
  335. package/dist/resource/texture/Tr2TexturePipelineStepGenerateMips.js.map +1 -1
  336. package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js +14 -23
  337. package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js.map +1 -1
  338. package/dist/resource/texture/Tr2TexturePipelineStepLoad.js +12 -22
  339. package/dist/resource/texture/Tr2TexturePipelineStepLoad.js.map +1 -1
  340. package/dist/resource/texture/Tr2TexturePipelineStepPack.js +38 -26
  341. package/dist/resource/texture/Tr2TexturePipelineStepPack.js.map +1 -1
  342. package/dist/resource/worker/CjsResManMainThreadLoader.js +2 -5
  343. package/dist/resource/worker/CjsResManMainThreadLoader.js.map +1 -1
  344. package/dist/resource/worker/CjsResManWorkerLoader.js +6 -7
  345. package/dist/resource/worker/CjsResManWorkerLoader.js.map +1 -1
  346. package/dist/resource/worker/protocol.js +18 -1
  347. package/dist/resource/worker/protocol.js.map +1 -1
  348. package/dist/sof/EveSOF.js +2 -222
  349. package/dist/sof/EveSOF.js.map +1 -1
  350. package/dist/sof/SofDocumentBuilder.js +205 -0
  351. package/dist/sof/SofDocumentBuilder.js.map +1 -0
  352. package/dist/sof/faction/ErrSOFFactionColorSetTypeNotFound.js +16 -0
  353. package/dist/sof/faction/ErrSOFFactionColorSetTypeNotFound.js.map +1 -0
  354. package/dist/sof/faction/ErrSOFFactionColorSetTypeUnknown.js +16 -0
  355. package/dist/sof/faction/ErrSOFFactionColorSetTypeUnknown.js.map +1 -0
  356. package/dist/sof/faction/EveSOFDataFactionColorSet.js +3 -27
  357. package/dist/sof/faction/EveSOFDataFactionColorSet.js.map +1 -1
  358. package/dist/sof/faction/index.js +3 -1
  359. package/dist/sof/faction/index.js.map +1 -1
  360. package/dist/sof/generic/ErrSOFAreaShaderNotFound.js +18 -0
  361. package/dist/sof/generic/ErrSOFAreaShaderNotFound.js.map +1 -0
  362. package/dist/sof/generic/ErrSOFDecalShaderNotFound.js +18 -0
  363. package/dist/sof/generic/ErrSOFDecalShaderNotFound.js.map +1 -0
  364. package/dist/sof/generic/ErrSOFMaterialPrefixNotFound.js +21 -0
  365. package/dist/sof/generic/ErrSOFMaterialPrefixNotFound.js.map +1 -0
  366. package/dist/sof/generic/ErrSOFPatternMaterialPrefixNotFound.js +21 -0
  367. package/dist/sof/generic/ErrSOFPatternMaterialPrefixNotFound.js.map +1 -0
  368. package/dist/sof/generic/EveSOFDataGeneric.js +5 -69
  369. package/dist/sof/generic/EveSOFDataGeneric.js.map +1 -1
  370. package/dist/sof/generic/index.js +5 -1
  371. package/dist/sof/generic/index.js.map +1 -1
  372. package/dist/sof/index.js +23 -7
  373. package/dist/sof/index.js.map +1 -1
  374. package/dist/sof/pattern/ErrSOFProjectionNotFound.js +20 -0
  375. package/dist/sof/pattern/ErrSOFProjectionNotFound.js.map +1 -0
  376. package/dist/sof/pattern/EveSOFDataPattern.js +2 -17
  377. package/dist/sof/pattern/EveSOFDataPattern.js.map +1 -1
  378. package/dist/sof/pattern/index.js +2 -1
  379. package/dist/sof/pattern/index.js.map +1 -1
  380. package/dist/sof/shared/ErrSOFAreaTypeNotFound.js +16 -0
  381. package/dist/sof/shared/ErrSOFAreaTypeNotFound.js.map +1 -0
  382. package/dist/sof/shared/ErrSOFLogoSetTypeNotFound.js +16 -0
  383. package/dist/sof/shared/ErrSOFLogoSetTypeNotFound.js.map +1 -0
  384. package/dist/sof/shared/ErrSOFLogoSetTypeUnknown.js +16 -0
  385. package/dist/sof/shared/ErrSOFLogoSetTypeUnknown.js.map +1 -0
  386. package/dist/sof/shared/EveSOFDataArea.js +2 -13
  387. package/dist/sof/shared/EveSOFDataArea.js.map +1 -1
  388. package/dist/sof/shared/EveSOFDataLogoSet.js +3 -27
  389. package/dist/sof/shared/EveSOFDataLogoSet.js.map +1 -1
  390. package/dist/sof/shared/EveSOFDataParameter.js +2 -146
  391. package/dist/sof/shared/EveSOFDataParameter.js.map +1 -1
  392. package/dist/sof/shared/EveSOFDataParameterBool.js +40 -0
  393. package/dist/sof/shared/EveSOFDataParameterBool.js.map +1 -0
  394. package/dist/sof/shared/EveSOFDataParameterColor.js +36 -0
  395. package/dist/sof/shared/EveSOFDataParameterColor.js.map +1 -0
  396. package/dist/sof/shared/EveSOFDataParameterFloat.js +37 -0
  397. package/dist/sof/shared/EveSOFDataParameterFloat.js.map +1 -0
  398. package/dist/sof/shared/EveSOFDataParameterInt.js +37 -0
  399. package/dist/sof/shared/EveSOFDataParameterInt.js.map +1 -0
  400. package/dist/sof/shared/EveSOFDataParameterVector2.js +37 -0
  401. package/dist/sof/shared/EveSOFDataParameterVector2.js.map +1 -0
  402. package/dist/sof/shared/EveSOFDataParameterVector3.js +37 -0
  403. package/dist/sof/shared/EveSOFDataParameterVector3.js.map +1 -0
  404. package/dist/sof/shared/{EveSOFDataSpotlightAttachment.js → EveSOFDataSpotLightAttachment.js} +1 -1
  405. package/dist/sof/shared/{EveSOFDataSpotlightAttachment.js.map → EveSOFDataSpotLightAttachment.js.map} +1 -1
  406. package/dist/sof/shared/index.js +13 -4
  407. package/dist/sof/shared/index.js.map +1 -1
  408. package/dist/sof/sofDocumentValues.js +33 -0
  409. package/dist/sof/sofDocumentValues.js.map +1 -0
  410. package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js +168 -0
  411. package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js.map +1 -0
  412. package/dist/trinity/controllers/{ITr2Controller.js → ITr2Controller/ITr2Controller.js} +2 -134
  413. package/dist/trinity/controllers/ITr2Controller/ITr2Controller.js.map +1 -0
  414. package/dist/trinity/controllers/Tr2Controller.js +2 -1
  415. package/dist/trinity/controllers/Tr2Controller.js.map +1 -1
  416. package/dist/trinity/controllers/Tr2ControllerReference.js +2 -1
  417. package/dist/trinity/controllers/Tr2ControllerReference.js.map +1 -1
  418. package/dist/trinity/controllers/action/ITr2ControllerAction.js +2 -1
  419. package/dist/trinity/controllers/action/ITr2ControllerAction.js.map +1 -1
  420. package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js +10 -9
  421. package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js.map +1 -1
  422. package/dist/trinity/controllers/expression/CjsControllerExpressionCompileError.js +26 -0
  423. package/dist/trinity/controllers/expression/CjsControllerExpressionCompileError.js.map +1 -0
  424. package/dist/trinity/controllers/expression/CjsControllerExpressionEvaluateError.js +24 -0
  425. package/dist/trinity/controllers/expression/CjsControllerExpressionEvaluateError.js.map +1 -0
  426. package/dist/trinity/controllers/expression/CjsControllerExpressionParser.js +387 -0
  427. package/dist/trinity/controllers/expression/CjsControllerExpressionParser.js.map +1 -0
  428. package/dist/trinity/controllers/expression/CjsControllerExpressionProgram.js +4 -1011
  429. package/dist/trinity/controllers/expression/CjsControllerExpressionProgram.js.map +1 -1
  430. package/dist/trinity/controllers/expression/expressionRuntime.js +605 -0
  431. package/dist/trinity/controllers/expression/expressionRuntime.js.map +1 -0
  432. package/dist/trinity/controllers/index.js +5 -2
  433. package/dist/trinity/controllers/index.js.map +1 -1
  434. package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js +2 -1
  435. package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js.map +1 -1
  436. package/dist/trinity/controllers/timeline/Tr2TimelineController.js +2 -1
  437. package/dist/trinity/controllers/timeline/Tr2TimelineController.js.map +1 -1
  438. package/dist/trinity/core/ITr2Updateable.js +2 -1
  439. package/dist/trinity/core/ITr2Updateable.js.map +1 -1
  440. package/dist/trinity/core/Tr2Blitter.js +6 -3
  441. package/dist/trinity/core/Tr2Blitter.js.map +1 -1
  442. package/dist/trinity/core/Tr2Denoiser.js +256 -0
  443. package/dist/trinity/core/Tr2Denoiser.js.map +1 -0
  444. package/dist/trinity/core/Tr2GpuResourcePool/GpuResourceHandle.js +115 -0
  445. package/dist/trinity/core/Tr2GpuResourcePool/GpuResourceHandle.js.map +1 -0
  446. package/dist/trinity/core/Tr2GpuResourcePool/TextureSize2D.js +79 -0
  447. package/dist/trinity/core/Tr2GpuResourcePool/TextureSize2D.js.map +1 -0
  448. package/dist/trinity/core/{Tr2GpuResourcePool.js → Tr2GpuResourcePool/Tr2GpuResourcePool.js} +63 -151
  449. package/dist/trinity/core/Tr2GpuResourcePool/Tr2GpuResourcePool.js.map +1 -0
  450. package/dist/trinity/core/{Tr2QuadRenderer.js → Tr2QuadRenderer/Tr2QuadRenderer.js} +8 -30
  451. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRenderer.js.map +1 -0
  452. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js +38 -0
  453. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js.map +1 -0
  454. package/dist/trinity/core/Tr2RenderUtils.js +20 -3
  455. package/dist/trinity/core/Tr2RenderUtils.js.map +1 -1
  456. package/dist/trinity/core/Tr2Renderer.js +146 -1
  457. package/dist/trinity/core/Tr2Renderer.js.map +1 -1
  458. package/dist/trinity/core/Tr2ShadowMap.js +135 -14
  459. package/dist/trinity/core/Tr2ShadowMap.js.map +1 -1
  460. package/dist/trinity/core/{Tr2TextureArray.js → Tr2TextureArray/Tr2TextureArray.js} +3 -58
  461. package/dist/trinity/core/Tr2TextureArray/Tr2TextureArray.js.map +1 -0
  462. package/dist/trinity/core/Tr2TextureArray/Tr2TextureArrayElement.js +61 -0
  463. package/dist/trinity/core/Tr2TextureArray/Tr2TextureArrayElement.js.map +1 -0
  464. package/dist/trinity/core/batch/TriRenderBatch/DefaultKeyGenerator.js +26 -0
  465. package/dist/trinity/core/batch/TriRenderBatch/DefaultKeyGenerator.js.map +1 -0
  466. package/dist/trinity/core/batch/TriRenderBatch/EffectKeyGenerator.js +29 -0
  467. package/dist/trinity/core/batch/TriRenderBatch/EffectKeyGenerator.js.map +1 -0
  468. package/dist/trinity/core/batch/{ITriRenderBatchAccumulator.js → TriRenderBatch/ITriRenderBatchAccumulator.js} +30 -30
  469. package/dist/trinity/core/batch/TriRenderBatch/ITriRenderBatchAccumulator.js.map +1 -0
  470. package/dist/trinity/core/batch/{Tr2RenderBatch.js → TriRenderBatch/Tr2RenderBatch.js} +81 -154
  471. package/dist/trinity/core/batch/TriRenderBatch/Tr2RenderBatch.js.map +1 -0
  472. package/dist/trinity/core/batch/{TriRenderBatchAccumulator.js → TriRenderBatch/TriRenderBatchAccumulator.js} +7 -38
  473. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAccumulator.js.map +1 -0
  474. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlock.js +61 -0
  475. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlock.js.map +1 -0
  476. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlocksWithSharedMaterial.js +40 -0
  477. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlocksWithSharedMaterial.js.map +1 -0
  478. package/dist/trinity/core/batch/TriRenderBatchMap.js +6 -1
  479. package/dist/trinity/core/batch/TriRenderBatchMap.js.map +1 -1
  480. package/dist/trinity/core/context/Tr2RenderContext.js +75 -57
  481. package/dist/trinity/core/context/Tr2RenderContext.js.map +1 -1
  482. package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityEvent.js +67 -0
  483. package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityEvent.js.map +1 -0
  484. package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityResults.js +50 -0
  485. package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityResults.js.map +1 -0
  486. package/dist/trinity/core/device/Tr2DepthStencil.js +186 -13
  487. package/dist/trinity/core/device/Tr2DepthStencil.js.map +1 -1
  488. package/dist/trinity/core/device/{Tr2RingBuffer.js → Tr2RingBuffer/Tr2RingBuffer.js} +27 -79
  489. package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBuffer.js.map +1 -0
  490. package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBufferOffsets.js +114 -0
  491. package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBufferOffsets.js.map +1 -0
  492. package/dist/trinity/core/device/{Tr2SuballocatedBuffer.js → Tr2SuballocatedBuffer/Tr2SuballocatedBuffer.js} +5 -59
  493. package/dist/trinity/core/device/Tr2SuballocatedBuffer/Tr2SuballocatedBuffer.js.map +1 -0
  494. package/dist/trinity/core/device/Tr2SuballocatedBuffer/Tr2SuballocatedBufferAllocation.js +80 -0
  495. package/dist/trinity/core/device/Tr2SuballocatedBuffer/Tr2SuballocatedBufferAllocation.js.map +1 -0
  496. package/dist/trinity/core/index.js +42 -15
  497. package/dist/trinity/core/index.js.map +1 -1
  498. package/dist/trinity/core/lighting/Tr2LightManager.js +6 -1
  499. package/dist/trinity/core/lighting/Tr2LightManager.js.map +1 -1
  500. package/dist/trinity/core/mesh/{ITr2ImpostorSource.js → ITr2ImpostorSource/ITr2ImpostorSource.js} +6 -28
  501. package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSource.js.map +1 -0
  502. package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSourceImpostorHash.js +32 -0
  503. package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSourceImpostorHash.js.map +1 -0
  504. package/dist/trinity/core/mesh/{ITr2InstanceData.js → ITr2InstanceData/ITr2InstanceData.js} +5 -29
  505. package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceData.js.map +1 -0
  506. package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceDataInstanceData.js +33 -0
  507. package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceDataInstanceData.js.map +1 -0
  508. package/dist/trinity/core/mesh/Tr2DirectInstanceData.js +2 -1
  509. package/dist/trinity/core/mesh/Tr2DirectInstanceData.js.map +1 -1
  510. package/dist/trinity/core/mesh/Tr2MeshBase.js +7 -1
  511. package/dist/trinity/core/mesh/Tr2MeshBase.js.map +1 -1
  512. package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js +2 -1
  513. package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js.map +1 -1
  514. package/dist/trinity/core/mesh/TriGeometryResAllocations.js +6 -2
  515. package/dist/trinity/core/mesh/TriGeometryResAllocations.js.map +1 -1
  516. package/dist/trinity/core/rawData/CjsConstantLayout.js +196 -0
  517. package/dist/trinity/core/rawData/CjsConstantLayout.js.map +1 -0
  518. package/dist/trinity/core/rawData/CjsPerFrameLayouts.js +8 -3
  519. package/dist/trinity/core/rawData/CjsPerFrameLayouts.js.map +1 -1
  520. package/dist/trinity/core/rawData/CjsPerObjectLayouts.js +40 -732
  521. package/dist/trinity/core/rawData/CjsPerObjectLayouts.js.map +1 -1
  522. package/dist/trinity/core/rawData/layouts/CjsEveBasicLayout.js +34 -0
  523. package/dist/trinity/core/rawData/layouts/CjsEveBasicLayout.js.map +1 -0
  524. package/dist/trinity/core/rawData/layouts/CjsEveBoosterSetLayout.js +69 -0
  525. package/dist/trinity/core/rawData/layouts/CjsEveBoosterSetLayout.js.map +1 -0
  526. package/dist/trinity/core/rawData/layouts/CjsEveChildBoosterSetLayout.js +59 -0
  527. package/dist/trinity/core/rawData/layouts/CjsEveChildBoosterSetLayout.js.map +1 -0
  528. package/dist/trinity/core/rawData/layouts/CjsEveChildBulletStormLayout.js +37 -0
  529. package/dist/trinity/core/rawData/layouts/CjsEveChildBulletStormLayout.js.map +1 -0
  530. package/dist/trinity/core/rawData/layouts/CjsEveChildSpherePinLayout.js +44 -0
  531. package/dist/trinity/core/rawData/layouts/CjsEveChildSpherePinLayout.js.map +1 -0
  532. package/dist/trinity/core/rawData/layouts/CjsEveLensflareLayout.js +31 -0
  533. package/dist/trinity/core/rawData/layouts/CjsEveLensflareLayout.js.map +1 -0
  534. package/dist/trinity/core/rawData/layouts/CjsEveMissileWarheadLayout.js +29 -0
  535. package/dist/trinity/core/rawData/layouts/CjsEveMissileWarheadLayout.js.map +1 -0
  536. package/dist/trinity/core/rawData/layouts/CjsEvePerObjectLayout.js +39 -0
  537. package/dist/trinity/core/rawData/layouts/CjsEvePerObjectLayout.js.map +1 -0
  538. package/dist/trinity/core/rawData/layouts/CjsEveSceneStaticParticlesLayout.js +30 -0
  539. package/dist/trinity/core/rawData/layouts/CjsEveSceneStaticParticlesLayout.js.map +1 -0
  540. package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectDecalLayout.js +78 -0
  541. package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectDecalLayout.js.map +1 -0
  542. package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectLayout.js +169 -0
  543. package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectLayout.js.map +1 -0
  544. package/dist/trinity/core/rawData/layouts/CjsEveSpacePerObjectLayout.js +107 -0
  545. package/dist/trinity/core/rawData/layouts/CjsEveSpacePerObjectLayout.js.map +1 -0
  546. package/dist/trinity/core/rawData/layouts/CjsEveSpherePinLayout.js +44 -0
  547. package/dist/trinity/core/rawData/layouts/CjsEveSpherePinLayout.js.map +1 -0
  548. package/dist/trinity/core/rawData/layouts/CjsEveStretch2Layout.js +34 -0
  549. package/dist/trinity/core/rawData/layouts/CjsEveStretch2Layout.js.map +1 -0
  550. package/dist/trinity/core/rawData/layouts/CjsEveTurretSetLayout.js +82 -0
  551. package/dist/trinity/core/rawData/layouts/CjsEveTurretSetLayout.js.map +1 -0
  552. package/dist/trinity/core/rawData/layouts/CjsTr2PerObjectLayout.js +42 -0
  553. package/dist/trinity/core/rawData/layouts/CjsTr2PerObjectLayout.js.map +1 -0
  554. package/dist/trinity/core/rawData/perObjectData/EveBasicPerObjectData.js +55 -0
  555. package/dist/trinity/core/rawData/perObjectData/EveBasicPerObjectData.js.map +1 -0
  556. package/dist/trinity/core/rawData/perObjectData/EveBoosterSetPerObjectData.js +59 -0
  557. package/dist/trinity/core/rawData/perObjectData/EveBoosterSetPerObjectData.js.map +1 -0
  558. package/dist/trinity/core/rawData/perObjectData/EveChildBoosterSetPerObjectData.js +59 -0
  559. package/dist/trinity/core/rawData/perObjectData/EveChildBoosterSetPerObjectData.js.map +1 -0
  560. package/dist/trinity/core/rawData/perObjectData/EveChildBulletStormPerObjectData.js +55 -0
  561. package/dist/trinity/core/rawData/perObjectData/EveChildBulletStormPerObjectData.js.map +1 -0
  562. package/dist/trinity/core/rawData/perObjectData/EveChildSpherePinPerObjectData.js +55 -0
  563. package/dist/trinity/core/rawData/perObjectData/EveChildSpherePinPerObjectData.js.map +1 -0
  564. package/dist/trinity/core/rawData/perObjectData/EveDecalPerObjectData.js +59 -0
  565. package/dist/trinity/core/rawData/perObjectData/EveDecalPerObjectData.js.map +1 -0
  566. package/dist/trinity/core/rawData/perObjectData/EveLensflarePerObjectData.js +55 -0
  567. package/dist/trinity/core/rawData/perObjectData/EveLensflarePerObjectData.js.map +1 -0
  568. package/dist/trinity/core/rawData/perObjectData/EveMissileWarheadPerObjectData.js +55 -0
  569. package/dist/trinity/core/rawData/perObjectData/EveMissileWarheadPerObjectData.js.map +1 -0
  570. package/dist/trinity/core/rawData/perObjectData/EveSceneStaticParticlesPerObjectData.js +55 -0
  571. package/dist/trinity/core/rawData/perObjectData/EveSceneStaticParticlesPerObjectData.js.map +1 -0
  572. package/dist/trinity/core/rawData/perObjectData/EveSpherePinPerObjectData.js +55 -0
  573. package/dist/trinity/core/rawData/perObjectData/EveSpherePinPerObjectData.js.map +1 -0
  574. package/dist/trinity/core/rawData/perObjectData/EveTurretSetPerObjectData.js +59 -0
  575. package/dist/trinity/core/rawData/perObjectData/EveTurretSetPerObjectData.js.map +1 -0
  576. package/dist/trinity/core/rawData/perObjectData/StretchPerObjectData.js +55 -0
  577. package/dist/trinity/core/rawData/perObjectData/StretchPerObjectData.js.map +1 -0
  578. package/dist/trinity/core/rawData/{Tr2PerObjectData.js → perObjectData/Tr2PerObjectData.js} +110 -62
  579. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectData.js.map +1 -0
  580. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js +104 -0
  581. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js.map +1 -0
  582. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js +87 -0
  583. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js.map +1 -0
  584. package/dist/trinity/core/variable/TriVariable.js +83 -83
  585. package/dist/trinity/core/variable/TriVariable.js.map +1 -1
  586. package/dist/trinity/core/vertex/{Tr2VertexDefinition.js → Tr2VertexDefinition/Tr2VertexDefinition.js} +4 -20
  587. package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinition.js.map +1 -0
  588. package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinitionItem.js +29 -0
  589. package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinitionItem.js.map +1 -0
  590. package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js +116 -36
  591. package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js.map +1 -1
  592. package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js +50 -92
  593. package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js.map +1 -1
  594. package/dist/trinity/eve/EveModularObjectModifier.js +9 -5
  595. package/dist/trinity/eve/EveModularObjectModifier.js.map +1 -1
  596. package/dist/trinity/eve/IEveInheritPropertiesOwner.js +2 -1
  597. package/dist/trinity/eve/IEveInheritPropertiesOwner.js.map +1 -1
  598. package/dist/trinity/eve/IEveSpaceObject2.js +2 -1
  599. package/dist/trinity/eve/IEveSpaceObject2.js.map +1 -1
  600. package/dist/trinity/eve/IEveTransform.js +2 -1
  601. package/dist/trinity/eve/IEveTransform.js.map +1 -1
  602. package/dist/trinity/eve/attachment/banner/EveBannerSet.js +2 -2
  603. package/dist/trinity/eve/attachment/banner/EveBannerSet.js.map +1 -1
  604. package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js +109 -133
  605. package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js.map +1 -1
  606. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js +40 -0
  607. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js.map +1 -0
  608. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js +1 -1
  609. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js.map +1 -1
  610. package/dist/trinity/eve/attachment/decal/DecalMeshCache.js +2 -14
  611. package/dist/trinity/eve/attachment/decal/DecalMeshCache.js.map +1 -1
  612. package/dist/trinity/eve/attachment/decal/DecalMeshCacheMeshBuffers.js +18 -0
  613. package/dist/trinity/eve/attachment/decal/DecalMeshCacheMeshBuffers.js.map +1 -0
  614. package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js +1 -1
  615. package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js.map +1 -1
  616. package/dist/trinity/eve/attachment/haze/EveHazeSet.js +1 -1
  617. package/dist/trinity/eve/attachment/haze/EveHazeSet.js.map +1 -1
  618. package/dist/trinity/eve/attachment/plane/EvePlaneSet.js +1 -1
  619. package/dist/trinity/eve/attachment/plane/EvePlaneSet.js.map +1 -1
  620. package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js +2 -2
  621. package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js.map +1 -1
  622. package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js +1 -1
  623. package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js.map +1 -1
  624. package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js +4 -2
  625. package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js.map +1 -1
  626. package/dist/trinity/eve/attachment/turrets/EveTurretSet.js +143 -139
  627. package/dist/trinity/eve/attachment/turrets/EveTurretSet.js.map +1 -1
  628. package/dist/trinity/eve/camera/EveCamera.js +1 -1
  629. package/dist/trinity/eve/camera/EveCamera.js.map +1 -1
  630. package/dist/trinity/eve/child/EveChildBoosterSet.js +12 -1
  631. package/dist/trinity/eve/child/EveChildBoosterSet.js.map +1 -1
  632. package/dist/trinity/eve/child/EveChildCloud2.js +178 -151
  633. package/dist/trinity/eve/child/EveChildCloud2.js.map +1 -1
  634. package/dist/trinity/eve/child/EveChildContainer.js +141 -141
  635. package/dist/trinity/eve/child/EveChildContainer.js.map +1 -1
  636. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js +87 -0
  637. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js.map +1 -0
  638. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js +46 -0
  639. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js.map +1 -0
  640. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js +35 -0
  641. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js.map +1 -0
  642. package/dist/trinity/eve/child/{EveChildInstancedMeshes.js → EveChildInstancedMeshes/EveChildInstancedMeshes.js} +42 -163
  643. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshes.js.map +1 -0
  644. package/dist/trinity/eve/child/EveChildMesh.js +218 -218
  645. package/dist/trinity/eve/child/EveChildMesh.js.map +1 -1
  646. package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js +53 -0
  647. package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js.map +1 -0
  648. package/dist/trinity/eve/child/{EveChildPartData.js → EveChildPartData/EveChildPartDataPartData.js} +9 -45
  649. package/dist/trinity/eve/child/EveChildPartData/EveChildPartDataPartData.js.map +1 -0
  650. package/dist/trinity/eve/child/EveChildParticleSystem.js +30 -29
  651. package/dist/trinity/eve/child/EveChildParticleSystem.js.map +1 -1
  652. package/dist/trinity/eve/child/EveChildTransform.js +5 -0
  653. package/dist/trinity/eve/child/EveChildTransform.js.map +1 -1
  654. package/dist/trinity/eve/child/EveChildTurret.js +7 -0
  655. package/dist/trinity/eve/child/EveChildTurret.js.map +1 -1
  656. package/dist/trinity/eve/index.js +10 -4
  657. package/dist/trinity/eve/index.js.map +1 -1
  658. package/dist/trinity/eve/lights/Tr2Light.js +5 -0
  659. package/dist/trinity/eve/lights/Tr2Light.js.map +1 -1
  660. package/dist/trinity/eve/overlays/overlayBatches.js +6 -1
  661. package/dist/trinity/eve/overlays/overlayBatches.js.map +1 -1
  662. package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js +4 -4
  663. package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js.map +1 -1
  664. package/dist/trinity/eve/renderable/stretch/EveStretch2.js +76 -71
  665. package/dist/trinity/eve/renderable/stretch/EveStretch2.js.map +1 -1
  666. package/dist/trinity/eve/renderable/stretch/EveStretch3.js +1 -1
  667. package/dist/trinity/eve/renderable/stretch/EveStretch3.js.map +1 -1
  668. package/dist/trinity/eve/spaceObject/EveShip2.js +3 -3
  669. package/dist/trinity/eve/spaceObject/EveShip2.js.map +1 -1
  670. package/dist/trinity/eve/spaceObject/EveSpaceObject2.js +408 -407
  671. package/dist/trinity/eve/spaceObject/EveSpaceObject2.js.map +1 -1
  672. package/dist/trinity/eve/ui/EveTacticalOverlay.js +1 -1
  673. package/dist/trinity/eve/ui/EveTacticalOverlay.js.map +1 -1
  674. package/dist/trinity/eve/ui/lines/EveCurveLineSet.js +9 -9
  675. package/dist/trinity/eve/ui/lines/EveCurveLineSet.js.map +1 -1
  676. package/dist/trinity/eve/ui/lines/EveLineSet.js +27 -25
  677. package/dist/trinity/eve/ui/lines/EveLineSet.js.map +1 -1
  678. package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js +3 -2
  679. package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js.map +1 -1
  680. package/dist/trinity/generated/index.js +0 -1
  681. package/dist/trinity/generated/index.js.map +1 -1
  682. package/dist/trinity/generated/trinityCore/index.js +0 -1
  683. package/dist/trinity/generated/trinityCore/index.js.map +1 -1
  684. package/dist/trinity/index.js +59 -23
  685. package/dist/trinity/index.js.map +1 -1
  686. package/dist/trinity/particle/{ITr2GenericEmitter.js → ITr2GenericEmitter/ITr2GenericEmitter.js} +4 -32
  687. package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitter.js.map +1 -0
  688. package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitterUpdateArguments.js +36 -0
  689. package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitterUpdateArguments.js.map +1 -0
  690. package/dist/trinity/particle/Tr2ParticleSystem.js +4 -2
  691. package/dist/trinity/particle/Tr2ParticleSystem.js.map +1 -1
  692. package/dist/trinity/particle/element/Tr2ParticleElementData.js +15 -4
  693. package/dist/trinity/particle/element/Tr2ParticleElementData.js.map +1 -1
  694. package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js +21 -20
  695. package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js.map +1 -1
  696. package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js +23 -22
  697. package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js.map +1 -1
  698. package/dist/trinity/particle/emitter/Tr2StaticEmitter.js +14 -13
  699. package/dist/trinity/particle/emitter/Tr2StaticEmitter.js.map +1 -1
  700. package/dist/trinity/particle/index.js +2 -1
  701. package/dist/trinity/particle/index.js.map +1 -1
  702. package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js +7 -1
  703. package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js.map +1 -1
  704. package/dist/trinity/shader/Tr2Effect.js +131 -58
  705. package/dist/trinity/shader/Tr2Effect.js.map +1 -1
  706. package/dist/trinity/shader/Tr2EffectStateManager.js +17 -5
  707. package/dist/trinity/shader/Tr2EffectStateManager.js.map +1 -1
  708. package/dist/trinity/shader/Tr2Material.js +21 -4
  709. package/dist/trinity/shader/Tr2Material.js.map +1 -1
  710. package/dist/trinity/shader/material/Tr2EffectPassParameters.js +4 -1
  711. package/dist/trinity/shader/material/Tr2EffectPassParameters.js.map +1 -1
  712. package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js +2 -2
  713. package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js.map +1 -1
  714. package/dist/trinityal/Tr2BufferAL/Tr2BufferDescriptionAL.js +79 -0
  715. package/dist/trinityal/Tr2BufferAL/Tr2BufferDescriptionAL.js.map +1 -0
  716. package/dist/trinityal/{Tr2DeviceResourceAL.js → Tr2DeviceResourceAL/Tr2BaseDeviceResourceAL.js} +77 -79
  717. package/dist/trinityal/Tr2DeviceResourceAL/Tr2BaseDeviceResourceAL.js.map +1 -0
  718. package/dist/trinityal/Tr2DeviceResourceAL/Tr2DeviceResourceAL.js +24 -0
  719. package/dist/trinityal/Tr2DeviceResourceAL/Tr2DeviceResourceAL.js.map +1 -0
  720. package/dist/trinityal/Tr2DrawUPHelper.js +2 -1
  721. package/dist/trinityal/Tr2DrawUPHelper.js.map +1 -1
  722. package/dist/trinityal/Tr2HalHelperStructures/Tr2MsaaDesc.js +45 -0
  723. package/dist/trinityal/Tr2HalHelperStructures/Tr2MsaaDesc.js.map +1 -0
  724. package/dist/trinityal/Tr2HalHelperStructures/Tr2SamplerDescription.js +154 -0
  725. package/dist/trinityal/Tr2HalHelperStructures/Tr2SamplerDescription.js.map +1 -0
  726. package/dist/trinityal/Tr2HalHelperStructures/Tr2SubresourceData.js +48 -0
  727. package/dist/trinityal/Tr2HalHelperStructures/Tr2SubresourceData.js.map +1 -0
  728. package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureCoordBox.js +75 -0
  729. package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureCoordBox.js.map +1 -0
  730. package/dist/trinityal/{Tr2HalHelperStructures.js → Tr2HalHelperStructures/Tr2TextureSubresource.js} +11 -115
  731. package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureSubresource.js.map +1 -0
  732. package/dist/trinityal/Tr2HalHelperStructures/Tr2Viewport.js +51 -0
  733. package/dist/trinityal/Tr2HalHelperStructures/Tr2Viewport.js.map +1 -0
  734. package/dist/trinityal/{Tr2RenderPassAL.js → Tr2RenderPassAL/Tr2ColorAttachment.js} +5 -28
  735. package/dist/trinityal/Tr2RenderPassAL/Tr2ColorAttachment.js.map +1 -0
  736. package/dist/trinityal/Tr2RenderPassAL/Tr2DepthAttachment.js +38 -0
  737. package/dist/trinityal/Tr2RenderPassAL/Tr2DepthAttachment.js.map +1 -0
  738. package/dist/trinityal/Tr2ResourceSetAL/Tr2RegisterMapAL.js +80 -0
  739. package/dist/trinityal/Tr2ResourceSetAL/Tr2RegisterMapAL.js.map +1 -0
  740. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetAL.js +76 -0
  741. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetAL.js.map +1 -0
  742. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetALStub.js +96 -0
  743. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetALStub.js.map +1 -0
  744. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetDescriptionAL.js +196 -0
  745. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetDescriptionAL.js.map +1 -0
  746. package/dist/trinityal/index.js +22 -9
  747. package/dist/trinityal/index.js.map +1 -1
  748. package/dist/trinityal/stub/Tr2BufferALStub.js +86 -141
  749. package/dist/trinityal/stub/Tr2BufferALStub.js.map +1 -1
  750. package/dist/trinityal/stub/Tr2CapsALStub.js +17 -0
  751. package/dist/trinityal/stub/Tr2CapsALStub.js.map +1 -1
  752. package/dist/trinityal/stub/Tr2ConstantBufferALStub.js +57 -41
  753. package/dist/trinityal/stub/Tr2ConstantBufferALStub.js.map +1 -1
  754. package/dist/trinityal/stub/Tr2FenceALStub.js +18 -2
  755. package/dist/trinityal/stub/Tr2FenceALStub.js.map +1 -1
  756. package/dist/trinityal/stub/Tr2GpuTimerALStub.js +97 -0
  757. package/dist/trinityal/stub/Tr2GpuTimerALStub.js.map +1 -0
  758. package/dist/trinityal/stub/Tr2OcclusionQueryALStub.js +124 -0
  759. package/dist/trinityal/stub/Tr2OcclusionQueryALStub.js.map +1 -0
  760. package/dist/trinityal/stub/Tr2PipelineStatsQueryALStub/Tr2PipelineStatsQueryALStub.js +146 -0
  761. package/dist/trinityal/stub/Tr2PipelineStatsQueryALStub/Tr2PipelineStatsQueryALStub.js.map +1 -0
  762. package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2BindlessResourcesAL.js +28 -0
  763. package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2BindlessResourcesAL.js.map +1 -0
  764. package/dist/trinityal/stub/{Tr2RenderContextALStub.js → Tr2RenderContextALStub/Tr2RenderContextALStub.js} +70 -75
  765. package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2RenderContextALStub.js.map +1 -0
  766. package/dist/trinityal/stub/Tr2SamplerStateALStub.js +47 -31
  767. package/dist/trinityal/stub/Tr2SamplerStateALStub.js.map +1 -1
  768. package/dist/trinityal/stub/Tr2ShaderALStub.js +61 -45
  769. package/dist/trinityal/stub/Tr2ShaderALStub.js.map +1 -1
  770. package/dist/trinityal/stub/Tr2ShaderProgramALStub.js +51 -33
  771. package/dist/trinityal/stub/Tr2ShaderProgramALStub.js.map +1 -1
  772. package/dist/trinityal/stub/Tr2SwapChainALStub.js +61 -45
  773. package/dist/trinityal/stub/Tr2SwapChainALStub.js.map +1 -1
  774. package/dist/trinityal/stub/Tr2TextureALStub.js +188 -171
  775. package/dist/trinityal/stub/Tr2TextureALStub.js.map +1 -1
  776. package/dist/trinityal/stub/Tr2VertexLayoutALStub.js +43 -27
  777. package/dist/trinityal/stub/Tr2VertexLayoutALStub.js.map +1 -1
  778. package/dist/trinityal/stub/{Tr2VideoAdapterInfoALStub.js → Tr2VideoAdapterInfoStub.js} +16 -1
  779. package/dist/trinityal/stub/Tr2VideoAdapterInfoStub.js.map +1 -0
  780. package/dist/trinityal/stub/index.js +8 -4
  781. package/dist/trinityal/stub/index.js.map +1 -1
  782. package/dist/trinityal/vertexLayoutMatch.js +2 -2
  783. package/dist/trinityal/vertexLayoutMatch.js.map +1 -1
  784. package/dist/trinityal/webgpu/CjsWebgpuBufferAL.js +105 -90
  785. package/dist/trinityal/webgpu/CjsWebgpuBufferAL.js.map +1 -1
  786. package/dist/trinityal/webgpu/CjsWebgpuCapsAL.js +17 -0
  787. package/dist/trinityal/webgpu/CjsWebgpuCapsAL.js.map +1 -1
  788. package/dist/trinityal/webgpu/CjsWebgpuConstantBufferAL.js +15 -0
  789. package/dist/trinityal/webgpu/CjsWebgpuConstantBufferAL.js.map +1 -1
  790. package/dist/trinityal/webgpu/CjsWebgpuDevice.js +2 -2
  791. package/dist/trinityal/webgpu/CjsWebgpuDevice.js.map +1 -1
  792. package/dist/trinityal/webgpu/CjsWebgpuRenderContextAL.js +900 -938
  793. package/dist/trinityal/webgpu/CjsWebgpuRenderContextAL.js.map +1 -1
  794. package/dist/trinityal/webgpu/CjsWebgpuResourceSetAL.js +56 -60
  795. package/dist/trinityal/webgpu/CjsWebgpuResourceSetAL.js.map +1 -1
  796. package/dist/trinityal/webgpu/CjsWebgpuSamplerStateAL.js +16 -1
  797. package/dist/trinityal/webgpu/CjsWebgpuSamplerStateAL.js.map +1 -1
  798. package/dist/trinityal/webgpu/CjsWebgpuShaderAL.js +100 -379
  799. package/dist/trinityal/webgpu/CjsWebgpuShaderAL.js.map +1 -1
  800. package/dist/trinityal/webgpu/CjsWebgpuShaderProgramAL.js +330 -0
  801. package/dist/trinityal/webgpu/CjsWebgpuShaderProgramAL.js.map +1 -0
  802. package/dist/trinityal/webgpu/CjsWebgpuTextureAL.js +15 -0
  803. package/dist/trinityal/webgpu/CjsWebgpuTextureAL.js.map +1 -1
  804. package/dist/trinityal/webgpu/core/{constantArena.js → CjsWebgpuConstantArena.js} +1 -1
  805. package/dist/trinityal/webgpu/core/CjsWebgpuConstantArena.js.map +1 -0
  806. package/dist/trinityal/webgpu/core/{batchGroups.js → CjsWebgpuEncodeState.js} +1 -1
  807. package/dist/trinityal/webgpu/core/CjsWebgpuEncodeState.js.map +1 -0
  808. package/dist/trinityal/webgpu/core/{perFrameSource.js → CjsWebgpuPerFrameSource.js} +1 -1
  809. package/dist/trinityal/webgpu/core/CjsWebgpuPerFrameSource.js.map +1 -0
  810. package/dist/trinityal/webgpu/core/{pipelineCache.js → CjsWebgpuPipelineCache.js} +1 -1
  811. package/dist/trinityal/webgpu/core/CjsWebgpuPipelineCache.js.map +1 -0
  812. package/dist/trinityal/webgpu/core/{psoDescription.js → CjsWebgpuPsoDescription.js} +2 -2
  813. package/dist/trinityal/webgpu/core/CjsWebgpuPsoDescription.js.map +1 -0
  814. package/dist/trinityal/webgpu/core/{renderTarget.js → CjsWebgpuRenderTarget.js} +1 -1
  815. package/dist/trinityal/webgpu/core/CjsWebgpuRenderTarget.js.map +1 -0
  816. package/dist/trinityal/webgpu/core/{samplerSource.js → CjsWebgpuSamplerSource.js} +1 -1
  817. package/dist/trinityal/webgpu/core/CjsWebgpuSamplerSource.js.map +1 -0
  818. package/dist/trinityal/webgpu/core/{textureSource.js → CjsWebgpuTextureSource.js} +1 -1
  819. package/dist/trinityal/webgpu/core/CjsWebgpuTextureSource.js.map +1 -0
  820. package/dist/trinityal/webgpu/core/{trinityBatchDispatcher.js → CjsWebgpuTrinityBatchDispatcher.js} +4 -4
  821. package/dist/trinityal/webgpu/core/CjsWebgpuTrinityBatchDispatcher.js.map +1 -0
  822. package/dist/trinityal/webgpu/core/{trinityBatchResolver.js → CjsWebgpuTrinityBatchResolver.js} +81 -81
  823. package/dist/trinityal/webgpu/core/CjsWebgpuTrinityBatchResolver.js.map +1 -0
  824. package/dist/trinityal/webgpu/core/{trinityPassEncoder.js → CjsWebgpuTrinityPassEncoder.js} +2 -2
  825. package/dist/trinityal/webgpu/core/CjsWebgpuTrinityPassEncoder.js.map +1 -0
  826. package/dist/trinityal/webgpu/core/{workQueue.js → CjsWebgpuWorkQueue.js} +1 -1
  827. package/dist/trinityal/webgpu/core/CjsWebgpuWorkQueue.js.map +1 -0
  828. package/dist/trinityal/webgpu/internal.js +12 -11
  829. package/dist/trinityal/webgpu/internal.js.map +1 -1
  830. package/docs/audio/reference/classes/trinity.md +44 -34
  831. package/docs/character/architecture.md +276 -0
  832. package/docs/character/reference/character-appearance-plans.md +30 -66
  833. package/docs/character/reference/prepared-libraries.md +14 -30
  834. package/docs/global/reference/api.md +2 -1
  835. package/docs/global/reference/classes/README.md +53 -71
  836. package/docs/global/reference/classes/dropped.md +16 -0
  837. package/docs/resource/README.md +19 -15
  838. package/docs/resource/architecture.md +9 -2
  839. package/docs/resource/concepts/format-capabilities.md +124 -80
  840. package/docs/resource/concepts/shared-format-helpers.md +94 -0
  841. package/docs/resource/formats/README.md +230 -224
  842. package/docs/resource/formats/bitknit2.md +221 -0
  843. package/docs/resource/formats/carbon-effect-container.md +184 -269
  844. package/docs/resource/formats/gr2.md +6 -1
  845. package/docs/resource/formats/schemabound.md +28 -48
  846. package/docs/resource/formats/static.md +70 -97
  847. package/docs/resource/formats/webgl/carbon-constant-layouts.md +8 -8
  848. package/docs/resource/formats/webgl/decl-io.md +165 -256
  849. package/docs/resource/formats/webgl/memory-structured.md +64 -142
  850. package/docs/resource/formats/webgl/texture-sample.md +109 -138
  851. package/docs/resource/formats/webgpu/formats/carbon-webgpu.md +38 -69
  852. package/docs/resource/formats/webgpu/guides/effect-packaging.md +54 -116
  853. package/docs/resource/formats/webgpu/reference/api.md +64 -67
  854. package/docs/resource/formats/webgpu/reference/wgsl-compatibility.md +158 -345
  855. package/docs/resource/reference/classes/core.md +256 -236
  856. package/docs/resource/reference/classes/formats.md +1668 -1672
  857. package/docs/resource/reference/workers.md +4 -2
  858. package/docs/sof/reference/classes/core.md +1 -1
  859. package/docs/sof/reference/classes/faction.md +2 -2
  860. package/docs/sof/reference/classes/generic.md +4 -4
  861. package/docs/sof/reference/classes/pattern.md +1 -1
  862. package/docs/sof/reference/classes/shared.md +10 -10
  863. package/docs/trinity/architecture.md +55 -44
  864. package/docs/trinity/concepts/generated-class-lifecycle.md +10 -15
  865. package/docs/trinity/reference/classes/curves-and-utilities.md +496 -506
  866. package/docs/trinity/reference/classes/dropped.md +0 -189
  867. package/docs/trinity/reference/classes/eve-runtime.md +8 -8
  868. package/docs/trinity/reference/classes/generated.md +0 -10
  869. package/docs/trinity/reference/classes/particle.md +2 -2
  870. package/docs/trinity/reference/classes/trinity-core.md +1554 -1256
  871. package/docs/trinity/reference/implementation-status.md +50 -75
  872. package/docs/trinity/reference/main-semantic-extraction.md +13 -17
  873. package/docs/trinityal/reference/classes/README.md +77 -27
  874. package/docs/trinityal/reference/classes/dropped.md +92 -0
  875. package/docs/trinityal/webgpu/README.md +3 -1
  876. package/docs/trinityal/webgpu/architecture.md +121 -228
  877. package/docs/trinityal/webgpu/reference/api.md +5 -5
  878. package/docs/trinityal/webgpu/reference/classes/README.md +13 -13
  879. package/format-notices/gr2/NOTICE +18 -12
  880. package/format-notices/gr2/THIRD-PARTY-NOTICES.md +5 -5
  881. package/package.json +4 -1
  882. package/dist/audio/trinity/audio/AudActionLog.js +0 -173
  883. package/dist/audio/trinity/audio/AudActionLog.js.map +0 -1
  884. package/dist/audio/trinity/audio/AudObstructionOcclusion.js.map +0 -1
  885. package/dist/global/contracts/CjsScriptCallback.js +0 -94
  886. package/dist/global/contracts/CjsScriptCallback.js.map +0 -1
  887. package/dist/trinity/controllers/ITr2Controller.js.map +0 -1
  888. package/dist/trinity/core/Tr2GpuResourcePool.js.map +0 -1
  889. package/dist/trinity/core/Tr2QuadRenderer.js.map +0 -1
  890. package/dist/trinity/core/Tr2TextureArray.js.map +0 -1
  891. package/dist/trinity/core/batch/ITriRenderBatchAccumulator.js.map +0 -1
  892. package/dist/trinity/core/batch/Tr2RenderBatch.js.map +0 -1
  893. package/dist/trinity/core/batch/TriRenderBatchAccumulator.js.map +0 -1
  894. package/dist/trinity/core/context/CjsShadowMapExecutor.js +0 -43
  895. package/dist/trinity/core/context/CjsShadowMapExecutor.js.map +0 -1
  896. package/dist/trinity/core/context/CjsVolumetricsExecutor.js +0 -64
  897. package/dist/trinity/core/context/CjsVolumetricsExecutor.js.map +0 -1
  898. package/dist/trinity/core/context/Tr2VisibilityResults.js +0 -109
  899. package/dist/trinity/core/context/Tr2VisibilityResults.js.map +0 -1
  900. package/dist/trinity/core/device/Tr2RingBuffer.js.map +0 -1
  901. package/dist/trinity/core/device/Tr2SuballocatedBuffer.js.map +0 -1
  902. package/dist/trinity/core/mesh/ITr2ImpostorSource.js.map +0 -1
  903. package/dist/trinity/core/mesh/ITr2InstanceData.js.map +0 -1
  904. package/dist/trinity/core/rawData/Tr2PerObjectData.js.map +0 -1
  905. package/dist/trinity/core/rawData/constantLayout.js +0 -175
  906. package/dist/trinity/core/rawData/constantLayout.js.map +0 -1
  907. package/dist/trinity/core/vertex/Tr2VertexDefinition.js.map +0 -1
  908. package/dist/trinity/eve/child/EveChildInstancedMeshes.js.map +0 -1
  909. package/dist/trinity/eve/child/EveChildPartData.js.map +0 -1
  910. package/dist/trinity/generated/trinityCore/Tr2Denoiser.js +0 -47
  911. package/dist/trinity/generated/trinityCore/Tr2Denoiser.js.map +0 -1
  912. package/dist/trinity/particle/ITr2GenericEmitter.js.map +0 -1
  913. package/dist/trinityal/Tr2DeviceResourceAL.js.map +0 -1
  914. package/dist/trinityal/Tr2HalHelperStructures.js.map +0 -1
  915. package/dist/trinityal/Tr2RenderPassAL.js.map +0 -1
  916. package/dist/trinityal/Tr2ResourceSetAL.js +0 -419
  917. package/dist/trinityal/Tr2ResourceSetAL.js.map +0 -1
  918. package/dist/trinityal/Tr2SamplerDescription.js +0 -72
  919. package/dist/trinityal/Tr2SamplerDescription.js.map +0 -1
  920. package/dist/trinityal/stub/Tr2QueryALStub.js +0 -326
  921. package/dist/trinityal/stub/Tr2QueryALStub.js.map +0 -1
  922. package/dist/trinityal/stub/Tr2RenderContextALStub.js.map +0 -1
  923. package/dist/trinityal/stub/Tr2VideoAdapterInfoALStub.js.map +0 -1
  924. package/dist/trinityal/webgpu/core/batchGroups.js.map +0 -1
  925. package/dist/trinityal/webgpu/core/constantArena.js.map +0 -1
  926. package/dist/trinityal/webgpu/core/perFrameSource.js.map +0 -1
  927. package/dist/trinityal/webgpu/core/pipelineCache.js.map +0 -1
  928. package/dist/trinityal/webgpu/core/psoDescription.js.map +0 -1
  929. package/dist/trinityal/webgpu/core/renderTarget.js.map +0 -1
  930. package/dist/trinityal/webgpu/core/samplerSource.js.map +0 -1
  931. package/dist/trinityal/webgpu/core/textureSource.js.map +0 -1
  932. package/dist/trinityal/webgpu/core/trinityBatchDispatcher.js.map +0 -1
  933. package/dist/trinityal/webgpu/core/trinityBatchResolver.js.map +0 -1
  934. package/dist/trinityal/webgpu/core/trinityPassEncoder.js.map +0 -1
  935. package/dist/trinityal/webgpu/core/workQueue.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"AudManager.js","sources":["../../../../../src/audio/trinity/audio/AudManager.js"],"sourcesContent":["// Source: audio/src/AudManager.h + AudManager.cpp\r\n// Hand-owned since 2026-07-18 (behavior port); the generator skips this file.\r\n// Verify against audio/AudManager.json.\r\n//\r\n// Headless behavior port of the lifecycle/bank state machine. Wwise engine\r\n// init, RenderAudio, and device concerns route through the backend seam\r\n// (AudGameObjResource.backend); state, bank tracking, deferred-event flush,\r\n// monitored-parameter refcounts, and prioritization wiring are pure logic.\r\nimport { carbon, impl, io, type } from \"#schema\";\r\nimport { CjsModel } from \"#model\";\r\nimport { AudGameObjResource } from \"./AudGameObjResource.js\";\r\nimport { AudGeometry } from \"./AudGeometry.js\";\r\nimport { AudObstructionOcclusion } from \"./AudObstructionOcclusion.js\";\r\nimport { IsReservedGameObjectID, LISTENER_GAME_OBJ_ID, SoundPrioritization } from \"./SoundPrioritization.js\";\r\nimport { SpatialAudioSettings } from \"./SpatialAudioSettings.js\";\r\n\r\n// C++ ComputeWwiseHashForSoundBank strips from the first \".\" then hashes via\r\n// AK GetIDFromString; headless we key by the stripped name (adapted - the\r\n// numeric hash only matters to Wwise).\r\nfunction BankKey(name)\r\n{\r\n const text = String(name);\r\n const dot = text.indexOf(\".\");\r\n return dot === -1 ? text : text.slice(0, dot);\r\n}\r\n\r\n/** AudManager (audio) - engine lifecycle, banks, global controls, culling, and caller-supplied obstruction/occlusion. */\r\n@type.define({ className: \"AudManager\", family: \"audio\" })\r\nexport class AudManager extends CjsModel\r\n{\r\n\r\n /** m_log (IAudActionLogPtr) [READWRITE] */\r\n @io.readwrite\r\n @type.objectRef(\"IAudActionLog\")\r\n log = null;\r\n\r\n /** m_audioCullingEnabled (mutable bool) [READ] */\r\n @io.read\r\n @type.boolean\r\n audioCullingEnabled = true;\r\n\r\n /** m_spatialAudioEnabled (bool) [READ] */\r\n @io.read\r\n @type.boolean\r\n spatialAudioEnabled = true;\r\n\r\n /** m_settings (AudSettingsPtr) [AUTHORED] */\r\n @impl.adapted\r\n @impl.reason(\"Carbon supplies this via UpdateSettings() outside Blue serialization; CarbonEngineJS persists it for values interchange.\")\r\n @io.persist\r\n @type.model(\"AudSettings\")\r\n settings = null;\r\n\r\n // AudioState (Uninitialized/Disabled/Enabled) as lowercase strings;\r\n // GetStateValue preserves Carbon's 0/1/2.\r\n #state = \"uninitialized\";\r\n\r\n #soundBankInfoMap = new Map();\r\n\r\n #nextSoundBankOperation = 1;\r\n\r\n #monitoredParameters = new Map();\r\n\r\n #callbackGameObjects = new Map();\r\n\r\n #debugDisplayAllEmitters = false;\r\n\r\n #spatialAudioSettings = new SpatialAudioSettings();\r\n\r\n #spatialAudioGeometryBackends = new WeakSet();\r\n\r\n #obstructionOcclusion = new AudObstructionOcclusion(this);\r\n\r\n // CarbonEngineJS-original: the prioritization is a public collaborator so\r\n // emitters can read weights directly (see AudGameObjResource notes).\r\n soundPrioritization = new SoundPrioritization();\r\n\r\n /** Enabled convenience over the Carbon state (the guard emitters check). */\r\n get enabled()\r\n {\r\n return this.#state === \"enabled\";\r\n }\r\n\r\n /** Carbon method GetState. */\r\n @carbon.method\r\n @impl.implemented\r\n GetState()\r\n {\r\n return this.#state;\r\n }\r\n\r\n /** Carbon method GetStateValue: Carbon's scripting int (0/1/2). */\r\n @carbon.renamed(\"GetState\")\r\n @impl.implemented\r\n GetStateValue()\r\n {\r\n return this.#state === \"uninitialized\" ? 0 : this.#state === \"disabled\" ? 1 : 2;\r\n }\r\n\r\n /** Carbon method Enable: init if needed, enable, load Init.bnk + requested banks, wake everything. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Wwise memory/stream/sound initialization is the backend's Init, while pre-enabled geometry uses optional InitSpatialAudioGeometry with Carbon's populated settings. The state machine, failure gate, bank loads, and wake pass follow audio/src/AudManager.cpp:148-180 and 848-881.\")\r\n Enable(soundBanksToLoad = [])\r\n {\r\n if (this.#state === \"enabled\")\r\n {\r\n return;\r\n }\r\n const backend = AudGameObjResource.backend;\r\n if (this.#state === \"uninitialized\")\r\n {\r\n const repository = AudGameObjResource.staticDataRepository;\r\n if (!repository?.IsInitialized())\r\n {\r\n return;\r\n }\r\n // The backend seam is the sound engine: absent, or an Init that\r\n // explicitly fails, means Carbon's Init() failure - stay un-enabled.\r\n // A backend without an Init method counts as initialized.\r\n if (!backend || backend.Init?.(this.settings) === false)\r\n {\r\n return;\r\n }\r\n }\r\n if (!backend)\r\n {\r\n return;\r\n }\r\n if (this.GetSpatialAudioGeometryEnabled()\r\n && !this.#InitSpatialAudioGeometry(backend))\r\n {\r\n return;\r\n }\r\n if (this.#state === \"uninitialized\")\r\n {\r\n this.#state = \"disabled\";\r\n }\r\n this.#state = \"enabled\";\r\n this.LoadBank(\"Init.bnk\");\r\n for (const bank of soundBanksToLoad)\r\n {\r\n this.LoadBank(bank);\r\n }\r\n for (const gameObject of this.soundPrioritization.GetPrioritizedAudioObjects())\r\n {\r\n gameObject.Wake();\r\n }\r\n }\r\n\r\n /** Carbon method Disable: cull everything, clear banks, drop to disabled (engine stays initialized). */\r\n @carbon.method\r\n @impl.implemented\r\n Disable()\r\n {\r\n if (this.#state !== \"enabled\")\r\n {\r\n return;\r\n }\r\n for (const gameObject of this.soundPrioritization.GetPrioritizedAudioObjects())\r\n {\r\n gameObject.Cull();\r\n }\r\n this.ClearBanks();\r\n this.#obstructionOcclusion.Reset();\r\n AudGeometry.ClearAllGeometry();\r\n this.#state = \"disabled\";\r\n }\r\n\r\n /** Carbon method LoadBank: async - tracked LOADING immediately; backend callback drives LOADED. */\r\n @carbon.method\r\n @impl.implemented\r\n LoadBank(name)\r\n {\r\n if (this.#state !== \"enabled\")\r\n {\r\n return;\r\n }\r\n const key = BankKey(name);\r\n const status = this.GetSoundBankStatus(name);\r\n if (status === \"loaded\" || status === \"loading\")\r\n {\r\n return;\r\n }\r\n const operation = this.#nextSoundBankOperation++;\r\n this.#soundBankInfoMap.set(key, {\r\n soundBankStatus: \"loading\",\r\n soundBankID: key,\r\n soundBankName: String(name),\r\n waitingEventsAfterLoad: [],\r\n operation\r\n });\r\n AudGameObjResource.backend?.LoadBank?.(String(name), loaded =>\r\n {\r\n if (this.#soundBankInfoMap.get(key)?.operation === operation)\r\n {\r\n this.UpdateSoundBankStatus(\r\n key,\r\n loaded ? \"loaded\" : \"not_loaded\"\r\n );\r\n }\r\n });\r\n }\r\n\r\n /** Carbon method UnloadBank. */\r\n @carbon.method\r\n @impl.implemented\r\n UnloadBank(name)\r\n {\r\n if (this.#state !== \"enabled\")\r\n {\r\n return;\r\n }\r\n const key = BankKey(name);\r\n const status = this.GetSoundBankStatus(name);\r\n if (status === \"not_loaded\" || status === \"unloading\")\r\n {\r\n return;\r\n }\r\n const operation = this.#nextSoundBankOperation++;\r\n const info = this.#soundBankInfoMap.get(key);\r\n\r\n info.operation = operation;\r\n this.UpdateSoundBankStatus(key, \"unloading\");\r\n AudGameObjResource.backend?.UnloadBank?.(String(name), () =>\r\n {\r\n if (this.#soundBankInfoMap.get(key)?.operation === operation)\r\n {\r\n this.#soundBankInfoMap.delete(key);\r\n }\r\n });\r\n }\r\n\r\n /** Carbon method ClearBanks. */\r\n @carbon.method\r\n @impl.implemented\r\n ClearBanks()\r\n {\r\n if (this.#state !== \"uninitialized\")\r\n {\r\n AudGameObjResource.backend?.ClearBanks?.();\r\n this.#soundBankInfoMap.clear();\r\n }\r\n }\r\n\r\n // The deferred-event flush: waiting events fire with bypassPrefix=true\r\n // exactly on the transition to LOADED, then the queue clears.\r\n /** Carbon method UpdateSoundBankStatus. */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateSoundBankStatus(bankID, status)\r\n {\r\n const info = this.#soundBankInfoMap.get(bankID);\r\n if (!info)\r\n {\r\n return;\r\n }\r\n info.soundBankStatus = status;\r\n if (status === \"loaded\")\r\n {\r\n for (const [emitter, eventName] of info.waitingEventsAfterLoad)\r\n {\r\n emitter?.PostEvent(eventName, true);\r\n }\r\n info.waitingEventsAfterLoad.length = 0;\r\n }\r\n }\r\n\r\n /** Carbon method RegisterEventAfterSoundBankLoad: queue an event on a LOADING bank (matched by name). */\r\n @carbon.method\r\n @impl.implemented\r\n RegisterEventAfterSoundBankLoad(soundBankName, eventName, emitter)\r\n {\r\n for (const info of this.#soundBankInfoMap.values())\r\n {\r\n if (info.soundBankName === String(soundBankName))\r\n {\r\n info.waitingEventsAfterLoad.push([emitter, String(eventName)]);\r\n }\r\n }\r\n }\r\n\r\n /** Carbon method GetSoundBankStatus: by name or key; \"not_loaded\" when unknown. */\r\n @carbon.method\r\n @impl.implemented\r\n GetSoundBankStatus(name)\r\n {\r\n const byKey = this.#soundBankInfoMap.get(BankKey(name));\r\n if (byKey)\r\n {\r\n return byKey.soundBankStatus;\r\n }\r\n for (const info of this.#soundBankInfoMap.values())\r\n {\r\n if (info.soundBankName === String(name))\r\n {\r\n return info.soundBankStatus;\r\n }\r\n }\r\n return \"not_loaded\";\r\n }\r\n\r\n /** Carbon method GetLoadedSoundBanks: names with status loaded OR loading (Carbon counts both). */\r\n @carbon.method\r\n @impl.implemented\r\n GetLoadedSoundBanks()\r\n {\r\n const names = [];\r\n for (const info of this.#soundBankInfoMap.values())\r\n {\r\n if (info.soundBankStatus === \"loaded\" || info.soundBankStatus === \"loading\")\r\n {\r\n names.push(info.soundBankName);\r\n }\r\n }\r\n return names;\r\n }\r\n\r\n /** Carbon method SetGlobalRTPC: pure backend passthrough, enabled-gated, no caching. */\r\n @carbon.method\r\n @impl.implemented\r\n SetGlobalRTPC(rtpcName, value)\r\n {\r\n if (this.#state !== \"enabled\")\r\n {\r\n return false;\r\n }\r\n if (AudGameObjResource.backend?.SetGlobalRTPCValue?.(rtpcName, value) === false)\r\n {\r\n return false;\r\n }\r\n this.LogSetRTPC(0, rtpcName, value);\r\n return true;\r\n }\r\n\r\n /** Carbon method SetState (global state group): passthrough, enabled-gated. */\r\n @carbon.method\r\n @impl.implemented\r\n SetState(stateGroup, stateName)\r\n {\r\n if (this.#state !== \"enabled\")\r\n {\r\n return false;\r\n }\r\n AudGameObjResource.backend?.SetGlobalState?.(stateGroup, stateName);\r\n this.LogSetState(stateGroup, stateName);\r\n return true;\r\n }\r\n\r\n /** Carbon method LogPostEvent. */\r\n @carbon.method\r\n @impl.implemented\r\n LogPostEvent(emitterID, playID, eventID, name)\r\n {\r\n this.log?.LogPostEvent?.(emitterID, playID, eventID, name);\r\n }\r\n\r\n /** Carbon method LogExecuteActionOnPlayingID. */\r\n @carbon.method\r\n @impl.implemented\r\n LogExecuteActionOnPlayingID(emitterID, playID, action)\r\n {\r\n this.log?.LogExecuteActionOnPlayingID?.(emitterID, playID, action);\r\n }\r\n\r\n /** Carbon method LogSetSwitch. */\r\n @carbon.method\r\n @impl.implemented\r\n LogSetSwitch(emitterID, group, state)\r\n {\r\n this.log?.LogSetSwitch?.(emitterID, group, state);\r\n }\r\n\r\n /** Carbon method LogSetState. */\r\n @carbon.method\r\n @impl.implemented\r\n LogSetState(group, state)\r\n {\r\n this.log?.LogSetState?.(group, state);\r\n }\r\n\r\n /** Carbon method LogSetRTPC. */\r\n @carbon.method\r\n @impl.implemented\r\n LogSetRTPC(emitterID, name, value, playID = 0)\r\n {\r\n this.log?.LogSetRTPC?.(emitterID, name, value, playID);\r\n }\r\n\r\n /** Carbon method GetSpatialAudioGeometryEnabled. */\r\n @carbon.method\r\n @impl.implemented\r\n GetSpatialAudioGeometryEnabled()\r\n {\r\n return this.#spatialAudioSettings.GetSpatialAudioGeometryEnabled();\r\n }\r\n\r\n /** Carbon method SetEmitterLineOfSightBlockage: stores a caller-computed blockage target. */\r\n @carbon.method\r\n @impl.implemented\r\n SetEmitterLineOfSightBlockage(emitterID, blockage)\r\n {\r\n return this.#obstructionOcclusion.SetEmitterLineOfSightBlockage(\r\n emitterID,\r\n blockage,\r\n );\r\n }\r\n\r\n /** Carbon method GetEmitterOcclusion: returns the live, mid-fade value. */\r\n @carbon.method\r\n @impl.implemented\r\n GetEmitterOcclusion(emitterID)\r\n {\r\n return this.#obstructionOcclusion.GetEmitterOcclusion(emitterID);\r\n }\r\n\r\n /** Carbon method ClearObstructionOcclusion: fades every target to clear. */\r\n @carbon.method\r\n @impl.implemented\r\n ClearObstructionOcclusion()\r\n {\r\n this.#obstructionOcclusion.ClearAll();\r\n }\r\n\r\n /** Carbon Blue property getter for game-driven obstruction/occlusion. */\r\n @carbon.method\r\n @impl.implemented\r\n GetObstructionOcclusionEnabled()\r\n {\r\n return this.#obstructionOcclusion.IsEnabled();\r\n }\r\n\r\n /** Carbon Blue property setter for game-driven obstruction/occlusion. */\r\n @carbon.method\r\n @impl.implemented\r\n SetObstructionOcclusionEnabled(value)\r\n {\r\n this.#obstructionOcclusion.SetEnabled(value);\r\n }\r\n\r\n /** Carbon Blue property getter for the obstruction/occlusion fade rate. */\r\n @carbon.method\r\n @impl.implemented\r\n GetObstructionOcclusionFadeRate()\r\n {\r\n return this.#obstructionOcclusion.GetFadeRate();\r\n }\r\n\r\n /** Carbon Blue property setter for the obstruction/occlusion fade rate. */\r\n @carbon.method\r\n @impl.implemented\r\n SetObstructionOcclusionFadeRate(value)\r\n {\r\n this.#obstructionOcclusion.SetFadeRate(value);\r\n }\r\n\r\n /** Carbon method SetSpatialAudioGeometryEnabled. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Browser backends may expose InitSpatialAudioGeometry; the setting and geometry lifecycle remain available even though WebAudio has no native diffraction engine.\")\r\n SetSpatialAudioGeometryEnabled(enabled)\r\n {\r\n const value = Boolean(enabled);\r\n if (this.GetSpatialAudioGeometryEnabled() === value)\r\n {\r\n return;\r\n }\r\n if (this.#state !== \"enabled\")\r\n {\r\n this.#spatialAudioSettings.SetSpatialAudioGeometryEnabled(value);\r\n return;\r\n }\r\n if (!value)\r\n {\r\n this.#spatialAudioSettings.SetSpatialAudioGeometryEnabled(false);\r\n AudGeometry.ClearAllGeometry();\r\n return;\r\n }\r\n if (!this.#InitSpatialAudioGeometry(AudGameObjResource.backend))\r\n {\r\n return;\r\n }\r\n this.#spatialAudioSettings.SetSpatialAudioGeometryEnabled(true);\r\n }\r\n\r\n /**\r\n * Initializes geometry once for each browser backend lifetime.\r\n * Carbon retains the equivalent flag across Disable but resets it when the\r\n * sound engine terminates; backend identity supplies that boundary here.\r\n */\r\n #InitSpatialAudioGeometry(backend)\r\n {\r\n if (!backend\r\n || (typeof backend !== \"object\" && typeof backend !== \"function\"))\r\n {\r\n return false;\r\n }\r\n if (this.#spatialAudioGeometryBackends.has(backend))\r\n {\r\n return true;\r\n }\r\n\r\n const settings = this.#spatialAudioSettings.PopulateInitSettings({});\r\n\r\n if (backend.InitSpatialAudioGeometry?.(settings) === false)\r\n {\r\n return false;\r\n }\r\n this.#spatialAudioGeometryBackends.add(backend);\r\n return true;\r\n }\r\n\r\n /** Returns the spatial-audio movement threshold. */\r\n @carbon.method\r\n @impl.implemented\r\n GetMovementThreshold()\r\n {\r\n return this.#spatialAudioSettings.GetMovementThreshold();\r\n }\r\n\r\n /** Sets the spatial-audio movement threshold. */\r\n @carbon.method\r\n @impl.implemented\r\n SetMovementThreshold(value)\r\n {\r\n this.#spatialAudioSettings.SetMovementThreshold(value);\r\n }\r\n\r\n /** Returns the maximum number of primary spatial-audio rays. */\r\n @carbon.method\r\n @impl.implemented\r\n GetNumberOfPrimaryRays()\r\n {\r\n return this.#spatialAudioSettings.GetNumberOfPrimaryRays();\r\n }\r\n\r\n /** Sets the maximum number of primary spatial-audio rays. */\r\n @carbon.method\r\n @impl.implemented\r\n SetNumberOfPrimaryRays(value)\r\n {\r\n this.#spatialAudioSettings.SetNumberOfPrimaryRays(value);\r\n }\r\n\r\n /** Returns the maximum reflection order. */\r\n @carbon.method\r\n @impl.implemented\r\n GetMaxReflectionOrder()\r\n {\r\n return this.#spatialAudioSettings.GetMaxReflectionOrder();\r\n }\r\n\r\n /** Sets the maximum reflection order. */\r\n @carbon.method\r\n @impl.implemented\r\n SetMaxReflectionOrder(value)\r\n {\r\n this.#spatialAudioSettings.SetMaxReflectionOrder(value);\r\n }\r\n\r\n /** Returns the maximum diffraction order. */\r\n @carbon.method\r\n @impl.implemented\r\n GetMaxDiffractionOrder()\r\n {\r\n return this.#spatialAudioSettings.GetMaxDiffractionOrder();\r\n }\r\n\r\n /** Sets the maximum diffraction order. */\r\n @carbon.method\r\n @impl.implemented\r\n SetMaxDiffractionOrder(value)\r\n {\r\n this.#spatialAudioSettings.SetMaxDiffractionOrder(value);\r\n }\r\n\r\n /** Returns the maximum number of emitter room auxiliary sends. */\r\n @carbon.method\r\n @impl.implemented\r\n GetMaxEmitterRoomAuxSends()\r\n {\r\n return this.#spatialAudioSettings.GetMaxEmitterRoomAuxSends();\r\n }\r\n\r\n /** Sets the maximum number of emitter room auxiliary sends. */\r\n @carbon.method\r\n @impl.implemented\r\n SetMaxEmitterRoomAuxSends(value)\r\n {\r\n this.#spatialAudioSettings.SetMaxEmitterRoomAuxSends(value);\r\n }\r\n\r\n /** Returns the diffraction order applied at reflection endpoints. */\r\n @carbon.method\r\n @impl.implemented\r\n GetDiffractionOnReflectionsOrder()\r\n {\r\n return this.#spatialAudioSettings.GetDiffractionOnReflectionsOrder();\r\n }\r\n\r\n /** Sets the diffraction order applied at reflection endpoints. */\r\n @carbon.method\r\n @impl.implemented\r\n SetDiffractionOnReflectionsOrder(value)\r\n {\r\n this.#spatialAudioSettings.SetDiffractionOnReflectionsOrder(value);\r\n }\r\n\r\n /** Returns the maximum spatial-audio path length. */\r\n @carbon.method\r\n @impl.implemented\r\n GetMaxPathLength()\r\n {\r\n return this.#spatialAudioSettings.GetMaxPathLength();\r\n }\r\n\r\n /** Sets the maximum spatial-audio path length. */\r\n @carbon.method\r\n @impl.implemented\r\n SetMaxPathLength(value)\r\n {\r\n this.#spatialAudioSettings.SetMaxPathLength(value);\r\n }\r\n\r\n /** Returns the targeted spatial-audio CPU percentage. */\r\n @carbon.method\r\n @impl.implemented\r\n GetCPULimitPercentage()\r\n {\r\n return this.#spatialAudioSettings.GetCPULimitPercentage();\r\n }\r\n\r\n /** Sets the targeted spatial-audio CPU percentage. */\r\n @carbon.method\r\n @impl.implemented\r\n SetCPULimitPercentage(value)\r\n {\r\n this.#spatialAudioSettings.SetCPULimitPercentage(value);\r\n }\r\n\r\n /** Returns the spatial-audio load-balancing spread. */\r\n @carbon.method\r\n @impl.implemented\r\n GetLoadBalancingSpread()\r\n {\r\n return this.#spatialAudioSettings.GetLoadBalancingSpread();\r\n }\r\n\r\n /** Sets the spatial-audio load-balancing spread. */\r\n @carbon.method\r\n @impl.implemented\r\n SetLoadBalancingSpread(value)\r\n {\r\n this.#spatialAudioSettings.SetLoadBalancingSpread(value);\r\n }\r\n\r\n /** Returns whether geometric diffraction and transmission are enabled. */\r\n @carbon.method\r\n @impl.implemented\r\n GetEnableDiffractionAndTransmission()\r\n {\r\n return this.#spatialAudioSettings.GetEnableDiffractionAndTransmission();\r\n }\r\n\r\n /** Enables or disables geometric diffraction and transmission. */\r\n @carbon.method\r\n @impl.implemented\r\n SetEnableDiffractionAndTransmission(value)\r\n {\r\n this.#spatialAudioSettings.SetEnableDiffractionAndTransmission(value);\r\n }\r\n\r\n /** Returns whether Wwise calculates emitter virtual positions. */\r\n @carbon.method\r\n @impl.implemented\r\n GetCalcEmitterVirtualPosition()\r\n {\r\n return this.#spatialAudioSettings.GetCalcEmitterVirtualPosition();\r\n }\r\n\r\n /** Enables or disables Wwise emitter virtual-position calculation. */\r\n @carbon.method\r\n @impl.implemented\r\n SetCalcEmitterVirtualPosition(value)\r\n {\r\n this.#spatialAudioSettings.SetCalcEmitterVirtualPosition(value);\r\n }\r\n\r\n /** Returns the geometry surface transmission loss. */\r\n @carbon.method\r\n @impl.implemented\r\n GetTransmissionLoss()\r\n {\r\n return this.#spatialAudioSettings.GetTransmissionLoss();\r\n }\r\n\r\n /** Sets the geometry surface transmission loss. */\r\n @carbon.method\r\n @impl.implemented\r\n SetTransmissionLoss(value)\r\n {\r\n this.#spatialAudioSettings.SetTransmissionLoss(value);\r\n }\r\n\r\n /** Returns whether geometry diffraction is enabled. */\r\n @carbon.method\r\n @impl.implemented\r\n GetEnableDiffraction()\r\n {\r\n return this.#spatialAudioSettings.GetEnableDiffraction();\r\n }\r\n\r\n /** Enables or disables geometry diffraction. */\r\n @carbon.method\r\n @impl.implemented\r\n SetEnableDiffraction(value)\r\n {\r\n this.#spatialAudioSettings.SetEnableDiffraction(value);\r\n }\r\n\r\n /** Returns whether geometry boundary-edge diffraction is enabled. */\r\n @carbon.method\r\n @impl.implemented\r\n GetEnableDiffractionOnBoundaryEdges()\r\n {\r\n return this.#spatialAudioSettings.GetEnableDiffractionOnBoundaryEdges();\r\n }\r\n\r\n /** Enables or disables geometry boundary-edge diffraction. */\r\n @carbon.method\r\n @impl.implemented\r\n SetEnableDiffractionOnBoundaryEdges(value)\r\n {\r\n this.#spatialAudioSettings.SetEnableDiffractionOnBoundaryEdges(value);\r\n }\r\n\r\n /** Returns the one-shot opportunity window in milliseconds. */\r\n @carbon.method\r\n @impl.implemented\r\n GetOneShotWindow()\r\n {\r\n return this.soundPrioritization.GetOneShotWindow();\r\n }\r\n\r\n /** Sets the one-shot opportunity window in milliseconds. */\r\n @carbon.method\r\n @impl.implemented\r\n SetOneShotWindow(value)\r\n {\r\n this.soundPrioritization.SetOneShotWindow(value);\r\n }\r\n\r\n /** Returns the weighted playing-2D contribution. */\r\n @carbon.method\r\n @impl.implemented\r\n GetPlaying2DWeight()\r\n {\r\n return this.soundPrioritization.GetPlaying2DWeight();\r\n }\r\n\r\n /** Sets the raw playing-2D weight. */\r\n @carbon.method\r\n @impl.implemented\r\n SetPlaying2DWeight(value)\r\n {\r\n this.soundPrioritization.SetPlaying2DWeight(value);\r\n }\r\n\r\n /** Returns the weighted playing-events contribution. */\r\n @carbon.method\r\n @impl.implemented\r\n GetPlayingEventsWeight()\r\n {\r\n return this.soundPrioritization.GetPlayingEventsWeight();\r\n }\r\n\r\n /** Sets the raw playing-events weight. */\r\n @carbon.method\r\n @impl.implemented\r\n SetPlayingEventsWeight(value)\r\n {\r\n this.soundPrioritization.SetPlayingEventsWeight(value);\r\n }\r\n\r\n /** Returns the weighted vital-sound contribution. */\r\n @carbon.method\r\n @impl.implemented\r\n GetPlayingVitalSoundWeight()\r\n {\r\n return this.soundPrioritization.GetPlayingVitalSoundWeight();\r\n }\r\n\r\n /** Sets the raw vital-sound weight. */\r\n @carbon.method\r\n @impl.implemented\r\n SetPlayingVitalSoundWeight(value)\r\n {\r\n this.soundPrioritization.SetPlayingVitalSoundWeight(value);\r\n }\r\n\r\n /** Returns the weighted range contribution. */\r\n @carbon.method\r\n @impl.implemented\r\n GetRangeWeight()\r\n {\r\n return this.soundPrioritization.GetRangeWeight();\r\n }\r\n\r\n /** Sets the raw range weight. */\r\n @carbon.method\r\n @impl.implemented\r\n SetRangeWeight(value)\r\n {\r\n this.soundPrioritization.SetRangeWeight(value);\r\n }\r\n\r\n /** Returns the weighted used-emitter contribution. */\r\n @carbon.method\r\n @impl.implemented\r\n GetUsedEmitterWeight()\r\n {\r\n return this.soundPrioritization.GetUsedEmitterWeight();\r\n }\r\n\r\n /** Sets the raw used-emitter weight. */\r\n @carbon.method\r\n @impl.implemented\r\n SetUsedEmitterWeight(value)\r\n {\r\n this.soundPrioritization.SetUsedEmitterWeight(value);\r\n }\r\n\r\n /** Returns the weighted visibility contribution. */\r\n @carbon.method\r\n @impl.implemented\r\n GetVisibleWeight()\r\n {\r\n return this.soundPrioritization.GetVisibleWeight();\r\n }\r\n\r\n /** Sets the raw visibility weight. */\r\n @carbon.method\r\n @impl.implemented\r\n SetVisibleWeight(value)\r\n {\r\n this.soundPrioritization.SetVisibleWeight(value);\r\n }\r\n\r\n /** Returns the weighted waiting-one-shot contribution. */\r\n @carbon.method\r\n @impl.implemented\r\n GetWaitingOneShotWeight()\r\n {\r\n return this.soundPrioritization.GetWaitingOneShotWeight();\r\n }\r\n\r\n /** Sets the raw waiting-one-shot weight. */\r\n @carbon.method\r\n @impl.implemented\r\n SetWaitingOneShotWeight(value)\r\n {\r\n this.soundPrioritization.SetWaitingOneShotWeight(value);\r\n }\r\n\r\n /** Returns the global prioritization weight multiplier. */\r\n @carbon.method\r\n @impl.implemented\r\n GetWeightMultiplier()\r\n {\r\n return this.soundPrioritization.GetWeightMultiplier();\r\n }\r\n\r\n /** Sets the global prioritization weight multiplier. */\r\n @carbon.method\r\n @impl.implemented\r\n SetWeightMultiplier(value)\r\n {\r\n this.soundPrioritization.SetWeightMultiplier(value);\r\n }\r\n\r\n /** Returns the maximum number of awake audio objects. */\r\n @carbon.method\r\n @impl.implemented\r\n GetMaxAwakeGameObjects()\r\n {\r\n return this.soundPrioritization.GetMaxAwakeGameObjects();\r\n }\r\n\r\n /** Sets the maximum number of awake audio objects. */\r\n @carbon.method\r\n @impl.implemented\r\n SetMaxAwakeGameObjects(value)\r\n {\r\n this.soundPrioritization.SetMaxAwakeGameObjects(value);\r\n }\r\n\r\n /** Returns the non-reserved awake emitters. Source: AudManager.cpp:1247-1258 (commit c9b986d). */\r\n @carbon.method\r\n @impl.implemented\r\n GetAwakeAudioEmitters()\r\n {\r\n const result = [];\r\n\r\n this.soundPrioritization.ForEachAwakeAudioObject(gameObject =>\r\n {\r\n if (!IsReservedGameObjectID(gameObject.GetID()))\r\n {\r\n result.push(gameObject);\r\n }\r\n });\r\n return result;\r\n }\r\n\r\n /** Carbon method StopAll: every prioritized emitter stops everything. */\r\n @carbon.method\r\n @impl.implemented\r\n StopAll()\r\n {\r\n if (this.#state !== \"uninitialized\")\r\n {\r\n for (const gameObject of this.soundPrioritization.GetPrioritizedAudioObjects())\r\n {\r\n gameObject.StopAll?.();\r\n }\r\n }\r\n }\r\n\r\n /** Carbon method RegisterGameObject: callback map + prioritization registration. */\r\n @carbon.method\r\n @impl.implemented\r\n RegisterGameObject(gameObjID, gameObject)\r\n {\r\n if (!gameObject)\r\n {\r\n return;\r\n }\r\n this.#callbackGameObjects.set(gameObjID, gameObject);\r\n this.soundPrioritization.RegisterGameObject(gameObject);\r\n }\r\n\r\n /**\r\n * Carbon method UnregisterGameObject.\r\n *\r\n * Carbon's deferred bank queue owns strong AudGameObjResourcePtr entries.\r\n * Explicit JavaScript release instead purges those entries here.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon keeps deferred emitters alive through strong pointers; CarbonEngineJS explicit release must prevent a stale post after re-adoption.\")\r\n UnregisterGameObject(gameObjID)\r\n {\r\n this.soundPrioritization.UnregisterGameObject(gameObjID);\r\n this.#obstructionOcclusion.RemoveEmitter(gameObjID);\r\n for (const info of this.#soundBankInfoMap.values())\r\n {\r\n info.waitingEventsAfterLoad = info.waitingEventsAfterLoad.filter(\r\n ([ emitter ]) => emitter?.ID !== gameObjID\r\n );\r\n }\r\n }\r\n\r\n /** Carbon method RemoveCallbackGameObject. */\r\n @carbon.method\r\n @impl.implemented\r\n RemoveCallbackGameObject(gameObjID)\r\n {\r\n this.#callbackGameObjects.delete(gameObjID);\r\n }\r\n\r\n /** Carbon method GetAudioEmitter (by game-object id). */\r\n @carbon.method\r\n @impl.implemented\r\n GetAudioEmitter(gameObjID)\r\n {\r\n return this.#callbackGameObjects.get(gameObjID) ?? null;\r\n }\r\n\r\n /** Carbon method WithCallbackGameObject. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The native locked callback map is synchronous in JavaScript's single-threaded graph runtime.\")\r\n WithCallbackGameObject(gameObjID, callback)\r\n {\r\n const emitter = this.#callbackGameObjects.get(gameObjID);\r\n if (!emitter)\r\n {\r\n return false;\r\n }\r\n callback(emitter);\r\n return true;\r\n }\r\n\r\n /** Carbon debug method GetEventName. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon dereferences a missing emitter in this debug helper; the JavaScript graph returns an empty name when no emitter is registered.\")\r\n GetEventName(emitterID, playingID)\r\n {\r\n return this.GetAudioEmitter(emitterID)?.GetPlayingEvents?.().get(playingID) ?? \"\";\r\n }\r\n\r\n /** Carbon method GetListener: the fixed-id listener object. */\r\n @carbon.method\r\n @impl.implemented\r\n GetListener()\r\n {\r\n return this.GetAudioEmitter(LISTENER_GAME_OBJ_ID);\r\n }\r\n\r\n /** Carbon method RegisterParameter: watcher refcount, entry created at 1. */\r\n @carbon.method\r\n @impl.implemented\r\n RegisterParameter(name)\r\n {\r\n if (this.#state === \"uninitialized\")\r\n {\r\n return;\r\n }\r\n const entry = this.#monitoredParameters.get(String(name)) ?? { parameterValue: 0, parameterExists: false, watchers: 0 };\r\n entry.watchers++;\r\n this.#monitoredParameters.set(String(name), entry);\r\n }\r\n\r\n /** Carbon method UnregisterParameter: erased when watchers hit 0. */\r\n @carbon.method\r\n @impl.implemented\r\n UnregisterParameter(name)\r\n {\r\n if (this.#state === \"uninitialized\")\r\n {\r\n return;\r\n }\r\n const entry = this.#monitoredParameters.get(String(name));\r\n if (entry && --entry.watchers === 0)\r\n {\r\n this.#monitoredParameters.delete(String(name));\r\n }\r\n }\r\n\r\n /** Carbon method GetParameterInfo. */\r\n @carbon.method\r\n @impl.implemented\r\n GetParameterInfo(name)\r\n {\r\n return this.#monitoredParameters.get(String(name)) ?? null;\r\n }\r\n\r\n /** Carbon method UpdateMonitoredParameters: refresh every entry from the backend RTPC query. */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateMonitoredParameters()\r\n {\r\n for (const [name, entry] of this.#monitoredParameters)\r\n {\r\n const value = AudGameObjResource.backend?.GetGlobalRTPCValue?.(name);\r\n entry.parameterExists = value !== undefined && value !== null;\r\n entry.parameterValue = entry.parameterExists ? Number(value) : 0;\r\n }\r\n }\r\n\r\n /** Carbon method GetAudioCullingEnabled. */\r\n @carbon.method\r\n @impl.implemented\r\n GetAudioCullingEnabled()\r\n {\r\n this.audioCullingEnabled = this.soundPrioritization.GetAudioCullingEnabled();\r\n return this.audioCullingEnabled;\r\n }\r\n\r\n /** Carbon Blue property getter GetAudioCullingEnabledProperty. */\r\n @carbon.method\r\n @impl.implemented\r\n GetAudioCullingEnabledProperty()\r\n {\r\n return this.GetAudioCullingEnabled();\r\n }\r\n\r\n /** Carbon method Process: cull (when enabled+flagged), render, flush the log. */\r\n @carbon.method\r\n @impl.implemented\r\n Process()\r\n {\r\n if (this.#state === \"uninitialized\")\r\n {\r\n return;\r\n }\r\n if (this.#state === \"enabled\")\r\n {\r\n if (this.soundPrioritization.GetAudioCullingEnabled())\r\n {\r\n this.soundPrioritization.CullAudio();\r\n }\r\n this.#obstructionOcclusion.Update(\r\n AudGameObjResource.backend,\r\n );\r\n AudGameObjResource.backend?.RenderAudio?.();\r\n // Carbon refreshes monitored values from its end-render callback. The\r\n // portable backend has no Wwise callback thread, so Process owns the\r\n // equivalent post-render refresh.\r\n this.UpdateMonitoredParameters();\r\n }\r\n this.log?.Flush?.();\r\n }\r\n\r\n /** Carbon method UpdateSettings. */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateSettings(settings)\r\n {\r\n this.settings = settings;\r\n }\r\n\r\n /** Carbon method DisableAudioCulling: wake all objects, then disable prioritization. */\r\n @carbon.method\r\n @impl.implemented\r\n DisableAudioCulling()\r\n {\r\n for (const object of this.soundPrioritization.GetPrioritizedAudioObjects())\r\n {\r\n if (object.IsCulled?.())\r\n {\r\n object.Wake?.();\r\n }\r\n }\r\n this.soundPrioritization.DisableAudioCulling();\r\n this.audioCullingEnabled = false;\r\n }\r\n\r\n /** Carbon method EnableAudioCulling. */\r\n @carbon.method\r\n @impl.implemented\r\n EnableAudioCulling()\r\n {\r\n this.soundPrioritization.EnableAudioCulling();\r\n this.audioCullingEnabled = true;\r\n }\r\n\r\n /** Carbon debug method GetPrioritizedEmitters: defensive current-order snapshot. */\r\n @carbon.renamed(\"GetPrioritizedAudioEmitters\")\r\n @impl.adapted\r\n @impl.reason(\"Carbon returns SoundPrioritization's current debug list; CarbonEngineJS returns a defensive array of the same current order.\")\r\n GetPrioritizedEmitters()\r\n {\r\n return this.soundPrioritization.GetPrioritizedAudioObjects();\r\n }\r\n\r\n /** Carbon debug flag; renderer consumption remains optional. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon's native debug renderer reads a global flag; CarbonEngineJS retains the flag for an injected renderer.\")\r\n EnableDebugDisplayAllEmitters()\r\n {\r\n this.#debugDisplayAllEmitters = true;\r\n }\r\n\r\n /** Carbon debug flag; renderer consumption remains optional. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon's native debug renderer reads a global flag; CarbonEngineJS retains the flag for an injected renderer.\")\r\n DisableDebugDisplayAllEmitters()\r\n {\r\n this.#debugDisplayAllEmitters = false;\r\n }\r\n\r\n /** Carbon debug flag query. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The value is available to browser renderers even though the audio layer does not draw debug geometry.\")\r\n GetDebugDisplayAllEmitters()\r\n {\r\n return this.#debugDisplayAllEmitters;\r\n }\r\n\r\n /** Native Wwise output-device replacement has no WebAudio equivalent. */\r\n @carbon.method\r\n @impl.notSupported\r\n EnableSpatialAudio()\r\n {\r\n return false;\r\n }\r\n\r\n /** Native Wwise output-device replacement has no WebAudio equivalent. */\r\n @carbon.method\r\n @impl.notSupported\r\n DisableSpatialAudio()\r\n {\r\n return false;\r\n }\r\n\r\n /** OS/Wwise spatial-output support cannot be inferred from a WebAudio panner. */\r\n @carbon.method\r\n @impl.notSupported\r\n SpatialAudioIsSupported()\r\n {\r\n return false;\r\n }\r\n\r\n /** Native audio-device callbacks have no owned browser equivalent. */\r\n @carbon.method\r\n @impl.notSupported\r\n RegisterAudioDeviceChangeCallback(callback)\r\n {\r\n return false;\r\n }\r\n\r\n /** Native Wwise profiler capture is unavailable in WebAudio. */\r\n @carbon.method\r\n @impl.notSupported\r\n StartProfilerCapture()\r\n {\r\n return false;\r\n }\r\n\r\n /** Native Wwise profiler capture is unavailable in WebAudio. */\r\n @carbon.method\r\n @impl.notSupported\r\n StopProfilerCapture()\r\n {\r\n return false;\r\n }\r\n\r\n /** Native Wwise profiler capture is unavailable in WebAudio. */\r\n @carbon.method\r\n @impl.notSupported\r\n IsProfilerCapturing()\r\n {\r\n return false;\r\n }\r\n\r\n /** Carbon method ResetCullingSettings. */\r\n @carbon.method\r\n @impl.implemented\r\n ResetCullingSettings()\r\n {\r\n this.soundPrioritization.ResetCullingSettings();\r\n }\r\n\r\n}\r\n"],"names":["BankKey","name","text","String","dot","indexOf","slice","_AudManager","AudManager","CjsModel","e","_init_log","_init_extra_log","_init_audioCullingEnabled","_init_extra_audioCullingEnabled","_init_spatialAudioEnabled","_init_extra_spatialAudioEnabled","_init_settings","_init_extra_settings","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","readwrite","objectRef","read","boolean","impl","adapted","reason","persist","model","carbon","method","implemented","renamed","notSupported","log","audioCullingEnabled","spatialAudioEnabled","settings","Map","SpatialAudioSettings","WeakSet","AudObstructionOcclusion","soundPrioritization","SoundPrioritization","enabled","GetState","GetStateValue","Enable","soundBanksToLoad","backend","AudGameObjResource","repository","staticDataRepository","IsInitialized","Init","GetSpatialAudioGeometryEnabled","LoadBank","bank","gameObject","GetPrioritizedAudioObjects","Wake","Disable","Cull","ClearBanks","Reset","AudGeometry","ClearAllGeometry","key","status","GetSoundBankStatus","operation","set","soundBankStatus","soundBankID","soundBankName","waitingEventsAfterLoad","loaded","get","UpdateSoundBankStatus","UnloadBank","info","delete","clear","bankID","emitter","eventName","PostEvent","length","RegisterEventAfterSoundBankLoad","values","push","byKey","GetLoadedSoundBanks","names","SetGlobalRTPC","rtpcName","value","SetGlobalRTPCValue","LogSetRTPC","SetState","stateGroup","stateName","SetGlobalState","LogSetState","LogPostEvent","emitterID","playID","eventID","LogExecuteActionOnPlayingID","action","LogSetSwitch","group","state","SetEmitterLineOfSightBlockage","blockage","GetEmitterOcclusion","ClearObstructionOcclusion","ClearAll","GetObstructionOcclusionEnabled","IsEnabled","SetObstructionOcclusionEnabled","SetEnabled","GetObstructionOcclusionFadeRate","GetFadeRate","SetObstructionOcclusionFadeRate","SetFadeRate","SetSpatialAudioGeometryEnabled","Boolean","#InitSpatialAudioGeometry","has","PopulateInitSettings","InitSpatialAudioGeometry","add","GetMovementThreshold","SetMovementThreshold","GetNumberOfPrimaryRays","SetNumberOfPrimaryRays","GetMaxReflectionOrder","SetMaxReflectionOrder","GetMaxDiffractionOrder","SetMaxDiffractionOrder","GetMaxEmitterRoomAuxSends","SetMaxEmitterRoomAuxSends","GetDiffractionOnReflectionsOrder","SetDiffractionOnReflectionsOrder","GetMaxPathLength","SetMaxPathLength","GetCPULimitPercentage","SetCPULimitPercentage","GetLoadBalancingSpread","SetLoadBalancingSpread","GetEnableDiffractionAndTransmission","SetEnableDiffractionAndTransmission","GetCalcEmitterVirtualPosition","SetCalcEmitterVirtualPosition","GetTransmissionLoss","SetTransmissionLoss","GetEnableDiffraction","SetEnableDiffraction","GetEnableDiffractionOnBoundaryEdges","SetEnableDiffractionOnBoundaryEdges","GetOneShotWindow","SetOneShotWindow","GetPlaying2DWeight","SetPlaying2DWeight","GetPlayingEventsWeight","SetPlayingEventsWeight","GetPlayingVitalSoundWeight","SetPlayingVitalSoundWeight","GetRangeWeight","SetRangeWeight","GetUsedEmitterWeight","SetUsedEmitterWeight","GetVisibleWeight","SetVisibleWeight","GetWaitingOneShotWeight","SetWaitingOneShotWeight","GetWeightMultiplier","SetWeightMultiplier","GetMaxAwakeGameObjects","SetMaxAwakeGameObjects","GetAwakeAudioEmitters","result","ForEachAwakeAudioObject","IsReservedGameObjectID","GetID","StopAll","RegisterGameObject","gameObjID","UnregisterGameObject","RemoveEmitter","filter","ID","RemoveCallbackGameObject","GetAudioEmitter","WithCallbackGameObject","callback","GetEventName","playingID","GetPlayingEvents","GetListener","LISTENER_GAME_OBJ_ID","RegisterParameter","entry","parameterValue","parameterExists","watchers","UnregisterParameter","GetParameterInfo","UpdateMonitoredParameters","GetGlobalRTPCValue","undefined","Number","GetAudioCullingEnabled","GetAudioCullingEnabledProperty","Process","CullAudio","Update","RenderAudio","Flush","UpdateSettings","DisableAudioCulling","object","IsCulled","EnableAudioCulling","GetPrioritizedEmitters","EnableDebugDisplayAllEmitters","DisableDebugDisplayAllEmitters","GetDebugDisplayAllEmitters","EnableSpatialAudio","DisableSpatialAudio","SpatialAudioIsSupported","RegisterAudioDeviceChangeCallback","StartProfilerCapture","StopProfilerCapture","IsProfilerCapturing","ResetCullingSettings"],"mappings":"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"}
1
+ {"version":3,"file":"AudManager.js","sources":["../../../../../src/audio/trinity/audio/AudManager.js"],"sourcesContent":["// Source: audio/src/AudManager.h + AudManager.cpp\r\n// Hand-owned since 2026-07-18 (behavior port); the generator skips this file.\r\n// Verify against audio/AudManager.json.\r\n//\r\n// Headless behavior port of the lifecycle/bank state machine. Wwise engine\r\n// init, RenderAudio, and device concerns route through the backend seam\r\n// (AudGameObjResource.backend); state, bank tracking, deferred-event flush,\r\n// monitored-parameter refcounts, and prioritization wiring are pure logic.\r\nimport { carbon, impl, io, type } from \"#schema\";\r\nimport { CjsModel } from \"#model\";\r\nimport { AudGameObjResource } from \"./AudGameObjResource.js\";\r\nimport { AudGeometry } from \"./AudGeometry.js\";\r\nimport { AudObstructionOcclusion } from \"./AudObstructionOcclusion/index.js\";\r\nimport { IsReservedGameObjectID, LISTENER_GAME_OBJ_ID, SoundPrioritization } from \"./SoundPrioritization.js\";\r\nimport { SpatialAudioSettings } from \"./SpatialAudioSettings.js\";\r\n\r\n// C++ ComputeWwiseHashForSoundBank strips from the first \".\" then hashes via\r\n// AK GetIDFromString; headless we key by the stripped name (adapted - the\r\n// numeric hash only matters to Wwise).\r\nfunction BankKey(name)\r\n{\r\n const text = String(name);\r\n const dot = text.indexOf(\".\");\r\n return dot === -1 ? text : text.slice(0, dot);\r\n}\r\n\r\n/** AudManager (audio) - engine lifecycle, banks, global controls, culling, and caller-supplied obstruction/occlusion. */\r\n@type.define({ className: \"AudManager\", family: \"audio\" })\r\nexport class AudManager extends CjsModel\r\n{\r\n\r\n /** m_log (IAudActionLogPtr) [READWRITE] */\r\n @io.readwrite\r\n @type.objectRef(\"IAudActionLog\")\r\n log = null;\r\n\r\n /** m_audioCullingEnabled (mutable bool) [READ] */\r\n @io.read\r\n @type.boolean\r\n audioCullingEnabled = true;\r\n\r\n /** m_spatialAudioEnabled (bool) [READ] */\r\n @io.read\r\n @type.boolean\r\n spatialAudioEnabled = true;\r\n\r\n /** m_settings (AudSettingsPtr) [AUTHORED] */\r\n @impl.adapted\r\n @impl.reason(\"Carbon supplies this via UpdateSettings() outside Blue serialization; CarbonEngineJS persists it for values interchange.\")\r\n @io.persist\r\n @type.model(\"AudSettings\")\r\n settings = null;\r\n\r\n // AudioState (Uninitialized/Disabled/Enabled) as lowercase strings;\r\n // GetStateValue preserves Carbon's 0/1/2.\r\n #state = \"uninitialized\";\r\n\r\n #soundBankInfoMap = new Map();\r\n\r\n #nextSoundBankOperation = 1;\r\n\r\n #monitoredParameters = new Map();\r\n\r\n #callbackGameObjects = new Map();\r\n\r\n #debugDisplayAllEmitters = false;\r\n\r\n #spatialAudioSettings = new SpatialAudioSettings();\r\n\r\n #spatialAudioGeometryBackends = new WeakSet();\r\n\r\n #obstructionOcclusion = new AudObstructionOcclusion(this);\r\n\r\n // CarbonEngineJS-original: the prioritization is a public collaborator so\r\n // emitters can read weights directly (see AudGameObjResource notes).\r\n soundPrioritization = new SoundPrioritization();\r\n\r\n /** Enabled convenience over the Carbon state (the guard emitters check). */\r\n get enabled()\r\n {\r\n return this.#state === \"enabled\";\r\n }\r\n\r\n /** Carbon method GetState. */\r\n @carbon.method\r\n @impl.implemented\r\n GetState()\r\n {\r\n return this.#state;\r\n }\r\n\r\n /** Carbon method GetStateValue: Carbon's scripting int (0/1/2). */\r\n @carbon.renamed(\"GetState\")\r\n @impl.implemented\r\n GetStateValue()\r\n {\r\n return this.#state === \"uninitialized\" ? 0 : this.#state === \"disabled\" ? 1 : 2;\r\n }\r\n\r\n /** Carbon method Enable: init if needed, enable, load Init.bnk + requested banks, wake everything. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Wwise memory/stream/sound initialization is the backend's Init, while pre-enabled geometry uses optional InitSpatialAudioGeometry with Carbon's populated settings. The state machine, failure gate, bank loads, and wake pass follow audio/src/AudManager.cpp:148-180 and 848-881.\")\r\n Enable(soundBanksToLoad = [])\r\n {\r\n if (this.#state === \"enabled\")\r\n {\r\n return;\r\n }\r\n const backend = AudGameObjResource.backend;\r\n if (this.#state === \"uninitialized\")\r\n {\r\n const repository = AudGameObjResource.staticDataRepository;\r\n if (!repository?.IsInitialized())\r\n {\r\n return;\r\n }\r\n // The backend seam is the sound engine: absent, or an Init that\r\n // explicitly fails, means Carbon's Init() failure - stay un-enabled.\r\n // A backend without an Init method counts as initialized.\r\n if (!backend || backend.Init?.(this.settings) === false)\r\n {\r\n return;\r\n }\r\n }\r\n if (!backend)\r\n {\r\n return;\r\n }\r\n if (this.GetSpatialAudioGeometryEnabled()\r\n && !this.#InitSpatialAudioGeometry(backend))\r\n {\r\n return;\r\n }\r\n if (this.#state === \"uninitialized\")\r\n {\r\n this.#state = \"disabled\";\r\n }\r\n this.#state = \"enabled\";\r\n this.LoadBank(\"Init.bnk\");\r\n for (const bank of soundBanksToLoad)\r\n {\r\n this.LoadBank(bank);\r\n }\r\n for (const gameObject of this.soundPrioritization.GetPrioritizedAudioObjects())\r\n {\r\n gameObject.Wake();\r\n }\r\n }\r\n\r\n /** Carbon method Disable: cull everything, clear banks, drop to disabled (engine stays initialized). */\r\n @carbon.method\r\n @impl.implemented\r\n Disable()\r\n {\r\n if (this.#state !== \"enabled\")\r\n {\r\n return;\r\n }\r\n for (const gameObject of this.soundPrioritization.GetPrioritizedAudioObjects())\r\n {\r\n gameObject.Cull();\r\n }\r\n this.ClearBanks();\r\n this.#obstructionOcclusion.Reset();\r\n AudGeometry.ClearAllGeometry();\r\n this.#state = \"disabled\";\r\n }\r\n\r\n /** Carbon method LoadBank: async - tracked LOADING immediately; backend callback drives LOADED. */\r\n @carbon.method\r\n @impl.implemented\r\n LoadBank(name)\r\n {\r\n if (this.#state !== \"enabled\")\r\n {\r\n return;\r\n }\r\n const key = BankKey(name);\r\n const status = this.GetSoundBankStatus(name);\r\n if (status === \"loaded\" || status === \"loading\")\r\n {\r\n return;\r\n }\r\n const operation = this.#nextSoundBankOperation++;\r\n this.#soundBankInfoMap.set(key, {\r\n soundBankStatus: \"loading\",\r\n soundBankID: key,\r\n soundBankName: String(name),\r\n waitingEventsAfterLoad: [],\r\n operation\r\n });\r\n AudGameObjResource.backend?.LoadBank?.(String(name), loaded =>\r\n {\r\n if (this.#soundBankInfoMap.get(key)?.operation === operation)\r\n {\r\n this.UpdateSoundBankStatus(\r\n key,\r\n loaded ? \"loaded\" : \"not_loaded\"\r\n );\r\n }\r\n });\r\n }\r\n\r\n /** Carbon method UnloadBank. */\r\n @carbon.method\r\n @impl.implemented\r\n UnloadBank(name)\r\n {\r\n if (this.#state !== \"enabled\")\r\n {\r\n return;\r\n }\r\n const key = BankKey(name);\r\n const status = this.GetSoundBankStatus(name);\r\n if (status === \"not_loaded\" || status === \"unloading\")\r\n {\r\n return;\r\n }\r\n const operation = this.#nextSoundBankOperation++;\r\n const info = this.#soundBankInfoMap.get(key);\r\n\r\n info.operation = operation;\r\n this.UpdateSoundBankStatus(key, \"unloading\");\r\n AudGameObjResource.backend?.UnloadBank?.(String(name), () =>\r\n {\r\n if (this.#soundBankInfoMap.get(key)?.operation === operation)\r\n {\r\n this.#soundBankInfoMap.delete(key);\r\n }\r\n });\r\n }\r\n\r\n /** Carbon method ClearBanks. */\r\n @carbon.method\r\n @impl.implemented\r\n ClearBanks()\r\n {\r\n if (this.#state !== \"uninitialized\")\r\n {\r\n AudGameObjResource.backend?.ClearBanks?.();\r\n this.#soundBankInfoMap.clear();\r\n }\r\n }\r\n\r\n // The deferred-event flush: waiting events fire with bypassPrefix=true\r\n // exactly on the transition to LOADED, then the queue clears.\r\n /** Carbon method UpdateSoundBankStatus. */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateSoundBankStatus(bankID, status)\r\n {\r\n const info = this.#soundBankInfoMap.get(bankID);\r\n if (!info)\r\n {\r\n return;\r\n }\r\n info.soundBankStatus = status;\r\n if (status === \"loaded\")\r\n {\r\n for (const [emitter, eventName] of info.waitingEventsAfterLoad)\r\n {\r\n emitter?.PostEvent(eventName, true);\r\n }\r\n info.waitingEventsAfterLoad.length = 0;\r\n }\r\n }\r\n\r\n /** Carbon method RegisterEventAfterSoundBankLoad: queue an event on a LOADING bank (matched by name). */\r\n @carbon.method\r\n @impl.implemented\r\n RegisterEventAfterSoundBankLoad(soundBankName, eventName, emitter)\r\n {\r\n for (const info of this.#soundBankInfoMap.values())\r\n {\r\n if (info.soundBankName === String(soundBankName))\r\n {\r\n info.waitingEventsAfterLoad.push([emitter, String(eventName)]);\r\n }\r\n }\r\n }\r\n\r\n /** Carbon method GetSoundBankStatus: by name or key; \"not_loaded\" when unknown. */\r\n @carbon.method\r\n @impl.implemented\r\n GetSoundBankStatus(name)\r\n {\r\n const byKey = this.#soundBankInfoMap.get(BankKey(name));\r\n if (byKey)\r\n {\r\n return byKey.soundBankStatus;\r\n }\r\n for (const info of this.#soundBankInfoMap.values())\r\n {\r\n if (info.soundBankName === String(name))\r\n {\r\n return info.soundBankStatus;\r\n }\r\n }\r\n return \"not_loaded\";\r\n }\r\n\r\n /** Carbon method GetLoadedSoundBanks: names with status loaded OR loading (Carbon counts both). */\r\n @carbon.method\r\n @impl.implemented\r\n GetLoadedSoundBanks()\r\n {\r\n const names = [];\r\n for (const info of this.#soundBankInfoMap.values())\r\n {\r\n if (info.soundBankStatus === \"loaded\" || info.soundBankStatus === \"loading\")\r\n {\r\n names.push(info.soundBankName);\r\n }\r\n }\r\n return names;\r\n }\r\n\r\n /** Carbon method SetGlobalRTPC: pure backend passthrough, enabled-gated, no caching. */\r\n @carbon.method\r\n @impl.implemented\r\n SetGlobalRTPC(rtpcName, value)\r\n {\r\n if (this.#state !== \"enabled\")\r\n {\r\n return false;\r\n }\r\n if (AudGameObjResource.backend?.SetGlobalRTPCValue?.(rtpcName, value) === false)\r\n {\r\n return false;\r\n }\r\n this.LogSetRTPC(0, rtpcName, value);\r\n return true;\r\n }\r\n\r\n /** Carbon method SetState (global state group): passthrough, enabled-gated. */\r\n @carbon.method\r\n @impl.implemented\r\n SetState(stateGroup, stateName)\r\n {\r\n if (this.#state !== \"enabled\")\r\n {\r\n return false;\r\n }\r\n AudGameObjResource.backend?.SetGlobalState?.(stateGroup, stateName);\r\n this.LogSetState(stateGroup, stateName);\r\n return true;\r\n }\r\n\r\n /** Carbon method LogPostEvent. */\r\n @carbon.method\r\n @impl.implemented\r\n LogPostEvent(emitterID, playID, eventID, name)\r\n {\r\n this.log?.LogPostEvent?.(emitterID, playID, eventID, name);\r\n }\r\n\r\n /** Carbon method LogExecuteActionOnPlayingID. */\r\n @carbon.method\r\n @impl.implemented\r\n LogExecuteActionOnPlayingID(emitterID, playID, action)\r\n {\r\n this.log?.LogExecuteActionOnPlayingID?.(emitterID, playID, action);\r\n }\r\n\r\n /** Carbon method LogSetSwitch. */\r\n @carbon.method\r\n @impl.implemented\r\n LogSetSwitch(emitterID, group, state)\r\n {\r\n this.log?.LogSetSwitch?.(emitterID, group, state);\r\n }\r\n\r\n /** Carbon method LogSetState. */\r\n @carbon.method\r\n @impl.implemented\r\n LogSetState(group, state)\r\n {\r\n this.log?.LogSetState?.(group, state);\r\n }\r\n\r\n /** Carbon method LogSetRTPC. */\r\n @carbon.method\r\n @impl.implemented\r\n LogSetRTPC(emitterID, name, value, playID = 0)\r\n {\r\n this.log?.LogSetRTPC?.(emitterID, name, value, playID);\r\n }\r\n\r\n /** Carbon method GetSpatialAudioGeometryEnabled. */\r\n @carbon.method\r\n @impl.implemented\r\n GetSpatialAudioGeometryEnabled()\r\n {\r\n return this.#spatialAudioSettings.GetSpatialAudioGeometryEnabled();\r\n }\r\n\r\n /** Carbon method SetEmitterLineOfSightBlockage: stores a caller-computed blockage target. */\r\n @carbon.method\r\n @impl.implemented\r\n SetEmitterLineOfSightBlockage(emitterID, blockage)\r\n {\r\n return this.#obstructionOcclusion.SetEmitterLineOfSightBlockage(\r\n emitterID,\r\n blockage,\r\n );\r\n }\r\n\r\n /** Carbon method GetEmitterOcclusion: returns the live, mid-fade value. */\r\n @carbon.method\r\n @impl.implemented\r\n GetEmitterOcclusion(emitterID)\r\n {\r\n return this.#obstructionOcclusion.GetEmitterOcclusion(emitterID);\r\n }\r\n\r\n /** Carbon method ClearObstructionOcclusion: fades every target to clear. */\r\n @carbon.method\r\n @impl.implemented\r\n ClearObstructionOcclusion()\r\n {\r\n this.#obstructionOcclusion.ClearAll();\r\n }\r\n\r\n /** Carbon Blue property getter for game-driven obstruction/occlusion. */\r\n @carbon.method\r\n @impl.implemented\r\n GetObstructionOcclusionEnabled()\r\n {\r\n return this.#obstructionOcclusion.IsEnabled();\r\n }\r\n\r\n /** Carbon Blue property setter for game-driven obstruction/occlusion. */\r\n @carbon.method\r\n @impl.implemented\r\n SetObstructionOcclusionEnabled(value)\r\n {\r\n this.#obstructionOcclusion.SetEnabled(value);\r\n }\r\n\r\n /** Carbon Blue property getter for the obstruction/occlusion fade rate. */\r\n @carbon.method\r\n @impl.implemented\r\n GetObstructionOcclusionFadeRate()\r\n {\r\n return this.#obstructionOcclusion.GetFadeRate();\r\n }\r\n\r\n /** Carbon Blue property setter for the obstruction/occlusion fade rate. */\r\n @carbon.method\r\n @impl.implemented\r\n SetObstructionOcclusionFadeRate(value)\r\n {\r\n this.#obstructionOcclusion.SetFadeRate(value);\r\n }\r\n\r\n /** Carbon method SetSpatialAudioGeometryEnabled. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Browser backends may expose InitSpatialAudioGeometry; the setting and geometry lifecycle remain available even though WebAudio has no native diffraction engine.\")\r\n SetSpatialAudioGeometryEnabled(enabled)\r\n {\r\n const value = Boolean(enabled);\r\n if (this.GetSpatialAudioGeometryEnabled() === value)\r\n {\r\n return;\r\n }\r\n if (this.#state !== \"enabled\")\r\n {\r\n this.#spatialAudioSettings.SetSpatialAudioGeometryEnabled(value);\r\n return;\r\n }\r\n if (!value)\r\n {\r\n this.#spatialAudioSettings.SetSpatialAudioGeometryEnabled(false);\r\n AudGeometry.ClearAllGeometry();\r\n return;\r\n }\r\n if (!this.#InitSpatialAudioGeometry(AudGameObjResource.backend))\r\n {\r\n return;\r\n }\r\n this.#spatialAudioSettings.SetSpatialAudioGeometryEnabled(true);\r\n }\r\n\r\n /**\r\n * Initializes geometry once for each browser backend lifetime.\r\n * Carbon retains the equivalent flag across Disable but resets it when the\r\n * sound engine terminates; backend identity supplies that boundary here.\r\n */\r\n #InitSpatialAudioGeometry(backend)\r\n {\r\n if (!backend\r\n || (typeof backend !== \"object\" && typeof backend !== \"function\"))\r\n {\r\n return false;\r\n }\r\n if (this.#spatialAudioGeometryBackends.has(backend))\r\n {\r\n return true;\r\n }\r\n\r\n const settings = this.#spatialAudioSettings.PopulateInitSettings({});\r\n\r\n if (backend.InitSpatialAudioGeometry?.(settings) === false)\r\n {\r\n return false;\r\n }\r\n this.#spatialAudioGeometryBackends.add(backend);\r\n return true;\r\n }\r\n\r\n /** Returns the spatial-audio movement threshold. */\r\n @carbon.method\r\n @impl.implemented\r\n GetMovementThreshold()\r\n {\r\n return this.#spatialAudioSettings.GetMovementThreshold();\r\n }\r\n\r\n /** Sets the spatial-audio movement threshold. */\r\n @carbon.method\r\n @impl.implemented\r\n SetMovementThreshold(value)\r\n {\r\n this.#spatialAudioSettings.SetMovementThreshold(value);\r\n }\r\n\r\n /** Returns the maximum number of primary spatial-audio rays. */\r\n @carbon.method\r\n @impl.implemented\r\n GetNumberOfPrimaryRays()\r\n {\r\n return this.#spatialAudioSettings.GetNumberOfPrimaryRays();\r\n }\r\n\r\n /** Sets the maximum number of primary spatial-audio rays. */\r\n @carbon.method\r\n @impl.implemented\r\n SetNumberOfPrimaryRays(value)\r\n {\r\n this.#spatialAudioSettings.SetNumberOfPrimaryRays(value);\r\n }\r\n\r\n /** Returns the maximum reflection order. */\r\n @carbon.method\r\n @impl.implemented\r\n GetMaxReflectionOrder()\r\n {\r\n return this.#spatialAudioSettings.GetMaxReflectionOrder();\r\n }\r\n\r\n /** Sets the maximum reflection order. */\r\n @carbon.method\r\n @impl.implemented\r\n SetMaxReflectionOrder(value)\r\n {\r\n this.#spatialAudioSettings.SetMaxReflectionOrder(value);\r\n }\r\n\r\n /** Returns the maximum diffraction order. */\r\n @carbon.method\r\n @impl.implemented\r\n GetMaxDiffractionOrder()\r\n {\r\n return this.#spatialAudioSettings.GetMaxDiffractionOrder();\r\n }\r\n\r\n /** Sets the maximum diffraction order. */\r\n @carbon.method\r\n @impl.implemented\r\n SetMaxDiffractionOrder(value)\r\n {\r\n this.#spatialAudioSettings.SetMaxDiffractionOrder(value);\r\n }\r\n\r\n /** Returns the maximum number of emitter room auxiliary sends. */\r\n @carbon.method\r\n @impl.implemented\r\n GetMaxEmitterRoomAuxSends()\r\n {\r\n return this.#spatialAudioSettings.GetMaxEmitterRoomAuxSends();\r\n }\r\n\r\n /** Sets the maximum number of emitter room auxiliary sends. */\r\n @carbon.method\r\n @impl.implemented\r\n SetMaxEmitterRoomAuxSends(value)\r\n {\r\n this.#spatialAudioSettings.SetMaxEmitterRoomAuxSends(value);\r\n }\r\n\r\n /** Returns the diffraction order applied at reflection endpoints. */\r\n @carbon.method\r\n @impl.implemented\r\n GetDiffractionOnReflectionsOrder()\r\n {\r\n return this.#spatialAudioSettings.GetDiffractionOnReflectionsOrder();\r\n }\r\n\r\n /** Sets the diffraction order applied at reflection endpoints. */\r\n @carbon.method\r\n @impl.implemented\r\n SetDiffractionOnReflectionsOrder(value)\r\n {\r\n this.#spatialAudioSettings.SetDiffractionOnReflectionsOrder(value);\r\n }\r\n\r\n /** Returns the maximum spatial-audio path length. */\r\n @carbon.method\r\n @impl.implemented\r\n GetMaxPathLength()\r\n {\r\n return this.#spatialAudioSettings.GetMaxPathLength();\r\n }\r\n\r\n /** Sets the maximum spatial-audio path length. */\r\n @carbon.method\r\n @impl.implemented\r\n SetMaxPathLength(value)\r\n {\r\n this.#spatialAudioSettings.SetMaxPathLength(value);\r\n }\r\n\r\n /** Returns the targeted spatial-audio CPU percentage. */\r\n @carbon.method\r\n @impl.implemented\r\n GetCPULimitPercentage()\r\n {\r\n return this.#spatialAudioSettings.GetCPULimitPercentage();\r\n }\r\n\r\n /** Sets the targeted spatial-audio CPU percentage. */\r\n @carbon.method\r\n @impl.implemented\r\n SetCPULimitPercentage(value)\r\n {\r\n this.#spatialAudioSettings.SetCPULimitPercentage(value);\r\n }\r\n\r\n /** Returns the spatial-audio load-balancing spread. */\r\n @carbon.method\r\n @impl.implemented\r\n GetLoadBalancingSpread()\r\n {\r\n return this.#spatialAudioSettings.GetLoadBalancingSpread();\r\n }\r\n\r\n /** Sets the spatial-audio load-balancing spread. */\r\n @carbon.method\r\n @impl.implemented\r\n SetLoadBalancingSpread(value)\r\n {\r\n this.#spatialAudioSettings.SetLoadBalancingSpread(value);\r\n }\r\n\r\n /** Returns whether geometric diffraction and transmission are enabled. */\r\n @carbon.method\r\n @impl.implemented\r\n GetEnableDiffractionAndTransmission()\r\n {\r\n return this.#spatialAudioSettings.GetEnableDiffractionAndTransmission();\r\n }\r\n\r\n /** Enables or disables geometric diffraction and transmission. */\r\n @carbon.method\r\n @impl.implemented\r\n SetEnableDiffractionAndTransmission(value)\r\n {\r\n this.#spatialAudioSettings.SetEnableDiffractionAndTransmission(value);\r\n }\r\n\r\n /** Returns whether Wwise calculates emitter virtual positions. */\r\n @carbon.method\r\n @impl.implemented\r\n GetCalcEmitterVirtualPosition()\r\n {\r\n return this.#spatialAudioSettings.GetCalcEmitterVirtualPosition();\r\n }\r\n\r\n /** Enables or disables Wwise emitter virtual-position calculation. */\r\n @carbon.method\r\n @impl.implemented\r\n SetCalcEmitterVirtualPosition(value)\r\n {\r\n this.#spatialAudioSettings.SetCalcEmitterVirtualPosition(value);\r\n }\r\n\r\n /** Returns the geometry surface transmission loss. */\r\n @carbon.method\r\n @impl.implemented\r\n GetTransmissionLoss()\r\n {\r\n return this.#spatialAudioSettings.GetTransmissionLoss();\r\n }\r\n\r\n /** Sets the geometry surface transmission loss. */\r\n @carbon.method\r\n @impl.implemented\r\n SetTransmissionLoss(value)\r\n {\r\n this.#spatialAudioSettings.SetTransmissionLoss(value);\r\n }\r\n\r\n /** Returns whether geometry diffraction is enabled. */\r\n @carbon.method\r\n @impl.implemented\r\n GetEnableDiffraction()\r\n {\r\n return this.#spatialAudioSettings.GetEnableDiffraction();\r\n }\r\n\r\n /** Enables or disables geometry diffraction. */\r\n @carbon.method\r\n @impl.implemented\r\n SetEnableDiffraction(value)\r\n {\r\n this.#spatialAudioSettings.SetEnableDiffraction(value);\r\n }\r\n\r\n /** Returns whether geometry boundary-edge diffraction is enabled. */\r\n @carbon.method\r\n @impl.implemented\r\n GetEnableDiffractionOnBoundaryEdges()\r\n {\r\n return this.#spatialAudioSettings.GetEnableDiffractionOnBoundaryEdges();\r\n }\r\n\r\n /** Enables or disables geometry boundary-edge diffraction. */\r\n @carbon.method\r\n @impl.implemented\r\n SetEnableDiffractionOnBoundaryEdges(value)\r\n {\r\n this.#spatialAudioSettings.SetEnableDiffractionOnBoundaryEdges(value);\r\n }\r\n\r\n /** Returns the one-shot opportunity window in milliseconds. */\r\n @carbon.method\r\n @impl.implemented\r\n GetOneShotWindow()\r\n {\r\n return this.soundPrioritization.GetOneShotWindow();\r\n }\r\n\r\n /** Sets the one-shot opportunity window in milliseconds. */\r\n @carbon.method\r\n @impl.implemented\r\n SetOneShotWindow(value)\r\n {\r\n this.soundPrioritization.SetOneShotWindow(value);\r\n }\r\n\r\n /** Returns the weighted playing-2D contribution. */\r\n @carbon.method\r\n @impl.implemented\r\n GetPlaying2DWeight()\r\n {\r\n return this.soundPrioritization.GetPlaying2DWeight();\r\n }\r\n\r\n /** Sets the raw playing-2D weight. */\r\n @carbon.method\r\n @impl.implemented\r\n SetPlaying2DWeight(value)\r\n {\r\n this.soundPrioritization.SetPlaying2DWeight(value);\r\n }\r\n\r\n /** Returns the weighted playing-events contribution. */\r\n @carbon.method\r\n @impl.implemented\r\n GetPlayingEventsWeight()\r\n {\r\n return this.soundPrioritization.GetPlayingEventsWeight();\r\n }\r\n\r\n /** Sets the raw playing-events weight. */\r\n @carbon.method\r\n @impl.implemented\r\n SetPlayingEventsWeight(value)\r\n {\r\n this.soundPrioritization.SetPlayingEventsWeight(value);\r\n }\r\n\r\n /** Returns the weighted vital-sound contribution. */\r\n @carbon.method\r\n @impl.implemented\r\n GetPlayingVitalSoundWeight()\r\n {\r\n return this.soundPrioritization.GetPlayingVitalSoundWeight();\r\n }\r\n\r\n /** Sets the raw vital-sound weight. */\r\n @carbon.method\r\n @impl.implemented\r\n SetPlayingVitalSoundWeight(value)\r\n {\r\n this.soundPrioritization.SetPlayingVitalSoundWeight(value);\r\n }\r\n\r\n /** Returns the weighted range contribution. */\r\n @carbon.method\r\n @impl.implemented\r\n GetRangeWeight()\r\n {\r\n return this.soundPrioritization.GetRangeWeight();\r\n }\r\n\r\n /** Sets the raw range weight. */\r\n @carbon.method\r\n @impl.implemented\r\n SetRangeWeight(value)\r\n {\r\n this.soundPrioritization.SetRangeWeight(value);\r\n }\r\n\r\n /** Returns the weighted used-emitter contribution. */\r\n @carbon.method\r\n @impl.implemented\r\n GetUsedEmitterWeight()\r\n {\r\n return this.soundPrioritization.GetUsedEmitterWeight();\r\n }\r\n\r\n /** Sets the raw used-emitter weight. */\r\n @carbon.method\r\n @impl.implemented\r\n SetUsedEmitterWeight(value)\r\n {\r\n this.soundPrioritization.SetUsedEmitterWeight(value);\r\n }\r\n\r\n /** Returns the weighted visibility contribution. */\r\n @carbon.method\r\n @impl.implemented\r\n GetVisibleWeight()\r\n {\r\n return this.soundPrioritization.GetVisibleWeight();\r\n }\r\n\r\n /** Sets the raw visibility weight. */\r\n @carbon.method\r\n @impl.implemented\r\n SetVisibleWeight(value)\r\n {\r\n this.soundPrioritization.SetVisibleWeight(value);\r\n }\r\n\r\n /** Returns the weighted waiting-one-shot contribution. */\r\n @carbon.method\r\n @impl.implemented\r\n GetWaitingOneShotWeight()\r\n {\r\n return this.soundPrioritization.GetWaitingOneShotWeight();\r\n }\r\n\r\n /** Sets the raw waiting-one-shot weight. */\r\n @carbon.method\r\n @impl.implemented\r\n SetWaitingOneShotWeight(value)\r\n {\r\n this.soundPrioritization.SetWaitingOneShotWeight(value);\r\n }\r\n\r\n /** Returns the global prioritization weight multiplier. */\r\n @carbon.method\r\n @impl.implemented\r\n GetWeightMultiplier()\r\n {\r\n return this.soundPrioritization.GetWeightMultiplier();\r\n }\r\n\r\n /** Sets the global prioritization weight multiplier. */\r\n @carbon.method\r\n @impl.implemented\r\n SetWeightMultiplier(value)\r\n {\r\n this.soundPrioritization.SetWeightMultiplier(value);\r\n }\r\n\r\n /** Returns the maximum number of awake audio objects. */\r\n @carbon.method\r\n @impl.implemented\r\n GetMaxAwakeGameObjects()\r\n {\r\n return this.soundPrioritization.GetMaxAwakeGameObjects();\r\n }\r\n\r\n /** Sets the maximum number of awake audio objects. */\r\n @carbon.method\r\n @impl.implemented\r\n SetMaxAwakeGameObjects(value)\r\n {\r\n this.soundPrioritization.SetMaxAwakeGameObjects(value);\r\n }\r\n\r\n /** Returns the non-reserved awake emitters. Source: AudManager.cpp:1247-1258 (commit c9b986d). */\r\n @carbon.method\r\n @impl.implemented\r\n GetAwakeAudioEmitters()\r\n {\r\n const result = [];\r\n\r\n this.soundPrioritization.ForEachAwakeAudioObject(gameObject =>\r\n {\r\n if (!IsReservedGameObjectID(gameObject.GetID()))\r\n {\r\n result.push(gameObject);\r\n }\r\n });\r\n return result;\r\n }\r\n\r\n /** Carbon method StopAll: every prioritized emitter stops everything. */\r\n @carbon.method\r\n @impl.implemented\r\n StopAll()\r\n {\r\n if (this.#state !== \"uninitialized\")\r\n {\r\n for (const gameObject of this.soundPrioritization.GetPrioritizedAudioObjects())\r\n {\r\n gameObject.StopAll?.();\r\n }\r\n }\r\n }\r\n\r\n /** Carbon method RegisterGameObject: callback map + prioritization registration. */\r\n @carbon.method\r\n @impl.implemented\r\n RegisterGameObject(gameObjID, gameObject)\r\n {\r\n if (!gameObject)\r\n {\r\n return;\r\n }\r\n this.#callbackGameObjects.set(gameObjID, gameObject);\r\n this.soundPrioritization.RegisterGameObject(gameObject);\r\n }\r\n\r\n /**\r\n * Carbon method UnregisterGameObject.\r\n *\r\n * Carbon's deferred bank queue owns strong AudGameObjResourcePtr entries.\r\n * Explicit JavaScript release instead purges those entries here.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon keeps deferred emitters alive through strong pointers; CarbonEngineJS explicit release must prevent a stale post after re-adoption.\")\r\n UnregisterGameObject(gameObjID)\r\n {\r\n this.soundPrioritization.UnregisterGameObject(gameObjID);\r\n this.#obstructionOcclusion.RemoveEmitter(gameObjID);\r\n for (const info of this.#soundBankInfoMap.values())\r\n {\r\n info.waitingEventsAfterLoad = info.waitingEventsAfterLoad.filter(\r\n ([ emitter ]) => emitter?.ID !== gameObjID\r\n );\r\n }\r\n }\r\n\r\n /** Carbon method RemoveCallbackGameObject. */\r\n @carbon.method\r\n @impl.implemented\r\n RemoveCallbackGameObject(gameObjID)\r\n {\r\n this.#callbackGameObjects.delete(gameObjID);\r\n }\r\n\r\n /** Carbon method GetAudioEmitter (by game-object id). */\r\n @carbon.method\r\n @impl.implemented\r\n GetAudioEmitter(gameObjID)\r\n {\r\n return this.#callbackGameObjects.get(gameObjID) ?? null;\r\n }\r\n\r\n /** Carbon method WithCallbackGameObject. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The native locked callback map is synchronous in JavaScript's single-threaded graph runtime.\")\r\n WithCallbackGameObject(gameObjID, callback)\r\n {\r\n const emitter = this.#callbackGameObjects.get(gameObjID);\r\n if (!emitter)\r\n {\r\n return false;\r\n }\r\n callback(emitter);\r\n return true;\r\n }\r\n\r\n /** Carbon debug method GetEventName. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon dereferences a missing emitter in this debug helper; the JavaScript graph returns an empty name when no emitter is registered.\")\r\n GetEventName(emitterID, playingID)\r\n {\r\n return this.GetAudioEmitter(emitterID)?.GetPlayingEvents?.().get(playingID) ?? \"\";\r\n }\r\n\r\n /** Carbon method GetListener: the fixed-id listener object. */\r\n @carbon.method\r\n @impl.implemented\r\n GetListener()\r\n {\r\n return this.GetAudioEmitter(LISTENER_GAME_OBJ_ID);\r\n }\r\n\r\n /** Carbon method RegisterParameter: watcher refcount, entry created at 1. */\r\n @carbon.method\r\n @impl.implemented\r\n RegisterParameter(name)\r\n {\r\n if (this.#state === \"uninitialized\")\r\n {\r\n return;\r\n }\r\n const entry = this.#monitoredParameters.get(String(name)) ?? { parameterValue: 0, parameterExists: false, watchers: 0 };\r\n entry.watchers++;\r\n this.#monitoredParameters.set(String(name), entry);\r\n }\r\n\r\n /** Carbon method UnregisterParameter: erased when watchers hit 0. */\r\n @carbon.method\r\n @impl.implemented\r\n UnregisterParameter(name)\r\n {\r\n if (this.#state === \"uninitialized\")\r\n {\r\n return;\r\n }\r\n const entry = this.#monitoredParameters.get(String(name));\r\n if (entry && --entry.watchers === 0)\r\n {\r\n this.#monitoredParameters.delete(String(name));\r\n }\r\n }\r\n\r\n /** Carbon method GetParameterInfo. */\r\n @carbon.method\r\n @impl.implemented\r\n GetParameterInfo(name)\r\n {\r\n return this.#monitoredParameters.get(String(name)) ?? null;\r\n }\r\n\r\n /** Carbon method UpdateMonitoredParameters: refresh every entry from the backend RTPC query. */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateMonitoredParameters()\r\n {\r\n for (const [name, entry] of this.#monitoredParameters)\r\n {\r\n const value = AudGameObjResource.backend?.GetGlobalRTPCValue?.(name);\r\n entry.parameterExists = value !== undefined && value !== null;\r\n entry.parameterValue = entry.parameterExists ? Number(value) : 0;\r\n }\r\n }\r\n\r\n /** Carbon method GetAudioCullingEnabled. */\r\n @carbon.method\r\n @impl.implemented\r\n GetAudioCullingEnabled()\r\n {\r\n this.audioCullingEnabled = this.soundPrioritization.GetAudioCullingEnabled();\r\n return this.audioCullingEnabled;\r\n }\r\n\r\n /** Carbon Blue property getter GetAudioCullingEnabledProperty. */\r\n @carbon.method\r\n @impl.implemented\r\n GetAudioCullingEnabledProperty()\r\n {\r\n return this.GetAudioCullingEnabled();\r\n }\r\n\r\n /** Carbon method Process: cull (when enabled+flagged), render, flush the log. */\r\n @carbon.method\r\n @impl.implemented\r\n Process()\r\n {\r\n if (this.#state === \"uninitialized\")\r\n {\r\n return;\r\n }\r\n if (this.#state === \"enabled\")\r\n {\r\n if (this.soundPrioritization.GetAudioCullingEnabled())\r\n {\r\n this.soundPrioritization.CullAudio();\r\n }\r\n this.#obstructionOcclusion.Update(\r\n AudGameObjResource.backend,\r\n );\r\n AudGameObjResource.backend?.RenderAudio?.();\r\n // Carbon refreshes monitored values from its end-render callback. The\r\n // portable backend has no Wwise callback thread, so Process owns the\r\n // equivalent post-render refresh.\r\n this.UpdateMonitoredParameters();\r\n }\r\n this.log?.Flush?.();\r\n }\r\n\r\n /** Carbon method UpdateSettings. */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateSettings(settings)\r\n {\r\n this.settings = settings;\r\n }\r\n\r\n /** Carbon method DisableAudioCulling: wake all objects, then disable prioritization. */\r\n @carbon.method\r\n @impl.implemented\r\n DisableAudioCulling()\r\n {\r\n for (const object of this.soundPrioritization.GetPrioritizedAudioObjects())\r\n {\r\n if (object.IsCulled?.())\r\n {\r\n object.Wake?.();\r\n }\r\n }\r\n this.soundPrioritization.DisableAudioCulling();\r\n this.audioCullingEnabled = false;\r\n }\r\n\r\n /** Carbon method EnableAudioCulling. */\r\n @carbon.method\r\n @impl.implemented\r\n EnableAudioCulling()\r\n {\r\n this.soundPrioritization.EnableAudioCulling();\r\n this.audioCullingEnabled = true;\r\n }\r\n\r\n /** Carbon debug method GetPrioritizedEmitters: defensive current-order snapshot. */\r\n @carbon.renamed(\"GetPrioritizedAudioEmitters\")\r\n @impl.adapted\r\n @impl.reason(\"Carbon returns SoundPrioritization's current debug list; CarbonEngineJS returns a defensive array of the same current order.\")\r\n GetPrioritizedEmitters()\r\n {\r\n return this.soundPrioritization.GetPrioritizedAudioObjects();\r\n }\r\n\r\n /** Carbon debug flag; renderer consumption remains optional. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon's native debug renderer reads a global flag; CarbonEngineJS retains the flag for an injected renderer.\")\r\n EnableDebugDisplayAllEmitters()\r\n {\r\n this.#debugDisplayAllEmitters = true;\r\n }\r\n\r\n /** Carbon debug flag; renderer consumption remains optional. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon's native debug renderer reads a global flag; CarbonEngineJS retains the flag for an injected renderer.\")\r\n DisableDebugDisplayAllEmitters()\r\n {\r\n this.#debugDisplayAllEmitters = false;\r\n }\r\n\r\n /** Carbon debug flag query. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The value is available to browser renderers even though the audio layer does not draw debug geometry.\")\r\n GetDebugDisplayAllEmitters()\r\n {\r\n return this.#debugDisplayAllEmitters;\r\n }\r\n\r\n /** Native Wwise output-device replacement has no WebAudio equivalent. */\r\n @carbon.method\r\n @impl.notSupported\r\n EnableSpatialAudio()\r\n {\r\n return false;\r\n }\r\n\r\n /** Native Wwise output-device replacement has no WebAudio equivalent. */\r\n @carbon.method\r\n @impl.notSupported\r\n DisableSpatialAudio()\r\n {\r\n return false;\r\n }\r\n\r\n /** OS/Wwise spatial-output support cannot be inferred from a WebAudio panner. */\r\n @carbon.method\r\n @impl.notSupported\r\n SpatialAudioIsSupported()\r\n {\r\n return false;\r\n }\r\n\r\n /** Native audio-device callbacks have no owned browser equivalent. */\r\n @carbon.method\r\n @impl.notSupported\r\n RegisterAudioDeviceChangeCallback(callback)\r\n {\r\n return false;\r\n }\r\n\r\n /** Native Wwise profiler capture is unavailable in WebAudio. */\r\n @carbon.method\r\n @impl.notSupported\r\n StartProfilerCapture()\r\n {\r\n return false;\r\n }\r\n\r\n /** Native Wwise profiler capture is unavailable in WebAudio. */\r\n @carbon.method\r\n @impl.notSupported\r\n StopProfilerCapture()\r\n {\r\n return false;\r\n }\r\n\r\n /** Native Wwise profiler capture is unavailable in WebAudio. */\r\n @carbon.method\r\n @impl.notSupported\r\n IsProfilerCapturing()\r\n {\r\n return false;\r\n }\r\n\r\n /** Carbon method ResetCullingSettings. */\r\n @carbon.method\r\n @impl.implemented\r\n ResetCullingSettings()\r\n {\r\n this.soundPrioritization.ResetCullingSettings();\r\n }\r\n\r\n}\r\n"],"names":["BankKey","name","text","String","dot","indexOf","slice","_AudManager","AudManager","CjsModel","e","_init_log","_init_extra_log","_init_audioCullingEnabled","_init_extra_audioCullingEnabled","_init_spatialAudioEnabled","_init_extra_spatialAudioEnabled","_init_settings","_init_extra_settings","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","readwrite","objectRef","read","boolean","impl","adapted","reason","persist","model","carbon","method","implemented","renamed","notSupported","log","audioCullingEnabled","spatialAudioEnabled","settings","Map","SpatialAudioSettings","WeakSet","AudObstructionOcclusion","soundPrioritization","SoundPrioritization","enabled","GetState","GetStateValue","Enable","soundBanksToLoad","backend","AudGameObjResource","repository","staticDataRepository","IsInitialized","Init","GetSpatialAudioGeometryEnabled","LoadBank","bank","gameObject","GetPrioritizedAudioObjects","Wake","Disable","Cull","ClearBanks","Reset","AudGeometry","ClearAllGeometry","key","status","GetSoundBankStatus","operation","set","soundBankStatus","soundBankID","soundBankName","waitingEventsAfterLoad","loaded","get","UpdateSoundBankStatus","UnloadBank","info","delete","clear","bankID","emitter","eventName","PostEvent","length","RegisterEventAfterSoundBankLoad","values","push","byKey","GetLoadedSoundBanks","names","SetGlobalRTPC","rtpcName","value","SetGlobalRTPCValue","LogSetRTPC","SetState","stateGroup","stateName","SetGlobalState","LogSetState","LogPostEvent","emitterID","playID","eventID","LogExecuteActionOnPlayingID","action","LogSetSwitch","group","state","SetEmitterLineOfSightBlockage","blockage","GetEmitterOcclusion","ClearObstructionOcclusion","ClearAll","GetObstructionOcclusionEnabled","IsEnabled","SetObstructionOcclusionEnabled","SetEnabled","GetObstructionOcclusionFadeRate","GetFadeRate","SetObstructionOcclusionFadeRate","SetFadeRate","SetSpatialAudioGeometryEnabled","Boolean","#InitSpatialAudioGeometry","has","PopulateInitSettings","InitSpatialAudioGeometry","add","GetMovementThreshold","SetMovementThreshold","GetNumberOfPrimaryRays","SetNumberOfPrimaryRays","GetMaxReflectionOrder","SetMaxReflectionOrder","GetMaxDiffractionOrder","SetMaxDiffractionOrder","GetMaxEmitterRoomAuxSends","SetMaxEmitterRoomAuxSends","GetDiffractionOnReflectionsOrder","SetDiffractionOnReflectionsOrder","GetMaxPathLength","SetMaxPathLength","GetCPULimitPercentage","SetCPULimitPercentage","GetLoadBalancingSpread","SetLoadBalancingSpread","GetEnableDiffractionAndTransmission","SetEnableDiffractionAndTransmission","GetCalcEmitterVirtualPosition","SetCalcEmitterVirtualPosition","GetTransmissionLoss","SetTransmissionLoss","GetEnableDiffraction","SetEnableDiffraction","GetEnableDiffractionOnBoundaryEdges","SetEnableDiffractionOnBoundaryEdges","GetOneShotWindow","SetOneShotWindow","GetPlaying2DWeight","SetPlaying2DWeight","GetPlayingEventsWeight","SetPlayingEventsWeight","GetPlayingVitalSoundWeight","SetPlayingVitalSoundWeight","GetRangeWeight","SetRangeWeight","GetUsedEmitterWeight","SetUsedEmitterWeight","GetVisibleWeight","SetVisibleWeight","GetWaitingOneShotWeight","SetWaitingOneShotWeight","GetWeightMultiplier","SetWeightMultiplier","GetMaxAwakeGameObjects","SetMaxAwakeGameObjects","GetAwakeAudioEmitters","result","ForEachAwakeAudioObject","IsReservedGameObjectID","GetID","StopAll","RegisterGameObject","gameObjID","UnregisterGameObject","RemoveEmitter","filter","ID","RemoveCallbackGameObject","GetAudioEmitter","WithCallbackGameObject","callback","GetEventName","playingID","GetPlayingEvents","GetListener","LISTENER_GAME_OBJ_ID","RegisterParameter","entry","parameterValue","parameterExists","watchers","UnregisterParameter","GetParameterInfo","UpdateMonitoredParameters","GetGlobalRTPCValue","undefined","Number","GetAudioCullingEnabled","GetAudioCullingEnabledProperty","Process","CullAudio","Update","RenderAudio","Flush","UpdateSettings","DisableAudioCulling","object","IsCulled","EnableAudioCulling","GetPrioritizedEmitters","EnableDebugDisplayAllEmitters","DisableDebugDisplayAllEmitters","GetDebugDisplayAllEmitters","EnableSpatialAudio","DisableSpatialAudio","SpatialAudioIsSupported","RegisterAudioDeviceChangeCallback","StartProfilerCapture","StopProfilerCapture","IsProfilerCapturing","ResetCullingSettings"],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import { LISTENER_GAME_OBJ_ID } from './SoundPrioritization.js';
1
+ import { LISTENER_GAME_OBJ_ID } from '../SoundPrioritization.js';
2
+ import { EmitterState } from './EmitterState.js';
2
3
 
3
4
  // Source: audio/src/AudObstructionOcclusion.h + AudObstructionOcclusion.cpp
4
5
  // Headless behavior port. The host supplies blockage; this class performs no
@@ -8,58 +9,13 @@ const DEFAULT_FADE_RATE = 1;
8
9
  function NowSeconds() {
9
10
  return (globalThis.performance?.now() ?? Date.now()) / 1000;
10
11
  }
11
- function ClampUnit(value) {
12
- return Math.max(0, Math.min(1, Number(value)));
13
- }
14
-
15
- /** One obstruction or occlusion value fading towards an authored target. */
16
- class FadingValue {
17
- currentValue = 0;
18
- targetValue = 0;
19
-
20
- /** Clamps and stores the next fade target. */
21
- SetTarget(target) {
22
- this.targetValue = ClampUnit(target);
23
- }
24
-
25
- /** Advances linearly by one clock delta and reports a live-value change. */
26
- Advance(deltaSeconds, fadeRate) {
27
- if (this.currentValue === this.targetValue) {
28
- return false;
29
- }
30
- if (fadeRate <= 0) {
31
- this.currentValue = this.targetValue;
32
- return true;
33
- }
34
- const previous = this.currentValue;
35
- const step = fadeRate * deltaSeconds;
36
- if (previous > this.targetValue) {
37
- this.currentValue = Math.max(this.targetValue, previous - step);
38
- } else {
39
- this.currentValue = Math.min(this.targetValue, previous + step);
40
- }
41
- return this.currentValue !== previous;
42
- }
43
-
44
- /** Applies the target immediately for a newly tracked emitter. */
45
- SnapToTarget() {
46
- this.currentValue = this.targetValue;
47
- }
48
- }
49
-
50
- /** Obstruction/occlusion fade state retained for one registered emitter. */
51
- class EmitterState {
52
- obstruction = new FadingValue();
53
- occlusion = new FadingValue();
54
- needsSend = true;
55
- }
56
12
 
57
- /**
58
- * Owns Carbon's caller-supplied line-of-sight state and backend delivery.
59
- *
60
- * This collaborator is intentionally not exported from the package. Hosts use
61
- * the Carbon-facing AudManager methods; injected backends may implement
62
- * SetObjectObstructionAndOcclusion to realize the values.
13
+ /**
14
+ * Owns Carbon's caller-supplied line-of-sight state and backend delivery.
15
+ *
16
+ * This collaborator is intentionally not exported from the package. Hosts use
17
+ * the Carbon-facing AudManager methods; injected backends may implement
18
+ * SetObjectObstructionAndOcclusion to realize the values.
63
19
  */
64
20
  class AudObstructionOcclusion {
65
21
  #audioManager;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AudObstructionOcclusion.js","sources":["../../../../../../src/audio/trinity/audio/AudObstructionOcclusion/AudObstructionOcclusion.js"],"sourcesContent":["// Source: audio/src/AudObstructionOcclusion.h + AudObstructionOcclusion.cpp\n// Headless behavior port. The host supplies blockage; this class performs no\n// ray casting and leaves the audible obstruction/occlusion law to the backend.\n\nimport { LISTENER_GAME_OBJ_ID } from \"../SoundPrioritization.js\";\nimport { EmitterState } from \"./EmitterState.js\";\n\nconst DEFAULT_FADE_RATE = 1;\n\nfunction NowSeconds()\n{\n return (globalThis.performance?.now() ?? Date.now()) / 1000;\n}\n\n\n/**\n * Owns Carbon's caller-supplied line-of-sight state and backend delivery.\n *\n * This collaborator is intentionally not exported from the package. Hosts use\n * the Carbon-facing AudManager methods; injected backends may implement\n * SetObjectObstructionAndOcclusion to realize the values.\n */\nexport class AudObstructionOcclusion\n{\n #audioManager;\n\n #emitters = new Map();\n\n #fadeRate = DEFAULT_FADE_RATE;\n\n #hasUpdated = false;\n\n #lastUpdateTime = 0;\n\n #enabled = true;\n\n #now;\n\n /** Creates Carbon's obstruction/occlusion collaborator for one manager. */\n constructor(audioManager, now = NowSeconds)\n {\n this.#audioManager = audioManager;\n this.#now = now;\n }\n\n /** Advances every fade and sends changed awake-emitter values. */\n Update(backend)\n {\n if (!this.#audioManager\n || this.#audioManager.GetState?.() !== \"enabled\")\n {\n return;\n }\n\n const now = Number(this.#now());\n const deltaSeconds = this.#hasUpdated && Number.isFinite(now)\n ? Math.max(0, now - this.#lastUpdateTime)\n : 0;\n\n this.#lastUpdateTime = Number.isFinite(now) ? now : NowSeconds();\n this.#hasUpdated = true;\n\n for (const [ emitterID, state ] of this.#emitters)\n {\n let culled = false;\n const exists = this.#audioManager.WithCallbackGameObject?.(\n emitterID,\n emitter =>\n {\n culled = emitter.IsCulled?.() === true;\n },\n ) === true;\n\n if (!exists)\n {\n this.#emitters.delete(emitterID);\n continue;\n }\n\n const obstructionChanged = state.obstruction.Advance(\n deltaSeconds,\n this.#fadeRate,\n );\n const occlusionChanged = state.occlusion.Advance(\n deltaSeconds,\n this.#fadeRate,\n );\n\n if (culled)\n {\n state.needsSend = true;\n continue;\n }\n if (obstructionChanged || occlusionChanged || state.needsSend)\n {\n state.needsSend = !this.#SendToBackend(\n backend,\n emitterID,\n state,\n );\n }\n }\n }\n\n /** Sets the obstruction and occlusion targets for a registered emitter. */\n SetObstructionOcclusion(emitterID, obstruction, occlusion)\n {\n if (!this.#enabled\n || !this.#audioManager\n || this.#audioManager.GetState?.() !== \"enabled\"\n || emitterID === LISTENER_GAME_OBJ_ID\n || this.#audioManager.WithCallbackGameObject?.(\n emitterID,\n () => {},\n ) !== true)\n {\n return false;\n }\n\n let state = this.#emitters.get(emitterID);\n const isNewEmitter = !state;\n\n if (!state)\n {\n state = new EmitterState();\n this.#emitters.set(emitterID, state);\n }\n state.obstruction.SetTarget(obstruction);\n state.occlusion.SetTarget(occlusion);\n\n if (isNewEmitter)\n {\n state.obstruction.SnapToTarget();\n state.occlusion.SnapToTarget();\n }\n return true;\n }\n\n /** Maps caller-supplied blockage to Carbon's acoustics-aware targets. */\n SetEmitterLineOfSightBlockage(emitterID, blockage)\n {\n const acousticsEnabled = this.#audioManager\n ?.GetSpatialAudioGeometryEnabled?.() === true;\n\n return this.SetObstructionOcclusion(\n emitterID,\n 0,\n acousticsEnabled ? 0 : blockage,\n );\n }\n\n /** Returns the live, mid-fade occlusion value for one emitter. */\n GetEmitterOcclusion(emitterID)\n {\n return this.#emitters.get(emitterID)?.occlusion.currentValue ?? 0;\n }\n\n /** Drops one emitter immediately when its game object is unregistered. */\n RemoveEmitter(emitterID)\n {\n this.#emitters.delete(emitterID);\n }\n\n /** Forgets every emitter and resets the fade clock. */\n Reset()\n {\n this.#emitters.clear();\n this.#hasUpdated = false;\n this.#lastUpdateTime = 0;\n }\n\n /** Fades every tracked emitter back to clear. */\n ClearAll()\n {\n for (const state of this.#emitters.values())\n {\n state.obstruction.SetTarget(0);\n state.occlusion.SetTarget(0);\n }\n }\n\n /** Returns whether new caller-supplied targets are accepted. */\n IsEnabled()\n {\n return this.#enabled;\n }\n\n /** Enables target input or fades every existing target to clear. */\n SetEnabled(value)\n {\n const enabled = Boolean(value);\n\n if (this.#enabled === enabled)\n {\n return;\n }\n this.#enabled = enabled;\n if (!enabled)\n {\n this.ClearAll();\n }\n }\n\n /** Returns the linear fade speed in value units per second. */\n GetFadeRate()\n {\n return this.#fadeRate;\n }\n\n /** Stores Carbon's nonnegative linear fade speed. */\n SetFadeRate(value)\n {\n this.#fadeRate = Math.max(0, Number(value));\n }\n\n /** Delivers one live value through the optional Wwise-shaped backend seam. */\n #SendToBackend(backend, emitterID, state)\n {\n if (typeof backend?.SetObjectObstructionAndOcclusion !== \"function\")\n {\n return false;\n }\n // Runtime-audio backend setters conventionally accept a void return and\n // reserve explicit false for rejection. A rejection retains needsSend so\n // the next Process retries, matching Carbon's failed AKRESULT behavior.\n return backend.SetObjectObstructionAndOcclusion(\n emitterID,\n LISTENER_GAME_OBJ_ID,\n state.obstruction.currentValue,\n state.occlusion.currentValue,\n ) !== false;\n }\n}\n"],"names":["DEFAULT_FADE_RATE","NowSeconds","globalThis","performance","now","Date","AudObstructionOcclusion","Map","constructor","audioManager","Update","backend","GetState","Number","deltaSeconds","isFinite","Math","max","emitterID","state","culled","exists","WithCallbackGameObject","emitter","IsCulled","delete","obstructionChanged","obstruction","Advance","occlusionChanged","occlusion","needsSend","SetObstructionOcclusion","LISTENER_GAME_OBJ_ID","get","isNewEmitter","EmitterState","set","SetTarget","SnapToTarget","SetEmitterLineOfSightBlockage","blockage","acousticsEnabled","GetSpatialAudioGeometryEnabled","GetEmitterOcclusion","currentValue","RemoveEmitter","Reset","clear","ClearAll","values","IsEnabled","SetEnabled","value","enabled","Boolean","GetFadeRate","SetFadeRate","#SendToBackend","SetObjectObstructionAndOcclusion"],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { FadingValue } from './FadingValue.js';
2
+
3
+ // Nested AudObstructionOcclusion::EmitterState.
4
+ // Source: audio/src/AudObstructionOcclusion.h + AudObstructionOcclusion.cpp
5
+ // Headless behavior port. The host supplies blockage; this class performs no
6
+ // ray casting and leaves the audible obstruction/occlusion law to the backend.
7
+
8
+
9
+ /** Obstruction/occlusion fade state retained for one registered emitter. */
10
+ class EmitterState {
11
+ obstruction = new FadingValue();
12
+ occlusion = new FadingValue();
13
+ needsSend = true;
14
+ }
15
+
16
+ export { EmitterState };
17
+ //# sourceMappingURL=EmitterState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmitterState.js","sources":["../../../../../../src/audio/trinity/audio/AudObstructionOcclusion/EmitterState.js"],"sourcesContent":["// Nested AudObstructionOcclusion::EmitterState.\n// Source: audio/src/AudObstructionOcclusion.h + AudObstructionOcclusion.cpp\r\n// Headless behavior port. The host supplies blockage; this class performs no\r\n// ray casting and leaves the audible obstruction/occlusion law to the backend.\n\nimport { FadingValue } from \"./FadingValue.js\";\n\n/** Obstruction/occlusion fade state retained for one registered emitter. */\r\nexport class EmitterState\r\n{\r\n obstruction = new FadingValue();\r\n\r\n occlusion = new FadingValue();\r\n\r\n needsSend = true;\r\n}\n"],"names":["EmitterState","obstruction","FadingValue","occlusion","needsSend"],"mappings":";;AAAA;AACA;AACA;AACA;;;AAIA;AACO,MAAMA,YAAY,CACzB;AACEC,EAAAA,WAAW,GAAG,IAAIC,WAAW,EAAE;AAE/BC,EAAAA,SAAS,GAAG,IAAID,WAAW,EAAE;AAE7BE,EAAAA,SAAS,GAAG,IAAI;AAClB;;;;"}
@@ -0,0 +1,46 @@
1
+ // Source: audio/src/AudObstructionOcclusion.h + AudObstructionOcclusion.cpp
2
+ // Headless behavior port. The host supplies blockage; this class performs no
3
+ // ray casting and leaves the audible obstruction/occlusion law to the backend.
4
+
5
+ // Nested AudObstructionOcclusion::FadingValue, split for class findability.
6
+ function ClampUnit(value) {
7
+ return Math.max(0, Math.min(1, Number(value)));
8
+ }
9
+
10
+ /** One obstruction or occlusion value fading towards an authored target. */
11
+ class FadingValue {
12
+ currentValue = 0;
13
+ targetValue = 0;
14
+
15
+ /** Clamps and stores the next fade target. */
16
+ SetTarget(target) {
17
+ this.targetValue = ClampUnit(target);
18
+ }
19
+
20
+ /** Advances linearly by one clock delta and reports a live-value change. */
21
+ Advance(deltaSeconds, fadeRate) {
22
+ if (this.currentValue === this.targetValue) {
23
+ return false;
24
+ }
25
+ if (fadeRate <= 0) {
26
+ this.currentValue = this.targetValue;
27
+ return true;
28
+ }
29
+ const previous = this.currentValue;
30
+ const step = fadeRate * deltaSeconds;
31
+ if (previous > this.targetValue) {
32
+ this.currentValue = Math.max(this.targetValue, previous - step);
33
+ } else {
34
+ this.currentValue = Math.min(this.targetValue, previous + step);
35
+ }
36
+ return this.currentValue !== previous;
37
+ }
38
+
39
+ /** Applies the target immediately for a newly tracked emitter. */
40
+ SnapToTarget() {
41
+ this.currentValue = this.targetValue;
42
+ }
43
+ }
44
+
45
+ export { FadingValue };
46
+ //# sourceMappingURL=FadingValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FadingValue.js","sources":["../../../../../../src/audio/trinity/audio/AudObstructionOcclusion/FadingValue.js"],"sourcesContent":["// Source: audio/src/AudObstructionOcclusion.h + AudObstructionOcclusion.cpp\r\n// Headless behavior port. The host supplies blockage; this class performs no\r\n// ray casting and leaves the audible obstruction/occlusion law to the backend.\n\n// Nested AudObstructionOcclusion::FadingValue, split for class findability.\nfunction ClampUnit(value)\n{\n return Math.max(0, Math.min(1, Number(value)));\n}\n\n/** One obstruction or occlusion value fading towards an authored target. */\r\nexport class FadingValue\r\n{\r\n currentValue = 0;\r\n\r\n targetValue = 0;\r\n\r\n /** Clamps and stores the next fade target. */\r\n SetTarget(target)\r\n {\r\n this.targetValue = ClampUnit(target);\r\n }\r\n\r\n /** Advances linearly by one clock delta and reports a live-value change. */\r\n Advance(deltaSeconds, fadeRate)\r\n {\r\n if (this.currentValue === this.targetValue)\r\n {\r\n return false;\r\n }\r\n if (fadeRate <= 0)\r\n {\r\n this.currentValue = this.targetValue;\r\n return true;\r\n }\r\n\r\n const previous = this.currentValue;\r\n const step = fadeRate * deltaSeconds;\r\n\r\n if (previous > this.targetValue)\r\n {\r\n this.currentValue = Math.max(this.targetValue, previous - step);\r\n }\r\n else\r\n {\r\n this.currentValue = Math.min(this.targetValue, previous + step);\r\n }\r\n return this.currentValue !== previous;\r\n }\r\n\r\n /** Applies the target immediately for a newly tracked emitter. */\r\n SnapToTarget()\r\n {\r\n this.currentValue = this.targetValue;\r\n }\r\n}\n"],"names":["ClampUnit","value","Math","max","min","Number","FadingValue","currentValue","targetValue","SetTarget","target","Advance","deltaSeconds","fadeRate","previous","step","SnapToTarget"],"mappings":"AAAA;AACA;AACA;;AAEA;AACA,SAASA,SAASA,CAACC,KAAK,EACxB;AACE,EAAA,OAAOC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAED,IAAI,CAACE,GAAG,CAAC,CAAC,EAAEC,MAAM,CAACJ,KAAK,CAAC,CAAC,CAAC;AAChD;;AAEA;AACO,MAAMK,WAAW,CACxB;AACEC,EAAAA,YAAY,GAAG,CAAC;AAEhBC,EAAAA,WAAW,GAAG,CAAC;;AAEf;EACAC,SAASA,CAACC,MAAM,EAChB;AACE,IAAA,IAAI,CAACF,WAAW,GAAGR,SAAS,CAACU,MAAM,CAAC;AACtC,EAAA;;AAEA;AACAC,EAAAA,OAAOA,CAACC,YAAY,EAAEC,QAAQ,EAC9B;AACE,IAAA,IAAI,IAAI,CAACN,YAAY,KAAK,IAAI,CAACC,WAAW,EAC1C;AACE,MAAA,OAAO,KAAK;AACd,IAAA;IACA,IAAIK,QAAQ,IAAI,CAAC,EACjB;AACE,MAAA,IAAI,CAACN,YAAY,GAAG,IAAI,CAACC,WAAW;AACpC,MAAA,OAAO,IAAI;AACb,IAAA;AAEA,IAAA,MAAMM,QAAQ,GAAG,IAAI,CAACP,YAAY;AAClC,IAAA,MAAMQ,IAAI,GAAGF,QAAQ,GAAGD,YAAY;AAEpC,IAAA,IAAIE,QAAQ,GAAG,IAAI,CAACN,WAAW,EAC/B;AACE,MAAA,IAAI,CAACD,YAAY,GAAGL,IAAI,CAACC,GAAG,CAAC,IAAI,CAACK,WAAW,EAAEM,QAAQ,GAAGC,IAAI,CAAC;AACjE,IAAA,CAAC,MAED;AACE,MAAA,IAAI,CAACR,YAAY,GAAGL,IAAI,CAACE,GAAG,CAAC,IAAI,CAACI,WAAW,EAAEM,QAAQ,GAAGC,IAAI,CAAC;AACjE,IAAA;AACA,IAAA,OAAO,IAAI,CAACR,YAAY,KAAKO,QAAQ;AACvC,EAAA;;AAEA;AACAE,EAAAA,YAAYA,GACZ;AACE,IAAA,IAAI,CAACT,YAAY,GAAG,IAAI,CAACC,WAAW;AACtC,EAAA;AACF;;;;"}
@@ -1,4 +1,11 @@
1
- export { AudActionLogCB, AudActionRecord, AudActionRecordExecuteActionOnPlayingID, AudActionRecordPostEvent, AudActionRecordSetRTPC, AudActionRecordSetState, AudActionRecordSetSwitch } from './audio/AudActionLog.js';
1
+ export { AudActionRecord } from './audio/AudActionLog/AudActionRecord.js';
2
+ export { AudActionRecordPostEvent } from './audio/AudActionLog/AudActionRecordPostEvent.js';
3
+ export { AudActionRecordExecuteActionOnPlayingID } from './audio/AudActionLog/AudActionRecordExecuteActionOnPlayingID.js';
4
+ export { AudActionRecordSetSwitch } from './audio/AudActionLog/AudActionRecordSetSwitch.js';
5
+ export { AudActionRecordSetState } from './audio/AudActionLog/AudActionRecordSetState.js';
6
+ export { AudActionRecordSetRTPC } from './audio/AudActionLog/AudActionRecordSetRTPC.js';
7
+ export { IAudActionLog } from './audio/AudActionLog/IAudActionLog.js';
8
+ export { AudActionLogCB } from './audio/AudActionLog/AudActionLogCB.js';
2
9
  export { AudEmitter } from './audio/AudEmitter.js';
3
10
  export { AudEventCurve } from './audio/AudEventCurve.js';
4
11
  export { AudEventKey } from '../generated/audio/AudEventKey.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -11,6 +11,11 @@ class CjsCharacterAppearanceConstruction {
11
11
  _foundationResolver;
12
12
  _shouldDeferContribution;
13
13
  _texturePolicy;
14
+
15
+ /**
16
+ * Configures the foundation resolver, coverage and texture policies, and
17
+ * contribution deferral predicate.
18
+ */
14
19
  constructor({
15
20
  foundationResolver,
16
21
  foundationCoveragePolicy = new CjsCharacterFoundationCoveragePolicy(),