@carbonenginejs/runtime-resource 0.1.0

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 (372) hide show
  1. package/FORMAT-PROVENANCE.md +135 -0
  2. package/LICENSE +21 -0
  3. package/NOTICE +29 -0
  4. package/README.md +241 -0
  5. package/dist/CjsMotherLode.js +56 -0
  6. package/dist/CjsMotherLode.js.map +1 -0
  7. package/dist/CjsResMan.js +740 -0
  8. package/dist/CjsResMan.js.map +1 -0
  9. package/dist/CjsResManQueue.js +214 -0
  10. package/dist/CjsResManQueue.js.map +1 -0
  11. package/dist/CjsResource.js +366 -0
  12. package/dist/CjsResource.js.map +1 -0
  13. package/dist/CjsResourceSource.js +59 -0
  14. package/dist/CjsResourceSource.js.map +1 -0
  15. package/dist/_virtual/_rollupPluginBabelHelpers.js +153 -0
  16. package/dist/_virtual/_rollupPluginBabelHelpers.js.map +1 -0
  17. package/dist/format/CjsFormat.js +178 -0
  18. package/dist/format/CjsFormat.js.map +1 -0
  19. package/dist/format/CjsResourceProbe.js +269 -0
  20. package/dist/format/CjsResourceProbe.js.map +1 -0
  21. package/dist/format/payloadContract.js +173 -0
  22. package/dist/format/payloadContract.js.map +1 -0
  23. package/dist/formats/black/CjsBlackFormat.js +272 -0
  24. package/dist/formats/black/CjsBlackFormat.js.map +1 -0
  25. package/dist/formats/black/core/CjsBlackBinaryReader.js +153 -0
  26. package/dist/formats/black/core/CjsBlackBinaryReader.js.map +1 -0
  27. package/dist/formats/black/core/CjsBlackPropertyReaders.js +382 -0
  28. package/dist/formats/black/core/CjsBlackPropertyReaders.js.map +1 -0
  29. package/dist/formats/black/core/CjsBlackReader.js +760 -0
  30. package/dist/formats/black/core/CjsBlackReader.js.map +1 -0
  31. package/dist/formats/black/core/CjsBlackSchemaRegistry.js +433 -0
  32. package/dist/formats/black/core/CjsBlackSchemaRegistry.js.map +1 -0
  33. package/dist/formats/black/core/black-schema-v1-2026-07-11.json.js +4 -0
  34. package/dist/formats/black/core/black-schema-v1-2026-07-11.json.js.map +1 -0
  35. package/dist/formats/black/core/blackConstants.js +7 -0
  36. package/dist/formats/black/core/blackConstants.js.map +1 -0
  37. package/dist/formats/black/core/blackDefinitions.js +10 -0
  38. package/dist/formats/black/core/blackDefinitions.js.map +1 -0
  39. package/dist/formats/black/core/blackEnums.js +6 -0
  40. package/dist/formats/black/core/blackEnums.js.map +1 -0
  41. package/dist/formats/black/core/blackSchema.js +3 -0
  42. package/dist/formats/black/core/blackSchema.js.map +1 -0
  43. package/dist/formats/black/core/blackVersion.js +22 -0
  44. package/dist/formats/black/core/blackVersion.js.map +1 -0
  45. package/dist/formats/black/core/helpers.js +182 -0
  46. package/dist/formats/black/core/helpers.js.map +1 -0
  47. package/dist/formats/black/core/schema.js +4 -0
  48. package/dist/formats/black/core/schema.js.map +1 -0
  49. package/dist/formats/black/index.js +2 -0
  50. package/dist/formats/black/index.js.map +1 -0
  51. package/dist/formats/bnk/CjsBnkFormat.js +245 -0
  52. package/dist/formats/bnk/CjsBnkFormat.js.map +1 -0
  53. package/dist/formats/bnk/core/helpers.js +354 -0
  54. package/dist/formats/bnk/core/helpers.js.map +1 -0
  55. package/dist/formats/bnk/core/soundbanksInfo.js +246 -0
  56. package/dist/formats/bnk/core/soundbanksInfo.js.map +1 -0
  57. package/dist/formats/bnk/index.js +3 -0
  58. package/dist/formats/bnk/index.js.map +1 -0
  59. package/dist/formats/cmf/CjsCmfFormat.js +491 -0
  60. package/dist/formats/cmf/CjsCmfFormat.js.map +1 -0
  61. package/dist/formats/cmf/core/binary.js +118 -0
  62. package/dist/formats/cmf/core/binary.js.map +1 -0
  63. package/dist/formats/cmf/core/buffers.js +233 -0
  64. package/dist/formats/cmf/core/buffers.js.map +1 -0
  65. package/dist/formats/cmf/core/constants.js +47 -0
  66. package/dist/formats/cmf/core/constants.js.map +1 -0
  67. package/dist/formats/cmf/core/gr2Anim.js +453 -0
  68. package/dist/formats/cmf/core/gr2Anim.js.map +1 -0
  69. package/dist/formats/cmf/core/helpers.js +287 -0
  70. package/dist/formats/cmf/core/helpers.js.map +1 -0
  71. package/dist/formats/cmf/core/pack.js +276 -0
  72. package/dist/formats/cmf/core/pack.js.map +1 -0
  73. package/dist/formats/cmf/core/schema.js +364 -0
  74. package/dist/formats/cmf/core/schema.js.map +1 -0
  75. package/dist/formats/cmf/core/shared.js +268 -0
  76. package/dist/formats/cmf/core/shared.js.map +1 -0
  77. package/dist/formats/cmf/core/writer.js +517 -0
  78. package/dist/formats/cmf/core/writer.js.map +1 -0
  79. package/dist/formats/cmf/index.js +2 -0
  80. package/dist/formats/cmf/index.js.map +1 -0
  81. package/dist/formats/dds/CjsDdsFormat.js +187 -0
  82. package/dist/formats/dds/CjsDdsFormat.js.map +1 -0
  83. package/dist/formats/dds/core/helpers.js +812 -0
  84. package/dist/formats/dds/core/helpers.js.map +1 -0
  85. package/dist/formats/dds/index.js +2 -0
  86. package/dist/formats/dds/index.js.map +1 -0
  87. package/dist/formats/fbx/CjsFbxFormat.js +260 -0
  88. package/dist/formats/fbx/CjsFbxFormat.js.map +1 -0
  89. package/dist/formats/fbx/core/helpers.js +3901 -0
  90. package/dist/formats/fbx/core/helpers.js.map +1 -0
  91. package/dist/formats/fbx/index.js +2 -0
  92. package/dist/formats/fbx/index.js.map +1 -0
  93. package/dist/formats/flac/CjsFlacFormat.js +81 -0
  94. package/dist/formats/flac/CjsFlacFormat.js.map +1 -0
  95. package/dist/formats/flac/core/helpers.js +295 -0
  96. package/dist/formats/flac/core/helpers.js.map +1 -0
  97. package/dist/formats/flac/index.js +2 -0
  98. package/dist/formats/flac/index.js.map +1 -0
  99. package/dist/formats/gif/CjsGifFormat.js +81 -0
  100. package/dist/formats/gif/CjsGifFormat.js.map +1 -0
  101. package/dist/formats/gif/core/helpers.js +360 -0
  102. package/dist/formats/gif/core/helpers.js.map +1 -0
  103. package/dist/formats/gif/index.js +2 -0
  104. package/dist/formats/gif/index.js.map +1 -0
  105. package/dist/formats/gltf/CjsGltfFormat.js +284 -0
  106. package/dist/formats/gltf/CjsGltfFormat.js.map +1 -0
  107. package/dist/formats/gltf/core/helpers.js +292 -0
  108. package/dist/formats/gltf/core/helpers.js.map +1 -0
  109. package/dist/formats/gltf/core/json.js +79 -0
  110. package/dist/formats/gltf/core/json.js.map +1 -0
  111. package/dist/formats/gltf/core/parser.js +666 -0
  112. package/dist/formats/gltf/core/parser.js.map +1 -0
  113. package/dist/formats/gltf/core/targets.js +163 -0
  114. package/dist/formats/gltf/core/targets.js.map +1 -0
  115. package/dist/formats/gltf/index.js +2 -0
  116. package/dist/formats/gltf/index.js.map +1 -0
  117. package/dist/formats/index.js +23 -0
  118. package/dist/formats/index.js.map +1 -0
  119. package/dist/formats/jpeg/CjsJpegFormat.js +200 -0
  120. package/dist/formats/jpeg/CjsJpegFormat.js.map +1 -0
  121. package/dist/formats/jpeg/core/helpers.js +350 -0
  122. package/dist/formats/jpeg/core/helpers.js.map +1 -0
  123. package/dist/formats/jpeg/core/jpeg.js +377 -0
  124. package/dist/formats/jpeg/core/jpeg.js.map +1 -0
  125. package/dist/formats/jpeg/index.js +2 -0
  126. package/dist/formats/jpeg/index.js.map +1 -0
  127. package/dist/formats/mp3/CjsMp3Format.js +186 -0
  128. package/dist/formats/mp3/CjsMp3Format.js.map +1 -0
  129. package/dist/formats/mp3/core/helpers.js +338 -0
  130. package/dist/formats/mp3/core/helpers.js.map +1 -0
  131. package/dist/formats/mp3/index.js +2 -0
  132. package/dist/formats/mp3/index.js.map +1 -0
  133. package/dist/formats/mp4/CjsMp4Format.js +185 -0
  134. package/dist/formats/mp4/CjsMp4Format.js.map +1 -0
  135. package/dist/formats/mp4/core/helpers.js +449 -0
  136. package/dist/formats/mp4/core/helpers.js.map +1 -0
  137. package/dist/formats/mp4/index.js +2 -0
  138. package/dist/formats/mp4/index.js.map +1 -0
  139. package/dist/formats/obj/CjsObjFormat.js +247 -0
  140. package/dist/formats/obj/CjsObjFormat.js.map +1 -0
  141. package/dist/formats/obj/core/helpers.js +573 -0
  142. package/dist/formats/obj/core/helpers.js.map +1 -0
  143. package/dist/formats/obj/core/json.js +64 -0
  144. package/dist/formats/obj/core/json.js.map +1 -0
  145. package/dist/formats/obj/core/parser.js +321 -0
  146. package/dist/formats/obj/core/parser.js.map +1 -0
  147. package/dist/formats/obj/index.js +2 -0
  148. package/dist/formats/obj/index.js.map +1 -0
  149. package/dist/formats/ogg/CjsOggFormat.js +82 -0
  150. package/dist/formats/ogg/CjsOggFormat.js.map +1 -0
  151. package/dist/formats/ogg/core/helpers.js +387 -0
  152. package/dist/formats/ogg/core/helpers.js.map +1 -0
  153. package/dist/formats/ogg/core/imdct.js +178 -0
  154. package/dist/formats/ogg/core/imdct.js.map +1 -0
  155. package/dist/formats/ogg/core/vorbis.js +999 -0
  156. package/dist/formats/ogg/core/vorbis.js.map +1 -0
  157. package/dist/formats/ogg/index.js +2 -0
  158. package/dist/formats/ogg/index.js.map +1 -0
  159. package/dist/formats/png/CjsPngFormat.js +189 -0
  160. package/dist/formats/png/CjsPngFormat.js.map +1 -0
  161. package/dist/formats/png/core/helpers.js +583 -0
  162. package/dist/formats/png/core/helpers.js.map +1 -0
  163. package/dist/formats/png/index.js +2 -0
  164. package/dist/formats/png/index.js.map +1 -0
  165. package/dist/formats/red/CjsRedFormat.js +247 -0
  166. package/dist/formats/red/CjsRedFormat.js.map +1 -0
  167. package/dist/formats/red/core/CjsRedReader.js +201 -0
  168. package/dist/formats/red/core/CjsRedReader.js.map +1 -0
  169. package/dist/formats/red/core/blackDefinitions.js +3 -0
  170. package/dist/formats/red/core/blackDefinitions.js.map +1 -0
  171. package/dist/formats/red/core/helpers.js +136 -0
  172. package/dist/formats/red/core/helpers.js.map +1 -0
  173. package/dist/formats/red/core/redGraph.js +68 -0
  174. package/dist/formats/red/core/redGraph.js.map +1 -0
  175. package/dist/formats/red/core/schema.js +4 -0
  176. package/dist/formats/red/core/schema.js.map +1 -0
  177. package/dist/formats/red/index.js +2 -0
  178. package/dist/formats/red/index.js.map +1 -0
  179. package/dist/formats/stl/CjsStlFormat.js +304 -0
  180. package/dist/formats/stl/CjsStlFormat.js.map +1 -0
  181. package/dist/formats/stl/core/helpers.js +257 -0
  182. package/dist/formats/stl/core/helpers.js.map +1 -0
  183. package/dist/formats/stl/core/json.js +51 -0
  184. package/dist/formats/stl/core/json.js.map +1 -0
  185. package/dist/formats/stl/core/stl.js +544 -0
  186. package/dist/formats/stl/core/stl.js.map +1 -0
  187. package/dist/formats/stl/core/targets.js +163 -0
  188. package/dist/formats/stl/core/targets.js.map +1 -0
  189. package/dist/formats/stl/index.js +2 -0
  190. package/dist/formats/stl/index.js.map +1 -0
  191. package/dist/formats/tga/CjsTgaFormat.js +186 -0
  192. package/dist/formats/tga/CjsTgaFormat.js.map +1 -0
  193. package/dist/formats/tga/core/helpers.js +446 -0
  194. package/dist/formats/tga/core/helpers.js.map +1 -0
  195. package/dist/formats/tga/index.js +2 -0
  196. package/dist/formats/tga/index.js.map +1 -0
  197. package/dist/formats/wav/CjsWavFormat.js +186 -0
  198. package/dist/formats/wav/CjsWavFormat.js.map +1 -0
  199. package/dist/formats/wav/core/helpers.js +328 -0
  200. package/dist/formats/wav/core/helpers.js.map +1 -0
  201. package/dist/formats/wav/index.js +2 -0
  202. package/dist/formats/wav/index.js.map +1 -0
  203. package/dist/formats/webm/CjsWebmFormat.js +185 -0
  204. package/dist/formats/webm/CjsWebmFormat.js.map +1 -0
  205. package/dist/formats/webm/core/helpers.js +537 -0
  206. package/dist/formats/webm/core/helpers.js.map +1 -0
  207. package/dist/formats/webm/index.js +2 -0
  208. package/dist/formats/webm/index.js.map +1 -0
  209. package/dist/formats/webp/CjsWebpFormat.js +80 -0
  210. package/dist/formats/webp/CjsWebpFormat.js.map +1 -0
  211. package/dist/formats/webp/core/helpers.js +214 -0
  212. package/dist/formats/webp/core/helpers.js.map +1 -0
  213. package/dist/formats/webp/index.js +2 -0
  214. package/dist/formats/webp/index.js.map +1 -0
  215. package/dist/formats/wem/CjsWemFormat.js +197 -0
  216. package/dist/formats/wem/CjsWemFormat.js.map +1 -0
  217. package/dist/formats/wem/core/bitStream.js +259 -0
  218. package/dist/formats/wem/core/bitStream.js.map +1 -0
  219. package/dist/formats/wem/core/codebookLibrary.js +164 -0
  220. package/dist/formats/wem/core/codebookLibrary.js.map +1 -0
  221. package/dist/formats/wem/core/helpers.js +336 -0
  222. package/dist/formats/wem/core/helpers.js.map +1 -0
  223. package/dist/formats/wem/core/packedCodebooksAotuv603.js +30 -0
  224. package/dist/formats/wem/core/packedCodebooksAotuv603.js.map +1 -0
  225. package/dist/formats/wem/core/wemToOgg.js +485 -0
  226. package/dist/formats/wem/core/wemToOgg.js.map +1 -0
  227. package/dist/formats/wem/index.js +2 -0
  228. package/dist/formats/wem/index.js.map +1 -0
  229. package/dist/formats/yaml/CjsYamlFormat.js +77 -0
  230. package/dist/formats/yaml/CjsYamlFormat.js.map +1 -0
  231. package/dist/formats/yaml/core/CjsYamlReader.js +304 -0
  232. package/dist/formats/yaml/core/CjsYamlReader.js.map +1 -0
  233. package/dist/formats/yaml/core/helpers.js +160 -0
  234. package/dist/formats/yaml/core/helpers.js.map +1 -0
  235. package/dist/formats/yaml/index.js +2 -0
  236. package/dist/formats/yaml/index.js.map +1 -0
  237. package/dist/generated/resources/AudioGeometryResData.js +47 -0
  238. package/dist/generated/resources/AudioGeometryResData.js.map +1 -0
  239. package/dist/generated/resources/CmfVertexReader.js +46 -0
  240. package/dist/generated/resources/CmfVertexReader.js.map +1 -0
  241. package/dist/generated/resources/GStateBindingCallbackData.js +31 -0
  242. package/dist/generated/resources/GStateBindingCallbackData.js.map +1 -0
  243. package/dist/generated/resources/MeshDecalData.js +37 -0
  244. package/dist/generated/resources/MeshDecalData.js.map +1 -0
  245. package/dist/generated/resources/MeshDecalLodData.js +34 -0
  246. package/dist/generated/resources/MeshDecalLodData.js.map +1 -0
  247. package/dist/generated/resources/Tr2AsyncSave.js +46 -0
  248. package/dist/generated/resources/Tr2AsyncSave.js.map +1 -0
  249. package/dist/generated/resources/Tr2CmfContents.js +37 -0
  250. package/dist/generated/resources/Tr2CmfContents.js.map +1 -0
  251. package/dist/generated/resources/Tr2GrannyIntersectionResult.js +58 -0
  252. package/dist/generated/resources/Tr2GrannyIntersectionResult.js.map +1 -0
  253. package/dist/generated/resources/Tr2LoadPrepareFence.js +37 -0
  254. package/dist/generated/resources/Tr2LoadPrepareFence.js.map +1 -0
  255. package/dist/generated/resources/Tr2MaterialArea.js +34 -0
  256. package/dist/generated/resources/Tr2MaterialArea.js.map +1 -0
  257. package/dist/generated/resources/Tr2MaterialMesh.js +31 -0
  258. package/dist/generated/resources/Tr2MaterialMesh.js.map +1 -0
  259. package/dist/generated/resources/Tr2MaterialRes.js +34 -0
  260. package/dist/generated/resources/Tr2MaterialRes.js.map +1 -0
  261. package/dist/generated/resources/Tr2ShaderPermutation.js +43 -0
  262. package/dist/generated/resources/Tr2ShaderPermutation.js.map +1 -0
  263. package/dist/generated/resources/Tr2TextureLodManager.js +60 -0
  264. package/dist/generated/resources/Tr2TextureLodManager.js.map +1 -0
  265. package/dist/generated/resources/Tr2TextureLodUpdateRequest.js +37 -0
  266. package/dist/generated/resources/Tr2TextureLodUpdateRequest.js.map +1 -0
  267. package/dist/generated/resources/Tr2TexturePackChannel.js +37 -0
  268. package/dist/generated/resources/Tr2TexturePackChannel.js.map +1 -0
  269. package/dist/generated/resources/Tr2TexturePipeline.js +44 -0
  270. package/dist/generated/resources/Tr2TexturePipeline.js.map +1 -0
  271. package/dist/generated/resources/Tr2TexturePipelineParams.js +34 -0
  272. package/dist/generated/resources/Tr2TexturePipelineParams.js.map +1 -0
  273. package/dist/generated/resources/Tr2TexturePipelineStepCompress.js +40 -0
  274. package/dist/generated/resources/Tr2TexturePipelineStepCompress.js.map +1 -0
  275. package/dist/generated/resources/Tr2TexturePipelineStepLimitSize.js +34 -0
  276. package/dist/generated/resources/Tr2TexturePipelineStepLimitSize.js.map +1 -0
  277. package/dist/generated/resources/Tr2TexturePipelineStepLoad.js +31 -0
  278. package/dist/generated/resources/Tr2TexturePipelineStepLoad.js.map +1 -0
  279. package/dist/generated/resources/Tr2TexturePipelineStepPack.js +43 -0
  280. package/dist/generated/resources/Tr2TexturePipelineStepPack.js.map +1 -0
  281. package/dist/generated/resources/TriGeometryResAreaData.js +59 -0
  282. package/dist/generated/resources/TriGeometryResAreaData.js.map +1 -0
  283. package/dist/generated/resources/TriGeometryResJointData.js +38 -0
  284. package/dist/generated/resources/TriGeometryResJointData.js.map +1 -0
  285. package/dist/generated/resources/TriGeometryResLodData.js +88 -0
  286. package/dist/generated/resources/TriGeometryResLodData.js.map +1 -0
  287. package/dist/generated/resources/TriGeometryResMeshData.js +63 -0
  288. package/dist/generated/resources/TriGeometryResMeshData.js.map +1 -0
  289. package/dist/generated/resources/TriGeometryResSkeletonData.js +34 -0
  290. package/dist/generated/resources/TriGeometryResSkeletonData.js.map +1 -0
  291. package/dist/generated/resources/TriJointBinding.js +38 -0
  292. package/dist/generated/resources/TriJointBinding.js.map +1 -0
  293. package/dist/generated/resources/TriMorphTargetGeometryConstants.js +46 -0
  294. package/dist/generated/resources/TriMorphTargetGeometryConstants.js.map +1 -0
  295. package/dist/generated/resources/TriRtGeometryConstants.js +88 -0
  296. package/dist/generated/resources/TriRtGeometryConstants.js.map +1 -0
  297. package/dist/generated/resources/enums.js +18 -0
  298. package/dist/generated/resources/enums.js.map +1 -0
  299. package/dist/generated/resources/index.js +32 -0
  300. package/dist/generated/resources/index.js.map +1 -0
  301. package/dist/index.js +52 -0
  302. package/dist/index.js.map +1 -0
  303. package/dist/resourcePath.js +18 -0
  304. package/dist/resourcePath.js.map +1 -0
  305. package/dist/resourceStates.js +9 -0
  306. package/dist/resourceStates.js.map +1 -0
  307. package/dist/resources/Tr2EffectRes.js +71 -0
  308. package/dist/resources/Tr2EffectRes.js.map +1 -0
  309. package/dist/resources/Tr2GrannyStateRes.js +44 -0
  310. package/dist/resources/Tr2GrannyStateRes.js.map +1 -0
  311. package/dist/resources/Tr2ImageRes.js +114 -0
  312. package/dist/resources/Tr2ImageRes.js.map +1 -0
  313. package/dist/resources/Tr2LightProfileRes.js +40 -0
  314. package/dist/resources/Tr2LightProfileRes.js.map +1 -0
  315. package/dist/resources/TriGeometryRes.js +216 -0
  316. package/dist/resources/TriGeometryRes.js.map +1 -0
  317. package/dist/resources/TriGrannyRes.js +43 -0
  318. package/dist/resources/TriGrannyRes.js.map +1 -0
  319. package/dist/resources/TriTextureRes.js +304 -0
  320. package/dist/resources/TriTextureRes.js.map +1 -0
  321. package/dist/resources/resourceBoundary.js +47 -0
  322. package/dist/resources/resourceBoundary.js.map +1 -0
  323. package/dist/texture/CjsTextureArrayRes.js +406 -0
  324. package/dist/texture/CjsTextureArrayRes.js.map +1 -0
  325. package/dist/texture/CjsTextureParameterProxy.js +133 -0
  326. package/dist/texture/CjsTextureParameterProxy.js.map +1 -0
  327. package/format-notices/black/LICENSE +21 -0
  328. package/format-notices/black/NOTICE +47 -0
  329. package/format-notices/bnk/LICENSE +21 -0
  330. package/format-notices/bnk/NOTICE +17 -0
  331. package/format-notices/cmf/LICENSE +21 -0
  332. package/format-notices/cmf/NOTICE +36 -0
  333. package/format-notices/dds/LICENSE +21 -0
  334. package/format-notices/dds/NOTICE +14 -0
  335. package/format-notices/fbx/LICENSE +21 -0
  336. package/format-notices/fbx/NOTICE +14 -0
  337. package/format-notices/flac/LICENSE +21 -0
  338. package/format-notices/flac/NOTICE +14 -0
  339. package/format-notices/gif/LICENSE +21 -0
  340. package/format-notices/gif/NOTICE +14 -0
  341. package/format-notices/gltf/LICENSE +21 -0
  342. package/format-notices/gltf/NOTICE +27 -0
  343. package/format-notices/jpeg/LICENSE +21 -0
  344. package/format-notices/jpeg/NOTICE +14 -0
  345. package/format-notices/mp3/LICENSE +21 -0
  346. package/format-notices/mp3/NOTICE +14 -0
  347. package/format-notices/mp4/LICENSE +21 -0
  348. package/format-notices/mp4/NOTICE +14 -0
  349. package/format-notices/obj/LICENSE +21 -0
  350. package/format-notices/obj/NOTICE +26 -0
  351. package/format-notices/ogg/LICENSE +21 -0
  352. package/format-notices/ogg/NOTICE +28 -0
  353. package/format-notices/png/LICENSE +21 -0
  354. package/format-notices/png/NOTICE +14 -0
  355. package/format-notices/red/LICENSE +21 -0
  356. package/format-notices/red/NOTICE +31 -0
  357. package/format-notices/stl/LICENSE +21 -0
  358. package/format-notices/stl/NOTICE +21 -0
  359. package/format-notices/tga/LICENSE +21 -0
  360. package/format-notices/tga/NOTICE +14 -0
  361. package/format-notices/wav/LICENSE +21 -0
  362. package/format-notices/wav/NOTICE +14 -0
  363. package/format-notices/webm/LICENSE +21 -0
  364. package/format-notices/webm/NOTICE +14 -0
  365. package/format-notices/webp/LICENSE +21 -0
  366. package/format-notices/webp/NOTICE +14 -0
  367. package/format-notices/wem/LICENSE +57 -0
  368. package/format-notices/wem/NOTICE +33 -0
  369. package/format-notices/yaml/LICENSE +21 -0
  370. package/format-notices/yaml/NOTICE +44 -0
  371. package/package.json +51 -0
  372. package/resource-lifecycle.md +487 -0
@@ -0,0 +1,9 @@
1
+ import { CjsResource as _CjsResource } from './CjsResource.js';
2
+
3
+ const CjsResourceState = _CjsResource.State;
4
+ function isTerminalResourceState(state) {
5
+ return state === CjsResourceState.PREPARED || state === CjsResourceState.FAILED || state === CjsResourceState.UNLOADED || state === CjsResourceState.PURGED;
6
+ }
7
+
8
+ export { CjsResourceState, isTerminalResourceState };
9
+ //# sourceMappingURL=resourceStates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resourceStates.js","sources":["../../src/resourceStates.js"],"sourcesContent":["import { CjsResource } from \"./CjsResource.js\";\n\nexport const CjsResourceState = CjsResource.State;\n\nexport function isTerminalResourceState(state) {\n return state === CjsResourceState.PREPARED\n || state === CjsResourceState.FAILED\n || state === CjsResourceState.UNLOADED\n || state === CjsResourceState.PURGED;\n}\n"],"names":["CjsResourceState","CjsResource","State","isTerminalResourceState","state","PREPARED","FAILED","UNLOADED","PURGED"],"mappings":";;AAEO,MAAMA,gBAAgB,GAAGC,YAAW,CAACC;AAErC,SAASC,uBAAuBA,CAACC,KAAK,EAAE;EAC7C,OAAOA,KAAK,KAAKJ,gBAAgB,CAACK,QAAQ,IACrCD,KAAK,KAAKJ,gBAAgB,CAACM,MAAM,IACjCF,KAAK,KAAKJ,gBAAgB,CAACO,QAAQ,IACnCH,KAAK,KAAKJ,gBAAgB,CAACQ,MAAM;AACxC;;;;"}
@@ -0,0 +1,71 @@
1
+ import { identity as _identity, applyDecs2311 as _applyDecs2311 } from '../_virtual/_rollupPluginBabelHelpers.js';
2
+ import { carbon, impl, type } from '@carbonenginejs/core-types/schema';
3
+ import { CjsResource as _CjsResource } from '../CjsResource.js';
4
+ import { AssertResourcePayloadObject, AssertResourcePayloadArray } from './resourceBoundary.js';
5
+
6
+ let _initProto, _initClass;
7
+
8
+ /**
9
+ * Tr2EffectRes resource record.
10
+ *
11
+ * This stores effect/shader payload facts. Engine-gpu decides shader module,
12
+ * pipeline, bind group, and sampler realization.
13
+ */
14
+ let _Tr2EffectRes;
15
+ new class extends _identity {
16
+ static [class Tr2EffectRes extends _CjsResource {
17
+ static {
18
+ ({
19
+ e: [_initProto],
20
+ c: [_Tr2EffectRes, _initClass]
21
+ } = _applyDecs2311(this, [type.define({
22
+ className: "Tr2EffectRes",
23
+ family: "resources"
24
+ })], [[[carbon, carbon.method, impl, impl.adapted], 18, "GetPermutationDescription"]], 0, void 0, _CjsResource));
25
+ }
26
+ constructor(values = null) {
27
+ _initProto(super());
28
+ this.SetValues(values || {}, {
29
+ markDirty: false,
30
+ skipUpdate: true,
31
+ skipEvents: true
32
+ });
33
+ }
34
+
35
+ /**
36
+ * Attach a plain shader/effect payload.
37
+ *
38
+ * @param {object|null} payload
39
+ * @param {object|null} options
40
+ * @returns {Tr2EffectRes}
41
+ */
42
+ SetPayload(payload = null, options = null) {
43
+ if (payload === null) {
44
+ super.SetPayload(null);
45
+ return this;
46
+ }
47
+ AssertResourcePayloadObject("Tr2EffectRes", payload);
48
+ AssertResourcePayloadArray("Tr2EffectRes", payload, "permutations");
49
+ super.SetPayload(payload);
50
+ this.SetValues(options || {});
51
+ return this;
52
+ }
53
+
54
+ /**
55
+ * Return a small JSON-friendly permutation description.
56
+ *
57
+ * @returns {Array<*>}
58
+ */
59
+ GetPermutationDescription() {
60
+ const permutations = this.GetPayload()?.permutations;
61
+ return Array.isArray(permutations) ? permutations : [];
62
+ }
63
+ }];
64
+ payload = "shader";
65
+ constructor() {
66
+ super(_Tr2EffectRes), _initClass();
67
+ }
68
+ }();
69
+
70
+ export { _Tr2EffectRes as Tr2EffectRes };
71
+ //# sourceMappingURL=Tr2EffectRes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tr2EffectRes.js","sources":["../../../src/resources/Tr2EffectRes.js"],"sourcesContent":["// Source: trinity/trinity/Resources/Tr2EffectRes.h\n// Source: trinity/trinity/Resources/Tr2EffectRes.cpp\n// Source: trinity/trinity/Resources/Tr2EffectRes_Blue.cpp\nimport { carbon, impl, io, type } from \"@carbonenginejs/core-types/schema\";\nimport { CjsResource } from \"../CjsResource.js\";\nimport { AssertResourcePayloadArray, AssertResourcePayloadObject } from \"./resourceBoundary.js\";\n\n/**\n * Tr2EffectRes resource record.\n *\n * This stores effect/shader payload facts. Engine-gpu decides shader module,\n * pipeline, bind group, and sampler realization.\n */\n@type.define({ className: \"Tr2EffectRes\", family: \"resources\" })\nexport class Tr2EffectRes extends CjsResource\n{\n\n constructor(values = null)\n {\n super();\n this.SetValues(values || {}, {\n markDirty: false,\n skipUpdate: true,\n skipEvents: true\n });\n }\n\n /**\n * Attach a plain shader/effect payload.\n *\n * @param {object|null} payload\n * @param {object|null} options\n * @returns {Tr2EffectRes}\n */\n SetPayload(payload = null, options = null)\n {\n if (payload === null)\n {\n super.SetPayload(null);\n return this;\n }\n AssertResourcePayloadObject(\"Tr2EffectRes\", payload);\n AssertResourcePayloadArray(\"Tr2EffectRes\", payload, \"permutations\");\n super.SetPayload(payload);\n this.SetValues(options || {});\n return this;\n }\n\n /**\n * Return a small JSON-friendly permutation description.\n *\n * @returns {Array<*>}\n */\n @carbon.method\n @impl.adapted\n GetPermutationDescription()\n {\n const permutations = this.GetPayload()?.permutations;\n return Array.isArray(permutations) ? permutations : [];\n }\n\n static payload = \"shader\";\n\n}\n"],"names":["_Tr2EffectRes","_identity","Tr2EffectRes","CjsResource","e","_initProto","c","_initClass","_applyDecs","type","define","className","family","carbon","method","impl","adapted","constructor","values","SetValues","markDirty","skipUpdate","skipEvents","SetPayload","payload","options","AssertResourcePayloadObject","AssertResourcePayloadArray","GetPermutationDescription","permutations","GetPayload","Array","isArray"],"mappings":";;;;;;;AAOA;AACA;AACA;AACA;AACA;AACA;AALA,IAAAA;AAAA,IAAA,cAAAC,SAAA,CAAA;AAAA,EAAA,QAMA,MAAAC,YAAA,SACkCC,YAAW,CAC7C;AAAA,IAAA;AAAA,MAAA,CAAA;AAAAC,QAAAA,CAAA,GAAAC,UAAA,CAAA;QAAAC,CAAA,EAAA,CAAAN,aAAA,EAAAO,UAAA;AAAA,OAAA,GAAAC,cAAA,CAAA,IAAA,EAAA,CAFCC,IAAI,CAACC,MAAM,CAAC;AAAEC,QAAAA,SAAS,EAAE,cAAc;AAAEC,QAAAA,MAAM,EAAE;AAAY,OAAC,CAAC,CAAA,EAAA,CAAA,CAAA,CAwC7DC,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,iDAxCmBb,YAAW,CAAA;AAAA;AAG3Cc,IAAAA,WAAWA,CAACC,MAAM,GAAG,IAAI,EACzB;MACEb,UAAA,CAAA,KAAK,EAAE,CAAA;AACP,MAAA,IAAI,CAACc,SAAS,CAACD,MAAM,IAAI,EAAE,EAAE;AAC3BE,QAAAA,SAAS,EAAE,KAAK;AAChBC,QAAAA,UAAU,EAAE,IAAI;AAChBC,QAAAA,UAAU,EAAE;AACd,OAAC,CAAC;AACJ,IAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;IACEC,UAAUA,CAACC,OAAO,GAAG,IAAI,EAAEC,OAAO,GAAG,IAAI,EACzC;MACE,IAAID,OAAO,KAAK,IAAI,EACpB;AACE,QAAA,KAAK,CAACD,UAAU,CAAC,IAAI,CAAC;AACtB,QAAA,OAAO,IAAI;AACb,MAAA;AACAG,MAAAA,2BAA2B,CAAC,cAAc,EAAEF,OAAO,CAAC;AACpDG,MAAAA,0BAA0B,CAAC,cAAc,EAAEH,OAAO,EAAE,cAAc,CAAC;AACnE,MAAA,KAAK,CAACD,UAAU,CAACC,OAAO,CAAC;AACzB,MAAA,IAAI,CAACL,SAAS,CAACM,OAAO,IAAI,EAAE,CAAC;AAC7B,MAAA,OAAO,IAAI;AACb,IAAA;;AAEA;AACF;AACA;AACA;AACA;AAGEG,IAAAA,yBAAyBA,GACzB;MACE,MAAMC,YAAY,GAAG,IAAI,CAACC,UAAU,EAAE,EAAED,YAAY;MACpD,OAAOE,KAAK,CAACC,OAAO,CAACH,YAAY,CAAC,GAAGA,YAAY,GAAG,EAAE;AACxD,IAAA;GAID;AAFQL,EAAAA,OAAO,GAAG,QAAQ;EAACP,WAAAA,GAAA;IAAA,KAAA,CAAAjB,aAAA,GAAAO,UAAA,EAAA;AAAA,EAAA;AAAA,CAAA,EAAA;;;;"}
@@ -0,0 +1,44 @@
1
+ import { identity as _identity, applyDecs2311 as _applyDecs2311 } from '../_virtual/_rollupPluginBabelHelpers.js';
2
+ import { type } from '@carbonenginejs/core-types/schema';
3
+ import { CjsResource as _CjsResource } from '../CjsResource.js';
4
+ import { AssertResourcePayloadObject, ResourcePayloadError } from './resourceBoundary.js';
5
+
6
+ let _initClass;
7
+
8
+ /**
9
+ * Runtime-owned GState resource.
10
+ *
11
+ * GState uses the Gr2Reader path but may contain additive skeleton/state data
12
+ * without models. Consumers inspect its plain payload rather than assuming the
13
+ * model-bearing TriGrannyRes payload shape.
14
+ */
15
+ let _Tr2GrannyStateRes;
16
+ new class extends _identity {
17
+ static [class Tr2GrannyStateRes extends _CjsResource {
18
+ static {
19
+ [_Tr2GrannyStateRes, _initClass] = _applyDecs2311(this, [type.define({
20
+ className: "Tr2GrannyStateRes",
21
+ family: "resources"
22
+ })], [], 0, void 0, _CjsResource).c;
23
+ }
24
+ SetPayload(payload = null) {
25
+ if (payload === null) {
26
+ super.SetPayload(null);
27
+ return this;
28
+ }
29
+ AssertResourcePayloadObject("Tr2GrannyStateRes", payload);
30
+ if (!payload.skeleton && !Array.isArray(payload.additiveAnimations)) {
31
+ throw ResourcePayloadError("Tr2GrannyStateRes", "Expected skeleton data or an additiveAnimations array.");
32
+ }
33
+ super.SetPayload(payload);
34
+ return this;
35
+ }
36
+ }];
37
+ payload = "granny-state";
38
+ constructor() {
39
+ super(_Tr2GrannyStateRes), _initClass();
40
+ }
41
+ }();
42
+
43
+ export { _Tr2GrannyStateRes as Tr2GrannyStateRes };
44
+ //# sourceMappingURL=Tr2GrannyStateRes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tr2GrannyStateRes.js","sources":["../../../src/resources/Tr2GrannyStateRes.js"],"sourcesContent":["// Source: trinity/trinity/Resources/Tr2GrannyStateRes.h\nimport { type } from \"@carbonenginejs/core-types/schema\";\nimport { CjsResource } from \"../CjsResource.js\";\nimport { AssertResourcePayloadObject, ResourcePayloadError } from \"./resourceBoundary.js\";\n\n/**\n * Runtime-owned GState resource.\n *\n * GState uses the Gr2Reader path but may contain additive skeleton/state data\n * without models. Consumers inspect its plain payload rather than assuming the\n * model-bearing TriGrannyRes payload shape.\n */\n@type.define({ className: \"Tr2GrannyStateRes\", family: \"resources\" })\nexport class Tr2GrannyStateRes extends CjsResource\n{\n SetPayload(payload = null)\n {\n if (payload === null)\n {\n super.SetPayload(null);\n return this;\n }\n AssertResourcePayloadObject(\"Tr2GrannyStateRes\", payload);\n if (!payload.skeleton && !Array.isArray(payload.additiveAnimations))\n {\n throw ResourcePayloadError(\n \"Tr2GrannyStateRes\",\n \"Expected skeleton data or an additiveAnimations array.\"\n );\n }\n super.SetPayload(payload);\n return this;\n }\n\n static payload = \"granny-state\";\n}\n"],"names":["_Tr2GrannyStateRes","_identity","Tr2GrannyStateRes","CjsResource","_initClass","_applyDecs","type","define","className","family","c","SetPayload","payload","AssertResourcePayloadObject","skeleton","Array","isArray","additiveAnimations","ResourcePayloadError","constructor"],"mappings":";;;;;;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AANA,IAAAA;AAAA,IAAA,cAAAC,SAAA,CAAA;AAAA,EAAA,QAOA,MAAAC,iBAAA,SACuCC,YAAW,CAClD;AAAA,IAAA;MAAA,CAAAH,kBAAA,EAAAI,UAAA,CAAA,GAAAC,cAAA,CAAA,IAAA,EAAA,CAFCC,IAAI,CAACC,MAAM,CAAC;AAAEC,QAAAA,SAAS,EAAE,mBAAmB;AAAEC,QAAAA,MAAM,EAAE;AAAY,OAAC,CAAC,CAAA,EAAA,EAAA,EAAA,CAAA,EAAA,MAAA,EAC9BN,YAAW,CAAA,CAAAO,CAAA;AAAA;AAEhDC,IAAAA,UAAUA,CAACC,OAAO,GAAG,IAAI,EACzB;MACE,IAAIA,OAAO,KAAK,IAAI,EACpB;AACE,QAAA,KAAK,CAACD,UAAU,CAAC,IAAI,CAAC;AACtB,QAAA,OAAO,IAAI;AACb,MAAA;AACAE,MAAAA,2BAA2B,CAAC,mBAAmB,EAAED,OAAO,CAAC;AACzD,MAAA,IAAI,CAACA,OAAO,CAACE,QAAQ,IAAI,CAACC,KAAK,CAACC,OAAO,CAACJ,OAAO,CAACK,kBAAkB,CAAC,EACnE;AACE,QAAA,MAAMC,oBAAoB,CACxB,mBAAmB,EACnB,wDACF,CAAC;AACH,MAAA;AACA,MAAA,KAAK,CAACP,UAAU,CAACC,OAAO,CAAC;AACzB,MAAA,OAAO,IAAI;AACb,IAAA;GAGD;AADQA,EAAAA,OAAO,GAAG,cAAc;EAACO,WAAAA,GAAA;IAAA,KAAA,CAAAnB,kBAAA,GAAAI,UAAA,EAAA;AAAA,EAAA;AAAA,CAAA,EAAA;;;;"}
@@ -0,0 +1,114 @@
1
+ import { identity as _identity, applyDecs2311 as _applyDecs2311 } from '../_virtual/_rollupPluginBabelHelpers.js';
2
+ import { io, type, carbon, impl } from '@carbonenginejs/core-types/schema';
3
+ import { CjsResource as _CjsResource } from '../CjsResource.js';
4
+ import { validateRgbaPayload } from '../format/payloadContract.js';
5
+ import { ValidateResourcePayload } from './resourceBoundary.js';
6
+
7
+ let _initProto, _initClass, _init_width, _init_extra_width, _init_height, _init_extra_height;
8
+
9
+ /**
10
+ * Tr2ImageRes resource record.
11
+ *
12
+ * Carbon treats this as image payload data. Engine-gpu decides whether it ever
13
+ * becomes device texture state.
14
+ */
15
+ let _Tr2ImageRes;
16
+ new class extends _identity {
17
+ static [class Tr2ImageRes extends _CjsResource {
18
+ static {
19
+ ({
20
+ e: [_init_width, _init_extra_width, _init_height, _init_extra_height, _initProto],
21
+ c: [_Tr2ImageRes, _initClass]
22
+ } = _applyDecs2311(this, [type.define({
23
+ className: "Tr2ImageRes",
24
+ family: "resources"
25
+ })], [[[io, io.persist, type, type.uint32], 16, "width"], [[io, io.persist, type, type.uint32], 16, "height"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetWidth"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetHeight"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetPixelColor"], [[carbon, carbon.method, impl, impl.adapted], 18, "IsPixelOpaque"]], 0, void 0, _CjsResource));
26
+ }
27
+ width = (_initProto(this), _init_width(this, 0));
28
+ height = (_init_extra_width(this), _init_height(this, 0));
29
+ constructor(values = null) {
30
+ super(), _init_extra_height(this);
31
+ this.SetValues(values || {}, {
32
+ markDirty: false,
33
+ skipUpdate: true,
34
+ skipEvents: true
35
+ });
36
+ }
37
+
38
+ /**
39
+ * Attach a plain canonical RGBA payload and mirror Carbon-exposed metadata.
40
+ *
41
+ * @param {object|null} payload
42
+ * @param {object|null} options
43
+ * @returns {Tr2ImageRes}
44
+ */
45
+ SetPayload(payload = null, options = null) {
46
+ if (payload === null) {
47
+ super.SetPayload(null);
48
+ return this;
49
+ }
50
+ ValidateResourcePayload("Tr2ImageRes", payload, validateRgbaPayload);
51
+ const values = {
52
+ ...(options || {})
53
+ };
54
+ values.width = payload.width;
55
+ values.height = payload.height;
56
+ super.SetPayload(payload);
57
+ this.SetValues(values);
58
+ return this;
59
+ }
60
+
61
+ /**
62
+ * Return image width in pixels.
63
+ *
64
+ * @returns {number}
65
+ */
66
+ GetWidth() {
67
+ return this.width || 0;
68
+ }
69
+
70
+ /**
71
+ * Return image height in pixels.
72
+ *
73
+ * @returns {number}
74
+ */
75
+ GetHeight() {
76
+ return this.height || 0;
77
+ }
78
+
79
+ /**
80
+ * Read pixel color from payload metadata when a simple pixel accessor exists.
81
+ *
82
+ * @param {number} x
83
+ * @param {number} y
84
+ * @returns {*}
85
+ */
86
+ GetPixelColor(x = 0, y = 0) {
87
+ const payload = this.GetPayload();
88
+ if (!payload || !Number.isInteger(x) || !Number.isInteger(y) || x < 0 || y < 0 || x >= payload.width || y >= payload.height) return null;
89
+ const elementsPerRow = payload.strideBytes / payload.data.BYTES_PER_ELEMENT;
90
+ const offset = y * elementsPerRow + x * 4;
91
+ return Array.from(payload.data.subarray(offset, offset + 4));
92
+ }
93
+
94
+ /**
95
+ * Return true when a pixel alpha channel is absent or non-zero.
96
+ *
97
+ * @param {number} x
98
+ * @param {number} y
99
+ * @returns {boolean}
100
+ */
101
+ IsPixelOpaque(x = 0, y = 0) {
102
+ const color = this.GetPixelColor(x, y);
103
+ if (!Array.isArray(color)) return false;
104
+ return color.length < 4 || color[3] > 0;
105
+ }
106
+ }];
107
+ payload = "image";
108
+ constructor() {
109
+ super(_Tr2ImageRes), _initClass();
110
+ }
111
+ }();
112
+
113
+ export { _Tr2ImageRes as Tr2ImageRes };
114
+ //# sourceMappingURL=Tr2ImageRes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tr2ImageRes.js","sources":["../../../src/resources/Tr2ImageRes.js"],"sourcesContent":["// Source: trinity/trinity/Resources/Tr2ImageRes.h\n// Source: trinity/trinity/Resources/Tr2ImageRes.cpp\n// Source: trinity/trinity/Resources/Tr2ImageRes_Blue.cpp\nimport { carbon, impl, io, type } from \"@carbonenginejs/core-types/schema\";\nimport { CjsResource } from \"../CjsResource.js\";\nimport { validateRgbaPayload } from \"../format/payloadContract.js\";\nimport { ValidateResourcePayload } from \"./resourceBoundary.js\";\n\n/**\n * Tr2ImageRes resource record.\n *\n * Carbon treats this as image payload data. Engine-gpu decides whether it ever\n * becomes device texture state.\n */\n@type.define({ className: \"Tr2ImageRes\", family: \"resources\" })\nexport class Tr2ImageRes extends CjsResource\n{\n\n @io.persist\n @type.uint32\n width = 0;\n\n @io.persist\n @type.uint32\n height = 0;\n\n constructor(values = null) {\n super();\n this.SetValues(values || {}, {\n markDirty: false,\n skipUpdate: true,\n skipEvents: true\n });\n }\n\n /**\n * Attach a plain canonical RGBA payload and mirror Carbon-exposed metadata.\n *\n * @param {object|null} payload\n * @param {object|null} options\n * @returns {Tr2ImageRes}\n */\n SetPayload(payload = null, options = null)\n {\n if (payload === null)\n {\n super.SetPayload(null);\n return this;\n }\n ValidateResourcePayload(\"Tr2ImageRes\", payload, validateRgbaPayload);\n const values = { ...(options || {}) };\n values.width = payload.width;\n values.height = payload.height;\n super.SetPayload(payload);\n this.SetValues(values);\n return this;\n }\n\n /**\n * Return image width in pixels.\n *\n * @returns {number}\n */\n @carbon.method\n @impl.adapted\n GetWidth()\n {\n return this.width || 0;\n }\n\n /**\n * Return image height in pixels.\n *\n * @returns {number}\n */\n @carbon.method\n @impl.adapted\n GetHeight()\n {\n return this.height || 0;\n }\n\n /**\n * Read pixel color from payload metadata when a simple pixel accessor exists.\n *\n * @param {number} x\n * @param {number} y\n * @returns {*}\n */\n @carbon.method\n @impl.adapted\n GetPixelColor(x = 0, y = 0)\n {\n const payload = this.GetPayload();\n if (!payload || !Number.isInteger(x) || !Number.isInteger(y)\n || x < 0 || y < 0 || x >= payload.width || y >= payload.height) return null;\n\n const elementsPerRow = payload.strideBytes / payload.data.BYTES_PER_ELEMENT;\n const offset = y * elementsPerRow + x * 4;\n return Array.from(payload.data.subarray(offset, offset + 4));\n }\n\n /**\n * Return true when a pixel alpha channel is absent or non-zero.\n *\n * @param {number} x\n * @param {number} y\n * @returns {boolean}\n */\n @carbon.method\n @impl.adapted\n IsPixelOpaque(x = 0, y = 0)\n {\n const color = this.GetPixelColor(x, y);\n if (!Array.isArray(color)) return false;\n return color.length < 4 || color[3] > 0;\n }\n\n static payload = \"image\";\n}\n"],"names":["_Tr2ImageRes","_identity","Tr2ImageRes","CjsResource","e","_init_width","_init_extra_width","_init_height","_init_extra_height","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persist","uint32","carbon","method","impl","adapted","width","height","constructor","values","SetValues","markDirty","skipUpdate","skipEvents","SetPayload","payload","options","ValidateResourcePayload","validateRgbaPayload","GetWidth","GetHeight","GetPixelColor","x","y","GetPayload","Number","isInteger","elementsPerRow","strideBytes","data","BYTES_PER_ELEMENT","offset","Array","from","subarray","IsPixelOpaque","color","isArray","length"],"mappings":";;;;;;;;AAQA;AACA;AACA;AACA;AACA;AACA;AALA,IAAAA;AAAA,IAAA,cAAAC,SAAA,CAAA;AAAA,EAAA,QAMA,MAAAC,WAAA,SACiCC,YAAW,CAC5C;AAAA,IAAA;AAAA,MAAA,CAAA;QAAAC,CAAA,EAAA,CAAAC,WAAA,EAAAC,iBAAA,EAAAC,YAAA,EAAAC,kBAAA,EAAAC,UAAA,CAAA;QAAAC,CAAA,EAAA,CAAAV,YAAA,EAAAW,UAAA;AAAA,OAAA,GAAAC,cAAA,CAAA,IAAA,EAAA,CAFCC,IAAI,CAACC,MAAM,CAAC;AAAEC,QAAAA,SAAS,EAAE,aAAa;AAAEC,QAAAA,MAAM,EAAE;AAAY,OAAC,CAAC,CAAA,EAAA,CAAA,CAAA,CAI5DC,EAAE,EAAFA,EAAE,CAACC,OAAO,EACVL,IAAI,EAAJA,IAAI,CAACM,MAAM,CAAA,EAAA,EAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAGXF,EAAE,EAAFA,EAAE,CAACC,OAAO,EACVL,IAAI,EAAJA,IAAI,CAACM,MAAM,CAAA,EAAA,EAAA,EAAA,QAAA,CAAA,EAAA,CAAA,CAwCXC,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,CAAA,EAAA,EAAA,EAAA,UAAA,CAAA,EAAA,CAAA,CAWZH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,CAAA,EAAA,EAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAaZH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,CAAA,EAAA,EAAA,EAAA,eAAA,CAAA,EAAA,CAAA,CAmBZH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,qCA/FkBpB,YAAW,CAAA;AAAA;AAK1CqB,IAAAA,KAAK,IAAAf,UAAA,CAAA,IAAA,CAAA,EAAAJ,WAAA,OAAG,CAAC,CAAA;AAIToB,IAAAA,MAAM,IAAAnB,iBAAA,CAAA,IAAA,CAAA,EAAAC,YAAA,OAAG,CAAC,CAAA;AAEVmB,IAAAA,WAAWA,CAACC,MAAM,GAAG,IAAI,EAAE;MACzB,KAAK,EAAE,EAAAnB,kBAAA,CAAA,IAAA,CAAA;AACP,MAAA,IAAI,CAACoB,SAAS,CAACD,MAAM,IAAI,EAAE,EAAE;AAC3BE,QAAAA,SAAS,EAAE,KAAK;AAChBC,QAAAA,UAAU,EAAE,IAAI;AAChBC,QAAAA,UAAU,EAAE;AACd,OAAC,CAAC;AACJ,IAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;IACEC,UAAUA,CAACC,OAAO,GAAG,IAAI,EAAEC,OAAO,GAAG,IAAI,EACzC;MACE,IAAID,OAAO,KAAK,IAAI,EACpB;AACE,QAAA,KAAK,CAACD,UAAU,CAAC,IAAI,CAAC;AACtB,QAAA,OAAO,IAAI;AACb,MAAA;AACAG,MAAAA,uBAAuB,CAAC,aAAa,EAAEF,OAAO,EAAEG,mBAAmB,CAAC;AACpE,MAAA,MAAMT,MAAM,GAAG;QAAE,IAAIO,OAAO,IAAI,EAAE;OAAG;AACrCP,MAAAA,MAAM,CAACH,KAAK,GAAGS,OAAO,CAACT,KAAK;AAC5BG,MAAAA,MAAM,CAACF,MAAM,GAAGQ,OAAO,CAACR,MAAM;AAC9B,MAAA,KAAK,CAACO,UAAU,CAACC,OAAO,CAAC;AACzB,MAAA,IAAI,CAACL,SAAS,CAACD,MAAM,CAAC;AACtB,MAAA,OAAO,IAAI;AACb,IAAA;;AAEA;AACF;AACA;AACA;AACA;AAGEU,IAAAA,QAAQA,GACR;AACE,MAAA,OAAO,IAAI,CAACb,KAAK,IAAI,CAAC;AACxB,IAAA;;AAEA;AACF;AACA;AACA;AACA;AAGEc,IAAAA,SAASA,GACT;AACE,MAAA,OAAO,IAAI,CAACb,MAAM,IAAI,CAAC;AACzB,IAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;IAGEc,aAAaA,CAACC,CAAC,GAAG,CAAC,EAAEC,CAAC,GAAG,CAAC,EAC1B;AACE,MAAA,MAAMR,OAAO,GAAG,IAAI,CAACS,UAAU,EAAE;AACjC,MAAA,IAAI,CAACT,OAAO,IAAI,CAACU,MAAM,CAACC,SAAS,CAACJ,CAAC,CAAC,IAAI,CAACG,MAAM,CAACC,SAAS,CAACH,CAAC,CAAC,IACvDD,CAAC,GAAG,CAAC,IAAIC,CAAC,GAAG,CAAC,IAAID,CAAC,IAAIP,OAAO,CAACT,KAAK,IAAIiB,CAAC,IAAIR,OAAO,CAACR,MAAM,EAAE,OAAO,IAAI;MAE7E,MAAMoB,cAAc,GAAGZ,OAAO,CAACa,WAAW,GAAGb,OAAO,CAACc,IAAI,CAACC,iBAAiB;MAC3E,MAAMC,MAAM,GAAGR,CAAC,GAAGI,cAAc,GAAGL,CAAC,GAAG,CAAC;AACzC,MAAA,OAAOU,KAAK,CAACC,IAAI,CAAClB,OAAO,CAACc,IAAI,CAACK,QAAQ,CAACH,MAAM,EAAEA,MAAM,GAAG,CAAC,CAAC,CAAC;AAC9D,IAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;IAGEI,aAAaA,CAACb,CAAC,GAAG,CAAC,EAAEC,CAAC,GAAG,CAAC,EAC1B;MACE,MAAMa,KAAK,GAAG,IAAI,CAACf,aAAa,CAACC,CAAC,EAAEC,CAAC,CAAC;MACtC,IAAI,CAACS,KAAK,CAACK,OAAO,CAACD,KAAK,CAAC,EAAE,OAAO,KAAK;MACvC,OAAOA,KAAK,CAACE,MAAM,GAAG,CAAC,IAAIF,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;AACzC,IAAA;GAGD;AADQrB,EAAAA,OAAO,GAAG,OAAO;EAACP,WAAAA,GAAA;IAAA,KAAA,CAAA1B,YAAA,GAAAW,UAAA,EAAA;AAAA,EAAA;AAAA,CAAA,EAAA;;;;"}
@@ -0,0 +1,40 @@
1
+ import { identity as _identity, applyDecs2311 as _applyDecs2311 } from '../_virtual/_rollupPluginBabelHelpers.js';
2
+ import { type } from '@carbonenginejs/core-types/schema';
3
+ import { CjsResource as _CjsResource } from '../CjsResource.js';
4
+ import { AssertResourcePayloadObject } from './resourceBoundary.js';
5
+
6
+ let _initClass;
7
+
8
+ /**
9
+ * Runtime-owned light-profile resource.
10
+ *
11
+ * The attached plain payload may be richer than the data retained by the
12
+ * resource or active engine adapter.
13
+ */
14
+ let _Tr2LightProfileRes;
15
+ new class extends _identity {
16
+ static [class Tr2LightProfileRes extends _CjsResource {
17
+ static {
18
+ [_Tr2LightProfileRes, _initClass] = _applyDecs2311(this, [type.define({
19
+ className: "Tr2LightProfileRes",
20
+ family: "resources"
21
+ })], [], 0, void 0, _CjsResource).c;
22
+ }
23
+ SetPayload(payload = null) {
24
+ if (payload === null) {
25
+ super.SetPayload(null);
26
+ return this;
27
+ }
28
+ AssertResourcePayloadObject("Tr2LightProfileRes", payload);
29
+ super.SetPayload(payload);
30
+ return this;
31
+ }
32
+ }];
33
+ payload = "light-profile";
34
+ constructor() {
35
+ super(_Tr2LightProfileRes), _initClass();
36
+ }
37
+ }();
38
+
39
+ export { _Tr2LightProfileRes as Tr2LightProfileRes };
40
+ //# sourceMappingURL=Tr2LightProfileRes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tr2LightProfileRes.js","sources":["../../../src/resources/Tr2LightProfileRes.js"],"sourcesContent":["// Source: trinity/trinity/Resources/Tr2LightProfileRes.h\nimport { type } from \"@carbonenginejs/core-types/schema\";\nimport { CjsResource } from \"../CjsResource.js\";\nimport { AssertResourcePayloadObject } from \"./resourceBoundary.js\";\n\n/**\n * Runtime-owned light-profile resource.\n *\n * The attached plain payload may be richer than the data retained by the\n * resource or active engine adapter.\n */\n@type.define({ className: \"Tr2LightProfileRes\", family: \"resources\" })\nexport class Tr2LightProfileRes extends CjsResource\n{\n SetPayload(payload = null)\n {\n if (payload === null)\n {\n super.SetPayload(null);\n return this;\n }\n AssertResourcePayloadObject(\"Tr2LightProfileRes\", payload);\n super.SetPayload(payload);\n return this;\n }\n\n static payload = \"light-profile\";\n}\n"],"names":["_Tr2LightProfileRes","_identity","Tr2LightProfileRes","CjsResource","_initClass","_applyDecs","type","define","className","family","c","SetPayload","payload","AssertResourcePayloadObject","constructor"],"mappings":";;;;;;;AAKA;AACA;AACA;AACA;AACA;AACA;AALA,IAAAA;AAAA,IAAA,cAAAC,SAAA,CAAA;AAAA,EAAA,QAMA,MAAAC,kBAAA,SACwCC,YAAW,CACnD;AAAA,IAAA;MAAA,CAAAH,mBAAA,EAAAI,UAAA,CAAA,GAAAC,cAAA,CAAA,IAAA,EAAA,CAFCC,IAAI,CAACC,MAAM,CAAC;AAAEC,QAAAA,SAAS,EAAE,oBAAoB;AAAEC,QAAAA,MAAM,EAAE;AAAY,OAAC,CAAC,CAAA,EAAA,EAAA,EAAA,CAAA,EAAA,MAAA,EAC9BN,YAAW,CAAA,CAAAO,CAAA;AAAA;AAEjDC,IAAAA,UAAUA,CAACC,OAAO,GAAG,IAAI,EACzB;MACE,IAAIA,OAAO,KAAK,IAAI,EACpB;AACE,QAAA,KAAK,CAACD,UAAU,CAAC,IAAI,CAAC;AACtB,QAAA,OAAO,IAAI;AACb,MAAA;AACAE,MAAAA,2BAA2B,CAAC,oBAAoB,EAAED,OAAO,CAAC;AAC1D,MAAA,KAAK,CAACD,UAAU,CAACC,OAAO,CAAC;AACzB,MAAA,OAAO,IAAI;AACb,IAAA;GAGD;AADQA,EAAAA,OAAO,GAAG,eAAe;EAACE,WAAAA,GAAA;IAAA,KAAA,CAAAd,mBAAA,GAAAI,UAAA,EAAA;AAAA,EAAA;AAAA,CAAA,EAAA;;;;"}
@@ -0,0 +1,216 @@
1
+ import { identity as _identity, applyDecs2311 as _applyDecs2311 } from '../_virtual/_rollupPluginBabelHelpers.js';
2
+ import { io, type, carbon, impl } from '@carbonenginejs/core-types/schema';
3
+ import { CjsResource as _CjsResource } from '../CjsResource.js';
4
+ import { AssertResourcePayloadObject, AssertResourcePayloadArray, ResourcePayloadError, CarbonStubError } from './resourceBoundary.js';
5
+
6
+ let _initProto, _initClass, _init_forceLod, _init_extra_forceLod, _init_forcedLodIndex, _init_extra_forcedLodIndex, _init_name, _init_extra_name;
7
+
8
+ /**
9
+ * TriGeometryRes resource record.
10
+ *
11
+ * Geometry payload facts live here. Engine-gpu decides if and how they become
12
+ * device buffers, vertex declarations, or draw-time state.
13
+ */
14
+ let _TriGeometryRes;
15
+ new class extends _identity {
16
+ static [class TriGeometryRes extends _CjsResource {
17
+ static {
18
+ ({
19
+ e: [_init_forceLod, _init_extra_forceLod, _init_forcedLodIndex, _init_extra_forcedLodIndex, _init_name, _init_extra_name, _initProto],
20
+ c: [_TriGeometryRes, _initClass]
21
+ } = _applyDecs2311(this, [type.define({
22
+ className: "TriGeometryRes",
23
+ family: "resources"
24
+ })], [[[io, io.readwrite, type, type.boolean], 16, "forceLod"], [[io, io.readwrite, type, type.int32], 16, "forcedLodIndex"], [[io, io.readwrite, type, type.string], 16, "name"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetMeshCount"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetAnimationCount"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetMeshAreaCount"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetMeshName"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetMeshAreaName"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetAreaBoundingBox"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetBoundingBox"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetBoundingSphere"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "CalculateBoundingBoxFromTransform"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "RecalculateBoundingSphere"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "Reload"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "GetIntersectionPointNormalBone"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "GetAreaIntersectionPointNormalBone"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetMeshVertexElements"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "SaveMesh"]], 0, void 0, _CjsResource));
25
+ }
26
+ forceLod = (_initProto(this), _init_forceLod(this, false));
27
+ forcedLodIndex = (_init_extra_forceLod(this), _init_forcedLodIndex(this, -1));
28
+ name = (_init_extra_forcedLodIndex(this), _init_name(this, ""));
29
+ constructor(values = null) {
30
+ super(), _init_extra_name(this);
31
+ this.SetValues(values || {}, {
32
+ markDirty: false,
33
+ skipUpdate: true,
34
+ skipEvents: true
35
+ });
36
+ }
37
+
38
+ /**
39
+ * Attach a plain geometry payload.
40
+ *
41
+ * @param {object|null} payload
42
+ * @param {object|null} options
43
+ * @returns {TriGeometryRes}
44
+ */
45
+ SetPayload(payload = null, options = null) {
46
+ if (payload === null) {
47
+ super.SetPayload(null);
48
+ return this;
49
+ }
50
+ AssertResourcePayloadObject("TriGeometryRes", payload);
51
+ AssertResourcePayloadArray("TriGeometryRes", payload, "meshes");
52
+ for (const field of ["skeletons", "animations"]) {
53
+ if (payload[field] !== undefined && !Array.isArray(payload[field])) {
54
+ throw ResourcePayloadError("TriGeometryRes", "Expected an array when provided.", field);
55
+ }
56
+ }
57
+ super.SetPayload(payload);
58
+ this.SetValues(options || {});
59
+ return this;
60
+ }
61
+
62
+ /**
63
+ * Get mesh count from the CPU geometry payload.
64
+ *
65
+ * @returns {number}
66
+ */
67
+ GetMeshCount() {
68
+ return this.GetPayload()?.meshes?.length || 0;
69
+ }
70
+
71
+ /**
72
+ * Get animation count from the CPU geometry payload.
73
+ *
74
+ * @returns {number}
75
+ */
76
+ GetAnimationCount() {
77
+ return this.GetPayload()?.animations?.length || 0;
78
+ }
79
+
80
+ /**
81
+ * Get mesh area count from a CPU geometry payload mesh.
82
+ *
83
+ * @param {number} meshIndex
84
+ * @returns {number}
85
+ */
86
+ GetMeshAreaCount(meshIndex = 0) {
87
+ const mesh = this.GetPayload()?.meshes?.[meshIndex];
88
+ return mesh?.areas?.length || 0;
89
+ }
90
+
91
+ /**
92
+ * Get mesh name from a CPU geometry payload.
93
+ *
94
+ * @param {number} meshIndex
95
+ * @returns {string}
96
+ */
97
+ GetMeshName(meshIndex = 0) {
98
+ return this.GetPayload()?.meshes?.[meshIndex]?.name || "";
99
+ }
100
+
101
+ /**
102
+ * Get mesh area name from a CPU geometry payload.
103
+ *
104
+ * @param {number} meshIndex
105
+ * @param {number} areaIndex
106
+ * @returns {string}
107
+ */
108
+ GetMeshAreaName(meshIndex = 0, areaIndex = 0) {
109
+ return this.GetPayload()?.meshes?.[meshIndex]?.areas?.[areaIndex]?.name || "";
110
+ }
111
+
112
+ /**
113
+ * Get area bounding box from geometry payload data.
114
+ *
115
+ * @param {number} meshIndex
116
+ * @param {number} areaIndex
117
+ * @returns {*}
118
+ */
119
+ GetAreaBoundingBox(meshIndex = 0, areaIndex = 0) {
120
+ return this.GetPayload()?.meshes?.[meshIndex]?.areas?.[areaIndex]?.bounds || null;
121
+ }
122
+
123
+ /**
124
+ * Get mesh bounding box from geometry payload data.
125
+ * TODO: Should have a box3 as an argument, and write the result to that box3
126
+ *
127
+ * @param {number} meshIndex
128
+ * @returns {*}
129
+ */
130
+ GetBoundingBox(meshIndex = 0) {
131
+ return this.GetPayload()?.meshes?.[meshIndex]?.bounds || this.GetPayload()?.bounds || null;
132
+ }
133
+
134
+ /**
135
+ * Get mesh bounding sphere from geometry payload data.
136
+ * TODO: Should have a sph4 as an argument, and write the result to that sph4
137
+ *
138
+ * @param {number} meshIndex
139
+ * @returns {*}
140
+ */
141
+ GetBoundingSphere(meshIndex = 0) {
142
+ return this.GetPayload()?.meshes?.[meshIndex]?.sphere || this.GetPayload()?.sphere || null;
143
+ }
144
+
145
+ /**
146
+ * Calculate a transformed bounding box for a mesh.
147
+ *
148
+ * @throws {Error}
149
+ */
150
+ CalculateBoundingBoxFromTransform() {
151
+ throw CarbonStubError("TriGeometryRes", "CalculateBoundingBoxFromTransform");
152
+ }
153
+
154
+ /**
155
+ * Recalculate bounding sphere data.
156
+ *
157
+ * @throws {Error}
158
+ */
159
+ RecalculateBoundingSphere() {
160
+ throw CarbonStubError("TriGeometryRes", "RecalculateBoundingSphere");
161
+ }
162
+
163
+ /**
164
+ * Reload this geometry resource.
165
+ *
166
+ * @throws {Error}
167
+ */
168
+ Reload() {
169
+ throw CarbonStubError("TriGeometryRes", "Reload");
170
+ }
171
+
172
+ /**
173
+ * Intersect a ray with this geometry resource.
174
+ *
175
+ * @throws {Error}
176
+ */
177
+ GetIntersectionPointNormalBone() {
178
+ throw CarbonStubError("TriGeometryRes", "GetIntersectionPointNormalBone");
179
+ }
180
+
181
+ /**
182
+ * Intersect a ray with a single mesh area.
183
+ *
184
+ * @throws {Error}
185
+ */
186
+ GetAreaIntersectionPointNormalBone() {
187
+ throw CarbonStubError("TriGeometryRes", "GetAreaIntersectionPointNormalBone");
188
+ }
189
+
190
+ /**
191
+ * Get vertex element descriptors for a mesh.
192
+ *
193
+ * @param {number} meshIndex
194
+ * @returns {Array<*>}
195
+ */
196
+ GetMeshVertexElements(meshIndex = 0) {
197
+ return this.GetPayload()?.meshes?.[meshIndex]?.vertexElements || [];
198
+ }
199
+
200
+ /**
201
+ * Save a mesh to a Granny file.
202
+ *
203
+ * @throws {Error}
204
+ */
205
+ SaveMesh() {
206
+ throw CarbonStubError("TriGeometryRes", "SaveMesh");
207
+ }
208
+ }];
209
+ payload = "geometry";
210
+ constructor() {
211
+ super(_TriGeometryRes), _initClass();
212
+ }
213
+ }();
214
+
215
+ export { _TriGeometryRes as TriGeometryRes };
216
+ //# sourceMappingURL=TriGeometryRes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TriGeometryRes.js","sources":["../../../src/resources/TriGeometryRes.js"],"sourcesContent":["// Source: trinity/trinity/Resources/TriGeometryRes.h\n// Source: trinity/trinity/Resources/TriGeometryRes.cpp\n// Source: trinity/trinity/Resources/TriGeometryRes_Blue.cpp\nimport { carbon, impl, io, type } from \"@carbonenginejs/core-types/schema\";\nimport { CjsResource } from \"../CjsResource.js\";\nimport {\n AssertResourcePayloadArray,\n AssertResourcePayloadObject,\n CarbonStubError,\n ResourcePayloadError\n} from \"./resourceBoundary.js\";\n\n/**\n * TriGeometryRes resource record.\n *\n * Geometry payload facts live here. Engine-gpu decides if and how they become\n * device buffers, vertex declarations, or draw-time state.\n */\n@type.define({ className: \"TriGeometryRes\", family: \"resources\" })\nexport class TriGeometryRes extends CjsResource\n{\n\n @io.readwrite\n @type.boolean\n forceLod = false;\n\n @io.readwrite\n @type.int32\n forcedLodIndex = -1;\n\n @io.readwrite\n @type.string\n name = \"\";\n\n constructor(values = null)\n {\n super();\n this.SetValues(values || {}, {\n markDirty: false,\n skipUpdate: true,\n skipEvents: true\n });\n }\n\n /**\n * Attach a plain geometry payload.\n *\n * @param {object|null} payload\n * @param {object|null} options\n * @returns {TriGeometryRes}\n */\n SetPayload(payload = null, options = null)\n {\n if (payload === null)\n {\n super.SetPayload(null);\n return this;\n }\n AssertResourcePayloadObject(\"TriGeometryRes\", payload);\n AssertResourcePayloadArray(\"TriGeometryRes\", payload, \"meshes\");\n for (const field of [ \"skeletons\", \"animations\" ])\n {\n if (payload[field] !== undefined && !Array.isArray(payload[field]))\n {\n throw ResourcePayloadError(\"TriGeometryRes\", \"Expected an array when provided.\", field);\n }\n }\n super.SetPayload(payload);\n this.SetValues(options || {});\n return this;\n }\n\n /**\n * Get mesh count from the CPU geometry payload.\n *\n * @returns {number}\n */\n @carbon.method\n @impl.adapted\n GetMeshCount()\n {\n return this.GetPayload()?.meshes?.length || 0;\n }\n\n /**\n * Get animation count from the CPU geometry payload.\n *\n * @returns {number}\n */\n @carbon.method\n @impl.adapted\n GetAnimationCount()\n {\n return this.GetPayload()?.animations?.length || 0;\n }\n\n /**\n * Get mesh area count from a CPU geometry payload mesh.\n *\n * @param {number} meshIndex\n * @returns {number}\n */\n @carbon.method\n @impl.adapted\n GetMeshAreaCount(meshIndex = 0)\n {\n const mesh = this.GetPayload()?.meshes?.[meshIndex];\n return mesh?.areas?.length || 0;\n }\n\n /**\n * Get mesh name from a CPU geometry payload.\n *\n * @param {number} meshIndex\n * @returns {string}\n */\n @carbon.method\n @impl.adapted\n GetMeshName(meshIndex = 0)\n {\n return this.GetPayload()?.meshes?.[meshIndex]?.name || \"\";\n }\n\n /**\n * Get mesh area name from a CPU geometry payload.\n *\n * @param {number} meshIndex\n * @param {number} areaIndex\n * @returns {string}\n */\n @carbon.method\n @impl.adapted\n GetMeshAreaName(meshIndex = 0, areaIndex = 0)\n {\n return this.GetPayload()?.meshes?.[meshIndex]?.areas?.[areaIndex]?.name || \"\";\n }\n\n /**\n * Get area bounding box from geometry payload data.\n *\n * @param {number} meshIndex\n * @param {number} areaIndex\n * @returns {*}\n */\n @carbon.method\n @impl.adapted\n GetAreaBoundingBox(meshIndex = 0, areaIndex = 0)\n {\n return this.GetPayload()?.meshes?.[meshIndex]?.areas?.[areaIndex]?.bounds || null;\n }\n\n /**\n * Get mesh bounding box from geometry payload data.\n * TODO: Should have a box3 as an argument, and write the result to that box3\n *\n * @param {number} meshIndex\n * @returns {*}\n */\n @carbon.method\n @impl.adapted\n GetBoundingBox(meshIndex = 0)\n {\n return this.GetPayload()?.meshes?.[meshIndex]?.bounds || this.GetPayload()?.bounds || null;\n }\n\n /**\n * Get mesh bounding sphere from geometry payload data.\n * TODO: Should have a sph4 as an argument, and write the result to that sph4\n *\n * @param {number} meshIndex\n * @returns {*}\n */\n @carbon.method\n @impl.adapted\n GetBoundingSphere(meshIndex = 0)\n {\n return this.GetPayload()?.meshes?.[meshIndex]?.sphere || this.GetPayload()?.sphere || null;\n }\n\n /**\n * Calculate a transformed bounding box for a mesh.\n *\n * @throws {Error}\n */\n @carbon.method\n @impl.notImplemented\n CalculateBoundingBoxFromTransform()\n {\n throw CarbonStubError(\"TriGeometryRes\", \"CalculateBoundingBoxFromTransform\");\n }\n\n /**\n * Recalculate bounding sphere data.\n *\n * @throws {Error}\n */\n @carbon.method\n @impl.notImplemented\n RecalculateBoundingSphere()\n {\n throw CarbonStubError(\"TriGeometryRes\", \"RecalculateBoundingSphere\");\n }\n\n /**\n * Reload this geometry resource.\n *\n * @throws {Error}\n */\n @carbon.method\n @impl.notImplemented\n Reload() {\n throw CarbonStubError(\"TriGeometryRes\", \"Reload\");\n }\n\n /**\n * Intersect a ray with this geometry resource.\n *\n * @throws {Error}\n */\n @carbon.method\n @impl.notImplemented\n GetIntersectionPointNormalBone()\n {\n throw CarbonStubError(\"TriGeometryRes\", \"GetIntersectionPointNormalBone\");\n }\n\n /**\n * Intersect a ray with a single mesh area.\n *\n * @throws {Error}\n */\n @carbon.method\n @impl.notImplemented\n GetAreaIntersectionPointNormalBone()\n {\n throw CarbonStubError(\"TriGeometryRes\", \"GetAreaIntersectionPointNormalBone\");\n }\n\n /**\n * Get vertex element descriptors for a mesh.\n *\n * @param {number} meshIndex\n * @returns {Array<*>}\n */\n @carbon.method\n @impl.adapted\n GetMeshVertexElements(meshIndex = 0)\n {\n return this.GetPayload()?.meshes?.[meshIndex]?.vertexElements || [];\n }\n\n /**\n * Save a mesh to a Granny file.\n *\n * @throws {Error}\n */\n @carbon.method\n @impl.notImplemented\n SaveMesh()\n {\n throw CarbonStubError(\"TriGeometryRes\", \"SaveMesh\");\n }\n\n static payload = \"geometry\";\n\n}\n"],"names":["_TriGeometryRes","_identity","TriGeometryRes","CjsResource","e","_init_forceLod","_init_extra_forceLod","_init_forcedLodIndex","_init_extra_forcedLodIndex","_init_name","_init_extra_name","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","readwrite","boolean","int32","string","carbon","method","impl","adapted","notImplemented","forceLod","forcedLodIndex","name","constructor","values","SetValues","markDirty","skipUpdate","skipEvents","SetPayload","payload","options","AssertResourcePayloadObject","AssertResourcePayloadArray","field","undefined","Array","isArray","ResourcePayloadError","GetMeshCount","GetPayload","meshes","length","GetAnimationCount","animations","GetMeshAreaCount","meshIndex","mesh","areas","GetMeshName","GetMeshAreaName","areaIndex","GetAreaBoundingBox","bounds","GetBoundingBox","GetBoundingSphere","sphere","CalculateBoundingBoxFromTransform","CarbonStubError","RecalculateBoundingSphere","Reload","GetIntersectionPointNormalBone","GetAreaIntersectionPointNormalBone","GetMeshVertexElements","vertexElements","SaveMesh"],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ import { identity as _identity, applyDecs2311 as _applyDecs2311 } from '../_virtual/_rollupPluginBabelHelpers.js';
2
+ import { type } from '@carbonenginejs/core-types/schema';
3
+ import { CjsResource as _CjsResource } from '../CjsResource.js';
4
+ import { AssertResourcePayloadObject, ResourcePayloadError } from './resourceBoundary.js';
5
+
6
+ let _initClass;
7
+
8
+ /**
9
+ * Runtime-owned Granny resource.
10
+ *
11
+ * The attached plain payload carries decoded Granny data. This resource
12
+ * owns lifecycle identity; reader and engine-specific behavior stays outside.
13
+ */
14
+ let _TriGrannyRes;
15
+ new class extends _identity {
16
+ static [class TriGrannyRes extends _CjsResource {
17
+ static {
18
+ [_TriGrannyRes, _initClass] = _applyDecs2311(this, [type.define({
19
+ className: "TriGrannyRes",
20
+ family: "resources"
21
+ })], [], 0, void 0, _CjsResource).c;
22
+ }
23
+ SetPayload(payload = null) {
24
+ if (payload === null) {
25
+ super.SetPayload(null);
26
+ return this;
27
+ }
28
+ AssertResourcePayloadObject("TriGrannyRes", payload);
29
+ if (!Array.isArray(payload.models) && !Array.isArray(payload.meshes)) {
30
+ throw ResourcePayloadError("TriGrannyRes", "Expected a models or meshes array.", "models");
31
+ }
32
+ super.SetPayload(payload);
33
+ return this;
34
+ }
35
+ }];
36
+ payload = "granny";
37
+ constructor() {
38
+ super(_TriGrannyRes), _initClass();
39
+ }
40
+ }();
41
+
42
+ export { _TriGrannyRes as TriGrannyRes };
43
+ //# sourceMappingURL=TriGrannyRes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TriGrannyRes.js","sources":["../../../src/resources/TriGrannyRes.js"],"sourcesContent":["// Source: trinity/trinity/Resources/TriGrannyRes.h\nimport { type } from \"@carbonenginejs/core-types/schema\";\nimport { CjsResource } from \"../CjsResource.js\";\nimport { AssertResourcePayloadObject, ResourcePayloadError } from \"./resourceBoundary.js\";\n\n/**\n * Runtime-owned Granny resource.\n *\n * The attached plain payload carries decoded Granny data. This resource\n * owns lifecycle identity; reader and engine-specific behavior stays outside.\n */\n@type.define({ className: \"TriGrannyRes\", family: \"resources\" })\nexport class TriGrannyRes extends CjsResource\n{\n SetPayload(payload = null)\n {\n if (payload === null)\n {\n super.SetPayload(null);\n return this;\n }\n AssertResourcePayloadObject(\"TriGrannyRes\", payload);\n if (!Array.isArray(payload.models) && !Array.isArray(payload.meshes))\n {\n throw ResourcePayloadError(\n \"TriGrannyRes\",\n \"Expected a models or meshes array.\",\n \"models\"\n );\n }\n super.SetPayload(payload);\n return this;\n }\n\n static payload = \"granny\";\n}\n"],"names":["_TriGrannyRes","_identity","TriGrannyRes","CjsResource","_initClass","_applyDecs","type","define","className","family","c","SetPayload","payload","AssertResourcePayloadObject","Array","isArray","models","meshes","ResourcePayloadError","constructor"],"mappings":";;;;;;;AAKA;AACA;AACA;AACA;AACA;AACA;AALA,IAAAA;AAAA,IAAA,cAAAC,SAAA,CAAA;AAAA,EAAA,QAMA,MAAAC,YAAA,SACkCC,YAAW,CAC7C;AAAA,IAAA;MAAA,CAAAH,aAAA,EAAAI,UAAA,CAAA,GAAAC,cAAA,CAAA,IAAA,EAAA,CAFCC,IAAI,CAACC,MAAM,CAAC;AAAEC,QAAAA,SAAS,EAAE,cAAc;AAAEC,QAAAA,MAAM,EAAE;AAAY,OAAC,CAAC,CAAA,EAAA,EAAA,EAAA,CAAA,EAAA,MAAA,EAC9BN,YAAW,CAAA,CAAAO,CAAA;AAAA;AAE3CC,IAAAA,UAAUA,CAACC,OAAO,GAAG,IAAI,EACzB;MACE,IAAIA,OAAO,KAAK,IAAI,EACpB;AACE,QAAA,KAAK,CAACD,UAAU,CAAC,IAAI,CAAC;AACtB,QAAA,OAAO,IAAI;AACb,MAAA;AACAE,MAAAA,2BAA2B,CAAC,cAAc,EAAED,OAAO,CAAC;AACpD,MAAA,IAAI,CAACE,KAAK,CAACC,OAAO,CAACH,OAAO,CAACI,MAAM,CAAC,IAAI,CAACF,KAAK,CAACC,OAAO,CAACH,OAAO,CAACK,MAAM,CAAC,EACpE;AACE,QAAA,MAAMC,oBAAoB,CACxB,cAAc,EACd,oCAAoC,EACpC,QACF,CAAC;AACH,MAAA;AACA,MAAA,KAAK,CAACP,UAAU,CAACC,OAAO,CAAC;AACzB,MAAA,OAAO,IAAI;AACb,IAAA;GAGD;AADQA,EAAAA,OAAO,GAAG,QAAQ;EAACO,WAAAA,GAAA;IAAA,KAAA,CAAAnB,aAAA,GAAAI,UAAA,EAAA;AAAA,EAAA;AAAA,CAAA,EAAA;;;;"}