@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
@@ -2,7 +2,8 @@ import { identity as _identity, applyDecs2311 as _applyDecs2311 } from '../../_v
2
2
  import { CjsModel } from '#model';
3
3
  import { io, type, carbon, impl } from '#schema';
4
4
  import { UnlinkReason } from './enums.js';
5
- import { withITr2Controller } from './ITr2Controller.js';
5
+ import { withITr2Controller } from './ITr2Controller/ITr2Controller.js';
6
+ import './ITr2Controller/ITr2ActionController.js';
6
7
 
7
8
  var _withITr2Controller;
8
9
  let _initProto, _initClass, _init_controller, _init_extra_controller, _init_path, _init_extra_path;
@@ -1 +1 @@
1
- {"version":3,"file":"Tr2ControllerReference.js","sources":["../../../../src/trinity/controllers/Tr2ControllerReference.js"],"sourcesContent":["// Source: trinity/trinity/Controllers/Tr2ControllerReference.h\r\n// Source: trinity/trinity/Controllers/Tr2ControllerReference.cpp\r\nimport { CjsModel } from \"#model\";\r\nimport { carbon, impl, io, type } from \"#schema\";\r\nimport { UnlinkReason } from \"./enums.js\";\nimport { withITr2Controller } from \"./ITr2Controller.js\";\r\n\r\n\r\n/**\r\n * Stands in for a controller loaded from a resource path, forwarding the full\r\n * controller lifecycle to whichever controller the path resolves to.\r\n */\r\n@type.define({\r\n className: \"Tr2ControllerReference\",\r\n family: \"controllers\"\r\n})\r\nexport class Tr2ControllerReference extends withITr2Controller(CjsModel)\r\n{\r\n static #resourceResolver = null;\r\n\r\n /** Registers the runtime-owned controller resource resolver. */\r\n static registerResourceResolver(resolver)\r\n {\r\n const previous = this.#resourceResolver;\r\n this.#resourceResolver = resolver;\r\n return previous;\r\n }\r\n\r\n /** Clears the runtime-owned controller resource resolver. */\r\n static clearResourceResolver()\r\n {\r\n this.#resourceResolver = null;\r\n }\r\n\r\n /** Resolves a controller resource without owning its lifecycle. */\r\n static resolveResource(path, owner = null)\r\n {\r\n if (!path || !this.#resourceResolver)\r\n {\r\n return null;\r\n }\r\n const resolved = this.#resourceResolver(path, owner);\r\n return resolved && typeof resolved === \"object\" ? resolved : null;\r\n }\r\n\r\n @io.read\r\n @type.objectRef(\"ITr2Controller\")\r\n controller = null;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.path\r\n path = \"\";\r\n\r\n #owner = null;\r\n\r\n #resolvedPath = \"\";\r\n\r\n /**\r\n * Initializes the referenced controller when it is already assigned.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n Initialize()\r\n {\r\n this.ResolveController();\r\n return true;\r\n }\r\n\r\n /**\r\n * Handles path changes. Broad-safe: compares the authored path with the\r\n * path the current controller was resolved from, so unrelated settles keep\r\n * a resolved or directly attached controller.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n OnModified(_options = {})\r\n {\r\n if (this.path !== this.#resolvedPath)\r\n {\r\n this.controller = null;\r\n this.ResolveController();\r\n }\r\n if (this.controller && this.#owner)\r\n {\r\n this.controller.Link(this.#owner);\r\n }\r\n return true;\r\n }\r\n\r\n /**\r\n * Links the referenced controller to the same owner.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n Link(owner)\r\n {\r\n this.#owner = owner;\r\n this.controller?.Link(owner);\r\n }\r\n\r\n /**\r\n * Unlinks the referenced controller.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n Unlink(reason = UnlinkReason.UNLINKING)\r\n {\r\n this.controller?.Unlink(reason);\r\n this.#owner = null;\r\n }\r\n\r\n /**\r\n * Checks whether this reference is linked to an owner.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n IsLinked()\r\n {\r\n return this.#owner !== null;\r\n }\r\n\r\n /**\r\n * Starts the referenced controller.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n Start()\r\n {\r\n this.controller?.Start();\r\n }\r\n\r\n /**\r\n * Stops the referenced controller.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n Stop()\r\n {\r\n this.controller?.Stop();\r\n }\r\n\r\n /**\r\n * Updates the referenced controller.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n Update(normalizedUpdateFrequency = 0)\r\n {\r\n this.controller?.Update(normalizedUpdateFrequency);\r\n }\r\n\r\n /**\r\n * Sets a variable on the referenced controller.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n SetVariable(name, value)\r\n {\r\n this.controller?.SetVariable(name, value);\r\n }\r\n\r\n /**\r\n * Handles an event on the referenced controller.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n HandleEvent(eventName)\r\n {\r\n this.controller?.HandleEvent(eventName);\r\n }\r\n\r\n /**\r\n * Gets the linked owner.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetOwner()\r\n {\r\n return this.#owner;\r\n }\r\n\r\n /**\r\n * Resolves `controller` from the authored path through the registered resource\r\n * resolver, recording the path it resolved from so OnModified can tell a real\r\n * path change from an unrelated settle.\r\n */\r\n ResolveController()\r\n {\r\n this.#resolvedPath = this.path;\r\n if (!this.path)\r\n {\r\n this.controller = null;\r\n return;\r\n }\r\n this.controller = Tr2ControllerReference.resolveResource(this.path, this.#owner);\r\n }\r\n}\r\n"],"names":["_Tr2ControllerReferen","_identity","Tr2ControllerReference","_withITr2Controller","withITr2Controller","CjsModel","e","_init_controller","_init_extra_controller","_init_path","_init_extra_path","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","read","objectRef","notify","persist","path","carbon","method","impl","adapted","implemented","registerResourceResolver","resolver","previous","clearResourceResolver","resolveResource","owner","resolved","controller","Initialize","ResolveController","OnModified","_options","Link","Unlink","reason","UnlinkReason","UNLINKING","IsLinked","Start","Stop","Update","normalizedUpdateFrequency","SetVariable","name","value","HandleEvent","eventName","GetOwner","constructor"],"mappings":"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"}
1
+ {"version":3,"file":"Tr2ControllerReference.js","sources":["../../../../src/trinity/controllers/Tr2ControllerReference.js"],"sourcesContent":["// Source: trinity/trinity/Controllers/Tr2ControllerReference.h\r\n// Source: trinity/trinity/Controllers/Tr2ControllerReference.cpp\r\nimport { CjsModel } from \"#model\";\r\nimport { carbon, impl, io, type } from \"#schema\";\r\nimport { UnlinkReason } from \"./enums.js\";\nimport { withITr2Controller } from \"./ITr2Controller/index.js\";\r\n\r\n\r\n/**\r\n * Stands in for a controller loaded from a resource path, forwarding the full\r\n * controller lifecycle to whichever controller the path resolves to.\r\n */\r\n@type.define({\r\n className: \"Tr2ControllerReference\",\r\n family: \"controllers\"\r\n})\r\nexport class Tr2ControllerReference extends withITr2Controller(CjsModel)\r\n{\r\n static #resourceResolver = null;\r\n\r\n /** Registers the runtime-owned controller resource resolver. */\r\n static registerResourceResolver(resolver)\r\n {\r\n const previous = this.#resourceResolver;\r\n this.#resourceResolver = resolver;\r\n return previous;\r\n }\r\n\r\n /** Clears the runtime-owned controller resource resolver. */\r\n static clearResourceResolver()\r\n {\r\n this.#resourceResolver = null;\r\n }\r\n\r\n /** Resolves a controller resource without owning its lifecycle. */\r\n static resolveResource(path, owner = null)\r\n {\r\n if (!path || !this.#resourceResolver)\r\n {\r\n return null;\r\n }\r\n const resolved = this.#resourceResolver(path, owner);\r\n return resolved && typeof resolved === \"object\" ? resolved : null;\r\n }\r\n\r\n @io.read\r\n @type.objectRef(\"ITr2Controller\")\r\n controller = null;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.path\r\n path = \"\";\r\n\r\n #owner = null;\r\n\r\n #resolvedPath = \"\";\r\n\r\n /**\r\n * Initializes the referenced controller when it is already assigned.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n Initialize()\r\n {\r\n this.ResolveController();\r\n return true;\r\n }\r\n\r\n /**\r\n * Handles path changes. Broad-safe: compares the authored path with the\r\n * path the current controller was resolved from, so unrelated settles keep\r\n * a resolved or directly attached controller.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n OnModified(_options = {})\r\n {\r\n if (this.path !== this.#resolvedPath)\r\n {\r\n this.controller = null;\r\n this.ResolveController();\r\n }\r\n if (this.controller && this.#owner)\r\n {\r\n this.controller.Link(this.#owner);\r\n }\r\n return true;\r\n }\r\n\r\n /**\r\n * Links the referenced controller to the same owner.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n Link(owner)\r\n {\r\n this.#owner = owner;\r\n this.controller?.Link(owner);\r\n }\r\n\r\n /**\r\n * Unlinks the referenced controller.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n Unlink(reason = UnlinkReason.UNLINKING)\r\n {\r\n this.controller?.Unlink(reason);\r\n this.#owner = null;\r\n }\r\n\r\n /**\r\n * Checks whether this reference is linked to an owner.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n IsLinked()\r\n {\r\n return this.#owner !== null;\r\n }\r\n\r\n /**\r\n * Starts the referenced controller.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n Start()\r\n {\r\n this.controller?.Start();\r\n }\r\n\r\n /**\r\n * Stops the referenced controller.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n Stop()\r\n {\r\n this.controller?.Stop();\r\n }\r\n\r\n /**\r\n * Updates the referenced controller.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n Update(normalizedUpdateFrequency = 0)\r\n {\r\n this.controller?.Update(normalizedUpdateFrequency);\r\n }\r\n\r\n /**\r\n * Sets a variable on the referenced controller.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n SetVariable(name, value)\r\n {\r\n this.controller?.SetVariable(name, value);\r\n }\r\n\r\n /**\r\n * Handles an event on the referenced controller.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n HandleEvent(eventName)\r\n {\r\n this.controller?.HandleEvent(eventName);\r\n }\r\n\r\n /**\r\n * Gets the linked owner.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetOwner()\r\n {\r\n return this.#owner;\r\n }\r\n\r\n /**\r\n * Resolves `controller` from the authored path through the registered resource\r\n * resolver, recording the path it resolved from so OnModified can tell a real\r\n * path change from an unrelated settle.\r\n */\r\n ResolveController()\r\n {\r\n this.#resolvedPath = this.path;\r\n if (!this.path)\r\n {\r\n this.controller = null;\r\n return;\r\n }\r\n this.controller = Tr2ControllerReference.resolveResource(this.path, this.#owner);\r\n }\r\n}\r\n"],"names":["_Tr2ControllerReferen","_identity","Tr2ControllerReference","_withITr2Controller","withITr2Controller","CjsModel","e","_init_controller","_init_extra_controller","_init_path","_init_extra_path","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","read","objectRef","notify","persist","path","carbon","method","impl","adapted","implemented","registerResourceResolver","resolver","previous","clearResourceResolver","resolveResource","owner","resolved","controller","Initialize","ResolveController","OnModified","_options","Link","Unlink","reason","UnlinkReason","UNLINKING","IsLinked","Start","Stop","Update","normalizedUpdateFrequency","SetVariable","name","value","HandleEvent","eventName","GetOwner","constructor"],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { CjsSchema, impl } from '#schema';
2
- import { Brand, Adopt } from '../ITr2Controller.js';
2
+ import { Brand, Adopt } from '../ITr2Controller/ITr2Controller.js';
3
+ import '../ITr2Controller/ITr2ActionController.js';
3
4
 
4
5
  // Source: trinity/trinity/Controllers/Actions/ITr2ControllerAction.h
5
6
  //
@@ -1 +1 @@
1
- {"version":3,"file":"ITr2ControllerAction.js","sources":["../../../../../src/trinity/controllers/action/ITr2ControllerAction.js"],"sourcesContent":["// Source: trinity/trinity/Controllers/Actions/ITr2ControllerAction.h\r\n//\r\n// The contract a controller ACTION answers to - the other half of the pair\r\n// whose controller side is ITr2Controller.js. Carbon gives every lifecycle\r\n// verb here an EMPTY BODY: an action that does not care about Link, Unlink,\r\n// Start, Stop or RebaseSimTime inherits a harmless nothing, and only\r\n// CanTransition has an opinionated default (true). Before this contract was\r\n// ported, 10 of our 18 concrete actions lacked Stop, 10 lacked Unlink and 8\r\n// lacked Link, so every owner of an `actions` list hedged each call with\r\n// `action.Stop?.()` - emulating the empty body one call site at a time.\r\n//\r\n// The statics below predate the contract: they are shared JavaScript adapters\r\n// the concrete actions use to duck-type their OWNERS (which have no common\r\n// contract yet). They are unrelated to the instance surface.\r\n\r\nimport { CjsSchema, impl } from \"#schema\";\r\nimport { Adopt, Brand } from \"../ITr2Controller.js\";\r\n\r\n\r\nconst ITR2_CONTROLLER_ACTION = Symbol.for(\"carbonenginejs.contract.ITr2ControllerAction\");\r\n\r\nconst ACTION_NOOPS = [ \"Link\", \"Unlink\", \"Start\", \"Stop\", \"RebaseSimTime\" ];\r\nconst ACTION_DEFAULTS = [ \"CanTransition\" ];\r\n\r\n\r\n/** Contract for an action a controller drives between Start and Stop. */\r\nexport class ITr2ControllerAction\r\n{\r\n static [Symbol.hasInstance](value)\r\n {\r\n return value !== null && value !== undefined && value[ITR2_CONTROLLER_ACTION] === true;\r\n }\r\n\r\n /**\r\n * Attaches this action to the controller that will drive it.\r\n *\r\n * @param {object} _controller The driving action controller.\r\n */\r\n Link(_controller)\r\n {\r\n }\r\n\r\n /** Detaches this action, dropping every reference to the controller. */\r\n Unlink()\r\n {\r\n }\r\n\r\n /**\r\n * Begins the action.\r\n *\r\n * @param {object} _controller The driving action controller.\r\n */\r\n Start(_controller)\r\n {\r\n }\r\n\r\n /**\r\n * Stops the action.\r\n *\r\n * @param {object} _controller The driving action controller.\r\n */\r\n Stop(_controller)\r\n {\r\n }\r\n\r\n /**\r\n * Shifts any absolute sim-clock times this action holds.\r\n *\r\n * @param {number} _diff Seconds added to the sim clock.\r\n */\r\n RebaseSimTime(_diff)\r\n {\r\n }\r\n\r\n /**\r\n * Whether the owning state may transition away while this action runs.\r\n *\r\n * THE ONE METHOD CARBON GIVES A CONCRETE DEFAULT: an action does not hold\r\n * its state hostage unless it says so.\r\n *\r\n * @returns {boolean} True unless the action needs to finish first.\r\n */\r\n CanTransition()\r\n {\r\n return true;\r\n }\r\n\r\n /**\r\n * Resolves the object an action operates on, preferring an explicitly supplied\r\n * owner over the controller's own owner.\r\n */\r\n static getOwner(controller, owner = null)\r\n {\r\n return owner ?? controller?.GetOwner() ?? null;\r\n }\r\n\r\n /**\r\n * Throws a TypeError naming the calling method when an action is invoked\r\n * without a controller.\r\n */\r\n static requireController(controller, methodName)\r\n {\r\n if (!controller)\r\n {\r\n throw new TypeError(`${methodName} expects a Tr2Controller as a parameter.`);\r\n }\r\n return controller;\r\n }\r\n\r\n /**\r\n * Gets the controller's current frame time in seconds, preferring the JS-only\r\n * CjsGetCurrentFrameTime hook and falling back to GetTime, then to the\r\n * supplied fallback.\r\n */\r\n static getTime(controller, fallback = 0)\r\n {\r\n if (controller?.CjsGetCurrentFrameTime)\r\n {\r\n return this.toNumber(controller.CjsGetCurrentFrameTime(), fallback);\r\n }\r\n return this.toNumber(controller?.GetTime?.(), fallback);\r\n }\r\n\r\n /**\r\n * Calls a method on a duck-typed target if it exists, returning undefined\r\n * rather than throwing when the target does not implement it.\r\n */\r\n static callTarget(target, methodName, ...args)\r\n {\r\n return this.hasFunction(target, methodName) ? target[methodName](...args) : undefined;\r\n }\r\n\r\n /**\r\n * Converts a value to a finite number, substituting the fallback for NaN and\r\n * infinities.\r\n */\r\n static toNumber(value, fallback = 0)\r\n {\r\n const number = Number(value);\r\n return Number.isFinite(number) ? number : fallback;\r\n }\r\n\r\n /**\r\n * Checks whether a value is an object carrying the named key, including\r\n * inherited keys.\r\n */\r\n static hasProperty(value, key)\r\n {\r\n return !!value && typeof value === \"object\" && key in value;\r\n }\r\n\r\n /** Checks whether a value is an object whose named key is callable. */\r\n static hasFunction(value, key)\r\n {\r\n return this.hasProperty(value, key) && typeof value[key] === \"function\";\r\n }\r\n\r\n /**\r\n * Narrows a value to an object reference, returning null for primitives and\r\n * nullish values.\r\n */\r\n static asObject(value)\r\n {\r\n return value && typeof value === \"object\" ? value : null;\r\n }\r\n\r\n /**\r\n * Reads a property from a duck-typed target, returning undefined when the\r\n * target is not an object or lacks the key.\r\n */\r\n static getProperty(target, propertyName)\r\n {\r\n return this.hasProperty(target, propertyName) ? target[propertyName] : undefined;\r\n }\r\n\r\n /**\r\n * Resolves the object held by an owner's named parameter, accepting\r\n * GetParameterObject, parameterObject or object as the payload accessor.\r\n */\r\n static getParameterOwner(owner, name)\r\n {\r\n const parameter = this.callTarget(owner, \"GetParameterByName\", name);\r\n if (!parameter)\r\n {\r\n return null;\r\n }\r\n return this.asObject(this.callTarget(parameter, \"GetParameterObject\") ?? this.getProperty(parameter, \"parameterObject\") ?? this.getProperty(parameter, \"object\"));\r\n }\r\n\r\n /**\r\n * Finds a named sound emitter on the owner, or null when the owner exposes no\r\n * emitter lookup.\r\n */\r\n static findSoundEmitter(owner, name)\r\n {\r\n return this.callTarget(owner, \"FindSoundEmitter\", name) ?? null;\r\n }\r\n\r\n /**\r\n * Resolves an owner's animation controller from either the\r\n * GetAnimationController method or the animationController property.\r\n */\r\n static getAnimationController(owner)\r\n {\r\n return this.callTarget(owner, \"GetAnimationController\") ?? this.getProperty(owner, \"animationController\") ?? null;\r\n }\r\n}\r\n\r\n\r\nBrand(ITr2ControllerAction, ITR2_CONTROLLER_ACTION, ACTION_NOOPS, []);\r\nfor (const name of ACTION_DEFAULTS) CjsSchema.decorateMethod(ITr2ControllerAction, name, impl.implemented);\r\nCjsSchema.define(ITr2ControllerAction, { className: \"ITr2ControllerAction\" });\r\n\r\n\r\n/**\r\n * Adds the ITr2ControllerAction contract without replacing an existing model\r\n * base.\r\n *\r\n * Every concrete action extends CjsModel, so the contract arrives as a mixin:\r\n * the action overrides the verbs it cares about and inherits Carbon's empty\r\n * body for the rest, and the owner of an `actions` list no longer has to ask.\r\n *\r\n * @param {Function} Base The class to extend.\r\n * @returns {Function} A subclass carrying the contract.\r\n */\r\nexport function withITr2ControllerAction(Base)\r\n{\r\n const Action = Adopt(Base, ITr2ControllerAction, [ ...ACTION_NOOPS, ...ACTION_DEFAULTS ]);\r\n\r\n Brand(Action, ITR2_CONTROLLER_ACTION, ACTION_NOOPS, []);\r\n for (const name of ACTION_DEFAULTS) CjsSchema.decorateMethod(Action, name, impl.implemented);\r\n\r\n return Action;\r\n}\r\n"],"names":["ITR2_CONTROLLER_ACTION","Symbol","for","ACTION_NOOPS","ACTION_DEFAULTS","ITr2ControllerAction","hasInstance","value","undefined","Link","_controller","Unlink","Start","Stop","RebaseSimTime","_diff","CanTransition","getOwner","controller","owner","GetOwner","requireController","methodName","TypeError","getTime","fallback","CjsGetCurrentFrameTime","toNumber","GetTime","callTarget","target","args","hasFunction","number","Number","isFinite","hasProperty","key","asObject","getProperty","propertyName","getParameterOwner","name","parameter","findSoundEmitter","getAnimationController","Brand","CjsSchema","decorateMethod","impl","implemented","define","className","withITr2ControllerAction","Base","Action","Adopt"],"mappings":"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"}
1
+ {"version":3,"file":"ITr2ControllerAction.js","sources":["../../../../../src/trinity/controllers/action/ITr2ControllerAction.js"],"sourcesContent":["// Source: trinity/trinity/Controllers/Actions/ITr2ControllerAction.h\r\n//\r\n// The contract a controller ACTION answers to - the other half of the pair\r\n// whose controller side is ITr2Controller.js. Carbon gives every lifecycle\r\n// verb here an EMPTY BODY: an action that does not care about Link, Unlink,\r\n// Start, Stop or RebaseSimTime inherits a harmless nothing, and only\r\n// CanTransition has an opinionated default (true). Before this contract was\r\n// ported, 10 of our 18 concrete actions lacked Stop, 10 lacked Unlink and 8\r\n// lacked Link, so every owner of an `actions` list hedged each call with\r\n// `action.Stop?.()` - emulating the empty body one call site at a time.\r\n//\r\n// The statics below predate the contract: they are shared JavaScript adapters\r\n// the concrete actions use to duck-type their OWNERS (which have no common\r\n// contract yet). They are unrelated to the instance surface.\r\n\r\nimport { CjsSchema, impl } from \"#schema\";\r\nimport { Adopt, Brand } from \"../ITr2Controller/index.js\";\r\n\r\n\r\nconst ITR2_CONTROLLER_ACTION = Symbol.for(\"carbonenginejs.contract.ITr2ControllerAction\");\r\n\r\nconst ACTION_NOOPS = [ \"Link\", \"Unlink\", \"Start\", \"Stop\", \"RebaseSimTime\" ];\r\nconst ACTION_DEFAULTS = [ \"CanTransition\" ];\r\n\r\n\r\n/** Contract for an action a controller drives between Start and Stop. */\r\nexport class ITr2ControllerAction\r\n{\r\n static [Symbol.hasInstance](value)\r\n {\r\n return value !== null && value !== undefined && value[ITR2_CONTROLLER_ACTION] === true;\r\n }\r\n\r\n /**\r\n * Attaches this action to the controller that will drive it.\r\n *\r\n * @param {object} _controller The driving action controller.\r\n */\r\n Link(_controller)\r\n {\r\n }\r\n\r\n /** Detaches this action, dropping every reference to the controller. */\r\n Unlink()\r\n {\r\n }\r\n\r\n /**\r\n * Begins the action.\r\n *\r\n * @param {object} _controller The driving action controller.\r\n */\r\n Start(_controller)\r\n {\r\n }\r\n\r\n /**\r\n * Stops the action.\r\n *\r\n * @param {object} _controller The driving action controller.\r\n */\r\n Stop(_controller)\r\n {\r\n }\r\n\r\n /**\r\n * Shifts any absolute sim-clock times this action holds.\r\n *\r\n * @param {number} _diff Seconds added to the sim clock.\r\n */\r\n RebaseSimTime(_diff)\r\n {\r\n }\r\n\r\n /**\r\n * Whether the owning state may transition away while this action runs.\r\n *\r\n * THE ONE METHOD CARBON GIVES A CONCRETE DEFAULT: an action does not hold\r\n * its state hostage unless it says so.\r\n *\r\n * @returns {boolean} True unless the action needs to finish first.\r\n */\r\n CanTransition()\r\n {\r\n return true;\r\n }\r\n\r\n /**\r\n * Resolves the object an action operates on, preferring an explicitly supplied\r\n * owner over the controller's own owner.\r\n */\r\n static getOwner(controller, owner = null)\r\n {\r\n return owner ?? controller?.GetOwner() ?? null;\r\n }\r\n\r\n /**\r\n * Throws a TypeError naming the calling method when an action is invoked\r\n * without a controller.\r\n */\r\n static requireController(controller, methodName)\r\n {\r\n if (!controller)\r\n {\r\n throw new TypeError(`${methodName} expects a Tr2Controller as a parameter.`);\r\n }\r\n return controller;\r\n }\r\n\r\n /**\r\n * Gets the controller's current frame time in seconds, preferring the JS-only\r\n * CjsGetCurrentFrameTime hook and falling back to GetTime, then to the\r\n * supplied fallback.\r\n */\r\n static getTime(controller, fallback = 0)\r\n {\r\n if (controller?.CjsGetCurrentFrameTime)\r\n {\r\n return this.toNumber(controller.CjsGetCurrentFrameTime(), fallback);\r\n }\r\n return this.toNumber(controller?.GetTime?.(), fallback);\r\n }\r\n\r\n /**\r\n * Calls a method on a duck-typed target if it exists, returning undefined\r\n * rather than throwing when the target does not implement it.\r\n */\r\n static callTarget(target, methodName, ...args)\r\n {\r\n return this.hasFunction(target, methodName) ? target[methodName](...args) : undefined;\r\n }\r\n\r\n /**\r\n * Converts a value to a finite number, substituting the fallback for NaN and\r\n * infinities.\r\n */\r\n static toNumber(value, fallback = 0)\r\n {\r\n const number = Number(value);\r\n return Number.isFinite(number) ? number : fallback;\r\n }\r\n\r\n /**\r\n * Checks whether a value is an object carrying the named key, including\r\n * inherited keys.\r\n */\r\n static hasProperty(value, key)\r\n {\r\n return !!value && typeof value === \"object\" && key in value;\r\n }\r\n\r\n /** Checks whether a value is an object whose named key is callable. */\r\n static hasFunction(value, key)\r\n {\r\n return this.hasProperty(value, key) && typeof value[key] === \"function\";\r\n }\r\n\r\n /**\r\n * Narrows a value to an object reference, returning null for primitives and\r\n * nullish values.\r\n */\r\n static asObject(value)\r\n {\r\n return value && typeof value === \"object\" ? value : null;\r\n }\r\n\r\n /**\r\n * Reads a property from a duck-typed target, returning undefined when the\r\n * target is not an object or lacks the key.\r\n */\r\n static getProperty(target, propertyName)\r\n {\r\n return this.hasProperty(target, propertyName) ? target[propertyName] : undefined;\r\n }\r\n\r\n /**\r\n * Resolves the object held by an owner's named parameter, accepting\r\n * GetParameterObject, parameterObject or object as the payload accessor.\r\n */\r\n static getParameterOwner(owner, name)\r\n {\r\n const parameter = this.callTarget(owner, \"GetParameterByName\", name);\r\n if (!parameter)\r\n {\r\n return null;\r\n }\r\n return this.asObject(this.callTarget(parameter, \"GetParameterObject\") ?? this.getProperty(parameter, \"parameterObject\") ?? this.getProperty(parameter, \"object\"));\r\n }\r\n\r\n /**\r\n * Finds a named sound emitter on the owner, or null when the owner exposes no\r\n * emitter lookup.\r\n */\r\n static findSoundEmitter(owner, name)\r\n {\r\n return this.callTarget(owner, \"FindSoundEmitter\", name) ?? null;\r\n }\r\n\r\n /**\r\n * Resolves an owner's animation controller from either the\r\n * GetAnimationController method or the animationController property.\r\n */\r\n static getAnimationController(owner)\r\n {\r\n return this.callTarget(owner, \"GetAnimationController\") ?? this.getProperty(owner, \"animationController\") ?? null;\r\n }\r\n}\r\n\r\n\r\nBrand(ITr2ControllerAction, ITR2_CONTROLLER_ACTION, ACTION_NOOPS, []);\r\nfor (const name of ACTION_DEFAULTS) CjsSchema.decorateMethod(ITr2ControllerAction, name, impl.implemented);\r\nCjsSchema.define(ITr2ControllerAction, { className: \"ITr2ControllerAction\" });\r\n\r\n\r\n/**\r\n * Adds the ITr2ControllerAction contract without replacing an existing model\r\n * base.\r\n *\r\n * Every concrete action extends CjsModel, so the contract arrives as a mixin:\r\n * the action overrides the verbs it cares about and inherits Carbon's empty\r\n * body for the rest, and the owner of an `actions` list no longer has to ask.\r\n *\r\n * @param {Function} Base The class to extend.\r\n * @returns {Function} A subclass carrying the contract.\r\n */\r\nexport function withITr2ControllerAction(Base)\r\n{\r\n const Action = Adopt(Base, ITr2ControllerAction, [ ...ACTION_NOOPS, ...ACTION_DEFAULTS ]);\r\n\r\n Brand(Action, ITR2_CONTROLLER_ACTION, ACTION_NOOPS, []);\r\n for (const name of ACTION_DEFAULTS) CjsSchema.decorateMethod(Action, name, impl.implemented);\r\n\r\n return Action;\r\n}\r\n"],"names":["ITR2_CONTROLLER_ACTION","Symbol","for","ACTION_NOOPS","ACTION_DEFAULTS","ITr2ControllerAction","hasInstance","value","undefined","Link","_controller","Unlink","Start","Stop","RebaseSimTime","_diff","CanTransition","getOwner","controller","owner","GetOwner","requireController","methodName","TypeError","getTime","fallback","CjsGetCurrentFrameTime","toNumber","GetTime","callTarget","target","args","hasFunction","number","Number","isFinite","hasProperty","key","asObject","getProperty","propertyName","getParameterOwner","name","parameter","findSoundEmitter","getAnimationController","Brand","CjsSchema","decorateMethod","impl","implemented","define","className","withITr2ControllerAction","Base","Action","Adopt"],"mappings":"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"}
@@ -2,14 +2,15 @@ import { identity as _identity, applyDecs2311 as _applyDecs2311 } from '../../..
2
2
  import { CjsModel } from '#model';
3
3
  import { withITr2ControllerAction } from './ITr2ControllerAction.js';
4
4
  import { io, type, carbon, impl } from '#schema';
5
- import { ITr2GenericEmitterUpdateArguments as _ITr2GenericEmitterUp } from '../../particle/ITr2GenericEmitter.js';
5
+ import { ITr2GenericEmitterUpdateArguments as _ITr2GenericEmitterUp } from '../../particle/ITr2GenericEmitter/ITr2GenericEmitterUpdateArguments.js';
6
+ import '../../particle/ITr2GenericEmitter/ITr2GenericEmitter.js';
6
7
 
7
8
  var _withITr2ControllerAc;
8
9
  let _initProto, _initClass, _init_emitter, _init_extra_emitter, _init_rate, _init_extra_rate;
9
10
 
10
- /**
11
- * Controller action that emits a one-shot burst of particles from a dynamic
12
- * emitter when it starts.
11
+ /**
12
+ * Controller action that emits a one-shot burst of particles from a dynamic
13
+ * emitter when it starts.
13
14
  */
14
15
  let _Tr2ActionSpawnPartic;
15
16
  new class extends _identity {
@@ -30,8 +31,8 @@ new class extends _identity {
30
31
  emitter = (_initProto(this), _init_emitter(this, null));
31
32
  rate = (_init_extra_emitter(this), _init_rate(this, 1));
32
33
 
33
- /**
34
- * Spawns particles on the configured emitter.
34
+ /**
35
+ * Spawns particles on the configured emitter.
35
36
  */
36
37
  Start(_controller) {
37
38
  if (!this.emitter) {
@@ -40,9 +41,9 @@ new class extends _identity {
40
41
  this.emitter.SpawnParticles(_Tr2ActionSpawnPartic.#createEmitterUpdateArguments(), null, null, this.rate);
41
42
  }
42
43
 
43
- /**
44
- * Builds the emitter update arguments used for a manual spawn, with an emit
45
- * count factor of 1 so the authored rate is applied unscaled.
44
+ /**
45
+ * Builds the emitter update arguments used for a manual spawn, with an emit
46
+ * count factor of 1 so the authored rate is applied unscaled.
46
47
  */
47
48
  }];
48
49
  #createEmitterUpdateArguments() {
@@ -1 +1 @@
1
- {"version":3,"file":"Tr2ActionSpawnParticles.js","sources":["../../../../../src/trinity/controllers/action/Tr2ActionSpawnParticles.js"],"sourcesContent":["// Source: trinity/trinity/Controllers/Actions/Tr2ActionSpawnParticles.h\r\n// Source: trinity/trinity/Controllers/Actions/Tr2ActionSpawnParticles.cpp\r\nimport { CjsModel } from \"#model\";\nimport { withITr2ControllerAction } from \"./ITr2ControllerAction.js\";\r\nimport { carbon, impl, io, type } from \"#schema\";\r\nimport { ITr2GenericEmitterUpdateArguments } from \"../../particle/ITr2GenericEmitter.js\";\n\r\n\r\n/**\r\n * Controller action that emits a one-shot burst of particles from a dynamic\r\n * emitter when it starts.\r\n */\r\n@type.define({\r\n className: \"Tr2ActionSpawnParticles\",\r\n family: \"controllers\"\r\n})\r\nexport class Tr2ActionSpawnParticles extends withITr2ControllerAction(CjsModel)\r\n{\r\n @io.persist\r\n @type.objectRef(\"Tr2DynamicEmitter\")\r\n emitter = null;\r\n\r\n @io.persist\r\n @type.float32\r\n rate = 1;\r\n\r\n /**\r\n * Spawns particles on the configured emitter.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n Start(_controller)\r\n {\r\n if (!this.emitter)\n {\n return;\n }\r\n this.emitter.SpawnParticles(Tr2ActionSpawnParticles.#createEmitterUpdateArguments(), null, null, this.rate);\r\n }\r\n\r\n /**\r\n * Builds the emitter update arguments used for a manual spawn, with an emit\r\n * count factor of 1 so the authored rate is applied unscaled.\r\n */\r\n static #createEmitterUpdateArguments()\r\n {\r\n const args = new ITr2GenericEmitterUpdateArguments();\n args.emitCountFactor = 1;\r\n return args;\r\n }\r\n}\r\n"],"names":["_Tr2ActionSpawnPartic","_identity","Tr2ActionSpawnParticles","_withITr2ControllerAc","withITr2ControllerAction","CjsModel","e","_init_emitter","_init_extra_emitter","_init_rate","_init_extra_rate","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persist","objectRef","float32","carbon","method","impl","adapted","constructor","args","emitter","rate","Start","_controller","SpawnParticles","#createEmitterUpdateArguments","ITr2GenericEmitterUpdateArguments","emitCountFactor"],"mappings":";;;;;;;;;AAQA;AACA;AACA;AACA;AAHA,IAAAA;AAAA,IAAA,cAAAC,SAAA,CAAA;EAAA,QAIA,MAAAC,uBAAA,UAAAC,qBAAA,GAI6CC,wBAAwB,CAACC,QAAQ,CAAC,EAC/E;AAAA,IAAA;AAAA,MAAA,CAAA;QAAAC,CAAA,EAAA,CAAAC,aAAA,EAAAC,mBAAA,EAAAC,UAAA,EAAAC,gBAAA,EAAAC,UAAA,CAAA;QAAAC,CAAA,EAAA,CAAAZ,qBAAA,EAAAa,UAAA;AAAA,OAAA,GAAAC,cAAA,CAAA,IAAA,EAAA,CALCC,IAAI,CAACC,MAAM,CAAC;AACXC,QAAAA,SAAS,EAAE,yBAAyB;AACpCC,QAAAA,MAAM,EAAE;AACV,OAAC,CAAC,CAAA,EAAA,CAAA,CAAA,CAGCC,EAAE,EAAFA,EAAE,CAACC,OAAO,EAAA,MAAA,EACVL,IAAI,CAACM,SAAS,CAAC,mBAAmB,CAAC,CAAA,EAAA,EAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAGnCF,EAAE,EAAFA,EAAE,CAACC,OAAO,EACVL,IAAI,EAAJA,IAAI,CAACO,OAAO,CAAA,EAAA,EAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAMZC,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,6BAAAvB,qBAAA,CAAA;AAAA;AAAAwB,IAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,MAAA,KAAA,CAAA,GAAAA,IAAA,CAAA;MAAAlB,gBAAA,CAAA,IAAA,CAAA;AAAA,IAAA;AAVbmB,IAAAA,OAAO,IAAAlB,UAAA,CAAA,IAAA,CAAA,EAAAJ,aAAA,OAAG,IAAI,CAAA;AAIduB,IAAAA,IAAI,IAAAtB,mBAAA,CAAA,IAAA,CAAA,EAAAC,UAAA,OAAG,CAAC,CAAA;;AAER;AACF;AACA;IAGEsB,KAAKA,CAACC,WAAW,EACjB;AACE,MAAA,IAAI,CAAC,IAAI,CAACH,OAAO,EACjB;AACE,QAAA;AACF,MAAA;AACA,MAAA,IAAI,CAACA,OAAO,CAACI,cAAc,CAAC/B,qBAAuB,CAAC,6BAA6B,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC4B,IAAI,CAAC;AAC7G,IAAA;;AAEA;AACF;AACA;AACA;GAOC;EANQ,6BAA6BI,GACpC;AACE,IAAA,MAAMN,IAAI,GAAG,IAAIO,qBAAiC,EAAE;IACpDP,IAAI,CAACQ,eAAe,GAAG,CAAC;AACxB,IAAA,OAAOR,IAAI;AACb,EAAA;EAACD,WAAAA,GAAA;IAAA,KAAA,CAAA3B,qBAAA,GAAAa,UAAA,EAAA;AAAA,EAAA;AAAA,CAAA,EAAA;;;;"}
1
+ {"version":3,"file":"Tr2ActionSpawnParticles.js","sources":["../../../../../src/trinity/controllers/action/Tr2ActionSpawnParticles.js"],"sourcesContent":["// Source: trinity/trinity/Controllers/Actions/Tr2ActionSpawnParticles.h\n// Source: trinity/trinity/Controllers/Actions/Tr2ActionSpawnParticles.cpp\nimport { CjsModel } from \"#model\";\nimport { withITr2ControllerAction } from \"./ITr2ControllerAction.js\";\nimport { carbon, impl, io, type } from \"#schema\";\nimport { ITr2GenericEmitterUpdateArguments } from \"../../particle/ITr2GenericEmitter/index.js\";\n\n\n/**\n * Controller action that emits a one-shot burst of particles from a dynamic\n * emitter when it starts.\n */\n@type.define({\n className: \"Tr2ActionSpawnParticles\",\n family: \"controllers\"\n})\nexport class Tr2ActionSpawnParticles extends withITr2ControllerAction(CjsModel)\n{\n @io.persist\n @type.objectRef(\"Tr2DynamicEmitter\")\n emitter = null;\n\n @io.persist\n @type.float32\n rate = 1;\n\n /**\n * Spawns particles on the configured emitter.\n */\n @carbon.method\n @impl.adapted\n Start(_controller)\n {\n if (!this.emitter)\n {\n return;\n }\n this.emitter.SpawnParticles(Tr2ActionSpawnParticles.#createEmitterUpdateArguments(), null, null, this.rate);\n }\n\n /**\n * Builds the emitter update arguments used for a manual spawn, with an emit\n * count factor of 1 so the authored rate is applied unscaled.\n */\n static #createEmitterUpdateArguments()\n {\n const args = new ITr2GenericEmitterUpdateArguments();\n args.emitCountFactor = 1;\n return args;\n }\n}\n"],"names":["_Tr2ActionSpawnPartic","_identity","Tr2ActionSpawnParticles","_withITr2ControllerAc","withITr2ControllerAction","CjsModel","e","_init_emitter","_init_extra_emitter","_init_rate","_init_extra_rate","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persist","objectRef","float32","carbon","method","impl","adapted","constructor","args","emitter","rate","Start","_controller","SpawnParticles","#createEmitterUpdateArguments","ITr2GenericEmitterUpdateArguments","emitCountFactor"],"mappings":";;;;;;;;;;AAQA;AACA;AACA;AACA;AAHA,IAAAA;AAAA,IAAA,cAAAC,SAAA,CAAA;EAAA,QAIA,MAAAC,uBAAA,UAAAC,qBAAA,GAI6CC,wBAAwB,CAACC,QAAQ,CAAC,EAC/E;AAAA,IAAA;AAAA,MAAA,CAAA;QAAAC,CAAA,EAAA,CAAAC,aAAA,EAAAC,mBAAA,EAAAC,UAAA,EAAAC,gBAAA,EAAAC,UAAA,CAAA;QAAAC,CAAA,EAAA,CAAAZ,qBAAA,EAAAa,UAAA;AAAA,OAAA,GAAAC,cAAA,CAAA,IAAA,EAAA,CALCC,IAAI,CAACC,MAAM,CAAC;AACXC,QAAAA,SAAS,EAAE,yBAAyB;AACpCC,QAAAA,MAAM,EAAE;AACV,OAAC,CAAC,CAAA,EAAA,CAAA,CAAA,CAGCC,EAAE,EAAFA,EAAE,CAACC,OAAO,EAAA,MAAA,EACVL,IAAI,CAACM,SAAS,CAAC,mBAAmB,CAAC,CAAA,EAAA,EAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAGnCF,EAAE,EAAFA,EAAE,CAACC,OAAO,EACVL,IAAI,EAAJA,IAAI,CAACO,OAAO,CAAA,EAAA,EAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAMZC,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,6BAAAvB,qBAAA,CAAA;AAAA;AAAAwB,IAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,MAAA,KAAA,CAAA,GAAAA,IAAA,CAAA;MAAAlB,gBAAA,CAAA,IAAA,CAAA;AAAA,IAAA;AAVbmB,IAAAA,OAAO,IAAAlB,UAAA,CAAA,IAAA,CAAA,EAAAJ,aAAA,OAAG,IAAI,CAAA;AAIduB,IAAAA,IAAI,IAAAtB,mBAAA,CAAA,IAAA,CAAA,EAAAC,UAAA,OAAG,CAAC,CAAA;;AAER;AACF;AACA;IAGEsB,KAAKA,CAACC,WAAW,EACjB;AACE,MAAA,IAAI,CAAC,IAAI,CAACH,OAAO,EACjB;AACE,QAAA;AACF,MAAA;AACA,MAAA,IAAI,CAACA,OAAO,CAACI,cAAc,CAAC/B,qBAAuB,CAAC,6BAA6B,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC4B,IAAI,CAAC;AAC7G,IAAA;;AAEA;AACF;AACA;AACA;GAOC;EANQ,6BAA6BI,GACpC;AACE,IAAA,MAAMN,IAAI,GAAG,IAAIO,qBAAiC,EAAE;IACpDP,IAAI,CAACQ,eAAe,GAAG,CAAC;AACxB,IAAA,OAAOR,IAAI;AACb,EAAA;EAACD,WAAAA,GAAA;IAAA,KAAA,CAAA3B,qBAAA,GAAAa,UAAA,EAAA;AAAA,EAAA;AAAA,CAAA,EAAA;;;;"}
@@ -0,0 +1,26 @@
1
+ // Source: parser/include/ccpparser.h (CcpParser::Parse)
2
+
3
+ /**
4
+ * Error raised while tokenizing or parsing an expression, carrying the source
5
+ * text, the reason, and the character position at which parsing failed.
6
+ */
7
+ class CjsControllerExpressionCompileError extends Error {
8
+ expression;
9
+ reason;
10
+ position;
11
+
12
+ /**
13
+ * Formats the message as the position, reason and full expression so a failed
14
+ * compile is diagnosable from the message alone.
15
+ */
16
+ constructor(data) {
17
+ super(`Error compiling expression at ${data.position}: ${data.reason} (${data.expression})`);
18
+ this.name = "CjsControllerExpressionCompileError";
19
+ this.expression = data.expression;
20
+ this.reason = data.reason;
21
+ this.position = data.position;
22
+ }
23
+ }
24
+
25
+ export { CjsControllerExpressionCompileError };
26
+ //# sourceMappingURL=CjsControllerExpressionCompileError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CjsControllerExpressionCompileError.js","sources":["../../../../../src/trinity/controllers/expression/CjsControllerExpressionCompileError.js"],"sourcesContent":["// Source: parser/include/ccpparser.h (CcpParser::Parse)\r\n\r\n/**\r\n * Error raised while tokenizing or parsing an expression, carrying the source\r\n * text, the reason, and the character position at which parsing failed.\r\n */\r\nexport class CjsControllerExpressionCompileError extends Error\r\n{\r\n expression;\r\n reason;\r\n position;\r\n\r\n /**\r\n * Formats the message as the position, reason and full expression so a failed\r\n * compile is diagnosable from the message alone.\r\n */\r\n constructor(data)\r\n {\r\n super(`Error compiling expression at ${data.position}: ${data.reason} (${data.expression})`);\r\n this.name = \"CjsControllerExpressionCompileError\";\r\n this.expression = data.expression;\r\n this.reason = data.reason;\r\n this.position = data.position;\r\n }\r\n}\r\n"],"names":["CjsControllerExpressionCompileError","Error","expression","reason","position","constructor","data","name"],"mappings":"AAAA;;AAEA;AACA;AACA;AACA;AACO,MAAMA,mCAAmC,SAASC,KAAK,CAC9D;EACEC,UAAU;EACVC,MAAM;EACNC,QAAQ;;AAER;AACF;AACA;AACA;EACEC,WAAWA,CAACC,IAAI,EAChB;AACE,IAAA,KAAK,CAAC,CAAA,8BAAA,EAAiCA,IAAI,CAACF,QAAQ,CAAA,EAAA,EAAKE,IAAI,CAACH,MAAM,CAAA,EAAA,EAAKG,IAAI,CAACJ,UAAU,GAAG,CAAC;IAC5F,IAAI,CAACK,IAAI,GAAG,qCAAqC;AACjD,IAAA,IAAI,CAACL,UAAU,GAAGI,IAAI,CAACJ,UAAU;AACjC,IAAA,IAAI,CAACC,MAAM,GAAGG,IAAI,CAACH,MAAM;AACzB,IAAA,IAAI,CAACC,QAAQ,GAAGE,IAAI,CAACF,QAAQ;AAC/B,EAAA;AACF;;;;"}
@@ -0,0 +1,24 @@
1
+ // Source: parser/include/ccpparser.h (CcpParser::Program)
2
+
3
+ /**
4
+ * Error raised while evaluating a compiled expression, carrying the source text
5
+ * and the reason.
6
+ */
7
+ class CjsControllerExpressionEvaluateError extends Error {
8
+ expression;
9
+ reason;
10
+
11
+ /**
12
+ * Formats the message as the reason and the full expression; unlike compile
13
+ * errors there is no meaningful source position at evaluation time.
14
+ */
15
+ constructor(data) {
16
+ super(`Error evaluating expression: ${data.reason} (${data.expression})`);
17
+ this.name = "CjsControllerExpressionEvaluateError";
18
+ this.expression = data.expression;
19
+ this.reason = data.reason;
20
+ }
21
+ }
22
+
23
+ export { CjsControllerExpressionEvaluateError };
24
+ //# sourceMappingURL=CjsControllerExpressionEvaluateError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CjsControllerExpressionEvaluateError.js","sources":["../../../../../src/trinity/controllers/expression/CjsControllerExpressionEvaluateError.js"],"sourcesContent":["// Source: parser/include/ccpparser.h (CcpParser::Program)\r\n\r\n/**\r\n * Error raised while evaluating a compiled expression, carrying the source text\r\n * and the reason.\r\n */\r\nexport class CjsControllerExpressionEvaluateError extends Error\r\n{\r\n expression;\r\n reason;\r\n\r\n /**\r\n * Formats the message as the reason and the full expression; unlike compile\r\n * errors there is no meaningful source position at evaluation time.\r\n */\r\n constructor(data)\r\n {\r\n super(`Error evaluating expression: ${data.reason} (${data.expression})`);\r\n this.name = \"CjsControllerExpressionEvaluateError\";\r\n this.expression = data.expression;\r\n this.reason = data.reason;\r\n }\r\n}\r\n"],"names":["CjsControllerExpressionEvaluateError","Error","expression","reason","constructor","data","name"],"mappings":"AAAA;;AAEA;AACA;AACA;AACA;AACO,MAAMA,oCAAoC,SAASC,KAAK,CAC/D;EACEC,UAAU;EACVC,MAAM;;AAEN;AACF;AACA;AACA;EACEC,WAAWA,CAACC,IAAI,EAChB;IACE,KAAK,CAAC,CAAA,6BAAA,EAAgCA,IAAI,CAACF,MAAM,KAAKE,IAAI,CAACH,UAAU,CAAA,CAAA,CAAG,CAAC;IACzE,IAAI,CAACI,IAAI,GAAG,sCAAsC;AAClD,IAAA,IAAI,CAACJ,UAAU,GAAGG,IAAI,CAACH,UAAU;AACjC,IAAA,IAAI,CAACC,MAAM,GAAGE,IAAI,CAACF,MAAM;AAC3B,EAAA;AACF;;;;"}
@@ -0,0 +1,387 @@
1
+ import { CjsControllerExpressionCompileError } from './CjsControllerExpressionCompileError.js';
2
+ import { Tokenize, CONSTANTS, GetFunction, BLOCKED_IDENTIFIERS } from './expressionRuntime.js';
3
+
4
+ // Source: parser/include/ccpparser.h (CcpParser::Parse)
5
+ /**
6
+ * Recursive-descent parser turning expression source into the AST evaluated by
7
+ * CjsControllerExpressionProgram, collecting referenced variable and function
8
+ * names and rejecting identifiers that could reach the JavaScript prototype
9
+ * chain.
10
+ */
11
+ class CjsControllerExpressionParser {
12
+ source;
13
+ options;
14
+ tokens;
15
+ index = 0;
16
+ variableNames = new Set();
17
+ functionNames = new Set();
18
+
19
+ /**
20
+ * Tokenizes the source up front; a malformed character or unterminated string
21
+ * throws a CjsControllerExpressionCompileError here rather than during Parse.
22
+ */
23
+ constructor(source, options) {
24
+ this.source = source;
25
+ this.options = options || {};
26
+ this.tokens = Tokenize(source);
27
+ }
28
+
29
+ /**
30
+ * Parses the whole source as a single expression and requires that all input
31
+ * is consumed.
32
+ */
33
+ Parse() {
34
+ const expression = this.ParseConditional();
35
+ this.Expect("eof");
36
+ return expression;
37
+ }
38
+
39
+ /**
40
+ * Parses the ternary `cond ? a : b` level, which is right-associative and the
41
+ * lowest-precedence form.
42
+ */
43
+ ParseConditional() {
44
+ const condition = this.ParseLogicalOr();
45
+ if (this.Match("operator", "?")) {
46
+ const consequent = this.ParseConditional();
47
+ this.Expect("operator", ":");
48
+ const alternate = this.ParseConditional();
49
+ return {
50
+ type: "conditional",
51
+ condition,
52
+ consequent,
53
+ alternate
54
+ };
55
+ }
56
+ return condition;
57
+ }
58
+
59
+ /** Parses left-associative `||` chains. */
60
+ ParseLogicalOr() {
61
+ let node = this.ParseLogicalAnd();
62
+ while (this.Match("operator", "||")) {
63
+ node = {
64
+ type: "binary",
65
+ operator: "||",
66
+ left: node,
67
+ right: this.ParseLogicalAnd()
68
+ };
69
+ }
70
+ return node;
71
+ }
72
+
73
+ /** Parses left-associative `&&` chains, which bind tighter than `||`. */
74
+ ParseLogicalAnd() {
75
+ let node = this.ParseEquality();
76
+ while (this.Match("operator", "&&")) {
77
+ node = {
78
+ type: "binary",
79
+ operator: "&&",
80
+ left: node,
81
+ right: this.ParseEquality()
82
+ };
83
+ }
84
+ return node;
85
+ }
86
+
87
+ /** Parses left-associative `==` and `!=` chains. */
88
+ ParseEquality() {
89
+ let node = this.ParseComparison();
90
+ while (true) {
91
+ if (this.Match("operator", "==")) {
92
+ node = {
93
+ type: "binary",
94
+ operator: "==",
95
+ left: node,
96
+ right: this.ParseComparison()
97
+ };
98
+ } else if (this.Match("operator", "!=")) {
99
+ node = {
100
+ type: "binary",
101
+ operator: "!=",
102
+ left: node,
103
+ right: this.ParseComparison()
104
+ };
105
+ } else {
106
+ return node;
107
+ }
108
+ }
109
+ }
110
+
111
+ /**
112
+ * Parses left-associative `<`, `<=`, `>` and `>=` chains, which bind tighter
113
+ * than equality.
114
+ */
115
+ ParseComparison() {
116
+ let node = this.ParseTerm();
117
+ while (true) {
118
+ if (this.Match("operator", "<")) {
119
+ node = {
120
+ type: "binary",
121
+ operator: "<",
122
+ left: node,
123
+ right: this.ParseTerm()
124
+ };
125
+ } else if (this.Match("operator", "<=")) {
126
+ node = {
127
+ type: "binary",
128
+ operator: "<=",
129
+ left: node,
130
+ right: this.ParseTerm()
131
+ };
132
+ } else if (this.Match("operator", ">")) {
133
+ node = {
134
+ type: "binary",
135
+ operator: ">",
136
+ left: node,
137
+ right: this.ParseTerm()
138
+ };
139
+ } else if (this.Match("operator", ">=")) {
140
+ node = {
141
+ type: "binary",
142
+ operator: ">=",
143
+ left: node,
144
+ right: this.ParseTerm()
145
+ };
146
+ } else {
147
+ return node;
148
+ }
149
+ }
150
+ }
151
+
152
+ /** Parses left-associative `+` and `-` chains. */
153
+ ParseTerm() {
154
+ let node = this.ParseFactor();
155
+ while (true) {
156
+ if (this.Match("operator", "+")) {
157
+ node = {
158
+ type: "binary",
159
+ operator: "+",
160
+ left: node,
161
+ right: this.ParseFactor()
162
+ };
163
+ } else if (this.Match("operator", "-")) {
164
+ node = {
165
+ type: "binary",
166
+ operator: "-",
167
+ left: node,
168
+ right: this.ParseFactor()
169
+ };
170
+ } else {
171
+ return node;
172
+ }
173
+ }
174
+ }
175
+
176
+ /**
177
+ * Parses left-associative `*`, `/` and `%` chains, which bind tighter than
178
+ * addition.
179
+ */
180
+ ParseFactor() {
181
+ let node = this.ParseExponent();
182
+ while (true) {
183
+ if (this.Match("operator", "*")) {
184
+ node = {
185
+ type: "binary",
186
+ operator: "*",
187
+ left: node,
188
+ right: this.ParseExponent()
189
+ };
190
+ } else if (this.Match("operator", "/")) {
191
+ node = {
192
+ type: "binary",
193
+ operator: "/",
194
+ left: node,
195
+ right: this.ParseExponent()
196
+ };
197
+ } else if (this.Match("operator", "%")) {
198
+ node = {
199
+ type: "binary",
200
+ operator: "%",
201
+ left: node,
202
+ right: this.ParseExponent()
203
+ };
204
+ } else {
205
+ return node;
206
+ }
207
+ }
208
+ }
209
+
210
+ /**
211
+ * Parses `^` power chains; unlike most languages this level is
212
+ * left-associative here.
213
+ */
214
+ ParseExponent() {
215
+ let node = this.ParseUnary();
216
+ while (this.Match("operator", "^")) {
217
+ node = {
218
+ type: "binary",
219
+ operator: "^",
220
+ left: node,
221
+ right: this.ParseUnary()
222
+ };
223
+ }
224
+ return node;
225
+ }
226
+
227
+ /**
228
+ * Parses right-nested prefix `!`, `-` and `+` operators, falling through to a
229
+ * primary when none is present.
230
+ */
231
+ ParseUnary() {
232
+ if (this.Match("operator", "!")) {
233
+ return {
234
+ type: "unary",
235
+ operator: "!",
236
+ argument: this.ParseUnary()
237
+ };
238
+ }
239
+ if (this.Match("operator", "-")) {
240
+ return {
241
+ type: "unary",
242
+ operator: "-",
243
+ argument: this.ParseUnary()
244
+ };
245
+ }
246
+ if (this.Match("operator", "+")) {
247
+ return {
248
+ type: "unary",
249
+ operator: "+",
250
+ argument: this.ParseUnary()
251
+ };
252
+ }
253
+ return this.ParsePrimary();
254
+ }
255
+
256
+ /**
257
+ * Parses a number, string, parenthesized expression, function call, built-in
258
+ * constant, or a variable identifier, recording bare identifiers in
259
+ * `variableNames`.
260
+ */
261
+ ParsePrimary() {
262
+ const token = this.Peek();
263
+ if (this.Match("number")) {
264
+ return {
265
+ type: "literal",
266
+ value: token.value
267
+ };
268
+ }
269
+ if (this.Match("string")) {
270
+ return {
271
+ type: "literal",
272
+ value: token.value
273
+ };
274
+ }
275
+ if (this.Match("identifier")) {
276
+ const name = String(token.value);
277
+ this.AssertSafeIdentifier(name);
278
+ if (this.Match("operator", "(")) {
279
+ return this.ParseCall(name);
280
+ }
281
+ if (name in CONSTANTS) {
282
+ return {
283
+ type: "literal",
284
+ value: CONSTANTS[name]
285
+ };
286
+ }
287
+ this.variableNames.add(name);
288
+ return {
289
+ type: "identifier",
290
+ name
291
+ };
292
+ }
293
+ if (this.Match("operator", "(")) {
294
+ const node = this.ParseConditional();
295
+ this.Expect("operator", ")");
296
+ return node;
297
+ }
298
+ throw this.Error(`Unexpected token '${String(token.value)}'`);
299
+ }
300
+
301
+ /**
302
+ * Parses a call argument list after the opening parenthesis and fails
303
+ * compilation when the name resolves to no built-in or caller-supplied
304
+ * function, so unknown functions cannot reach evaluation.
305
+ */
306
+ ParseCall(name) {
307
+ this.AssertSafeIdentifier(name);
308
+ if (!GetFunction(name, this.options)) {
309
+ throw this.Error(`Unknown function '${name}'`);
310
+ }
311
+ const args = [];
312
+ if (!this.Match("operator", ")")) {
313
+ do {
314
+ args.push(this.ParseConditional());
315
+ } while (this.Match("operator", ","));
316
+ this.Expect("operator", ")");
317
+ }
318
+ this.functionNames.add(name);
319
+ return {
320
+ type: "call",
321
+ name,
322
+ args
323
+ };
324
+ }
325
+
326
+ /**
327
+ * Rejects identifiers such as `__proto__`, `constructor` and `globalThis` that
328
+ * could be used to escape the sandboxed evaluator.
329
+ */
330
+ AssertSafeIdentifier(name) {
331
+ if (BLOCKED_IDENTIFIERS.has(name)) {
332
+ throw this.Error(`Unsafe identifier '${name}'`);
333
+ }
334
+ }
335
+
336
+ /**
337
+ * Returns the token at the cursor without consuming it; the stream always ends
338
+ * with an `eof` token.
339
+ */
340
+ Peek() {
341
+ return this.tokens[this.index];
342
+ }
343
+
344
+ /**
345
+ * Consumes the next token and returns true when it has the given type and, if
346
+ * supplied, the given value; otherwise leaves the cursor untouched.
347
+ */
348
+ Match(type, value) {
349
+ const token = this.Peek();
350
+ if (!token || token.type !== type) {
351
+ return false;
352
+ }
353
+ if (value !== undefined && token.value !== value) {
354
+ return false;
355
+ }
356
+ this.index++;
357
+ return true;
358
+ }
359
+
360
+ /**
361
+ * Consumes and returns the next token, throwing a compile error naming the
362
+ * expected form when it does not match.
363
+ */
364
+ Expect(type, value) {
365
+ const token = this.Peek();
366
+ if (this.Match(type, value)) {
367
+ return token;
368
+ }
369
+ throw this.Error(`Expected ${value || type}, got '${token ? String(token.value) : "end of input"}'`);
370
+ }
371
+
372
+ /**
373
+ * Builds a compile error carrying the source text and the character position
374
+ * of the current token.
375
+ */
376
+ Error(message) {
377
+ const token = this.Peek();
378
+ return new CjsControllerExpressionCompileError({
379
+ expression: this.source,
380
+ reason: message,
381
+ position: token ? token.position : this.source.length
382
+ });
383
+ }
384
+ }
385
+
386
+ export { CjsControllerExpressionParser };
387
+ //# sourceMappingURL=CjsControllerExpressionParser.js.map