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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (935) hide show
  1. package/README.md +58 -125
  2. package/dist/audio/index.js +8 -1
  3. package/dist/audio/index.js.map +1 -1
  4. package/dist/audio/trinity/audio/AudActionLog/AudActionLogCB.js +84 -0
  5. package/dist/audio/trinity/audio/AudActionLog/AudActionLogCB.js.map +1 -0
  6. package/dist/audio/trinity/audio/AudActionLog/AudActionRecord.js +14 -0
  7. package/dist/audio/trinity/audio/AudActionLog/AudActionRecord.js.map +1 -0
  8. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordExecuteActionOnPlayingID.js +26 -0
  9. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordExecuteActionOnPlayingID.js.map +1 -0
  10. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordPostEvent.js +27 -0
  11. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordPostEvent.js.map +1 -0
  12. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetRTPC.js +27 -0
  13. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetRTPC.js.map +1 -0
  14. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetState.js +25 -0
  15. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetState.js.map +1 -0
  16. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetSwitch.js +26 -0
  17. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetSwitch.js.map +1 -0
  18. package/dist/audio/trinity/audio/AudActionLog/IAudActionLog.js +58 -0
  19. package/dist/audio/trinity/audio/AudActionLog/IAudActionLog.js.map +1 -0
  20. package/dist/audio/trinity/audio/AudManager.js +1 -1
  21. package/dist/audio/trinity/audio/AudManager.js.map +1 -1
  22. package/dist/audio/trinity/audio/{AudObstructionOcclusion.js → AudObstructionOcclusion/AudObstructionOcclusion.js} +8 -52
  23. package/dist/audio/trinity/audio/AudObstructionOcclusion/AudObstructionOcclusion.js.map +1 -0
  24. package/dist/audio/trinity/audio/AudObstructionOcclusion/EmitterState.js +17 -0
  25. package/dist/audio/trinity/audio/AudObstructionOcclusion/EmitterState.js.map +1 -0
  26. package/dist/audio/trinity/audio/AudObstructionOcclusion/FadingValue.js +46 -0
  27. package/dist/audio/trinity/audio/AudObstructionOcclusion/FadingValue.js.map +1 -0
  28. package/dist/audio/trinity/index.js +8 -1
  29. package/dist/audio/trinity/index.js.map +1 -1
  30. package/dist/character/CjsCharacterAppearanceConstruction.js +5 -0
  31. package/dist/character/CjsCharacterAppearanceConstruction.js.map +1 -1
  32. package/dist/character/CjsCharacterAppearanceManager.js +14 -0
  33. package/dist/character/CjsCharacterAppearanceManager.js.map +1 -1
  34. package/dist/character/CjsCharacterFoundationConstruction.js +5 -0
  35. package/dist/character/CjsCharacterFoundationConstruction.js.map +1 -1
  36. package/dist/character/CjsCharacterTexturePolicy.js +5 -0
  37. package/dist/character/CjsCharacterTexturePolicy.js.map +1 -1
  38. package/dist/character/gles/CjsCharacterGlesAppearanceAL.js +17 -0
  39. package/dist/character/gles/CjsCharacterGlesAppearanceAL.js.map +1 -1
  40. package/dist/character/gles/CjsCharacterGlesAtlasRenderer.js +2 -0
  41. package/dist/character/gles/CjsCharacterGlesAtlasRenderer.js.map +1 -1
  42. package/dist/character/gles/CjsCharacterGlesFoundationTranslator.js +5 -0
  43. package/dist/character/gles/CjsCharacterGlesFoundationTranslator.js.map +1 -1
  44. package/dist/character/gles/CjsCharacterGlesLegacyConstructionTranslator.js +5 -0
  45. package/dist/character/gles/CjsCharacterGlesLegacyConstructionTranslator.js.map +1 -1
  46. package/dist/character/gles/CjsCharacterGlesMorphDeformation.js +2 -0
  47. package/dist/character/gles/CjsCharacterGlesMorphDeformation.js.map +1 -1
  48. package/dist/character/gles/CjsCharacterGlesPaletteCompatibility.js +5 -0
  49. package/dist/character/gles/CjsCharacterGlesPaletteCompatibility.js.map +1 -1
  50. package/dist/character/gles/CjsCharacterGlesTriangleCoverage.js +5 -0
  51. package/dist/character/gles/CjsCharacterGlesTriangleCoverage.js.map +1 -1
  52. package/dist/character/webgl2/CjsCharacterWebgl2EffectRouter.js +9 -0
  53. package/dist/character/webgl2/CjsCharacterWebgl2EffectRouter.js.map +1 -1
  54. package/dist/global/blue/CjsScriptCallback.js +142 -0
  55. package/dist/global/blue/CjsScriptCallback.js.map +1 -0
  56. package/dist/global/blue/index.js +2 -0
  57. package/dist/global/blue/index.js.map +1 -0
  58. package/dist/global/consts/renderContext/formats.js +51 -1
  59. package/dist/global/consts/renderContext/formats.js.map +1 -1
  60. package/dist/global/consts/renderContext/index.js +2 -2
  61. package/dist/global/consts/renderContext/renderStates.js +16 -1
  62. package/dist/global/consts/renderContext/renderStates.js.map +1 -1
  63. package/dist/global/contracts/index.js +0 -1
  64. package/dist/global/contracts/index.js.map +1 -1
  65. package/dist/global/index.js +4 -3
  66. package/dist/global/index.js.map +1 -1
  67. package/dist/global/math/index.js +2 -0
  68. package/dist/global/math/index.js.map +1 -1
  69. package/dist/global/math/mesh.js +70 -16
  70. package/dist/global/math/mesh.js.map +1 -1
  71. package/dist/global/math/noise.js +47 -68
  72. package/dist/global/math/noise.js.map +1 -1
  73. package/dist/global/math/pool.js +18 -3
  74. package/dist/global/math/pool.js.map +1 -1
  75. package/dist/global/math/random.js +52 -0
  76. package/dist/global/math/random.js.map +1 -0
  77. package/dist/global/math/tri3.js +18 -4
  78. package/dist/global/math/tri3.js.map +1 -1
  79. package/dist/global/schema/CjsSchema.js +20 -2
  80. package/dist/global/schema/CjsSchema.js.map +1 -1
  81. package/dist/global/schema/hydration.js +14 -0
  82. package/dist/global/schema/hydration.js.map +1 -1
  83. package/dist/global/utils/bytes.js +22 -4
  84. package/dist/global/utils/bytes.js.map +1 -1
  85. package/dist/global/utils/checksum.js +80 -0
  86. package/dist/global/utils/checksum.js.map +1 -0
  87. package/dist/global/utils/errors/CjsCancellationError.js +36 -0
  88. package/dist/global/utils/errors/CjsCancellationError.js.map +1 -0
  89. package/dist/global/utils/errors/CjsError.js +21 -52
  90. package/dist/global/utils/errors/CjsError.js.map +1 -1
  91. package/dist/global/utils/errors/abort.js +1 -1
  92. package/dist/global/utils/errors/abort.js.map +1 -1
  93. package/dist/global/utils/errors/index.js +2 -1
  94. package/dist/global/utils/errors/index.js.map +1 -1
  95. package/dist/global/utils/index.js +4 -2
  96. package/dist/global/utils/index.js.map +1 -1
  97. package/dist/index.js +95 -35
  98. package/dist/index.js.map +1 -1
  99. package/dist/input/Tr2MainWindow.js +7 -9
  100. package/dist/input/Tr2MainWindow.js.map +1 -1
  101. package/dist/resource/CjsResMan.js +33 -39
  102. package/dist/resource/CjsResMan.js.map +1 -1
  103. package/dist/resource/CjsResource.js +19 -5
  104. package/dist/resource/CjsResource.js.map +1 -1
  105. package/dist/resource/audio/AudioGeometryResData.js +22 -27
  106. package/dist/resource/audio/AudioGeometryResData.js.map +1 -1
  107. package/dist/resource/audio/CjsAudioRes.js +4 -5
  108. package/dist/resource/audio/CjsAudioRes.js.map +1 -1
  109. package/dist/resource/format/CjsBitReader.js +263 -0
  110. package/dist/resource/format/CjsBitReader.js.map +1 -0
  111. package/dist/resource/format/CjsByteReader.js +130 -125
  112. package/dist/resource/format/CjsByteReader.js.map +1 -1
  113. package/dist/resource/format/CjsFormat.js +11 -4
  114. package/dist/resource/format/CjsFormat.js.map +1 -1
  115. package/dist/resource/format/CjsFormatError.js +37 -1
  116. package/dist/resource/format/CjsFormatError.js.map +1 -1
  117. package/dist/resource/format/CjsResourceProbe.js +41 -37
  118. package/dist/resource/format/CjsResourceProbe.js.map +1 -1
  119. package/dist/resource/format/carbonRecordGuard.js +33 -0
  120. package/dist/resource/format/carbonRecordGuard.js.map +1 -0
  121. package/dist/resource/format/imageSignatures.js +202 -0
  122. package/dist/resource/format/imageSignatures.js.map +1 -0
  123. package/dist/resource/format/index.js +2 -1
  124. package/dist/resource/format/index.js.map +1 -1
  125. package/dist/resource/format/jsonPolicies.js +180 -0
  126. package/dist/resource/format/jsonPolicies.js.map +1 -0
  127. package/dist/resource/formats/black/core/helpers.js +18 -29
  128. package/dist/resource/formats/black/core/helpers.js.map +1 -1
  129. package/dist/resource/formats/bnk/CjsBnkFormat.js +4 -3
  130. package/dist/resource/formats/bnk/CjsBnkFormat.js.map +1 -1
  131. package/dist/resource/formats/bnk/core/WwiseCursor.js +218 -0
  132. package/dist/resource/formats/bnk/core/WwiseCursor.js.map +1 -0
  133. package/dist/resource/formats/bnk/core/busNodes.js +2 -1
  134. package/dist/resource/formats/bnk/core/busNodes.js.map +1 -1
  135. package/dist/resource/formats/bnk/core/effectNodes.js +2 -1
  136. package/dist/resource/formats/bnk/core/effectNodes.js.map +1 -1
  137. package/dist/resource/formats/bnk/core/eventAction.js +15 -93
  138. package/dist/resource/formats/bnk/core/eventAction.js.map +1 -1
  139. package/dist/resource/formats/bnk/core/globalSettings.js +19 -94
  140. package/dist/resource/formats/bnk/core/globalSettings.js.map +1 -1
  141. package/dist/resource/formats/bnk/core/helpers.js +2 -48
  142. package/dist/resource/formats/bnk/core/helpers.js.map +1 -1
  143. package/dist/resource/formats/bnk/core/musicNodes.js +42 -134
  144. package/dist/resource/formats/bnk/core/musicNodes.js.map +1 -1
  145. package/dist/resource/formats/bnk/core/nodeBase.js +20 -111
  146. package/dist/resource/formats/bnk/core/nodeBase.js.map +1 -1
  147. package/dist/resource/formats/bnk/core/sfxNodes.js +2 -1
  148. package/dist/resource/formats/bnk/core/sfxNodes.js.map +1 -1
  149. package/dist/resource/formats/cmf/CjsCmfFormat.js +242 -228
  150. package/dist/resource/formats/cmf/CjsCmfFormat.js.map +1 -1
  151. package/dist/resource/formats/cmf/core/binary.js +54 -60
  152. package/dist/resource/formats/cmf/core/binary.js.map +1 -1
  153. package/dist/resource/formats/dds/CjsDdsFormat.js +5 -3
  154. package/dist/resource/formats/dds/CjsDdsFormat.js.map +1 -1
  155. package/dist/resource/formats/dds/core/bc6h.js +16 -18
  156. package/dist/resource/formats/dds/core/bc6h.js.map +1 -1
  157. package/dist/resource/formats/dds/core/bc7.js +28 -24
  158. package/dist/resource/formats/dds/core/bc7.js.map +1 -1
  159. package/dist/resource/formats/dds/core/helpers.js +7 -133
  160. package/dist/resource/formats/dds/core/helpers.js.map +1 -1
  161. package/dist/resource/formats/dxbc/CjsDxbcFormat.js +3 -2
  162. package/dist/resource/formats/dxbc/CjsDxbcFormat.js.map +1 -1
  163. package/dist/resource/formats/dxbc/core/helpers.js +4 -32
  164. package/dist/resource/formats/dxbc/core/helpers.js.map +1 -1
  165. package/dist/resource/formats/fbx/CjsFbxFormat.js +11 -0
  166. package/dist/resource/formats/fbx/CjsFbxFormat.js.map +1 -1
  167. package/dist/resource/formats/fbx/core/helpers.js +18 -12
  168. package/dist/resource/formats/fbx/core/helpers.js.map +1 -1
  169. package/dist/resource/formats/flac/CjsFlacFormat.js +4 -9
  170. package/dist/resource/formats/flac/CjsFlacFormat.js.map +1 -1
  171. package/dist/resource/formats/flac/core/helpers.js +1 -62
  172. package/dist/resource/formats/flac/core/helpers.js.map +1 -1
  173. package/dist/resource/formats/gif/CjsGifFormat.js +4 -9
  174. package/dist/resource/formats/gif/CjsGifFormat.js.map +1 -1
  175. package/dist/resource/formats/gif/core/helpers.js +1 -63
  176. package/dist/resource/formats/gif/core/helpers.js.map +1 -1
  177. package/dist/resource/formats/gltf/CjsGltfFormat.js +4 -3
  178. package/dist/resource/formats/gltf/CjsGltfFormat.js.map +1 -1
  179. package/dist/resource/formats/gltf/core/helpers.js +3 -19
  180. package/dist/resource/formats/gltf/core/helpers.js.map +1 -1
  181. package/dist/resource/formats/gr2/CjsGr2Format.js +105 -92
  182. package/dist/resource/formats/gr2/CjsGr2Format.js.map +1 -1
  183. package/dist/resource/formats/gr2/core/container.js +1 -10
  184. package/dist/resource/formats/gr2/core/container.js.map +1 -1
  185. package/dist/resource/formats/gr2/core/helpers.js +24 -35
  186. package/dist/resource/formats/gr2/core/helpers.js.map +1 -1
  187. package/dist/resource/formats/gr2/core/shared.js +193 -189
  188. package/dist/resource/formats/gr2/core/shared.js.map +1 -1
  189. package/dist/resource/formats/hlsl/CjsHlslFormat.js +4 -3
  190. package/dist/resource/formats/hlsl/CjsHlslFormat.js.map +1 -1
  191. package/dist/resource/formats/hlsl/core/helpers.js +1 -30
  192. package/dist/resource/formats/hlsl/core/helpers.js.map +1 -1
  193. package/dist/resource/formats/jpeg/CjsJpegFormat.js +5 -3
  194. package/dist/resource/formats/jpeg/CjsJpegFormat.js.map +1 -1
  195. package/dist/resource/formats/jpeg/core/helpers.js +7 -134
  196. package/dist/resource/formats/jpeg/core/helpers.js.map +1 -1
  197. package/dist/resource/formats/mp3/CjsMp3Format.js +4 -9
  198. package/dist/resource/formats/mp3/CjsMp3Format.js.map +1 -1
  199. package/dist/resource/formats/mp3/core/helpers.js +1 -64
  200. package/dist/resource/formats/mp3/core/helpers.js.map +1 -1
  201. package/dist/resource/formats/mp4/CjsMp4Format.js +4 -9
  202. package/dist/resource/formats/mp4/CjsMp4Format.js.map +1 -1
  203. package/dist/resource/formats/mp4/core/helpers.js +1 -73
  204. package/dist/resource/formats/mp4/core/helpers.js.map +1 -1
  205. package/dist/resource/formats/obj/CjsObjFormat.js +4 -3
  206. package/dist/resource/formats/obj/CjsObjFormat.js.map +1 -1
  207. package/dist/resource/formats/obj/core/helpers.js +93 -115
  208. package/dist/resource/formats/obj/core/helpers.js.map +1 -1
  209. package/dist/resource/formats/ogg/CjsOggFormat.js +4 -3
  210. package/dist/resource/formats/ogg/CjsOggFormat.js.map +1 -1
  211. package/dist/resource/formats/ogg/core/helpers.js +1 -15
  212. package/dist/resource/formats/ogg/core/helpers.js.map +1 -1
  213. package/dist/resource/formats/ogg/core/vorbis.js +138 -144
  214. package/dist/resource/formats/ogg/core/vorbis.js.map +1 -1
  215. package/dist/resource/formats/pickle/CjsPickleFormat.js +83 -114
  216. package/dist/resource/formats/pickle/CjsPickleFormat.js.map +1 -1
  217. package/dist/resource/formats/png/CjsPngFormat.js +5 -3
  218. package/dist/resource/formats/png/CjsPngFormat.js.map +1 -1
  219. package/dist/resource/formats/png/core/helpers.js +13 -152
  220. package/dist/resource/formats/png/core/helpers.js.map +1 -1
  221. package/dist/resource/formats/png/core/writer.js +3 -27
  222. package/dist/resource/formats/png/core/writer.js.map +1 -1
  223. package/dist/resource/formats/red/core/helpers.js +19 -29
  224. package/dist/resource/formats/red/core/helpers.js.map +1 -1
  225. package/dist/resource/formats/stl/CjsStlFormat.js +158 -147
  226. package/dist/resource/formats/stl/CjsStlFormat.js.map +1 -1
  227. package/dist/resource/formats/stl/core/helpers.js +44 -66
  228. package/dist/resource/formats/stl/core/helpers.js.map +1 -1
  229. package/dist/resource/formats/tga/CjsTgaFormat.js +5 -3
  230. package/dist/resource/formats/tga/CjsTgaFormat.js.map +1 -1
  231. package/dist/resource/formats/tga/core/helpers.js +7 -153
  232. package/dist/resource/formats/tga/core/helpers.js.map +1 -1
  233. package/dist/resource/formats/vta/CjsVtaFormat.js +4 -3
  234. package/dist/resource/formats/vta/CjsVtaFormat.js.map +1 -1
  235. package/dist/resource/formats/vta/core/helpers.js +1 -17
  236. package/dist/resource/formats/vta/core/helpers.js.map +1 -1
  237. package/dist/resource/formats/wav/CjsWavFormat.js +4 -3
  238. package/dist/resource/formats/wav/CjsWavFormat.js.map +1 -1
  239. package/dist/resource/formats/wav/core/helpers.js +1 -15
  240. package/dist/resource/formats/wav/core/helpers.js.map +1 -1
  241. package/dist/resource/formats/webgl/CjsWebglFormat.js +4 -3
  242. package/dist/resource/formats/webgl/CjsWebglFormat.js.map +1 -1
  243. package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js +69 -9
  244. package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js.map +1 -1
  245. package/dist/resource/formats/webgl/core/glsl/DxbcGlslOperandFormatter.js +12 -3
  246. package/dist/resource/formats/webgl/core/glsl/DxbcGlslOperandFormatter.js.map +1 -1
  247. package/dist/resource/formats/webgl/core/helpers.js +39 -68
  248. package/dist/resource/formats/webgl/core/helpers.js.map +1 -1
  249. package/dist/resource/formats/webgpu/CjsWebgpuFormat.js +4 -3
  250. package/dist/resource/formats/webgpu/CjsWebgpuFormat.js.map +1 -1
  251. package/dist/resource/formats/webgpu/core/helpers.js +4 -30
  252. package/dist/resource/formats/webgpu/core/helpers.js.map +1 -1
  253. package/dist/resource/formats/webm/CjsWebmFormat.js +4 -9
  254. package/dist/resource/formats/webm/CjsWebmFormat.js.map +1 -1
  255. package/dist/resource/formats/webm/core/helpers.js +1 -73
  256. package/dist/resource/formats/webm/core/helpers.js.map +1 -1
  257. package/dist/resource/formats/webp/CjsWebpFormat.js +4 -9
  258. package/dist/resource/formats/webp/CjsWebpFormat.js.map +1 -1
  259. package/dist/resource/formats/webp/core/helpers.js +1 -62
  260. package/dist/resource/formats/webp/core/helpers.js.map +1 -1
  261. package/dist/resource/formats/wem/CjsWemFormat.js +4 -3
  262. package/dist/resource/formats/wem/CjsWemFormat.js.map +1 -1
  263. package/dist/resource/formats/wem/core/bitStream.js +83 -106
  264. package/dist/resource/formats/wem/core/bitStream.js.map +1 -1
  265. package/dist/resource/formats/wem/core/codebookLibrary.js +52 -52
  266. package/dist/resource/formats/wem/core/codebookLibrary.js.map +1 -1
  267. package/dist/resource/formats/wem/core/helpers.js +1 -15
  268. package/dist/resource/formats/wem/core/helpers.js.map +1 -1
  269. package/dist/resource/formats/wem/core/wemToOgg.js +67 -67
  270. package/dist/resource/formats/wem/core/wemToOgg.js.map +1 -1
  271. package/dist/resource/geometry/MeshDecalData.js +23 -25
  272. package/dist/resource/geometry/MeshDecalData.js.map +1 -1
  273. package/dist/resource/geometry/MeshDecalLodData.js +14 -23
  274. package/dist/resource/geometry/MeshDecalLodData.js.map +1 -1
  275. package/dist/resource/geometry/TriGeometryRes.js +299 -284
  276. package/dist/resource/geometry/TriGeometryRes.js.map +1 -1
  277. package/dist/resource/geometry/TriGeometryResAreaData.js +30 -31
  278. package/dist/resource/geometry/TriGeometryResAreaData.js.map +1 -1
  279. package/dist/resource/geometry/TriGeometryResJointData.js +16 -24
  280. package/dist/resource/geometry/TriGeometryResJointData.js.map +1 -1
  281. package/dist/resource/geometry/TriGeometryResLodData.js +50 -41
  282. package/dist/resource/geometry/TriGeometryResLodData.js.map +1 -1
  283. package/dist/resource/geometry/TriGeometryResMeshData.js +32 -32
  284. package/dist/resource/geometry/TriGeometryResMeshData.js.map +1 -1
  285. package/dist/resource/geometry/TriGeometryResSkeletonData.js +14 -23
  286. package/dist/resource/geometry/TriGeometryResSkeletonData.js.map +1 -1
  287. package/dist/resource/geometry/TriJointBinding.js +16 -24
  288. package/dist/resource/geometry/TriJointBinding.js.map +1 -1
  289. package/dist/resource/geometry/TriMorphTargetGeometryConstants.js +22 -27
  290. package/dist/resource/geometry/TriMorphTargetGeometryConstants.js.map +1 -1
  291. package/dist/resource/geometry/TriRtGeometryConstants.js +50 -41
  292. package/dist/resource/geometry/TriRtGeometryConstants.js.map +1 -1
  293. package/dist/resource/geometry/granny/GStateBindingCallbackData.js +12 -22
  294. package/dist/resource/geometry/granny/GStateBindingCallbackData.js.map +1 -1
  295. package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js +30 -31
  296. package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js.map +1 -1
  297. package/dist/resource/index.js +1 -1
  298. package/dist/resource/shader/reflection/Tr2EffectConstant.js +16 -17
  299. package/dist/resource/shader/reflection/Tr2EffectConstant.js.map +1 -1
  300. package/dist/resource/shader/reflection/Tr2EffectDescription.js +26 -28
  301. package/dist/resource/shader/reflection/Tr2EffectDescription.js.map +1 -1
  302. package/dist/resource/shader/reflection/Tr2EffectLibrary.js +24 -25
  303. package/dist/resource/shader/reflection/Tr2EffectLibrary.js.map +1 -1
  304. package/dist/resource/shader/reflection/Tr2EffectParameterAnnotation.js +21 -22
  305. package/dist/resource/shader/reflection/Tr2EffectParameterAnnotation.js.map +1 -1
  306. package/dist/resource/shader/reflection/Tr2EffectResource.js +25 -26
  307. package/dist/resource/shader/reflection/Tr2EffectResource.js.map +1 -1
  308. package/dist/resource/shader/reflection/Tr2EffectStageInput.js +69 -72
  309. package/dist/resource/shader/reflection/Tr2EffectStageInput.js.map +1 -1
  310. package/dist/resource/shader/reflection/Tr2EffectTechnique.js +17 -18
  311. package/dist/resource/shader/reflection/Tr2EffectTechnique.js.map +1 -1
  312. package/dist/resource/shader/reflection/Tr2Pass.js +42 -43
  313. package/dist/resource/shader/reflection/Tr2Pass.js.map +1 -1
  314. package/dist/resource/shader/reflection/Tr2RenderStateSetup.js +26 -5
  315. package/dist/resource/shader/reflection/Tr2RenderStateSetup.js.map +1 -1
  316. package/dist/resource/shader/reflection/carbonRecordFields.js +87 -90
  317. package/dist/resource/shader/reflection/carbonRecordFields.js.map +1 -1
  318. package/dist/resource/shader/sampler/Tr2SamplerSetup.js +32 -34
  319. package/dist/resource/shader/sampler/Tr2SamplerSetup.js.map +1 -1
  320. package/dist/resource/texture/CjsTextureArrayRes.js +1 -6
  321. package/dist/resource/texture/CjsTextureArrayRes.js.map +1 -1
  322. package/dist/resource/texture/Tr2TextureLodManager.js +35 -27
  323. package/dist/resource/texture/Tr2TextureLodManager.js.map +1 -1
  324. package/dist/resource/texture/Tr2TextureLodUpdateRequest.js +16 -24
  325. package/dist/resource/texture/Tr2TextureLodUpdateRequest.js.map +1 -1
  326. package/dist/resource/texture/Tr2TexturePackChannel.js +16 -24
  327. package/dist/resource/texture/Tr2TexturePackChannel.js.map +1 -1
  328. package/dist/resource/texture/Tr2TexturePipeline.js +24 -20
  329. package/dist/resource/texture/Tr2TexturePipeline.js.map +1 -1
  330. package/dist/resource/texture/Tr2TexturePipelineParams.js +14 -23
  331. package/dist/resource/texture/Tr2TexturePipelineParams.js.map +1 -1
  332. package/dist/resource/texture/Tr2TexturePipelineStepCompress.js +18 -25
  333. package/dist/resource/texture/Tr2TexturePipelineStepCompress.js.map +1 -1
  334. package/dist/resource/texture/Tr2TexturePipelineStepGenerateMips.js +11 -16
  335. package/dist/resource/texture/Tr2TexturePipelineStepGenerateMips.js.map +1 -1
  336. package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js +14 -23
  337. package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js.map +1 -1
  338. package/dist/resource/texture/Tr2TexturePipelineStepLoad.js +12 -22
  339. package/dist/resource/texture/Tr2TexturePipelineStepLoad.js.map +1 -1
  340. package/dist/resource/texture/Tr2TexturePipelineStepPack.js +38 -26
  341. package/dist/resource/texture/Tr2TexturePipelineStepPack.js.map +1 -1
  342. package/dist/resource/worker/CjsResManMainThreadLoader.js +2 -5
  343. package/dist/resource/worker/CjsResManMainThreadLoader.js.map +1 -1
  344. package/dist/resource/worker/CjsResManWorkerLoader.js +6 -7
  345. package/dist/resource/worker/CjsResManWorkerLoader.js.map +1 -1
  346. package/dist/resource/worker/protocol.js +18 -1
  347. package/dist/resource/worker/protocol.js.map +1 -1
  348. package/dist/sof/EveSOF.js +2 -222
  349. package/dist/sof/EveSOF.js.map +1 -1
  350. package/dist/sof/SofDocumentBuilder.js +205 -0
  351. package/dist/sof/SofDocumentBuilder.js.map +1 -0
  352. package/dist/sof/faction/ErrSOFFactionColorSetTypeNotFound.js +16 -0
  353. package/dist/sof/faction/ErrSOFFactionColorSetTypeNotFound.js.map +1 -0
  354. package/dist/sof/faction/ErrSOFFactionColorSetTypeUnknown.js +16 -0
  355. package/dist/sof/faction/ErrSOFFactionColorSetTypeUnknown.js.map +1 -0
  356. package/dist/sof/faction/EveSOFDataFactionColorSet.js +3 -27
  357. package/dist/sof/faction/EveSOFDataFactionColorSet.js.map +1 -1
  358. package/dist/sof/faction/index.js +3 -1
  359. package/dist/sof/faction/index.js.map +1 -1
  360. package/dist/sof/generic/ErrSOFAreaShaderNotFound.js +18 -0
  361. package/dist/sof/generic/ErrSOFAreaShaderNotFound.js.map +1 -0
  362. package/dist/sof/generic/ErrSOFDecalShaderNotFound.js +18 -0
  363. package/dist/sof/generic/ErrSOFDecalShaderNotFound.js.map +1 -0
  364. package/dist/sof/generic/ErrSOFMaterialPrefixNotFound.js +21 -0
  365. package/dist/sof/generic/ErrSOFMaterialPrefixNotFound.js.map +1 -0
  366. package/dist/sof/generic/ErrSOFPatternMaterialPrefixNotFound.js +21 -0
  367. package/dist/sof/generic/ErrSOFPatternMaterialPrefixNotFound.js.map +1 -0
  368. package/dist/sof/generic/EveSOFDataGeneric.js +5 -69
  369. package/dist/sof/generic/EveSOFDataGeneric.js.map +1 -1
  370. package/dist/sof/generic/index.js +5 -1
  371. package/dist/sof/generic/index.js.map +1 -1
  372. package/dist/sof/index.js +23 -7
  373. package/dist/sof/index.js.map +1 -1
  374. package/dist/sof/pattern/ErrSOFProjectionNotFound.js +20 -0
  375. package/dist/sof/pattern/ErrSOFProjectionNotFound.js.map +1 -0
  376. package/dist/sof/pattern/EveSOFDataPattern.js +2 -17
  377. package/dist/sof/pattern/EveSOFDataPattern.js.map +1 -1
  378. package/dist/sof/pattern/index.js +2 -1
  379. package/dist/sof/pattern/index.js.map +1 -1
  380. package/dist/sof/shared/ErrSOFAreaTypeNotFound.js +16 -0
  381. package/dist/sof/shared/ErrSOFAreaTypeNotFound.js.map +1 -0
  382. package/dist/sof/shared/ErrSOFLogoSetTypeNotFound.js +16 -0
  383. package/dist/sof/shared/ErrSOFLogoSetTypeNotFound.js.map +1 -0
  384. package/dist/sof/shared/ErrSOFLogoSetTypeUnknown.js +16 -0
  385. package/dist/sof/shared/ErrSOFLogoSetTypeUnknown.js.map +1 -0
  386. package/dist/sof/shared/EveSOFDataArea.js +2 -13
  387. package/dist/sof/shared/EveSOFDataArea.js.map +1 -1
  388. package/dist/sof/shared/EveSOFDataLogoSet.js +3 -27
  389. package/dist/sof/shared/EveSOFDataLogoSet.js.map +1 -1
  390. package/dist/sof/shared/EveSOFDataParameter.js +2 -146
  391. package/dist/sof/shared/EveSOFDataParameter.js.map +1 -1
  392. package/dist/sof/shared/EveSOFDataParameterBool.js +40 -0
  393. package/dist/sof/shared/EveSOFDataParameterBool.js.map +1 -0
  394. package/dist/sof/shared/EveSOFDataParameterColor.js +36 -0
  395. package/dist/sof/shared/EveSOFDataParameterColor.js.map +1 -0
  396. package/dist/sof/shared/EveSOFDataParameterFloat.js +37 -0
  397. package/dist/sof/shared/EveSOFDataParameterFloat.js.map +1 -0
  398. package/dist/sof/shared/EveSOFDataParameterInt.js +37 -0
  399. package/dist/sof/shared/EveSOFDataParameterInt.js.map +1 -0
  400. package/dist/sof/shared/EveSOFDataParameterVector2.js +37 -0
  401. package/dist/sof/shared/EveSOFDataParameterVector2.js.map +1 -0
  402. package/dist/sof/shared/EveSOFDataParameterVector3.js +37 -0
  403. package/dist/sof/shared/EveSOFDataParameterVector3.js.map +1 -0
  404. package/dist/sof/shared/{EveSOFDataSpotlightAttachment.js → EveSOFDataSpotLightAttachment.js} +1 -1
  405. package/dist/sof/shared/{EveSOFDataSpotlightAttachment.js.map → EveSOFDataSpotLightAttachment.js.map} +1 -1
  406. package/dist/sof/shared/index.js +13 -4
  407. package/dist/sof/shared/index.js.map +1 -1
  408. package/dist/sof/sofDocumentValues.js +33 -0
  409. package/dist/sof/sofDocumentValues.js.map +1 -0
  410. package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js +168 -0
  411. package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js.map +1 -0
  412. package/dist/trinity/controllers/{ITr2Controller.js → ITr2Controller/ITr2Controller.js} +2 -134
  413. package/dist/trinity/controllers/ITr2Controller/ITr2Controller.js.map +1 -0
  414. package/dist/trinity/controllers/Tr2Controller.js +2 -1
  415. package/dist/trinity/controllers/Tr2Controller.js.map +1 -1
  416. package/dist/trinity/controllers/Tr2ControllerReference.js +2 -1
  417. package/dist/trinity/controllers/Tr2ControllerReference.js.map +1 -1
  418. package/dist/trinity/controllers/action/ITr2ControllerAction.js +2 -1
  419. package/dist/trinity/controllers/action/ITr2ControllerAction.js.map +1 -1
  420. package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js +10 -9
  421. package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js.map +1 -1
  422. package/dist/trinity/controllers/expression/CjsControllerExpressionCompileError.js +26 -0
  423. package/dist/trinity/controllers/expression/CjsControllerExpressionCompileError.js.map +1 -0
  424. package/dist/trinity/controllers/expression/CjsControllerExpressionEvaluateError.js +24 -0
  425. package/dist/trinity/controllers/expression/CjsControllerExpressionEvaluateError.js.map +1 -0
  426. package/dist/trinity/controllers/expression/CjsControllerExpressionParser.js +387 -0
  427. package/dist/trinity/controllers/expression/CjsControllerExpressionParser.js.map +1 -0
  428. package/dist/trinity/controllers/expression/CjsControllerExpressionProgram.js +4 -1011
  429. package/dist/trinity/controllers/expression/CjsControllerExpressionProgram.js.map +1 -1
  430. package/dist/trinity/controllers/expression/expressionRuntime.js +605 -0
  431. package/dist/trinity/controllers/expression/expressionRuntime.js.map +1 -0
  432. package/dist/trinity/controllers/index.js +5 -2
  433. package/dist/trinity/controllers/index.js.map +1 -1
  434. package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js +2 -1
  435. package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js.map +1 -1
  436. package/dist/trinity/controllers/timeline/Tr2TimelineController.js +2 -1
  437. package/dist/trinity/controllers/timeline/Tr2TimelineController.js.map +1 -1
  438. package/dist/trinity/core/ITr2Updateable.js +2 -1
  439. package/dist/trinity/core/ITr2Updateable.js.map +1 -1
  440. package/dist/trinity/core/Tr2Blitter.js +6 -3
  441. package/dist/trinity/core/Tr2Blitter.js.map +1 -1
  442. package/dist/trinity/core/Tr2Denoiser.js +256 -0
  443. package/dist/trinity/core/Tr2Denoiser.js.map +1 -0
  444. package/dist/trinity/core/Tr2GpuResourcePool/GpuResourceHandle.js +115 -0
  445. package/dist/trinity/core/Tr2GpuResourcePool/GpuResourceHandle.js.map +1 -0
  446. package/dist/trinity/core/Tr2GpuResourcePool/TextureSize2D.js +79 -0
  447. package/dist/trinity/core/Tr2GpuResourcePool/TextureSize2D.js.map +1 -0
  448. package/dist/trinity/core/{Tr2GpuResourcePool.js → Tr2GpuResourcePool/Tr2GpuResourcePool.js} +63 -151
  449. package/dist/trinity/core/Tr2GpuResourcePool/Tr2GpuResourcePool.js.map +1 -0
  450. package/dist/trinity/core/{Tr2QuadRenderer.js → Tr2QuadRenderer/Tr2QuadRenderer.js} +8 -30
  451. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRenderer.js.map +1 -0
  452. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js +38 -0
  453. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js.map +1 -0
  454. package/dist/trinity/core/Tr2RenderUtils.js +20 -3
  455. package/dist/trinity/core/Tr2RenderUtils.js.map +1 -1
  456. package/dist/trinity/core/Tr2Renderer.js +146 -1
  457. package/dist/trinity/core/Tr2Renderer.js.map +1 -1
  458. package/dist/trinity/core/Tr2ShadowMap.js +135 -14
  459. package/dist/trinity/core/Tr2ShadowMap.js.map +1 -1
  460. package/dist/trinity/core/{Tr2TextureArray.js → Tr2TextureArray/Tr2TextureArray.js} +3 -58
  461. package/dist/trinity/core/Tr2TextureArray/Tr2TextureArray.js.map +1 -0
  462. package/dist/trinity/core/Tr2TextureArray/Tr2TextureArrayElement.js +61 -0
  463. package/dist/trinity/core/Tr2TextureArray/Tr2TextureArrayElement.js.map +1 -0
  464. package/dist/trinity/core/batch/TriRenderBatch/DefaultKeyGenerator.js +26 -0
  465. package/dist/trinity/core/batch/TriRenderBatch/DefaultKeyGenerator.js.map +1 -0
  466. package/dist/trinity/core/batch/TriRenderBatch/EffectKeyGenerator.js +29 -0
  467. package/dist/trinity/core/batch/TriRenderBatch/EffectKeyGenerator.js.map +1 -0
  468. package/dist/trinity/core/batch/{ITriRenderBatchAccumulator.js → TriRenderBatch/ITriRenderBatchAccumulator.js} +30 -30
  469. package/dist/trinity/core/batch/TriRenderBatch/ITriRenderBatchAccumulator.js.map +1 -0
  470. package/dist/trinity/core/batch/{Tr2RenderBatch.js → TriRenderBatch/Tr2RenderBatch.js} +81 -154
  471. package/dist/trinity/core/batch/TriRenderBatch/Tr2RenderBatch.js.map +1 -0
  472. package/dist/trinity/core/batch/{TriRenderBatchAccumulator.js → TriRenderBatch/TriRenderBatchAccumulator.js} +7 -38
  473. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAccumulator.js.map +1 -0
  474. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlock.js +61 -0
  475. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlock.js.map +1 -0
  476. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlocksWithSharedMaterial.js +40 -0
  477. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlocksWithSharedMaterial.js.map +1 -0
  478. package/dist/trinity/core/batch/TriRenderBatchMap.js +6 -1
  479. package/dist/trinity/core/batch/TriRenderBatchMap.js.map +1 -1
  480. package/dist/trinity/core/context/Tr2RenderContext.js +75 -57
  481. package/dist/trinity/core/context/Tr2RenderContext.js.map +1 -1
  482. package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityEvent.js +67 -0
  483. package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityEvent.js.map +1 -0
  484. package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityResults.js +50 -0
  485. package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityResults.js.map +1 -0
  486. package/dist/trinity/core/device/Tr2DepthStencil.js +186 -13
  487. package/dist/trinity/core/device/Tr2DepthStencil.js.map +1 -1
  488. package/dist/trinity/core/device/{Tr2RingBuffer.js → Tr2RingBuffer/Tr2RingBuffer.js} +27 -79
  489. package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBuffer.js.map +1 -0
  490. package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBufferOffsets.js +114 -0
  491. package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBufferOffsets.js.map +1 -0
  492. package/dist/trinity/core/device/{Tr2SuballocatedBuffer.js → Tr2SuballocatedBuffer/Tr2SuballocatedBuffer.js} +5 -59
  493. package/dist/trinity/core/device/Tr2SuballocatedBuffer/Tr2SuballocatedBuffer.js.map +1 -0
  494. package/dist/trinity/core/device/Tr2SuballocatedBuffer/Tr2SuballocatedBufferAllocation.js +80 -0
  495. package/dist/trinity/core/device/Tr2SuballocatedBuffer/Tr2SuballocatedBufferAllocation.js.map +1 -0
  496. package/dist/trinity/core/index.js +42 -15
  497. package/dist/trinity/core/index.js.map +1 -1
  498. package/dist/trinity/core/lighting/Tr2LightManager.js +6 -1
  499. package/dist/trinity/core/lighting/Tr2LightManager.js.map +1 -1
  500. package/dist/trinity/core/mesh/{ITr2ImpostorSource.js → ITr2ImpostorSource/ITr2ImpostorSource.js} +6 -28
  501. package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSource.js.map +1 -0
  502. package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSourceImpostorHash.js +32 -0
  503. package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSourceImpostorHash.js.map +1 -0
  504. package/dist/trinity/core/mesh/{ITr2InstanceData.js → ITr2InstanceData/ITr2InstanceData.js} +5 -29
  505. package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceData.js.map +1 -0
  506. package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceDataInstanceData.js +33 -0
  507. package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceDataInstanceData.js.map +1 -0
  508. package/dist/trinity/core/mesh/Tr2DirectInstanceData.js +2 -1
  509. package/dist/trinity/core/mesh/Tr2DirectInstanceData.js.map +1 -1
  510. package/dist/trinity/core/mesh/Tr2MeshBase.js +7 -1
  511. package/dist/trinity/core/mesh/Tr2MeshBase.js.map +1 -1
  512. package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js +2 -1
  513. package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js.map +1 -1
  514. package/dist/trinity/core/mesh/TriGeometryResAllocations.js +6 -2
  515. package/dist/trinity/core/mesh/TriGeometryResAllocations.js.map +1 -1
  516. package/dist/trinity/core/rawData/CjsConstantLayout.js +196 -0
  517. package/dist/trinity/core/rawData/CjsConstantLayout.js.map +1 -0
  518. package/dist/trinity/core/rawData/CjsPerFrameLayouts.js +8 -3
  519. package/dist/trinity/core/rawData/CjsPerFrameLayouts.js.map +1 -1
  520. package/dist/trinity/core/rawData/CjsPerObjectLayouts.js +40 -732
  521. package/dist/trinity/core/rawData/CjsPerObjectLayouts.js.map +1 -1
  522. package/dist/trinity/core/rawData/layouts/CjsEveBasicLayout.js +34 -0
  523. package/dist/trinity/core/rawData/layouts/CjsEveBasicLayout.js.map +1 -0
  524. package/dist/trinity/core/rawData/layouts/CjsEveBoosterSetLayout.js +69 -0
  525. package/dist/trinity/core/rawData/layouts/CjsEveBoosterSetLayout.js.map +1 -0
  526. package/dist/trinity/core/rawData/layouts/CjsEveChildBoosterSetLayout.js +59 -0
  527. package/dist/trinity/core/rawData/layouts/CjsEveChildBoosterSetLayout.js.map +1 -0
  528. package/dist/trinity/core/rawData/layouts/CjsEveChildBulletStormLayout.js +37 -0
  529. package/dist/trinity/core/rawData/layouts/CjsEveChildBulletStormLayout.js.map +1 -0
  530. package/dist/trinity/core/rawData/layouts/CjsEveChildSpherePinLayout.js +44 -0
  531. package/dist/trinity/core/rawData/layouts/CjsEveChildSpherePinLayout.js.map +1 -0
  532. package/dist/trinity/core/rawData/layouts/CjsEveLensflareLayout.js +31 -0
  533. package/dist/trinity/core/rawData/layouts/CjsEveLensflareLayout.js.map +1 -0
  534. package/dist/trinity/core/rawData/layouts/CjsEveMissileWarheadLayout.js +29 -0
  535. package/dist/trinity/core/rawData/layouts/CjsEveMissileWarheadLayout.js.map +1 -0
  536. package/dist/trinity/core/rawData/layouts/CjsEvePerObjectLayout.js +39 -0
  537. package/dist/trinity/core/rawData/layouts/CjsEvePerObjectLayout.js.map +1 -0
  538. package/dist/trinity/core/rawData/layouts/CjsEveSceneStaticParticlesLayout.js +30 -0
  539. package/dist/trinity/core/rawData/layouts/CjsEveSceneStaticParticlesLayout.js.map +1 -0
  540. package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectDecalLayout.js +78 -0
  541. package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectDecalLayout.js.map +1 -0
  542. package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectLayout.js +169 -0
  543. package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectLayout.js.map +1 -0
  544. package/dist/trinity/core/rawData/layouts/CjsEveSpacePerObjectLayout.js +107 -0
  545. package/dist/trinity/core/rawData/layouts/CjsEveSpacePerObjectLayout.js.map +1 -0
  546. package/dist/trinity/core/rawData/layouts/CjsEveSpherePinLayout.js +44 -0
  547. package/dist/trinity/core/rawData/layouts/CjsEveSpherePinLayout.js.map +1 -0
  548. package/dist/trinity/core/rawData/layouts/CjsEveStretch2Layout.js +34 -0
  549. package/dist/trinity/core/rawData/layouts/CjsEveStretch2Layout.js.map +1 -0
  550. package/dist/trinity/core/rawData/layouts/CjsEveTurretSetLayout.js +82 -0
  551. package/dist/trinity/core/rawData/layouts/CjsEveTurretSetLayout.js.map +1 -0
  552. package/dist/trinity/core/rawData/layouts/CjsTr2PerObjectLayout.js +42 -0
  553. package/dist/trinity/core/rawData/layouts/CjsTr2PerObjectLayout.js.map +1 -0
  554. package/dist/trinity/core/rawData/perObjectData/EveBasicPerObjectData.js +55 -0
  555. package/dist/trinity/core/rawData/perObjectData/EveBasicPerObjectData.js.map +1 -0
  556. package/dist/trinity/core/rawData/perObjectData/EveBoosterSetPerObjectData.js +59 -0
  557. package/dist/trinity/core/rawData/perObjectData/EveBoosterSetPerObjectData.js.map +1 -0
  558. package/dist/trinity/core/rawData/perObjectData/EveChildBoosterSetPerObjectData.js +59 -0
  559. package/dist/trinity/core/rawData/perObjectData/EveChildBoosterSetPerObjectData.js.map +1 -0
  560. package/dist/trinity/core/rawData/perObjectData/EveChildBulletStormPerObjectData.js +55 -0
  561. package/dist/trinity/core/rawData/perObjectData/EveChildBulletStormPerObjectData.js.map +1 -0
  562. package/dist/trinity/core/rawData/perObjectData/EveChildSpherePinPerObjectData.js +55 -0
  563. package/dist/trinity/core/rawData/perObjectData/EveChildSpherePinPerObjectData.js.map +1 -0
  564. package/dist/trinity/core/rawData/perObjectData/EveDecalPerObjectData.js +59 -0
  565. package/dist/trinity/core/rawData/perObjectData/EveDecalPerObjectData.js.map +1 -0
  566. package/dist/trinity/core/rawData/perObjectData/EveLensflarePerObjectData.js +55 -0
  567. package/dist/trinity/core/rawData/perObjectData/EveLensflarePerObjectData.js.map +1 -0
  568. package/dist/trinity/core/rawData/perObjectData/EveMissileWarheadPerObjectData.js +55 -0
  569. package/dist/trinity/core/rawData/perObjectData/EveMissileWarheadPerObjectData.js.map +1 -0
  570. package/dist/trinity/core/rawData/perObjectData/EveSceneStaticParticlesPerObjectData.js +55 -0
  571. package/dist/trinity/core/rawData/perObjectData/EveSceneStaticParticlesPerObjectData.js.map +1 -0
  572. package/dist/trinity/core/rawData/perObjectData/EveSpherePinPerObjectData.js +55 -0
  573. package/dist/trinity/core/rawData/perObjectData/EveSpherePinPerObjectData.js.map +1 -0
  574. package/dist/trinity/core/rawData/perObjectData/EveTurretSetPerObjectData.js +59 -0
  575. package/dist/trinity/core/rawData/perObjectData/EveTurretSetPerObjectData.js.map +1 -0
  576. package/dist/trinity/core/rawData/perObjectData/StretchPerObjectData.js +55 -0
  577. package/dist/trinity/core/rawData/perObjectData/StretchPerObjectData.js.map +1 -0
  578. package/dist/trinity/core/rawData/{Tr2PerObjectData.js → perObjectData/Tr2PerObjectData.js} +110 -62
  579. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectData.js.map +1 -0
  580. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js +104 -0
  581. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js.map +1 -0
  582. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js +87 -0
  583. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js.map +1 -0
  584. package/dist/trinity/core/variable/TriVariable.js +83 -83
  585. package/dist/trinity/core/variable/TriVariable.js.map +1 -1
  586. package/dist/trinity/core/vertex/{Tr2VertexDefinition.js → Tr2VertexDefinition/Tr2VertexDefinition.js} +4 -20
  587. package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinition.js.map +1 -0
  588. package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinitionItem.js +29 -0
  589. package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinitionItem.js.map +1 -0
  590. package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js +116 -36
  591. package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js.map +1 -1
  592. package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js +50 -92
  593. package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js.map +1 -1
  594. package/dist/trinity/eve/EveModularObjectModifier.js +9 -5
  595. package/dist/trinity/eve/EveModularObjectModifier.js.map +1 -1
  596. package/dist/trinity/eve/IEveInheritPropertiesOwner.js +2 -1
  597. package/dist/trinity/eve/IEveInheritPropertiesOwner.js.map +1 -1
  598. package/dist/trinity/eve/IEveSpaceObject2.js +2 -1
  599. package/dist/trinity/eve/IEveSpaceObject2.js.map +1 -1
  600. package/dist/trinity/eve/IEveTransform.js +2 -1
  601. package/dist/trinity/eve/IEveTransform.js.map +1 -1
  602. package/dist/trinity/eve/attachment/banner/EveBannerSet.js +2 -2
  603. package/dist/trinity/eve/attachment/banner/EveBannerSet.js.map +1 -1
  604. package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js +109 -133
  605. package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js.map +1 -1
  606. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js +40 -0
  607. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js.map +1 -0
  608. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js +1 -1
  609. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js.map +1 -1
  610. package/dist/trinity/eve/attachment/decal/DecalMeshCache.js +2 -14
  611. package/dist/trinity/eve/attachment/decal/DecalMeshCache.js.map +1 -1
  612. package/dist/trinity/eve/attachment/decal/DecalMeshCacheMeshBuffers.js +18 -0
  613. package/dist/trinity/eve/attachment/decal/DecalMeshCacheMeshBuffers.js.map +1 -0
  614. package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js +1 -1
  615. package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js.map +1 -1
  616. package/dist/trinity/eve/attachment/haze/EveHazeSet.js +1 -1
  617. package/dist/trinity/eve/attachment/haze/EveHazeSet.js.map +1 -1
  618. package/dist/trinity/eve/attachment/plane/EvePlaneSet.js +1 -1
  619. package/dist/trinity/eve/attachment/plane/EvePlaneSet.js.map +1 -1
  620. package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js +2 -2
  621. package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js.map +1 -1
  622. package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js +1 -1
  623. package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js.map +1 -1
  624. package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js +4 -2
  625. package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js.map +1 -1
  626. package/dist/trinity/eve/attachment/turrets/EveTurretSet.js +143 -139
  627. package/dist/trinity/eve/attachment/turrets/EveTurretSet.js.map +1 -1
  628. package/dist/trinity/eve/camera/EveCamera.js +1 -1
  629. package/dist/trinity/eve/camera/EveCamera.js.map +1 -1
  630. package/dist/trinity/eve/child/EveChildBoosterSet.js +12 -1
  631. package/dist/trinity/eve/child/EveChildBoosterSet.js.map +1 -1
  632. package/dist/trinity/eve/child/EveChildCloud2.js +178 -151
  633. package/dist/trinity/eve/child/EveChildCloud2.js.map +1 -1
  634. package/dist/trinity/eve/child/EveChildContainer.js +141 -141
  635. package/dist/trinity/eve/child/EveChildContainer.js.map +1 -1
  636. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js +87 -0
  637. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js.map +1 -0
  638. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js +46 -0
  639. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js.map +1 -0
  640. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js +35 -0
  641. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js.map +1 -0
  642. package/dist/trinity/eve/child/{EveChildInstancedMeshes.js → EveChildInstancedMeshes/EveChildInstancedMeshes.js} +42 -163
  643. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshes.js.map +1 -0
  644. package/dist/trinity/eve/child/EveChildMesh.js +218 -218
  645. package/dist/trinity/eve/child/EveChildMesh.js.map +1 -1
  646. package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js +53 -0
  647. package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js.map +1 -0
  648. package/dist/trinity/eve/child/{EveChildPartData.js → EveChildPartData/EveChildPartDataPartData.js} +9 -45
  649. package/dist/trinity/eve/child/EveChildPartData/EveChildPartDataPartData.js.map +1 -0
  650. package/dist/trinity/eve/child/EveChildParticleSystem.js +30 -29
  651. package/dist/trinity/eve/child/EveChildParticleSystem.js.map +1 -1
  652. package/dist/trinity/eve/child/EveChildTransform.js +5 -0
  653. package/dist/trinity/eve/child/EveChildTransform.js.map +1 -1
  654. package/dist/trinity/eve/child/EveChildTurret.js +7 -0
  655. package/dist/trinity/eve/child/EveChildTurret.js.map +1 -1
  656. package/dist/trinity/eve/index.js +10 -4
  657. package/dist/trinity/eve/index.js.map +1 -1
  658. package/dist/trinity/eve/lights/Tr2Light.js +5 -0
  659. package/dist/trinity/eve/lights/Tr2Light.js.map +1 -1
  660. package/dist/trinity/eve/overlays/overlayBatches.js +6 -1
  661. package/dist/trinity/eve/overlays/overlayBatches.js.map +1 -1
  662. package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js +4 -4
  663. package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js.map +1 -1
  664. package/dist/trinity/eve/renderable/stretch/EveStretch2.js +76 -71
  665. package/dist/trinity/eve/renderable/stretch/EveStretch2.js.map +1 -1
  666. package/dist/trinity/eve/renderable/stretch/EveStretch3.js +1 -1
  667. package/dist/trinity/eve/renderable/stretch/EveStretch3.js.map +1 -1
  668. package/dist/trinity/eve/spaceObject/EveShip2.js +3 -3
  669. package/dist/trinity/eve/spaceObject/EveShip2.js.map +1 -1
  670. package/dist/trinity/eve/spaceObject/EveSpaceObject2.js +408 -407
  671. package/dist/trinity/eve/spaceObject/EveSpaceObject2.js.map +1 -1
  672. package/dist/trinity/eve/ui/EveTacticalOverlay.js +1 -1
  673. package/dist/trinity/eve/ui/EveTacticalOverlay.js.map +1 -1
  674. package/dist/trinity/eve/ui/lines/EveCurveLineSet.js +9 -9
  675. package/dist/trinity/eve/ui/lines/EveCurveLineSet.js.map +1 -1
  676. package/dist/trinity/eve/ui/lines/EveLineSet.js +27 -25
  677. package/dist/trinity/eve/ui/lines/EveLineSet.js.map +1 -1
  678. package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js +3 -2
  679. package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js.map +1 -1
  680. package/dist/trinity/generated/index.js +0 -1
  681. package/dist/trinity/generated/index.js.map +1 -1
  682. package/dist/trinity/generated/trinityCore/index.js +0 -1
  683. package/dist/trinity/generated/trinityCore/index.js.map +1 -1
  684. package/dist/trinity/index.js +59 -23
  685. package/dist/trinity/index.js.map +1 -1
  686. package/dist/trinity/particle/{ITr2GenericEmitter.js → ITr2GenericEmitter/ITr2GenericEmitter.js} +4 -32
  687. package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitter.js.map +1 -0
  688. package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitterUpdateArguments.js +36 -0
  689. package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitterUpdateArguments.js.map +1 -0
  690. package/dist/trinity/particle/Tr2ParticleSystem.js +4 -2
  691. package/dist/trinity/particle/Tr2ParticleSystem.js.map +1 -1
  692. package/dist/trinity/particle/element/Tr2ParticleElementData.js +15 -4
  693. package/dist/trinity/particle/element/Tr2ParticleElementData.js.map +1 -1
  694. package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js +21 -20
  695. package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js.map +1 -1
  696. package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js +23 -22
  697. package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js.map +1 -1
  698. package/dist/trinity/particle/emitter/Tr2StaticEmitter.js +14 -13
  699. package/dist/trinity/particle/emitter/Tr2StaticEmitter.js.map +1 -1
  700. package/dist/trinity/particle/index.js +2 -1
  701. package/dist/trinity/particle/index.js.map +1 -1
  702. package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js +7 -1
  703. package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js.map +1 -1
  704. package/dist/trinity/shader/Tr2Effect.js +131 -58
  705. package/dist/trinity/shader/Tr2Effect.js.map +1 -1
  706. package/dist/trinity/shader/Tr2EffectStateManager.js +17 -5
  707. package/dist/trinity/shader/Tr2EffectStateManager.js.map +1 -1
  708. package/dist/trinity/shader/Tr2Material.js +21 -4
  709. package/dist/trinity/shader/Tr2Material.js.map +1 -1
  710. package/dist/trinity/shader/material/Tr2EffectPassParameters.js +4 -1
  711. package/dist/trinity/shader/material/Tr2EffectPassParameters.js.map +1 -1
  712. package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js +2 -2
  713. package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js.map +1 -1
  714. package/dist/trinityal/Tr2BufferAL/Tr2BufferDescriptionAL.js +79 -0
  715. package/dist/trinityal/Tr2BufferAL/Tr2BufferDescriptionAL.js.map +1 -0
  716. package/dist/trinityal/{Tr2DeviceResourceAL.js → Tr2DeviceResourceAL/Tr2BaseDeviceResourceAL.js} +77 -79
  717. package/dist/trinityal/Tr2DeviceResourceAL/Tr2BaseDeviceResourceAL.js.map +1 -0
  718. package/dist/trinityal/Tr2DeviceResourceAL/Tr2DeviceResourceAL.js +24 -0
  719. package/dist/trinityal/Tr2DeviceResourceAL/Tr2DeviceResourceAL.js.map +1 -0
  720. package/dist/trinityal/Tr2DrawUPHelper.js +2 -1
  721. package/dist/trinityal/Tr2DrawUPHelper.js.map +1 -1
  722. package/dist/trinityal/Tr2HalHelperStructures/Tr2MsaaDesc.js +45 -0
  723. package/dist/trinityal/Tr2HalHelperStructures/Tr2MsaaDesc.js.map +1 -0
  724. package/dist/trinityal/Tr2HalHelperStructures/Tr2SamplerDescription.js +154 -0
  725. package/dist/trinityal/Tr2HalHelperStructures/Tr2SamplerDescription.js.map +1 -0
  726. package/dist/trinityal/Tr2HalHelperStructures/Tr2SubresourceData.js +48 -0
  727. package/dist/trinityal/Tr2HalHelperStructures/Tr2SubresourceData.js.map +1 -0
  728. package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureCoordBox.js +75 -0
  729. package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureCoordBox.js.map +1 -0
  730. package/dist/trinityal/{Tr2HalHelperStructures.js → Tr2HalHelperStructures/Tr2TextureSubresource.js} +11 -115
  731. package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureSubresource.js.map +1 -0
  732. package/dist/trinityal/Tr2HalHelperStructures/Tr2Viewport.js +51 -0
  733. package/dist/trinityal/Tr2HalHelperStructures/Tr2Viewport.js.map +1 -0
  734. package/dist/trinityal/{Tr2RenderPassAL.js → Tr2RenderPassAL/Tr2ColorAttachment.js} +5 -28
  735. package/dist/trinityal/Tr2RenderPassAL/Tr2ColorAttachment.js.map +1 -0
  736. package/dist/trinityal/Tr2RenderPassAL/Tr2DepthAttachment.js +38 -0
  737. package/dist/trinityal/Tr2RenderPassAL/Tr2DepthAttachment.js.map +1 -0
  738. package/dist/trinityal/Tr2ResourceSetAL/Tr2RegisterMapAL.js +80 -0
  739. package/dist/trinityal/Tr2ResourceSetAL/Tr2RegisterMapAL.js.map +1 -0
  740. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetAL.js +76 -0
  741. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetAL.js.map +1 -0
  742. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetALStub.js +96 -0
  743. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetALStub.js.map +1 -0
  744. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetDescriptionAL.js +196 -0
  745. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetDescriptionAL.js.map +1 -0
  746. package/dist/trinityal/index.js +22 -9
  747. package/dist/trinityal/index.js.map +1 -1
  748. package/dist/trinityal/stub/Tr2BufferALStub.js +86 -141
  749. package/dist/trinityal/stub/Tr2BufferALStub.js.map +1 -1
  750. package/dist/trinityal/stub/Tr2CapsALStub.js +17 -0
  751. package/dist/trinityal/stub/Tr2CapsALStub.js.map +1 -1
  752. package/dist/trinityal/stub/Tr2ConstantBufferALStub.js +57 -41
  753. package/dist/trinityal/stub/Tr2ConstantBufferALStub.js.map +1 -1
  754. package/dist/trinityal/stub/Tr2FenceALStub.js +18 -2
  755. package/dist/trinityal/stub/Tr2FenceALStub.js.map +1 -1
  756. package/dist/trinityal/stub/Tr2GpuTimerALStub.js +97 -0
  757. package/dist/trinityal/stub/Tr2GpuTimerALStub.js.map +1 -0
  758. package/dist/trinityal/stub/Tr2OcclusionQueryALStub.js +124 -0
  759. package/dist/trinityal/stub/Tr2OcclusionQueryALStub.js.map +1 -0
  760. package/dist/trinityal/stub/Tr2PipelineStatsQueryALStub/Tr2PipelineStatsQueryALStub.js +146 -0
  761. package/dist/trinityal/stub/Tr2PipelineStatsQueryALStub/Tr2PipelineStatsQueryALStub.js.map +1 -0
  762. package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2BindlessResourcesAL.js +28 -0
  763. package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2BindlessResourcesAL.js.map +1 -0
  764. package/dist/trinityal/stub/{Tr2RenderContextALStub.js → Tr2RenderContextALStub/Tr2RenderContextALStub.js} +70 -75
  765. package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2RenderContextALStub.js.map +1 -0
  766. package/dist/trinityal/stub/Tr2SamplerStateALStub.js +47 -31
  767. package/dist/trinityal/stub/Tr2SamplerStateALStub.js.map +1 -1
  768. package/dist/trinityal/stub/Tr2ShaderALStub.js +61 -45
  769. package/dist/trinityal/stub/Tr2ShaderALStub.js.map +1 -1
  770. package/dist/trinityal/stub/Tr2ShaderProgramALStub.js +51 -33
  771. package/dist/trinityal/stub/Tr2ShaderProgramALStub.js.map +1 -1
  772. package/dist/trinityal/stub/Tr2SwapChainALStub.js +61 -45
  773. package/dist/trinityal/stub/Tr2SwapChainALStub.js.map +1 -1
  774. package/dist/trinityal/stub/Tr2TextureALStub.js +188 -171
  775. package/dist/trinityal/stub/Tr2TextureALStub.js.map +1 -1
  776. package/dist/trinityal/stub/Tr2VertexLayoutALStub.js +43 -27
  777. package/dist/trinityal/stub/Tr2VertexLayoutALStub.js.map +1 -1
  778. package/dist/trinityal/stub/{Tr2VideoAdapterInfoALStub.js → Tr2VideoAdapterInfoStub.js} +16 -1
  779. package/dist/trinityal/stub/Tr2VideoAdapterInfoStub.js.map +1 -0
  780. package/dist/trinityal/stub/index.js +8 -4
  781. package/dist/trinityal/stub/index.js.map +1 -1
  782. package/dist/trinityal/vertexLayoutMatch.js +2 -2
  783. package/dist/trinityal/vertexLayoutMatch.js.map +1 -1
  784. package/dist/trinityal/webgpu/CjsWebgpuBufferAL.js +105 -90
  785. package/dist/trinityal/webgpu/CjsWebgpuBufferAL.js.map +1 -1
  786. package/dist/trinityal/webgpu/CjsWebgpuCapsAL.js +17 -0
  787. package/dist/trinityal/webgpu/CjsWebgpuCapsAL.js.map +1 -1
  788. package/dist/trinityal/webgpu/CjsWebgpuConstantBufferAL.js +15 -0
  789. package/dist/trinityal/webgpu/CjsWebgpuConstantBufferAL.js.map +1 -1
  790. package/dist/trinityal/webgpu/CjsWebgpuDevice.js +2 -2
  791. package/dist/trinityal/webgpu/CjsWebgpuDevice.js.map +1 -1
  792. package/dist/trinityal/webgpu/CjsWebgpuRenderContextAL.js +900 -938
  793. package/dist/trinityal/webgpu/CjsWebgpuRenderContextAL.js.map +1 -1
  794. package/dist/trinityal/webgpu/CjsWebgpuResourceSetAL.js +56 -60
  795. package/dist/trinityal/webgpu/CjsWebgpuResourceSetAL.js.map +1 -1
  796. package/dist/trinityal/webgpu/CjsWebgpuSamplerStateAL.js +16 -1
  797. package/dist/trinityal/webgpu/CjsWebgpuSamplerStateAL.js.map +1 -1
  798. package/dist/trinityal/webgpu/CjsWebgpuShaderAL.js +100 -379
  799. package/dist/trinityal/webgpu/CjsWebgpuShaderAL.js.map +1 -1
  800. package/dist/trinityal/webgpu/CjsWebgpuShaderProgramAL.js +330 -0
  801. package/dist/trinityal/webgpu/CjsWebgpuShaderProgramAL.js.map +1 -0
  802. package/dist/trinityal/webgpu/CjsWebgpuTextureAL.js +15 -0
  803. package/dist/trinityal/webgpu/CjsWebgpuTextureAL.js.map +1 -1
  804. package/dist/trinityal/webgpu/core/{constantArena.js → CjsWebgpuConstantArena.js} +1 -1
  805. package/dist/trinityal/webgpu/core/CjsWebgpuConstantArena.js.map +1 -0
  806. package/dist/trinityal/webgpu/core/{batchGroups.js → CjsWebgpuEncodeState.js} +1 -1
  807. package/dist/trinityal/webgpu/core/CjsWebgpuEncodeState.js.map +1 -0
  808. package/dist/trinityal/webgpu/core/{perFrameSource.js → CjsWebgpuPerFrameSource.js} +1 -1
  809. package/dist/trinityal/webgpu/core/CjsWebgpuPerFrameSource.js.map +1 -0
  810. package/dist/trinityal/webgpu/core/{pipelineCache.js → CjsWebgpuPipelineCache.js} +1 -1
  811. package/dist/trinityal/webgpu/core/CjsWebgpuPipelineCache.js.map +1 -0
  812. package/dist/trinityal/webgpu/core/{psoDescription.js → CjsWebgpuPsoDescription.js} +2 -2
  813. package/dist/trinityal/webgpu/core/CjsWebgpuPsoDescription.js.map +1 -0
  814. package/dist/trinityal/webgpu/core/{renderTarget.js → CjsWebgpuRenderTarget.js} +1 -1
  815. package/dist/trinityal/webgpu/core/CjsWebgpuRenderTarget.js.map +1 -0
  816. package/dist/trinityal/webgpu/core/{samplerSource.js → CjsWebgpuSamplerSource.js} +1 -1
  817. package/dist/trinityal/webgpu/core/CjsWebgpuSamplerSource.js.map +1 -0
  818. package/dist/trinityal/webgpu/core/{textureSource.js → CjsWebgpuTextureSource.js} +1 -1
  819. package/dist/trinityal/webgpu/core/CjsWebgpuTextureSource.js.map +1 -0
  820. package/dist/trinityal/webgpu/core/{trinityBatchDispatcher.js → CjsWebgpuTrinityBatchDispatcher.js} +4 -4
  821. package/dist/trinityal/webgpu/core/CjsWebgpuTrinityBatchDispatcher.js.map +1 -0
  822. package/dist/trinityal/webgpu/core/{trinityBatchResolver.js → CjsWebgpuTrinityBatchResolver.js} +81 -81
  823. package/dist/trinityal/webgpu/core/CjsWebgpuTrinityBatchResolver.js.map +1 -0
  824. package/dist/trinityal/webgpu/core/{trinityPassEncoder.js → CjsWebgpuTrinityPassEncoder.js} +2 -2
  825. package/dist/trinityal/webgpu/core/CjsWebgpuTrinityPassEncoder.js.map +1 -0
  826. package/dist/trinityal/webgpu/core/{workQueue.js → CjsWebgpuWorkQueue.js} +1 -1
  827. package/dist/trinityal/webgpu/core/CjsWebgpuWorkQueue.js.map +1 -0
  828. package/dist/trinityal/webgpu/internal.js +12 -11
  829. package/dist/trinityal/webgpu/internal.js.map +1 -1
  830. package/docs/audio/reference/classes/trinity.md +44 -34
  831. package/docs/character/architecture.md +276 -0
  832. package/docs/character/reference/character-appearance-plans.md +30 -66
  833. package/docs/character/reference/prepared-libraries.md +14 -30
  834. package/docs/global/reference/api.md +2 -1
  835. package/docs/global/reference/classes/README.md +53 -71
  836. package/docs/global/reference/classes/dropped.md +16 -0
  837. package/docs/resource/README.md +19 -15
  838. package/docs/resource/architecture.md +9 -2
  839. package/docs/resource/concepts/format-capabilities.md +124 -80
  840. package/docs/resource/concepts/shared-format-helpers.md +94 -0
  841. package/docs/resource/formats/README.md +230 -224
  842. package/docs/resource/formats/bitknit2.md +221 -0
  843. package/docs/resource/formats/carbon-effect-container.md +184 -269
  844. package/docs/resource/formats/gr2.md +6 -1
  845. package/docs/resource/formats/schemabound.md +28 -48
  846. package/docs/resource/formats/static.md +70 -97
  847. package/docs/resource/formats/webgl/carbon-constant-layouts.md +8 -8
  848. package/docs/resource/formats/webgl/decl-io.md +165 -256
  849. package/docs/resource/formats/webgl/memory-structured.md +64 -142
  850. package/docs/resource/formats/webgl/texture-sample.md +109 -138
  851. package/docs/resource/formats/webgpu/formats/carbon-webgpu.md +38 -69
  852. package/docs/resource/formats/webgpu/guides/effect-packaging.md +54 -116
  853. package/docs/resource/formats/webgpu/reference/api.md +64 -67
  854. package/docs/resource/formats/webgpu/reference/wgsl-compatibility.md +158 -345
  855. package/docs/resource/reference/classes/core.md +256 -236
  856. package/docs/resource/reference/classes/formats.md +1668 -1672
  857. package/docs/resource/reference/workers.md +4 -2
  858. package/docs/sof/reference/classes/core.md +1 -1
  859. package/docs/sof/reference/classes/faction.md +2 -2
  860. package/docs/sof/reference/classes/generic.md +4 -4
  861. package/docs/sof/reference/classes/pattern.md +1 -1
  862. package/docs/sof/reference/classes/shared.md +10 -10
  863. package/docs/trinity/architecture.md +55 -44
  864. package/docs/trinity/concepts/generated-class-lifecycle.md +10 -15
  865. package/docs/trinity/reference/classes/curves-and-utilities.md +496 -506
  866. package/docs/trinity/reference/classes/dropped.md +0 -189
  867. package/docs/trinity/reference/classes/eve-runtime.md +8 -8
  868. package/docs/trinity/reference/classes/generated.md +0 -10
  869. package/docs/trinity/reference/classes/particle.md +2 -2
  870. package/docs/trinity/reference/classes/trinity-core.md +1554 -1256
  871. package/docs/trinity/reference/implementation-status.md +50 -75
  872. package/docs/trinity/reference/main-semantic-extraction.md +13 -17
  873. package/docs/trinityal/reference/classes/README.md +77 -27
  874. package/docs/trinityal/reference/classes/dropped.md +92 -0
  875. package/docs/trinityal/webgpu/README.md +3 -1
  876. package/docs/trinityal/webgpu/architecture.md +121 -228
  877. package/docs/trinityal/webgpu/reference/api.md +5 -5
  878. package/docs/trinityal/webgpu/reference/classes/README.md +13 -13
  879. package/format-notices/gr2/NOTICE +18 -12
  880. package/format-notices/gr2/THIRD-PARTY-NOTICES.md +5 -5
  881. package/package.json +4 -1
  882. package/dist/audio/trinity/audio/AudActionLog.js +0 -173
  883. package/dist/audio/trinity/audio/AudActionLog.js.map +0 -1
  884. package/dist/audio/trinity/audio/AudObstructionOcclusion.js.map +0 -1
  885. package/dist/global/contracts/CjsScriptCallback.js +0 -94
  886. package/dist/global/contracts/CjsScriptCallback.js.map +0 -1
  887. package/dist/trinity/controllers/ITr2Controller.js.map +0 -1
  888. package/dist/trinity/core/Tr2GpuResourcePool.js.map +0 -1
  889. package/dist/trinity/core/Tr2QuadRenderer.js.map +0 -1
  890. package/dist/trinity/core/Tr2TextureArray.js.map +0 -1
  891. package/dist/trinity/core/batch/ITriRenderBatchAccumulator.js.map +0 -1
  892. package/dist/trinity/core/batch/Tr2RenderBatch.js.map +0 -1
  893. package/dist/trinity/core/batch/TriRenderBatchAccumulator.js.map +0 -1
  894. package/dist/trinity/core/context/CjsShadowMapExecutor.js +0 -43
  895. package/dist/trinity/core/context/CjsShadowMapExecutor.js.map +0 -1
  896. package/dist/trinity/core/context/CjsVolumetricsExecutor.js +0 -64
  897. package/dist/trinity/core/context/CjsVolumetricsExecutor.js.map +0 -1
  898. package/dist/trinity/core/context/Tr2VisibilityResults.js +0 -109
  899. package/dist/trinity/core/context/Tr2VisibilityResults.js.map +0 -1
  900. package/dist/trinity/core/device/Tr2RingBuffer.js.map +0 -1
  901. package/dist/trinity/core/device/Tr2SuballocatedBuffer.js.map +0 -1
  902. package/dist/trinity/core/mesh/ITr2ImpostorSource.js.map +0 -1
  903. package/dist/trinity/core/mesh/ITr2InstanceData.js.map +0 -1
  904. package/dist/trinity/core/rawData/Tr2PerObjectData.js.map +0 -1
  905. package/dist/trinity/core/rawData/constantLayout.js +0 -175
  906. package/dist/trinity/core/rawData/constantLayout.js.map +0 -1
  907. package/dist/trinity/core/vertex/Tr2VertexDefinition.js.map +0 -1
  908. package/dist/trinity/eve/child/EveChildInstancedMeshes.js.map +0 -1
  909. package/dist/trinity/eve/child/EveChildPartData.js.map +0 -1
  910. package/dist/trinity/generated/trinityCore/Tr2Denoiser.js +0 -47
  911. package/dist/trinity/generated/trinityCore/Tr2Denoiser.js.map +0 -1
  912. package/dist/trinity/particle/ITr2GenericEmitter.js.map +0 -1
  913. package/dist/trinityal/Tr2DeviceResourceAL.js.map +0 -1
  914. package/dist/trinityal/Tr2HalHelperStructures.js.map +0 -1
  915. package/dist/trinityal/Tr2RenderPassAL.js.map +0 -1
  916. package/dist/trinityal/Tr2ResourceSetAL.js +0 -419
  917. package/dist/trinityal/Tr2ResourceSetAL.js.map +0 -1
  918. package/dist/trinityal/Tr2SamplerDescription.js +0 -72
  919. package/dist/trinityal/Tr2SamplerDescription.js.map +0 -1
  920. package/dist/trinityal/stub/Tr2QueryALStub.js +0 -326
  921. package/dist/trinityal/stub/Tr2QueryALStub.js.map +0 -1
  922. package/dist/trinityal/stub/Tr2RenderContextALStub.js.map +0 -1
  923. package/dist/trinityal/stub/Tr2VideoAdapterInfoALStub.js.map +0 -1
  924. package/dist/trinityal/webgpu/core/batchGroups.js.map +0 -1
  925. package/dist/trinityal/webgpu/core/constantArena.js.map +0 -1
  926. package/dist/trinityal/webgpu/core/perFrameSource.js.map +0 -1
  927. package/dist/trinityal/webgpu/core/pipelineCache.js.map +0 -1
  928. package/dist/trinityal/webgpu/core/psoDescription.js.map +0 -1
  929. package/dist/trinityal/webgpu/core/renderTarget.js.map +0 -1
  930. package/dist/trinityal/webgpu/core/samplerSource.js.map +0 -1
  931. package/dist/trinityal/webgpu/core/textureSource.js.map +0 -1
  932. package/dist/trinityal/webgpu/core/trinityBatchDispatcher.js.map +0 -1
  933. package/dist/trinityal/webgpu/core/trinityBatchResolver.js.map +0 -1
  934. package/dist/trinityal/webgpu/core/trinityPassEncoder.js.map +0 -1
  935. package/dist/trinityal/webgpu/core/workQueue.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"CjsFormat.js","sources":["../../../../src/resource/format/CjsFormat.js"],"sourcesContent":["import { MediaType, PayloadType } from \"#consts/media\";\n\nconst OUTPUT_ROLE_RUNTIME = \"runtime\";\nconst OUTPUT_ROLE_DEBUG = \"debug\";\nconst READ_MODE_SYNC = \"sync\";\nconst READ_MODE_ASYNC = \"async\";\n\n/**\n * Decorator-free base for every concrete format facade.\n *\n * The format subpaths must remain directly importable from authored source, so\n * this base deliberately does not import the decorated CjsResourceProbe model.\n * Formats return plain support reports; CjsResourceProbe.from() is the optional\n * resource-layer normalization boundary.\n */\nexport class CjsFormat\n{\n options = {};\n\n /**\n * Create a format facade with caller-owned default options.\n * @param {object|null} [options] Default read options.\n */\n constructor(options = null)\n {\n this.options = { ...(options || {}) };\n }\n\n /** Apply caller-provided instance defaults. */\n SetValues(values = null)\n {\n this.options = { ...this.options, ...(values || {}) };\n return this;\n }\n\n /** Return caller-provided instance defaults. */\n GetValues()\n {\n return { ...this.options };\n }\n\n /** Read through the concrete instance implementation. */\n Read(_input, _options = null)\n {\n const error = new Error(`${this.constructor.name}.Read is not implemented.`);\n error.code = \"CJS_FORMAT_READ_NOT_IMPLEMENTED\";\n throw error;\n }\n\n /** Async instance read; synchronous readers inherit this exact fallback. */\n async ReadAsync(input, options = null)\n {\n return this.Read(input, options);\n }\n\n /** Inspect with the instance's normalized options when available. */\n Inspect(input, options = null)\n {\n const values = typeof this.GetValues === \"function\"\n ? this.GetValues(options || {})\n : options || {};\n return this.constructor.inspect(input, values);\n }\n\n /** Return the cheap, unverified support report for this instance profile. */\n GetSupport(input, options = null)\n {\n const values = typeof this.GetValues === \"function\"\n ? this.GetValues(options || {})\n : options || {};\n return this.constructor.getSupport(input, values);\n }\n\n /** Exercise one exact output through the real asynchronous read path. */\n VerifySupport(input, options = null)\n {\n const values = typeof this.GetValues === \"function\"\n ? this.GetValues(options || {})\n : options || {};\n return this.constructor.verifySupport(input, values);\n }\n\n /**\n * Static read boundary. Concrete formats normally override this; the base\n * fallback supports the few formats implemented only as instance readers.\n */\n static read(input, options = null)\n {\n const reader = new this(options || {});\n if (reader.Read === CjsFormat.prototype.Read)\n {\n const error = new Error(`${this.name}.read is not implemented.`);\n error.code = \"CJS_FORMAT_READ_NOT_IMPLEMENTED\";\n throw error;\n }\n return reader.Read(input, options || {});\n }\n\n /** Async read boundary used by support verification and resource loading. */\n static async readAsync(input, options = null)\n {\n if (Object.hasOwn(this, \"read\")) return this.read(input, options || {});\n const reader = new this(options || {});\n return reader.ReadAsync(input, options || {});\n }\n\n /**\n * Synchronous structural metadata accessor.\n *\n * Inspection answers what the input is. It does not claim that any decoder\n * output works in the current environment.\n */\n static inspect(_input, _options = null)\n {\n const error = new Error(`${this.name}.inspect is not implemented.`);\n error.code = \"CJS_FORMAT_INSPECT_NOT_IMPLEMENTED\";\n throw error;\n }\n\n /** Cheap synchronous identification used only for route selection. */\n static is(input, options = null)\n {\n try\n {\n if (Object.hasOwn(this, \"probeSupport\"))\n {\n return recognizesProbe(this.probeSupport(input, options || {}));\n }\n this.inspect(input, options || {});\n return true;\n }\n catch\n {\n return false;\n }\n }\n\n /**\n * Format-specific cheap support probe hook.\n *\n * Concrete formats may override this with header/environment reasoning. The\n * public getSupport() method normalizes its result into the uniform contract.\n */\n static probeSupport(input, options = null)\n {\n try\n {\n return {\n format: this.id,\n source: typeof input === \"string\" ? \"path\" : \"buffer\",\n recognized: true,\n metadata: this.inspect(input, options || {}),\n reason: \"Container structure recognized.\"\n };\n }\n catch (error)\n {\n return {\n format: this.id,\n source: typeof input === \"string\" ? \"path\" : \"buffer\",\n recognized: false,\n metadata: null,\n reason: error?.message || \"Input was not recognized.\",\n errors: [ error?.message || \"Input was not recognized.\" ]\n };\n }\n }\n\n /**\n * Cheap synchronous output support report.\n *\n * This is advisory: it may use headers, structure, and current environment\n * features, but never claims that the decoder ran. Every output entry is\n * therefore returned with verified:false.\n */\n static getSupport(input, options = null)\n {\n const values = options && typeof options === \"object\" ? options : {};\n let report;\n try\n {\n report = this.probeSupport(input, values);\n }\n catch (error)\n {\n report = {\n format: this.id,\n source: typeof input === \"string\" ? \"path\" : \"buffer\",\n recognized: false,\n reason: error?.message || \"Support probe failed.\",\n errors: [ error?.message || \"Support probe failed.\" ]\n };\n }\n return normalizeSupportReport(this, report, values);\n }\n\n /**\n * Prove one exact output by exercising the real asynchronous reader.\n *\n * This is an explicit diagnostic/capability operation. Normal resource\n * loading calls readAsync() once and treats its successful result as proof;\n * it must not verify and then decode the same payload a second time.\n */\n static async verifySupport(input, options = null)\n {\n const values = options && typeof options === \"object\" ? options : {};\n const report = this.getSupport(input, values);\n const capability = this.getOutputCapability(report.output);\n\n if (!capability)\n {\n const message = report.output\n ? `${this.name} declares no output ${JSON.stringify(report.output)}.`\n : `${this.name} declares no verifiable default output.`;\n return {\n ...report,\n supported: false,\n verified: true,\n reason: message,\n error: {\n name: \"Error\",\n code: \"CJS_FORMAT_OUTPUT_UNDECLARED\",\n message\n }\n };\n }\n\n try\n {\n await this.readAsync(input, { ...values, emit: capability.output });\n return freezeVerification(report, capability, true, null);\n }\n catch (error)\n {\n return freezeVerification(report, capability, false, error);\n }\n }\n\n /** Return the canonical declaration for one output selector. */\n static getOutputCapability(output = null)\n {\n if (!output)\n {\n return Object.values(this.outputs).find(entry => entry.default) || null;\n }\n const normalized = String(output).toLowerCase();\n return Object.values(this.outputs).find(entry =>\n entry.output.toLowerCase() === normalized) || null;\n }\n\n /**\n * Whether this format can be written, optionally from one named input.\n *\n * @param {string} [input] Payload name, or omitted for \"at all\".\n * @returns {boolean} True when a matching input is declared.\n */\n static canWrite(input = null)\n {\n return this.getInputCapability(input) !== null;\n }\n\n /** Look up one declared write input, or the default when none is named. */\n static getInputCapability(input = null)\n {\n if (!input)\n {\n return Object.values(this.inputs).find(entry => entry.default) || null;\n }\n const normalized = String(input).toLowerCase();\n return Object.values(this.inputs).find(entry =>\n entry.input.toLowerCase() === normalized) || null;\n }\n\n /**\n * Freeze and validate one format's authoritative input map.\n *\n * Mirrors `defineOutputs`, including the one-default rule: a format that can\n * be written from several payloads still has one obvious answer to \"write\n * this\", and leaving that to argument order is how a caller ends up writing\n * the wrong thing silently.\n *\n * `lossy` is declared rather than inferred. It is the fact a caller most\n * needs before choosing a writer - a converter that reaches for JPEG to save\n * space and destroys an alpha channel it needed has made a mistake nothing\n * downstream can detect.\n */\n static defineInputs(definitions = {})\n {\n if (!definitions || typeof definitions !== \"object\" || Array.isArray(definitions))\n {\n throw new TypeError(\"CjsFormat.defineInputs requires an object map.\");\n }\n\n const inputs = {};\n let defaults = 0;\n for (const [ input, definition ] of Object.entries(definitions))\n {\n if (!input || !definition || typeof definition !== \"object\" || Array.isArray(definition))\n {\n throw new TypeError(\"Each format input requires a non-empty name and descriptor.\");\n }\n const writeMode = definition.writeMode || READ_MODE_SYNC;\n if (![ READ_MODE_SYNC, READ_MODE_ASYNC ].includes(writeMode))\n {\n throw new TypeError(`Format input ${input} has invalid writeMode ${JSON.stringify(writeMode)}.`);\n }\n if (definition.default === true) defaults++;\n inputs[input] = {\n input,\n payloadType: definition.payloadType || input,\n writeMode,\n lossy: definition.lossy === true,\n default: definition.default === true,\n options: [ ...(definition.options || []) ]\n };\n }\n if (defaults > 1) throw new TypeError(\"A format may declare only one default input.\");\n if (Object.keys(inputs).length > 0 && defaults !== 1)\n {\n throw new TypeError(\"A format with inputs must declare exactly one default input.\");\n }\n return Object.freeze(inputs);\n }\n\n /** Freeze and validate one format's authoritative output map. */\n static defineOutputs(definitions = {})\n {\n if (!definitions || typeof definitions !== \"object\" || Array.isArray(definitions))\n {\n throw new TypeError(\"CjsFormat.defineOutputs requires an object map.\");\n }\n\n const outputs = {};\n let defaults = 0;\n for (const [ output, definition ] of Object.entries(definitions))\n {\n if (!output || !definition || typeof definition !== \"object\" || Array.isArray(definition))\n {\n throw new TypeError(\"Each format output requires a non-empty name and descriptor.\");\n }\n const role = definition.role || OUTPUT_ROLE_RUNTIME;\n const readMode = definition.readMode || READ_MODE_SYNC;\n if (![ OUTPUT_ROLE_RUNTIME, OUTPUT_ROLE_DEBUG ].includes(role))\n {\n throw new TypeError(`Format output ${output} has invalid role ${JSON.stringify(role)}.`);\n }\n if (![ READ_MODE_SYNC, READ_MODE_ASYNC ].includes(readMode))\n {\n throw new TypeError(`Format output ${output} has invalid readMode ${JSON.stringify(readMode)}.`);\n }\n if (definition.default === true) defaults++;\n const probes = definition.probes ?? definition.probe ?? output;\n outputs[output] = {\n output,\n payloadType: definition.payloadType || output,\n role,\n readMode,\n decoded: definition.decoded === true,\n passthrough: definition.passthrough === true,\n default: definition.default === true,\n probes: (Array.isArray(probes) ? probes : [ probes ]).map(String),\n requires: [ ...(definition.requires || []) ]\n };\n }\n if (defaults > 1) throw new TypeError(\"A format may declare only one default output.\");\n if (Object.keys(outputs).length > 0 && defaults !== 1)\n {\n throw new TypeError(\"A format with outputs must declare exactly one default output.\");\n }\n return outputs;\n }\n\n /** Assert the canonical format surface without requiring optional outputs. */\n static validateContract(Constructor)\n {\n if (typeof Constructor !== \"function\" || !(Constructor.prototype instanceof CjsFormat))\n {\n throw new TypeError(\"CjsFormat.validateContract requires a CjsFormat subclass.\");\n }\n if (typeof Constructor.id !== \"string\" || !Constructor.id)\n {\n throw new TypeError(`${Constructor.name} must declare a non-empty id.`);\n }\n if (!Array.isArray(Constructor.mediaTypes) || Constructor.mediaTypes.length === 0)\n {\n throw new TypeError(`${Constructor.name} must declare non-empty mediaTypes.`);\n }\n for (const mediaType of Constructor.mediaTypes)\n {\n if (!Object.values(MediaType).includes(mediaType))\n {\n throw new TypeError(`${Constructor.name} media type ${JSON.stringify(mediaType)} is not canonical.`);\n }\n }\n if (!Array.isArray(Constructor.extensions))\n {\n throw new TypeError(`${Constructor.name} must declare extensions.`);\n }\n if (!Constructor.outputs || typeof Constructor.outputs !== \"object\"\n || Array.isArray(Constructor.outputs))\n {\n throw new TypeError(`${Constructor.name} must declare outputs.`);\n }\n if (typeof Constructor.requestResponseType !== \"string\" || !Constructor.requestResponseType)\n {\n throw new TypeError(`${Constructor.name} must declare a requestResponseType.`);\n }\n if (Constructor.worker !== null)\n {\n if (!Constructor.worker || typeof Constructor.worker !== \"object\")\n {\n throw new TypeError(`${Constructor.name}.worker must be null or a descriptor object.`);\n }\n if (typeof Constructor.worker.module !== \"string\" || !Constructor.worker.module\n || typeof Constructor.worker.exportName !== \"string\" || !Constructor.worker.exportName\n || !Array.isArray(Constructor.worker.outputTypes))\n {\n throw new TypeError(`${Constructor.name}.worker has an invalid execution descriptor.`);\n }\n for (const output of Constructor.worker.outputTypes)\n {\n if (!Constructor.getOutputCapability(output))\n {\n throw new TypeError(`${Constructor.name}.worker names undeclared output ${JSON.stringify(output)}.`);\n }\n }\n if (Constructor.worker.defaultOutput && !Constructor.getOutputCapability(Constructor.worker.defaultOutput))\n {\n throw new TypeError(`${Constructor.name}.worker names an undeclared default output.`);\n }\n }\n for (const retired of [ \"type\", \"inputTypes\", \"outputTypes\", \"debugOutputTypes\", \"implementationStatus\" ])\n {\n if (Object.hasOwn(Constructor, retired))\n {\n throw new TypeError(`${Constructor.name} must not declare retired static ${retired}.`);\n }\n }\n let defaults = 0;\n for (const [ output, capability ] of Object.entries(Constructor.outputs))\n {\n if (capability.output !== output)\n {\n throw new TypeError(`${Constructor.name} output ${output} has a mismatched descriptor.`);\n }\n if (capability.default) defaults++;\n }\n if (Object.keys(Constructor.outputs).length > 0 && defaults !== 1)\n {\n throw new TypeError(`${Constructor.name} must declare exactly one default output.`);\n }\n }\n\n static Type = MediaType;\n static MediaType = MediaType;\n static OutputType = Object.freeze({\n AUDIO: PayloadType.AUDIO,\n CMF: \"cmf\",\n DOCUMENT: \"document\",\n GR2: \"gr2\",\n IMAGE: PayloadType.IMAGE,\n JSON: \"json\",\n MEDIA: \"media\",\n METADATA: \"metadata\",\n OGG: \"ogg\",\n PAYLOAD: \"payload\",\n PCM: \"pcm\",\n RAW: PayloadType.RAW,\n RGBA: \"rgba\",\n RUNTIME: \"runtime\",\n SCHEMA: PayloadType.SCHEMA,\n SHADER: PayloadType.SHADER,\n SHARED: \"shared\",\n TEXTURE: PayloadType.TEXTURE,\n VIDEO: PayloadType.VIDEO\n });\n\n static id = \"\";\n static mediaTypes = Object.freeze([]);\n static extensions = Object.freeze([]);\n static outputs = Object.freeze({});\n /**\n * What this format can be written FROM, empty when it cannot be written.\n *\n * The counterpart of `outputs`, and empty by default so that declaring a\n * writer is a deliberate act and every existing format keeps saying \"read\n * only\" without being touched. A caller asks `canWrite()` rather than\n * probing for a `write` method, because the presence of a function is not a\n * contract - it says nothing about what payload it takes or whether the\n * result is lossy.\n */\n static inputs = Object.freeze({});\n static requestResponseType = \"arraybuffer\";\n static worker = null;\n}\n\nfunction normalizeSupportReport(Format, rawReport, options)\n{\n const raw = typeof rawReport === \"boolean\"\n ? { recognized: rawReport, supported: rawReport }\n : rawReport && typeof rawReport === \"object\" ? rawReport : {};\n const requested = options.emit ?? null;\n const capability = Format.getOutputCapability(requested);\n const legacyVariants = Array.isArray(raw.variants) ? raw.variants : [];\n const rawPositive = raw.supported === true\n || raw.supported === \"full\"\n || raw.supported === \"partial\";\n const recognized = raw.recognized === true\n || (raw.recognized !== false && (raw.metadata != null || rawPositive));\n\n const outputs = Object.values(Format.outputs).map(entry =>\n {\n const variant = findLegacyVariant(entry, legacyVariants);\n const supported = variant\n ? variant.supported === true\n : recognized && (legacyVariants.length === 0 ? raw.supported !== false && raw.supported !== \"none\" : false);\n return {\n ...entry,\n supported,\n verified: false,\n codec: variant?.codec || \"\",\n reason: variant?.reason\n || raw.reason\n || (supported ? \"Output appears usable from structural evidence.\" : \"Output was not supported by the structural probe.\"),\n requires: [ ...(variant?.requires || entry.requires) ]\n };\n });\n\n const selected = capability\n ? outputs.find(entry => entry.output === capability.output) || null\n : null;\n const preferredOutput = resolvePreferredOutput(raw.preferredOutput, outputs)\n || outputs.find(entry => entry.supported && entry.role === OUTPUT_ROLE_RUNTIME)?.output\n || outputs.find(entry => entry.supported)?.output\n || \"\";\n\n return {\n format: Format.id || raw.format || Format.name,\n source: raw.source || options.source || \"buffer\",\n recognized,\n output: capability?.output || (requested == null ? \"\" : String(requested)),\n supported: selected?.supported === true,\n verified: false,\n preferredOutput,\n reason: selected?.reason || raw.reason || (recognized ? \"Input recognized.\" : \"Input not recognized.\"),\n metadata: raw.metadata ?? null,\n capability: selected,\n outputs: outputs,\n warnings: [ ...(raw.warnings || []) ],\n errors: [ ...(raw.errors || []) ],\n error: null\n };\n}\n\nfunction recognizesProbe(report)\n{\n if (report === true) return true;\n if (!report || typeof report !== \"object\" || report.recognized === false) return false;\n return report.recognized === true\n || report.supported === true\n || report.supported === \"full\"\n || report.supported === \"partial\"\n || report.metadata != null;\n}\n\nfunction findLegacyVariant(capability, variants)\n{\n const probes = new Set(capability.probes.map(value => value.toLowerCase()));\n const matches = variants.filter(variant =>\n {\n for (const value of [ variant?.output, variant?.kind, variant?.payloadType ])\n {\n if (value != null && probes.has(String(value).toLowerCase())) return true;\n }\n return false;\n });\n const output = capability.output.toLowerCase();\n return matches.find(variant => String(variant?.output || \"\").toLowerCase() === output)\n || matches.find(variant => String(variant?.kind || \"\").toLowerCase() === output)\n || matches.find(variant => String(variant?.payloadType || \"\").toLowerCase() === output)\n || matches.find(variant => variant.supported === true)\n || matches[0]\n || null;\n}\n\nfunction resolvePreferredOutput(preferredOutput, outputs)\n{\n if (!preferredOutput) return \"\";\n const normalized = String(preferredOutput).toLowerCase();\n const direct = outputs.find(entry => entry.output.toLowerCase() === normalized);\n return direct?.output || \"\";\n}\n\nfunction freezeVerification(report, capability, supported, error)\n{\n const errorReport = error ? serializeError(error) : null;\n const outputs = report.outputs.map(entry => entry.output === capability.output\n ? {\n ...entry,\n supported,\n verified: true,\n reason: supported ? \"The real asynchronous read path completed successfully.\" : errorReport.message\n }\n : entry);\n return {\n ...report,\n recognized: supported ? true : report.recognized,\n supported,\n verified: true,\n reason: supported ? \"The real asynchronous read path completed successfully.\" : errorReport.message,\n capability: outputs.find(entry => entry.output === capability.output) || null,\n outputs: outputs,\n errors: errorReport ? [ ...report.errors, errorReport.message ] : report.errors,\n error: errorReport\n };\n}\n\nfunction serializeError(error)\n{\n const details = {};\n for (const [ key, value ] of Object.entries(error || {}))\n {\n if ([ \"name\", \"code\", \"message\", \"cause\" ].includes(key)) continue;\n details[key] = value;\n }\n return {\n name: error?.name || \"Error\",\n code: error?.code || \"CJS_FORMAT_VERIFY_FAILED\",\n message: error?.message || String(error),\n details: details,\n cause: error?.cause\n ? {\n name: error.cause.name || \"Error\",\n code: error.cause.code || \"\",\n message: error.cause.message || String(error.cause)\n }\n : null\n };\n}\n\nexport const CjsFormatOutputRole = Object.freeze({\n RUNTIME: OUTPUT_ROLE_RUNTIME,\n DEBUG: OUTPUT_ROLE_DEBUG\n});\n\nexport const CjsFormatReadMode = Object.freeze({\n SYNC: READ_MODE_SYNC,\n ASYNC: READ_MODE_ASYNC\n});\n\nexport default CjsFormat;\n"],"names":["OUTPUT_ROLE_RUNTIME","OUTPUT_ROLE_DEBUG","READ_MODE_SYNC","READ_MODE_ASYNC","CjsFormat","options","constructor","SetValues","values","GetValues","Read","_input","_options","error","Error","name","code","ReadAsync","input","Inspect","inspect","GetSupport","getSupport","VerifySupport","verifySupport","read","reader","prototype","readAsync","Object","hasOwn","is","recognizesProbe","probeSupport","format","id","source","recognized","metadata","reason","message","errors","report","normalizeSupportReport","capability","getOutputCapability","output","JSON","stringify","supported","verified","emit","freezeVerification","outputs","find","entry","default","normalized","String","toLowerCase","canWrite","getInputCapability","inputs","defineInputs","definitions","Array","isArray","TypeError","defaults","definition","entries","writeMode","includes","payloadType","lossy","keys","length","freeze","defineOutputs","role","readMode","probes","probe","decoded","passthrough","map","requires","validateContract","Constructor","mediaTypes","mediaType","MediaType","extensions","requestResponseType","worker","module","exportName","outputTypes","defaultOutput","retired","Type","OutputType","AUDIO","PayloadType","CMF","DOCUMENT","GR2","IMAGE","MEDIA","METADATA","OGG","PAYLOAD","PCM","RAW","RGBA","RUNTIME","SCHEMA","SHADER","SHARED","TEXTURE","VIDEO","Format","rawReport","raw","requested","legacyVariants","variants","rawPositive","variant","findLegacyVariant","codec","selected","preferredOutput","resolvePreferredOutput","warnings","Set","value","matches","filter","kind","has","direct","errorReport","serializeError","details","key","cause","CjsFormatOutputRole","DEBUG","CjsFormatReadMode","SYNC","ASYNC"],"mappings":"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"}
1
+ {"version":3,"file":"CjsFormat.js","sources":["../../../../src/resource/format/CjsFormat.js"],"sourcesContent":["import { MediaType, PayloadType } from \"#consts/media\";\n\nconst OUTPUT_ROLE_RUNTIME = \"runtime\";\nconst OUTPUT_ROLE_DEBUG = \"debug\";\nconst READ_MODE_SYNC = \"sync\";\nconst READ_MODE_ASYNC = \"async\";\n\n/**\n * Decorator-free base for every concrete format facade.\n *\n * The format subpaths must remain directly importable from authored source, so\n * this base deliberately does not import the decorated CjsResourceProbe model.\n * Formats return plain support reports; CjsResourceProbe.from() is the optional\n * resource-layer normalization boundary.\n */\nexport class CjsFormat\n{\n options = {};\n\n /**\n * Create a format facade with caller-owned default options.\n * @param {object|null} [options] Default read options.\n */\n constructor(options = null)\n {\n this.options = { ...(options || {}) };\n }\n\n /** Apply caller-provided instance defaults. */\n SetValues(values = null)\n {\n this.options = { ...this.options, ...(values || {}) };\n return this;\n }\n\n /** Return caller-provided instance defaults. */\n GetValues()\n {\n return { ...this.options };\n }\n\n /** Read through the concrete instance implementation. */\n Read(_input, _options = null)\n {\n const error = new Error(`${this.constructor.name}.Read is not implemented.`);\n error.code = \"CJS_FORMAT_READ_NOT_IMPLEMENTED\";\n throw error;\n }\n\n /** Async instance read; synchronous readers inherit this exact fallback. */\n async ReadAsync(input, options = null)\n {\n return this.Read(input, options);\n }\n\n /** Inspect with the instance's normalized options when available. */\n Inspect(input, options = null)\n {\n const values = this.GetValues(options || {});\n return this.constructor.inspect(input, values);\n }\n\n /** Return the cheap, unverified support report for this instance profile. */\n GetSupport(input, options = null)\n {\n const values = this.GetValues(options || {});\n return this.constructor.getSupport(input, values);\n }\n\n /** Exercise one exact output through the real asynchronous read path. */\n VerifySupport(input, options = null)\n {\n const values = this.GetValues(options || {});\n return this.constructor.verifySupport(input, values);\n }\n\n /**\n * Static read boundary. Concrete formats normally override this; the base\n * fallback supports the few formats implemented only as instance readers.\n */\n static read(input, options = null)\n {\n const reader = new this(options || {});\n if (reader.Read === CjsFormat.prototype.Read)\n {\n const error = new Error(`${this.name}.read is not implemented.`);\n error.code = \"CJS_FORMAT_READ_NOT_IMPLEMENTED\";\n throw error;\n }\n return reader.Read(input, options || {});\n }\n\n /** Async read boundary used by support verification and resource loading. */\n static async readAsync(input, options = null)\n {\n if (Object.hasOwn(this, \"read\")) return this.read(input, options || {});\n const reader = new this(options || {});\n return reader.ReadAsync(input, options || {});\n }\n\n /**\n * Synchronous structural metadata accessor.\n *\n * Inspection answers what the input is. It does not claim that any decoder\n * output works in the current environment.\n */\n static inspect(_input, _options = null)\n {\n const error = new Error(`${this.name}.inspect is not implemented.`);\n error.code = \"CJS_FORMAT_INSPECT_NOT_IMPLEMENTED\";\n throw error;\n }\n\n /** Cheap synchronous identification used only for route selection. */\n static is(input, options = null)\n {\n try\n {\n if (Object.hasOwn(this, \"probeSupport\"))\n {\n return recognizesProbe(this.probeSupport(input, options || {}));\n }\n this.inspect(input, options || {});\n return true;\n }\n catch\n {\n return false;\n }\n }\n\n /**\n * Format-specific cheap support probe hook.\n *\n * Concrete formats may override this with header/environment reasoning. The\n * public getSupport() method normalizes its result into the uniform contract.\n */\n static probeSupport(input, options = null)\n {\n try\n {\n return {\n format: this.id,\n source: typeof input === \"string\" ? \"path\" : \"buffer\",\n recognized: true,\n metadata: this.inspect(input, options || {}),\n reason: \"Container structure recognized.\"\n };\n }\n catch (error)\n {\n return {\n format: this.id,\n source: typeof input === \"string\" ? \"path\" : \"buffer\",\n recognized: false,\n metadata: null,\n reason: error?.message || \"Input was not recognized.\",\n errors: [ error?.message || \"Input was not recognized.\" ]\n };\n }\n }\n\n /**\n * Cheap synchronous output support report.\n *\n * This is advisory: it may use headers, structure, and current environment\n * features, but never claims that the decoder ran. Every output entry is\n * therefore returned with verified:false.\n */\n static getSupport(input, options = null)\n {\n const values = options && typeof options === \"object\" ? options : {};\n let report;\n try\n {\n report = this.probeSupport(input, values);\n }\n catch (error)\n {\n report = {\n format: this.id,\n source: typeof input === \"string\" ? \"path\" : \"buffer\",\n recognized: false,\n reason: error?.message || \"Support probe failed.\",\n errors: [ error?.message || \"Support probe failed.\" ]\n };\n }\n return normalizeSupportReport(this, report, values);\n }\n\n /**\n * Prove one exact output by exercising the real asynchronous reader.\n *\n * This is an explicit diagnostic/capability operation. Normal resource\n * loading calls readAsync() once and treats its successful result as proof;\n * it must not verify and then decode the same payload a second time.\n */\n static async verifySupport(input, options = null)\n {\n const values = options && typeof options === \"object\" ? options : {};\n const report = this.getSupport(input, values);\n const capability = this.getOutputCapability(report.output);\n\n if (!capability)\n {\n const message = report.output\n ? `${this.name} declares no output ${JSON.stringify(report.output)}.`\n : `${this.name} declares no verifiable default output.`;\n return {\n ...report,\n supported: false,\n verified: true,\n reason: message,\n error: {\n name: \"Error\",\n code: \"CJS_FORMAT_OUTPUT_UNDECLARED\",\n message\n }\n };\n }\n\n try\n {\n await this.readAsync(input, { ...values, emit: capability.output });\n return freezeVerification(report, capability, true, null);\n }\n catch (error)\n {\n return freezeVerification(report, capability, false, error);\n }\n }\n\n /** Return the canonical declaration for one output selector. */\n static getOutputCapability(output = null)\n {\n if (!output)\n {\n return Object.values(this.outputs).find(entry => entry.default) || null;\n }\n const normalized = String(output).toLowerCase();\n return Object.values(this.outputs).find(entry =>\n entry.output.toLowerCase() === normalized) || null;\n }\n\n /**\n * Whether this format can be written, optionally from one named input.\n *\n * @param {string} [input] Payload name, or omitted for \"at all\".\n * @returns {boolean} True when a matching input is declared.\n */\n static canWrite(input = null)\n {\n return this.getInputCapability(input) !== null;\n }\n\n /** Look up one declared write input, or the default when none is named. */\n static getInputCapability(input = null)\n {\n if (!input)\n {\n return Object.values(this.inputs).find(entry => entry.default) || null;\n }\n const normalized = String(input).toLowerCase();\n return Object.values(this.inputs).find(entry =>\n entry.input.toLowerCase() === normalized) || null;\n }\n\n /**\n * Freeze and validate one format's authoritative input map.\n *\n * Mirrors `defineOutputs`, including the one-default rule: a format that can\n * be written from several payloads still has one obvious answer to \"write\n * this\", and leaving that to argument order is how a caller ends up writing\n * the wrong thing silently.\n *\n * `lossy` is declared rather than inferred. It is the fact a caller most\n * needs before choosing a writer - a converter that reaches for JPEG to save\n * space and destroys an alpha channel it needed has made a mistake nothing\n * downstream can detect.\n */\n static defineInputs(definitions = {})\n {\n if (!definitions || typeof definitions !== \"object\" || Array.isArray(definitions))\n {\n throw new TypeError(\"CjsFormat.defineInputs requires an object map.\");\n }\n\n const inputs = {};\n let defaults = 0;\n for (const [ input, definition ] of Object.entries(definitions))\n {\n if (!input || !definition || typeof definition !== \"object\" || Array.isArray(definition))\n {\n throw new TypeError(\"Each format input requires a non-empty name and descriptor.\");\n }\n const writeMode = definition.writeMode || READ_MODE_SYNC;\n if (![ READ_MODE_SYNC, READ_MODE_ASYNC ].includes(writeMode))\n {\n throw new TypeError(`Format input ${input} has invalid writeMode ${JSON.stringify(writeMode)}.`);\n }\n if (definition.default === true) defaults++;\n inputs[input] = {\n input,\n payloadType: definition.payloadType || input,\n writeMode,\n lossy: definition.lossy === true,\n default: definition.default === true,\n options: [ ...(definition.options || []) ]\n };\n }\n if (defaults > 1) throw new TypeError(\"A format may declare only one default input.\");\n if (Object.keys(inputs).length > 0 && defaults !== 1)\n {\n throw new TypeError(\"A format with inputs must declare exactly one default input.\");\n }\n return Object.freeze(inputs);\n }\n\n /** Freeze and validate one format's authoritative output map. */\n static defineOutputs(definitions = {})\n {\n if (!definitions || typeof definitions !== \"object\" || Array.isArray(definitions))\n {\n throw new TypeError(\"CjsFormat.defineOutputs requires an object map.\");\n }\n\n const outputs = {};\n let defaults = 0;\n for (const [ output, definition ] of Object.entries(definitions))\n {\n if (!output || !definition || typeof definition !== \"object\" || Array.isArray(definition))\n {\n throw new TypeError(\"Each format output requires a non-empty name and descriptor.\");\n }\n const role = definition.role || OUTPUT_ROLE_RUNTIME;\n const readMode = definition.readMode || READ_MODE_SYNC;\n if (![ OUTPUT_ROLE_RUNTIME, OUTPUT_ROLE_DEBUG ].includes(role))\n {\n throw new TypeError(`Format output ${output} has invalid role ${JSON.stringify(role)}.`);\n }\n if (![ READ_MODE_SYNC, READ_MODE_ASYNC ].includes(readMode))\n {\n throw new TypeError(`Format output ${output} has invalid readMode ${JSON.stringify(readMode)}.`);\n }\n if (definition.default === true) defaults++;\n const probes = definition.probes ?? definition.probe ?? output;\n outputs[output] = {\n output,\n payloadType: definition.payloadType || output,\n role,\n readMode,\n decoded: definition.decoded === true,\n passthrough: definition.passthrough === true,\n default: definition.default === true,\n probes: (Array.isArray(probes) ? probes : [ probes ]).map(String),\n requires: [ ...(definition.requires || []) ]\n };\n }\n if (defaults > 1) throw new TypeError(\"A format may declare only one default output.\");\n if (Object.keys(outputs).length > 0 && defaults !== 1)\n {\n throw new TypeError(\"A format with outputs must declare exactly one default output.\");\n }\n return outputs;\n }\n\n /** Assert the canonical format surface without requiring optional outputs. */\n static validateContract(Constructor)\n {\n if (typeof Constructor !== \"function\" || !(Constructor.prototype instanceof CjsFormat))\n {\n throw new TypeError(\"CjsFormat.validateContract requires a CjsFormat subclass.\");\n }\n if (typeof Constructor.id !== \"string\" || !Constructor.id)\n {\n throw new TypeError(`${Constructor.name} must declare a non-empty id.`);\n }\n if (!Array.isArray(Constructor.mediaTypes) || Constructor.mediaTypes.length === 0)\n {\n throw new TypeError(`${Constructor.name} must declare non-empty mediaTypes.`);\n }\n for (const mediaType of Constructor.mediaTypes)\n {\n if (!Object.values(MediaType).includes(mediaType))\n {\n throw new TypeError(`${Constructor.name} media type ${JSON.stringify(mediaType)} is not canonical.`);\n }\n }\n if (!Array.isArray(Constructor.extensions))\n {\n throw new TypeError(`${Constructor.name} must declare extensions.`);\n }\n if (!Constructor.outputs || typeof Constructor.outputs !== \"object\"\n || Array.isArray(Constructor.outputs))\n {\n throw new TypeError(`${Constructor.name} must declare outputs.`);\n }\n if (typeof Constructor.requestResponseType !== \"string\" || !Constructor.requestResponseType)\n {\n throw new TypeError(`${Constructor.name} must declare a requestResponseType.`);\n }\n if (Constructor.worker !== null)\n {\n if (!Constructor.worker || typeof Constructor.worker !== \"object\")\n {\n throw new TypeError(`${Constructor.name}.worker must be null or a descriptor object.`);\n }\n if (typeof Constructor.worker.module !== \"string\" || !Constructor.worker.module\n || typeof Constructor.worker.exportName !== \"string\" || !Constructor.worker.exportName\n || !Array.isArray(Constructor.worker.outputTypes))\n {\n throw new TypeError(`${Constructor.name}.worker has an invalid execution descriptor.`);\n }\n for (const output of Constructor.worker.outputTypes)\n {\n if (!Constructor.getOutputCapability(output))\n {\n throw new TypeError(`${Constructor.name}.worker names undeclared output ${JSON.stringify(output)}.`);\n }\n }\n if (Constructor.worker.defaultOutput && !Constructor.getOutputCapability(Constructor.worker.defaultOutput))\n {\n throw new TypeError(`${Constructor.name}.worker names an undeclared default output.`);\n }\n }\n for (const retired of [ \"type\", \"inputTypes\", \"outputTypes\", \"debugOutputTypes\", \"implementationStatus\" ])\n {\n if (Object.hasOwn(Constructor, retired))\n {\n throw new TypeError(`${Constructor.name} must not declare retired static ${retired}.`);\n }\n }\n let defaults = 0;\n for (const [ output, capability ] of Object.entries(Constructor.outputs))\n {\n if (capability.output !== output)\n {\n throw new TypeError(`${Constructor.name} output ${output} has a mismatched descriptor.`);\n }\n if (capability.default) defaults++;\n }\n if (Object.keys(Constructor.outputs).length > 0 && defaults !== 1)\n {\n throw new TypeError(`${Constructor.name} must declare exactly one default output.`);\n }\n }\n\n static Type = MediaType;\n static MediaType = MediaType;\n static OutputType = Object.freeze({\n AUDIO: PayloadType.AUDIO,\n CMF: \"cmf\",\n DOCUMENT: \"document\",\n GR2: \"gr2\",\n IMAGE: PayloadType.IMAGE,\n JSON: \"json\",\n MEDIA: \"media\",\n METADATA: \"metadata\",\n OGG: \"ogg\",\n PAYLOAD: \"payload\",\n PCM: \"pcm\",\n RAW: PayloadType.RAW,\n RGBA: \"rgba\",\n RUNTIME: \"runtime\",\n SCHEMA: PayloadType.SCHEMA,\n SHADER: PayloadType.SHADER,\n SHARED: \"shared\",\n TEXTURE: PayloadType.TEXTURE,\n VIDEO: PayloadType.VIDEO\n });\n\n static id = \"\";\n static mediaTypes = Object.freeze([]);\n static extensions = Object.freeze([]);\n static outputs = Object.freeze({});\n /**\n * What this format can be written FROM, empty when it cannot be written.\n *\n * The counterpart of `outputs`, and empty by default so that declaring a\n * writer is a deliberate act and every existing format keeps saying \"read\n * only\" without being touched. A caller asks `canWrite()` rather than\n * probing for a `write` method, because the presence of a function is not a\n * contract - it says nothing about what payload it takes or whether the\n * result is lossy.\n */\n static inputs = Object.freeze({});\n static requestResponseType = \"arraybuffer\";\n static worker = null;\n}\n\nfunction normalizeSupportReport(Format, rawReport, options)\n{\n const raw = typeof rawReport === \"boolean\"\n ? { recognized: rawReport, supported: rawReport }\n : rawReport && typeof rawReport === \"object\" ? rawReport : {};\n const requested = options.emit ?? null;\n const capability = Format.getOutputCapability(requested);\n const legacyVariants = Array.isArray(raw.variants) ? raw.variants : [];\n const rawPositive = raw.supported === true\n || raw.supported === \"full\"\n || raw.supported === \"partial\";\n const recognized = raw.recognized === true\n || (raw.recognized !== false && (raw.metadata != null || rawPositive));\n\n const outputs = Object.values(Format.outputs).map(entry =>\n {\n const variant = findLegacyVariant(entry, legacyVariants);\n const supported = variant\n ? variant.supported === true\n : recognized && (legacyVariants.length === 0 ? raw.supported !== false && raw.supported !== \"none\" : false);\n return {\n ...entry,\n supported,\n verified: false,\n codec: variant?.codec || \"\",\n reason: variant?.reason\n || raw.reason\n || (supported ? \"Output appears usable from structural evidence.\" : \"Output was not supported by the structural probe.\"),\n requires: [ ...(variant?.requires || entry.requires) ]\n };\n });\n\n const selected = capability\n ? outputs.find(entry => entry.output === capability.output) || null\n : null;\n // The declared default is consulted BEFORE falling back to declaration\n // order. `default: true` is the format stating which output it wants asked\n // for, so ignoring it here meant a probe had to repeat that choice by hand as\n // `preferredOutput` — and a format whose outputs are all `role: \"debug\"`\n // (webp, gif) otherwise resolved to whichever happened to be declared first.\n // An explicit `raw.preferredOutput` still wins, because that is the probe\n // reporting a per-input decision rather than a standing preference.\n const preferredOutput = resolvePreferredOutput(raw.preferredOutput, outputs)\n || outputs.find(entry => entry.supported && entry.role === OUTPUT_ROLE_RUNTIME)?.output\n || outputs.find(entry => entry.supported && entry.default)?.output\n || outputs.find(entry => entry.supported)?.output\n || \"\";\n\n return {\n format: Format.id || raw.format || Format.name,\n source: raw.source || options.source || \"buffer\",\n recognized,\n output: capability?.output || (requested == null ? \"\" : String(requested)),\n supported: selected?.supported === true,\n verified: false,\n preferredOutput,\n reason: selected?.reason || raw.reason || (recognized ? \"Input recognized.\" : \"Input not recognized.\"),\n metadata: raw.metadata ?? null,\n capability: selected,\n outputs: outputs,\n warnings: [ ...(raw.warnings || []) ],\n errors: [ ...(raw.errors || []) ],\n error: null\n };\n}\n\nfunction recognizesProbe(report)\n{\n if (report === true) return true;\n if (!report || typeof report !== \"object\" || report.recognized === false) return false;\n return report.recognized === true\n || report.supported === true\n || report.supported === \"full\"\n || report.supported === \"partial\"\n || report.metadata != null;\n}\n\nfunction findLegacyVariant(capability, variants)\n{\n const probes = new Set(capability.probes.map(value => value.toLowerCase()));\n const matches = variants.filter(variant =>\n {\n for (const value of [ variant?.output, variant?.kind, variant?.payloadType ])\n {\n if (value != null && probes.has(String(value).toLowerCase())) return true;\n }\n return false;\n });\n const output = capability.output.toLowerCase();\n return matches.find(variant => String(variant?.output || \"\").toLowerCase() === output)\n || matches.find(variant => String(variant?.kind || \"\").toLowerCase() === output)\n || matches.find(variant => String(variant?.payloadType || \"\").toLowerCase() === output)\n || matches.find(variant => variant.supported === true)\n || matches[0]\n || null;\n}\n\nfunction resolvePreferredOutput(preferredOutput, outputs)\n{\n if (!preferredOutput) return \"\";\n const normalized = String(preferredOutput).toLowerCase();\n const direct = outputs.find(entry => entry.output.toLowerCase() === normalized);\n return direct?.output || \"\";\n}\n\nfunction freezeVerification(report, capability, supported, error)\n{\n const errorReport = error ? serializeError(error) : null;\n const outputs = report.outputs.map(entry => entry.output === capability.output\n ? {\n ...entry,\n supported,\n verified: true,\n reason: supported ? \"The real asynchronous read path completed successfully.\" : errorReport.message\n }\n : entry);\n return {\n ...report,\n recognized: supported ? true : report.recognized,\n supported,\n verified: true,\n reason: supported ? \"The real asynchronous read path completed successfully.\" : errorReport.message,\n capability: outputs.find(entry => entry.output === capability.output) || null,\n outputs: outputs,\n errors: errorReport ? [ ...report.errors, errorReport.message ] : report.errors,\n error: errorReport\n };\n}\n\nfunction serializeError(error)\n{\n const details = {};\n for (const [ key, value ] of Object.entries(error || {}))\n {\n if ([ \"name\", \"code\", \"message\", \"cause\" ].includes(key)) continue;\n details[key] = value;\n }\n return {\n name: error?.name || \"Error\",\n code: error?.code || \"CJS_FORMAT_VERIFY_FAILED\",\n message: error?.message || String(error),\n details: details,\n cause: error?.cause\n ? {\n name: error.cause.name || \"Error\",\n code: error.cause.code || \"\",\n message: error.cause.message || String(error.cause)\n }\n : null\n };\n}\n\nexport const CjsFormatOutputRole = Object.freeze({\n RUNTIME: OUTPUT_ROLE_RUNTIME,\n DEBUG: OUTPUT_ROLE_DEBUG\n});\n\nexport const CjsFormatReadMode = Object.freeze({\n SYNC: READ_MODE_SYNC,\n ASYNC: READ_MODE_ASYNC\n});\n\nexport default CjsFormat;\n"],"names":["OUTPUT_ROLE_RUNTIME","OUTPUT_ROLE_DEBUG","READ_MODE_SYNC","READ_MODE_ASYNC","CjsFormat","options","constructor","SetValues","values","GetValues","Read","_input","_options","error","Error","name","code","ReadAsync","input","Inspect","inspect","GetSupport","getSupport","VerifySupport","verifySupport","read","reader","prototype","readAsync","Object","hasOwn","is","recognizesProbe","probeSupport","format","id","source","recognized","metadata","reason","message","errors","report","normalizeSupportReport","capability","getOutputCapability","output","JSON","stringify","supported","verified","emit","freezeVerification","outputs","find","entry","default","normalized","String","toLowerCase","canWrite","getInputCapability","inputs","defineInputs","definitions","Array","isArray","TypeError","defaults","definition","entries","writeMode","includes","payloadType","lossy","keys","length","freeze","defineOutputs","role","readMode","probes","probe","decoded","passthrough","map","requires","validateContract","Constructor","mediaTypes","mediaType","MediaType","extensions","requestResponseType","worker","module","exportName","outputTypes","defaultOutput","retired","Type","OutputType","AUDIO","PayloadType","CMF","DOCUMENT","GR2","IMAGE","MEDIA","METADATA","OGG","PAYLOAD","PCM","RAW","RGBA","RUNTIME","SCHEMA","SHADER","SHARED","TEXTURE","VIDEO","Format","rawReport","raw","requested","legacyVariants","variants","rawPositive","variant","findLegacyVariant","codec","selected","preferredOutput","resolvePreferredOutput","warnings","Set","value","matches","filter","kind","has","direct","errorReport","serializeError","details","key","cause","CjsFormatOutputRole","DEBUG","CjsFormatReadMode","SYNC","ASYNC"],"mappings":"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"}
@@ -15,6 +15,42 @@ class CjsFormatReadError extends Error {
15
15
  constructor(message, details = {}) {
16
16
  super(message);
17
17
  this.name = "CjsFormatReadError";
18
+ this.code = "CJS_FORMAT_READ_ERROR";
19
+ this.details = details;
20
+ }
21
+ }
22
+
23
+ /**
24
+ * Error raised when a read would run past the end of its source.
25
+ *
26
+ * SEPARATE FROM `CjsFormatReadError`, AND THE REASON IS ITS BASE CLASS. Running
27
+ * off the end of a buffer is a `RangeError` — the platform already has a name
28
+ * for it, `DataView` already throws it, and a format reader that hand-rolls its
29
+ * bounds check should not lose that identity by throwing a plain `Error`.
30
+ *
31
+ * The distinction is not decorative. A container reader answers a truncated
32
+ * OBJECT by returning null and letting its caller skip that object, while a
33
+ * genuinely semantic failure — "this block declares a type it was not parsed as"
34
+ * — must propagate. Several BNK parsers already sort those two apart with
35
+ * `error instanceof RangeError` (`bnk/core/eventAction.js:320`,
36
+ * `bnk/core/globalSettings.js:59`), which is why their cursors could not simply
37
+ * be rebased onto the shared one: it threw the wrong lineage and a malformed
38
+ * object would have escaped as an exception instead of being skipped.
39
+ *
40
+ * So: bounds violations are this type. `CjsFormatReadError` keeps everything
41
+ * that is wrong about the CONTENT rather than about the extent.
42
+ */
43
+ class CjsFormatRangeError extends RangeError {
44
+ /**
45
+ * Creates a bounds error with structured reader-state details.
46
+ *
47
+ * @param {string} message Human-readable failure reason.
48
+ * @param {object} [details] Extra reader state such as source, offset, or size.
49
+ */
50
+ constructor(message, details = {}) {
51
+ super(message);
52
+ this.name = "CjsFormatRangeError";
53
+ this.code = "CJS_FORMAT_RANGE_ERROR";
18
54
  this.details = details;
19
55
  }
20
56
  }
@@ -37,5 +73,5 @@ class CjsFormatWriteError extends Error {
37
73
  }
38
74
  }
39
75
 
40
- export { CjsFormatReadError, CjsFormatWriteError };
76
+ export { CjsFormatRangeError, CjsFormatReadError, CjsFormatWriteError };
41
77
  //# sourceMappingURL=CjsFormatError.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CjsFormatError.js","sources":["../../../../src/resource/format/CjsFormatError.js"],"sourcesContent":["/**\r\n * Error raised when shared binary format bytes cannot be decoded safely.\r\n *\r\n * Format-specific readers substitute their own error class through the\r\n * `ReadError` static on `CjsByteReader`, so this type is the fallback for\r\n * readers that do not need a distinguishable name.\r\n */\r\nexport class CjsFormatReadError extends Error\r\n{\r\n /**\r\n * Creates a read error with structured reader-state details.\r\n *\r\n * @param {string} message Human-readable failure reason.\r\n * @param {object} [details] Extra reader state such as source, offset, or size.\r\n */\r\n constructor(message, details = {})\r\n {\r\n super(message);\r\n this.name = \"CjsFormatReadError\";\r\n this.details = details;\r\n }\r\n}\r\n\r\n/**\r\n * Error raised when shared binary format bytes cannot be encoded safely.\r\n */\r\nexport class CjsFormatWriteError extends Error\r\n{\r\n /**\r\n * Creates a write error with structured writer-state details.\r\n *\r\n * @param {string} message Human-readable failure reason.\r\n * @param {object} [details] Extra writer state such as offset or value.\r\n */\r\n constructor(message, details = {})\r\n {\r\n super(message);\r\n this.name = \"CjsFormatWriteError\";\r\n this.code = \"CJS_FORMAT_WRITE_ERROR\";\r\n this.details = details;\r\n }\r\n}\r\n\r\nexport default CjsFormatReadError;\r\n"],"names":["CjsFormatReadError","Error","constructor","message","details","name","CjsFormatWriteError","code"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,kBAAkB,SAASC,KAAK,CAC7C;AACI;AACJ;AACA;AACA;AACA;AACA;AACIC,EAAAA,WAAWA,CAACC,OAAO,EAAEC,OAAO,GAAG,EAAE,EACjC;IACI,KAAK,CAACD,OAAO,CAAC;IACd,IAAI,CAACE,IAAI,GAAG,oBAAoB;IAChC,IAAI,CAACD,OAAO,GAAGA,OAAO;AAC1B,EAAA;AACJ;;AAEA;AACA;AACA;AACO,MAAME,mBAAmB,SAASL,KAAK,CAC9C;AACI;AACJ;AACA;AACA;AACA;AACA;AACIC,EAAAA,WAAWA,CAACC,OAAO,EAAEC,OAAO,GAAG,EAAE,EACjC;IACI,KAAK,CAACD,OAAO,CAAC;IACd,IAAI,CAACE,IAAI,GAAG,qBAAqB;IACjC,IAAI,CAACE,IAAI,GAAG,wBAAwB;IACpC,IAAI,CAACH,OAAO,GAAGA,OAAO;AAC1B,EAAA;AACJ;;;;"}
1
+ {"version":3,"file":"CjsFormatError.js","sources":["../../../../src/resource/format/CjsFormatError.js"],"sourcesContent":["/**\r\n * Error raised when shared binary format bytes cannot be decoded safely.\r\n *\r\n * Format-specific readers substitute their own error class through the\r\n * `ReadError` static on `CjsByteReader`, so this type is the fallback for\r\n * readers that do not need a distinguishable name.\r\n */\r\nexport class CjsFormatReadError extends Error\r\n{\r\n /**\r\n * Creates a read error with structured reader-state details.\r\n *\r\n * @param {string} message Human-readable failure reason.\r\n * @param {object} [details] Extra reader state such as source, offset, or size.\r\n */\r\n constructor(message, details = {})\r\n {\r\n super(message);\r\n this.name = \"CjsFormatReadError\";\r\n this.code = \"CJS_FORMAT_READ_ERROR\";\r\n this.details = details;\r\n }\r\n}\r\n\r\n/**\r\n * Error raised when a read would run past the end of its source.\r\n *\r\n * SEPARATE FROM `CjsFormatReadError`, AND THE REASON IS ITS BASE CLASS. Running\r\n * off the end of a buffer is a `RangeError` — the platform already has a name\r\n * for it, `DataView` already throws it, and a format reader that hand-rolls its\r\n * bounds check should not lose that identity by throwing a plain `Error`.\r\n *\r\n * The distinction is not decorative. A container reader answers a truncated\r\n * OBJECT by returning null and letting its caller skip that object, while a\r\n * genuinely semantic failure — \"this block declares a type it was not parsed as\"\r\n * — must propagate. Several BNK parsers already sort those two apart with\r\n * `error instanceof RangeError` (`bnk/core/eventAction.js:320`,\r\n * `bnk/core/globalSettings.js:59`), which is why their cursors could not simply\r\n * be rebased onto the shared one: it threw the wrong lineage and a malformed\r\n * object would have escaped as an exception instead of being skipped.\r\n *\r\n * So: bounds violations are this type. `CjsFormatReadError` keeps everything\r\n * that is wrong about the CONTENT rather than about the extent.\r\n */\r\nexport class CjsFormatRangeError extends RangeError\r\n{\r\n /**\r\n * Creates a bounds error with structured reader-state details.\r\n *\r\n * @param {string} message Human-readable failure reason.\r\n * @param {object} [details] Extra reader state such as source, offset, or size.\r\n */\r\n constructor(message, details = {})\r\n {\r\n super(message);\r\n this.name = \"CjsFormatRangeError\";\r\n this.code = \"CJS_FORMAT_RANGE_ERROR\";\r\n this.details = details;\r\n }\r\n}\r\n\r\n/**\r\n * Error raised when shared binary format bytes cannot be encoded safely.\r\n */\r\nexport class CjsFormatWriteError extends Error\r\n{\r\n /**\r\n * Creates a write error with structured writer-state details.\r\n *\r\n * @param {string} message Human-readable failure reason.\r\n * @param {object} [details] Extra writer state such as offset or value.\r\n */\r\n constructor(message, details = {})\r\n {\r\n super(message);\r\n this.name = \"CjsFormatWriteError\";\r\n this.code = \"CJS_FORMAT_WRITE_ERROR\";\r\n this.details = details;\r\n }\r\n}\r\n\r\nexport default CjsFormatReadError;\r\n"],"names":["CjsFormatReadError","Error","constructor","message","details","name","code","CjsFormatRangeError","RangeError","CjsFormatWriteError"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,kBAAkB,SAASC,KAAK,CAC7C;AACI;AACJ;AACA;AACA;AACA;AACA;AACIC,EAAAA,WAAWA,CAACC,OAAO,EAAEC,OAAO,GAAG,EAAE,EACjC;IACI,KAAK,CAACD,OAAO,CAAC;IACd,IAAI,CAACE,IAAI,GAAG,oBAAoB;IAChC,IAAI,CAACC,IAAI,GAAG,uBAAuB;IACnC,IAAI,CAACF,OAAO,GAAGA,OAAO;AAC1B,EAAA;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMG,mBAAmB,SAASC,UAAU,CACnD;AACI;AACJ;AACA;AACA;AACA;AACA;AACIN,EAAAA,WAAWA,CAACC,OAAO,EAAEC,OAAO,GAAG,EAAE,EACjC;IACI,KAAK,CAACD,OAAO,CAAC;IACd,IAAI,CAACE,IAAI,GAAG,qBAAqB;IACjC,IAAI,CAACC,IAAI,GAAG,wBAAwB;IACpC,IAAI,CAACF,OAAO,GAAGA,OAAO;AAC1B,EAAA;AACJ;;AAEA;AACA;AACA;AACO,MAAMK,mBAAmB,SAASR,KAAK,CAC9C;AACI;AACJ;AACA;AACA;AACA;AACA;AACIC,EAAAA,WAAWA,CAACC,OAAO,EAAEC,OAAO,GAAG,EAAE,EACjC;IACI,KAAK,CAACD,OAAO,CAAC;IACd,IAAI,CAACE,IAAI,GAAG,qBAAqB;IACjC,IAAI,CAACC,IAAI,GAAG,wBAAwB;IACpC,IAAI,CAACF,OAAO,GAAGA,OAAO;AAC1B,EAAA;AACJ;;;;"}
@@ -1,8 +1,5 @@
1
- import { applyDecs2311 as _applyDecs2311 } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
1
  import { CjsModel } from '#model';
3
- import { io, type } from '#schema';
4
-
5
- let _initClass, _init_format, _init_extra_format, _init_source, _init_extra_source, _init_recognized, _init_extra_recognized, _init_output, _init_extra_output, _init_supported, _init_extra_supported, _init_verified, _init_extra_verified, _init_preferredOutput, _init_extra_preferredOutput, _init_reason, _init_extra_reason, _init_metadata, _init_extra_metadata, _init_capability, _init_extra_capability, _init_outputs, _init_extra_outputs, _init_warnings, _init_extra_warnings, _init_errors, _init_extra_errors, _init_error, _init_extra_error;
2
+ import { CjsSchema, io, type } from '#schema';
6
3
 
7
4
  /**
8
5
  * Persistable resource-layer view of a format support report.
@@ -11,38 +8,28 @@ let _initClass, _init_format, _init_extra_format, _init_source, _init_extra_sour
11
8
  * subpaths stay importable without a build transform. Consumers that need a
12
9
  * model normalize those reports here with {@link CjsResourceProbe.from}.
13
10
  */
14
- let _CjsResourceProbe;
15
11
  class CjsResourceProbe extends CjsModel {
16
- static {
17
- ({
18
- e: [_init_format, _init_extra_format, _init_source, _init_extra_source, _init_recognized, _init_extra_recognized, _init_output, _init_extra_output, _init_supported, _init_extra_supported, _init_verified, _init_extra_verified, _init_preferredOutput, _init_extra_preferredOutput, _init_reason, _init_extra_reason, _init_metadata, _init_extra_metadata, _init_capability, _init_extra_capability, _init_outputs, _init_extra_outputs, _init_warnings, _init_extra_warnings, _init_errors, _init_extra_errors, _init_error, _init_extra_error],
19
- c: [_CjsResourceProbe, _initClass]
20
- } = _applyDecs2311(this, [type.define({
21
- className: "CjsResourceProbe",
22
- family: "resource"
23
- })], [[[io, io.persist, type, type.string], 16, "format"], [[io, io.persist, type, type.string], 16, "source"], [[io, io.persist, type, type.boolean], 16, "recognized"], [[io, io.persist, type, type.string], 16, "output"], [[io, io.persist, type, type.boolean], 16, "supported"], [[io, io.persist, type, type.boolean], 16, "verified"], [[io, io.persist, type, type.string], 16, "preferredOutput"], [[io, io.persist, type, type.string], 16, "reason"], [[io, io.persist, type, type.unknown], 16, "metadata"], [[io, io.persist, type, type.unknown], 16, "capability"], [[io, io.persist, void 0, type.list("unknown")], 16, "outputs"], [[io, io.persist, void 0, type.list("string")], 16, "warnings"], [[io, io.persist, void 0, type.list("string")], 16, "errors"], [[io, io.persist, type, type.unknown], 16, "error"]], 0, void 0, CjsModel));
24
- }
25
- format = _init_format(this, "");
26
- source = (_init_extra_format(this), _init_source(this, ""));
27
- recognized = (_init_extra_source(this), _init_recognized(this, false));
28
- output = (_init_extra_recognized(this), _init_output(this, ""));
29
- supported = (_init_extra_output(this), _init_supported(this, false));
30
- verified = (_init_extra_supported(this), _init_verified(this, false));
31
- preferredOutput = (_init_extra_verified(this), _init_preferredOutput(this, ""));
32
- reason = (_init_extra_preferredOutput(this), _init_reason(this, ""));
33
- metadata = (_init_extra_reason(this), _init_metadata(this, null));
34
- capability = (_init_extra_metadata(this), _init_capability(this, null));
35
- outputs = (_init_extra_capability(this), _init_outputs(this, []));
36
- warnings = (_init_extra_outputs(this), _init_warnings(this, []));
37
- errors = (_init_extra_warnings(this), _init_errors(this, []));
38
- error = (_init_extra_errors(this), _init_error(this, null));
12
+ format = "";
13
+ source = "";
14
+ recognized = false;
15
+ output = "";
16
+ supported = false;
17
+ verified = false;
18
+ preferredOutput = "";
19
+ reason = "";
20
+ metadata = null;
21
+ capability = null;
22
+ outputs = [];
23
+ warnings = [];
24
+ errors = [];
25
+ error = null;
39
26
 
40
- /**
41
- * Create a normalized resource-layer support report.
42
- * @param {object|null} [values] Plain format support report.
27
+ /**
28
+ * Create a normalized resource-layer support report.
29
+ * @param {object|null} [values] Plain format support report.
43
30
  */
44
31
  constructor(values = null) {
45
- super(), _init_extra_error(this);
32
+ super();
46
33
  this.SetValues(normalizeReport(values), {
47
34
  markDirty: false,
48
35
  skipUpdate: true,
@@ -60,7 +47,7 @@ class CjsResourceProbe extends CjsModel {
60
47
 
61
48
  /** Normalize a plain format report at the decorated resource boundary. */
62
49
  static from(input) {
63
- if (input instanceof _CjsResourceProbe) return input;
50
+ if (input instanceof CjsResourceProbe) return input;
64
51
  if (input && typeof input.toJSON === "function") return new this(input.toJSON());
65
52
  return new this(input);
66
53
  }
@@ -76,9 +63,6 @@ class CjsResourceProbe extends CjsModel {
76
63
  const capability = this.outputs.find(entry => String(entry?.output || "").toLowerCase() === normalized);
77
64
  return capability?.supported === true && (!options?.verified || capability.verified === true);
78
65
  }
79
- static {
80
- _initClass();
81
- }
82
66
  }
83
67
  function normalizeReport(input) {
84
68
  const report = input && typeof input === "object" ? input : {};
@@ -112,6 +96,26 @@ function normalizeCapability(input) {
112
96
  requires: Array.isArray(capability.requires) ? capability.requires.map(String) : []
113
97
  };
114
98
  }
99
+ CjsSchema.define(CjsResourceProbe, {
100
+ className: "CjsResourceProbe",
101
+ family: "resource",
102
+ fields: {
103
+ format: [io.persist, type.string],
104
+ source: [io.persist, type.string],
105
+ recognized: [io.persist, type.boolean],
106
+ output: [io.persist, type.string],
107
+ supported: [io.persist, type.boolean],
108
+ verified: [io.persist, type.boolean],
109
+ preferredOutput: [io.persist, type.string],
110
+ reason: [io.persist, type.string],
111
+ metadata: [io.persist, type.unknown],
112
+ capability: [io.persist, type.unknown],
113
+ outputs: [io.persist, type.list("unknown")],
114
+ warnings: [io.persist, type.list("string")],
115
+ errors: [io.persist, type.list("string")],
116
+ error: [io.persist, type.unknown]
117
+ }
118
+ });
115
119
 
116
- export { _CjsResourceProbe as CjsResourceProbe };
120
+ export { CjsResourceProbe };
117
121
  //# sourceMappingURL=CjsResourceProbe.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CjsResourceProbe.js","sources":["../../../../src/resource/format/CjsResourceProbe.js"],"sourcesContent":["import { CjsModel } from \"#model\";\r\nimport { io, type } from \"#schema\";\r\n\r\n/**\r\n * Persistable resource-layer view of a format support report.\r\n *\r\n * Concrete formats return decorator-free plain objects so their direct\r\n * subpaths stay importable without a build transform. Consumers that need a\r\n * model normalize those reports here with {@link CjsResourceProbe.from}.\r\n */\r\n@type.define({ className: \"CjsResourceProbe\", family: \"resource\" })\r\nexport class CjsResourceProbe extends CjsModel\r\n{\r\n @io.persist\r\n @type.string\r\n format = \"\";\r\n\r\n @io.persist\r\n @type.string\r\n source = \"\";\r\n\r\n @io.persist\r\n @type.boolean\r\n recognized = false;\r\n\r\n @io.persist\r\n @type.string\r\n output = \"\";\r\n\r\n @io.persist\r\n @type.boolean\r\n supported = false;\r\n\r\n @io.persist\r\n @type.boolean\r\n verified = false;\r\n\r\n @io.persist\r\n @type.string\r\n preferredOutput = \"\";\r\n\r\n @io.persist\r\n @type.string\r\n reason = \"\";\r\n\r\n @io.persist\r\n @type.unknown\r\n metadata = null;\r\n\r\n @io.persist\r\n @type.unknown\r\n capability = null;\r\n\r\n @io.persist\r\n @type.list(\"unknown\")\r\n outputs = [];\r\n\r\n @io.persist\r\n @type.list(\"string\")\r\n warnings = [];\r\n\r\n @io.persist\r\n @type.list(\"string\")\r\n errors = [];\r\n\r\n @io.persist\r\n @type.unknown\n error = null;\n\n /**\n * Create a normalized resource-layer support report.\n * @param {object|null} [values] Plain format support report.\n */\n constructor(values = null)\n {\r\n super();\r\n this.SetValues(normalizeReport(values), {\r\n markDirty: false,\r\n skipUpdate: true,\r\n skipEvents: true\r\n });\r\n }\r\n\r\n /** Replace this report from a plain format result. */\r\n Initialize(values = null)\r\n {\r\n this.SetValues(normalizeReport(values), { skipEvents: true });\r\n return this;\r\n }\r\n\r\n /** Normalize a plain format report at the decorated resource boundary. */\r\n static from(input)\r\n {\r\n if (input instanceof CjsResourceProbe) return input;\r\n if (input && typeof input.toJSON === \"function\") return new this(input.toJSON());\r\n return new this(input);\r\n }\r\n\r\n /** Whether the selected output is usable, optionally requiring real proof. */\r\n canUseSelected(options = null)\r\n {\r\n return this.supported === true && (!options?.verified || this.verified === true);\r\n }\r\n\r\n /** Whether one declared output is usable, optionally requiring real proof. */\r\n canUse(output, options = null)\r\n {\r\n const normalized = String(output || \"\").toLowerCase();\r\n const capability = this.outputs.find(entry =>\r\n String(entry?.output || \"\").toLowerCase() === normalized);\r\n return capability?.supported === true\r\n && (!options?.verified || capability.verified === true);\r\n }\r\n}\r\n\r\nfunction normalizeReport(input)\r\n{\r\n const report = input && typeof input === \"object\" ? input : {};\r\n const outputs = Array.isArray(report.outputs)\r\n ? report.outputs.map(normalizeCapability)\r\n : [];\r\n const selected = report.capability && typeof report.capability === \"object\"\r\n ? normalizeCapability(report.capability)\r\n : outputs.find(entry => entry.output === report.output) || null;\r\n return {\r\n format: String(report.format || \"\"),\r\n source: String(report.source || \"\"),\r\n recognized: report.recognized === true,\r\n output: String(report.output || \"\"),\r\n supported: report.supported === true,\r\n verified: report.verified === true,\r\n preferredOutput: String(report.preferredOutput || \"\"),\r\n reason: String(report.reason || \"\"),\r\n metadata: report.metadata ?? null,\r\n capability: selected,\r\n outputs,\r\n warnings: Array.isArray(report.warnings) ? report.warnings.map(String) : [],\r\n errors: Array.isArray(report.errors) ? report.errors.map(String) : [],\r\n error: report.error ?? null\r\n };\r\n}\r\n\r\nfunction normalizeCapability(input)\r\n{\r\n const capability = input && typeof input === \"object\" ? input : {};\r\n return {\r\n ...capability,\r\n output: String(capability.output || \"\"),\r\n payloadType: String(capability.payloadType || capability.output || \"\"),\r\n supported: capability.supported === true,\r\n verified: capability.verified === true,\r\n requires: Array.isArray(capability.requires) ? capability.requires.map(String) : []\r\n };\r\n}\r\n\r\nexport default CjsResourceProbe;\r\n"],"names":["_CjsResourceProbe","CjsResourceProbe","CjsModel","e","_init_format","_init_extra_format","_init_source","_init_extra_source","_init_recognized","_init_extra_recognized","_init_output","_init_extra_output","_init_supported","_init_extra_supported","_init_verified","_init_extra_verified","_init_preferredOutput","_init_extra_preferredOutput","_init_reason","_init_extra_reason","_init_metadata","_init_extra_metadata","_init_capability","_init_extra_capability","_init_outputs","_init_extra_outputs","_init_warnings","_init_extra_warnings","_init_errors","_init_extra_errors","_init_error","_init_extra_error","c","_initClass","_applyDecs","type","define","className","family","io","persist","string","boolean","unknown","list","format","source","recognized","output","supported","verified","preferredOutput","reason","metadata","capability","outputs","warnings","errors","error","constructor","values","SetValues","normalizeReport","markDirty","skipUpdate","skipEvents","Initialize","from","input","toJSON","canUseSelected","options","canUse","normalized","String","toLowerCase","find","entry","report","Array","isArray","map","normalizeCapability","selected","payloadType","requires"],"mappings":"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"}
1
+ {"version":3,"file":"CjsResourceProbe.js","sources":["../../../../src/resource/format/CjsResourceProbe.js"],"sourcesContent":["import { CjsModel } from \"#model\";\r\nimport { CjsSchema, io, type } from \"#schema\";\r\n\r\n/**\r\n * Persistable resource-layer view of a format support report.\r\n *\r\n * Concrete formats return decorator-free plain objects so their direct\r\n * subpaths stay importable without a build transform. Consumers that need a\r\n * model normalize those reports here with {@link CjsResourceProbe.from}.\r\n */\r\nexport class CjsResourceProbe extends CjsModel\r\n{\r\n format = \"\";\r\n\r\n source = \"\";\r\n\r\n recognized = false;\r\n\r\n output = \"\";\r\n\r\n supported = false;\r\n\r\n verified = false;\r\n\r\n preferredOutput = \"\";\r\n\r\n reason = \"\";\r\n\r\n metadata = null;\r\n\r\n capability = null;\r\n\r\n outputs = [];\r\n\r\n warnings = [];\r\n\r\n errors = [];\r\n\r\n error = null;\r\n\r\n /**\r\n * Create a normalized resource-layer support report.\r\n * @param {object|null} [values] Plain format support report.\r\n */\r\n constructor(values = null)\r\n {\r\n super();\r\n this.SetValues(normalizeReport(values), {\r\n markDirty: false,\r\n skipUpdate: true,\r\n skipEvents: true\r\n });\r\n }\r\n\r\n /** Replace this report from a plain format result. */\r\n Initialize(values = null)\r\n {\r\n this.SetValues(normalizeReport(values), { skipEvents: true });\r\n return this;\r\n }\r\n\r\n /** Normalize a plain format report at the decorated resource boundary. */\r\n static from(input)\r\n {\r\n if (input instanceof CjsResourceProbe) return input;\r\n if (input && typeof input.toJSON === \"function\") return new this(input.toJSON());\r\n return new this(input);\r\n }\r\n\r\n /** Whether the selected output is usable, optionally requiring real proof. */\r\n canUseSelected(options = null)\r\n {\r\n return this.supported === true && (!options?.verified || this.verified === true);\r\n }\r\n\r\n /** Whether one declared output is usable, optionally requiring real proof. */\r\n canUse(output, options = null)\r\n {\r\n const normalized = String(output || \"\").toLowerCase();\r\n const capability = this.outputs.find(entry =>\r\n String(entry?.output || \"\").toLowerCase() === normalized);\r\n return capability?.supported === true\r\n && (!options?.verified || capability.verified === true);\r\n }\r\n}\r\n\r\nfunction normalizeReport(input)\r\n{\r\n const report = input && typeof input === \"object\" ? input : {};\r\n const outputs = Array.isArray(report.outputs)\r\n ? report.outputs.map(normalizeCapability)\r\n : [];\r\n const selected = report.capability && typeof report.capability === \"object\"\r\n ? normalizeCapability(report.capability)\r\n : outputs.find(entry => entry.output === report.output) || null;\r\n return {\r\n format: String(report.format || \"\"),\r\n source: String(report.source || \"\"),\r\n recognized: report.recognized === true,\r\n output: String(report.output || \"\"),\r\n supported: report.supported === true,\r\n verified: report.verified === true,\r\n preferredOutput: String(report.preferredOutput || \"\"),\r\n reason: String(report.reason || \"\"),\r\n metadata: report.metadata ?? null,\r\n capability: selected,\r\n outputs,\r\n warnings: Array.isArray(report.warnings) ? report.warnings.map(String) : [],\r\n errors: Array.isArray(report.errors) ? report.errors.map(String) : [],\r\n error: report.error ?? null\r\n };\r\n}\r\n\r\nfunction normalizeCapability(input)\r\n{\r\n const capability = input && typeof input === \"object\" ? input : {};\r\n return {\r\n ...capability,\r\n output: String(capability.output || \"\"),\r\n payloadType: String(capability.payloadType || capability.output || \"\"),\r\n supported: capability.supported === true,\r\n verified: capability.verified === true,\r\n requires: Array.isArray(capability.requires) ? capability.requires.map(String) : []\r\n };\r\n}\r\n\r\nexport default CjsResourceProbe;\r\n\r\nCjsSchema.define(CjsResourceProbe, {\r\n className: \"CjsResourceProbe\", family: \"resource\",\r\n fields: {\r\n format: [ io.persist, type.string ],\r\n source: [ io.persist, type.string ],\r\n recognized: [ io.persist, type.boolean ],\r\n output: [ io.persist, type.string ],\r\n supported: [ io.persist, type.boolean ],\r\n verified: [ io.persist, type.boolean ],\r\n preferredOutput: [ io.persist, type.string ],\r\n reason: [ io.persist, type.string ],\r\n metadata: [ io.persist, type.unknown ],\r\n capability: [ io.persist, type.unknown ],\r\n outputs: [ io.persist, type.list(\"unknown\") ],\r\n warnings: [ io.persist, type.list(\"string\") ],\r\n errors: [ io.persist, type.list(\"string\") ],\r\n error: [ io.persist, type.unknown ]\r\n }\r\n});\r\n"],"names":["CjsResourceProbe","CjsModel","format","source","recognized","output","supported","verified","preferredOutput","reason","metadata","capability","outputs","warnings","errors","error","constructor","values","SetValues","normalizeReport","markDirty","skipUpdate","skipEvents","Initialize","from","input","toJSON","canUseSelected","options","canUse","normalized","String","toLowerCase","find","entry","report","Array","isArray","map","normalizeCapability","selected","payloadType","requires","CjsSchema","define","className","family","fields","io","persist","type","string","boolean","unknown","list"],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import { isPlainObject } from '#utils/is';
2
+
3
+ // One guard for the Carbon v15 description records.
4
+ //
5
+ // Nine call sites across eight reflection classes opened their
6
+ // `fromCarbonBinary` with the identical four lines, differing only in the noun
7
+ // (`Tr2EffectStageInput` has two, for its stage and stage-data records):
8
+ //
9
+ // if (!isPlainObject(record))
10
+ // {
11
+ // throw new TypeError("Carbon effect constant record must be an object");
12
+ // }
13
+ //
14
+ // The noun is the only thing worth keeping, because it is what tells a caller
15
+ // WHICH record was malformed when a graph of them is being rebuilt. Everything
16
+ // around it was copied.
17
+
18
+
19
+ /**
20
+ * Require a Carbon description record to be a plain object.
21
+ *
22
+ * @param {*} record Candidate record from the effect reader.
23
+ * @param {string} noun Record kind, used in the failure message.
24
+ * @throws {TypeError} The record is not a plain object.
25
+ */
26
+ function assertCarbonRecord(record, noun) {
27
+ if (!isPlainObject(record)) {
28
+ throw new TypeError(`Carbon effect ${noun} record must be an object`);
29
+ }
30
+ }
31
+
32
+ export { assertCarbonRecord };
33
+ //# sourceMappingURL=carbonRecordGuard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"carbonRecordGuard.js","sources":["../../../../src/resource/format/carbonRecordGuard.js"],"sourcesContent":["// One guard for the Carbon v15 description records.\n//\n// Nine call sites across eight reflection classes opened their\n// `fromCarbonBinary` with the identical four lines, differing only in the noun\n// (`Tr2EffectStageInput` has two, for its stage and stage-data records):\n//\n// if (!isPlainObject(record))\n// {\n// throw new TypeError(\"Carbon effect constant record must be an object\");\n// }\n//\n// The noun is the only thing worth keeping, because it is what tells a caller\n// WHICH record was malformed when a graph of them is being rebuilt. Everything\n// around it was copied.\n\nimport { isPlainObject } from \"#utils/is\";\n\n/**\n * Require a Carbon description record to be a plain object.\n *\n * @param {*} record Candidate record from the effect reader.\n * @param {string} noun Record kind, used in the failure message.\n * @throws {TypeError} The record is not a plain object.\n */\nexport function assertCarbonRecord(record, noun)\n{\n if (!isPlainObject(record))\n {\n throw new TypeError(`Carbon effect ${noun} record must be an object`);\n }\n}\n"],"names":["assertCarbonRecord","record","noun","isPlainObject","TypeError"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,kBAAkBA,CAACC,MAAM,EAAEC,IAAI,EAC/C;AACI,EAAA,IAAI,CAACC,aAAa,CAACF,MAAM,CAAC,EAC1B;AACI,IAAA,MAAM,IAAIG,SAAS,CAAC,CAAA,cAAA,EAAiBF,IAAI,2BAA2B,CAAC;AACzE,EAAA;AACJ;;;;"}