@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,304 @@
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 { validateVideoPayload, validateTexturePayload, validateRgbaPayload, ResourcePayloadType } from '../format/payloadContract.js';
5
+ import { ResourcePayloadError, ValidateResourcePayload, CarbonStubError, ResourceBoundaryError } from './resourceBoundary.js';
6
+
7
+ let _initProto, _initClass, _init_format, _init_extra_format, _init_type, _init_extra_type, _init_averageColor, _init_extra_averageColor, _init_depth, _init_extra_depth, _init_cutoutHeight, _init_extra_cutoutHeight, _init_height, _init_extra_height, _init_lodEnabled, _init_extra_lodEnabled, _init_cpuMip, _init_extra_cpuMip, _init_gpuMip, _init_extra_gpuMip, _init_wrappedRenderTarget, _init_extra_wrappedRenderTarget, _init_originalResolution, _init_extra_originalResolution, _init_name, _init_extra_name, _init_arraySize, _init_extra_arraySize, _init_cutoutWidth, _init_extra_cutoutWidth, _init_width, _init_extra_width, _init_cutoutX, _init_extra_cutoutX, _init_cutoutY, _init_extra_cutoutY;
8
+
9
+ /**
10
+ * TriTextureRes resource record.
11
+ *
12
+ * This class owns Carbon-style resource identity and texture payload facts.
13
+ * Engine-gpu decides what those facts become on a device.
14
+ */
15
+ let _TriTextureRes;
16
+ new class extends _identity {
17
+ static [class TriTextureRes extends _CjsResource {
18
+ static {
19
+ ({
20
+ e: [_init_format, _init_extra_format, _init_type, _init_extra_type, _init_averageColor, _init_extra_averageColor, _init_depth, _init_extra_depth, _init_cutoutHeight, _init_extra_cutoutHeight, _init_height, _init_extra_height, _init_lodEnabled, _init_extra_lodEnabled, _init_cpuMip, _init_extra_cpuMip, _init_gpuMip, _init_extra_gpuMip, _init_wrappedRenderTarget, _init_extra_wrappedRenderTarget, _init_originalResolution, _init_extra_originalResolution, _init_name, _init_extra_name, _init_arraySize, _init_extra_arraySize, _init_cutoutWidth, _init_extra_cutoutWidth, _init_width, _init_extra_width, _init_cutoutX, _init_extra_cutoutX, _init_cutoutY, _init_extra_cutoutY, _initProto],
21
+ c: [_TriTextureRes, _initClass]
22
+ } = _applyDecs2311(this, [type.define({
23
+ className: "TriTextureRes",
24
+ family: "resources"
25
+ })], [[[io, io.read, type, type.unknown], 16, "format"], [[io, io.persist, type, type.unknown], 16, "type"], [[io, io.read, type, type.color], 16, "averageColor"], [[io, io.read, type, type.uint32], 16, "depth"], [[io, io.readwrite, type, type.float32], 16, "cutoutHeight"], [[io, io.read, type, type.uint32], 16, "height"], [[io, io.read, type, type.boolean], 16, "lodEnabled"], [[io, io.read, type, type.uint32], 16, "cpuMip"], [[io, io.read, type, type.uint32], 16, "gpuMip"], [[io, io.read, type, type.unknown], 16, "wrappedRenderTarget"], [[io, io.read, type, type.uint32], 16, "originalResolution"], [[io, io.readwrite, type, type.string], 16, "name"], [[io, io.read, type, type.uint32], 16, "arraySize"], [[io, io.readwrite, type, type.float32], 16, "cutoutWidth"], [[io, io.read, type, type.uint32], 16, "width"], [[io, io.readwrite, type, type.float32], 16, "cutoutX"], [[io, io.readwrite, type, type.float32], 16, "cutoutY"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetMipCount"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "GetMsaaType"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "GetMsaaQuality"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "HadLodRequests"], [[carbon, carbon.method, impl, impl.notSupported], 18, "GetSrvIndexInHeap"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "SaveAsync"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "Save"], [[carbon, carbon.method, impl, impl.noop], 18, "IsSaving"], [[carbon, carbon.method, impl, impl.noop], 18, "IsSaveCompleted"], [[carbon, carbon.method, impl, impl.noop], 18, "IsSaveSucceeded"], [[carbon, carbon.method, impl, impl.noop], 18, "WaitForSave"], [[carbon, carbon.method, impl, impl.notSupported], 18, "CreateEmptyTexture"], [[carbon, carbon.method, impl, impl.notSupported], 18, "SetFromRenderTarget"], [[carbon, carbon.method, impl, impl.notSupported], 18, "CreateAndCopyFromRenderTarget"], [[carbon, carbon.method, impl, impl.notSupported], 18, "CreateFromHostBitmap"], [[carbon, carbon.method, impl, impl.notSupported], 18, "CreateFromTexture"], [[carbon, carbon.method, impl, impl.adapted], 18, "HasALObject"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetPipeline"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "GetOriginalMemoryUsage"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetAverageColor"], [[carbon, carbon.method, impl, impl.notSupported], 18, "UpdateSubresource"], [[carbon, carbon.method, impl, impl.adapted], 18, "PrepareResources"]], 0, void 0, _CjsResource));
26
+ }
27
+ format = (_initProto(this), _init_format(this, null));
28
+ type = (_init_extra_format(this), _init_type(this, null));
29
+ averageColor = (_init_extra_type(this), _init_averageColor(this, [0, 0, 0, 0]));
30
+ depth = (_init_extra_averageColor(this), _init_depth(this, 0));
31
+ cutoutHeight = (_init_extra_depth(this), _init_cutoutHeight(this, 1));
32
+ height = (_init_extra_cutoutHeight(this), _init_height(this, 0));
33
+ lodEnabled = (_init_extra_height(this), _init_lodEnabled(this, false));
34
+ cpuMip = (_init_extra_lodEnabled(this), _init_cpuMip(this, 0));
35
+ gpuMip = (_init_extra_cpuMip(this), _init_gpuMip(this, 0));
36
+ wrappedRenderTarget = (_init_extra_gpuMip(this), _init_wrappedRenderTarget(this, null));
37
+ originalResolution = (_init_extra_wrappedRenderTarget(this), _init_originalResolution(this, 0));
38
+ name = (_init_extra_originalResolution(this), _init_name(this, ""));
39
+ arraySize = (_init_extra_name(this), _init_arraySize(this, 0));
40
+ cutoutWidth = (_init_extra_arraySize(this), _init_cutoutWidth(this, 1));
41
+ width = (_init_extra_cutoutWidth(this), _init_width(this, 0));
42
+ cutoutX = (_init_extra_width(this), _init_cutoutX(this, 0));
43
+ cutoutY = (_init_extra_cutoutX(this), _init_cutoutY(this, 0));
44
+ constructor(values = null) {
45
+ super(), _init_extra_cutoutY(this);
46
+ this.SetValues(values || {}, {
47
+ markDirty: false,
48
+ skipUpdate: true,
49
+ skipEvents: true
50
+ });
51
+ }
52
+
53
+ /**
54
+ * Attach a plain texture, RGBA, or video payload and mirror Carbon-exposed
55
+ * metadata. Invalid payloads are rejected before replacing the current one.
56
+ *
57
+ * @param {object|null} payload
58
+ * @param {object|null} options
59
+ * @returns {TriTextureRes}
60
+ */
61
+ SetPayload(payload = null, options = null) {
62
+ if (payload === null) {
63
+ super.SetPayload(null);
64
+ return this;
65
+ }
66
+ const validator = {
67
+ [ResourcePayloadType.RGBA]: validateRgbaPayload,
68
+ [ResourcePayloadType.TEXTURE]: validateTexturePayload,
69
+ [ResourcePayloadType.VIDEO]: validateVideoPayload
70
+ }[payload?.payloadType];
71
+ if (!validator) {
72
+ throw ResourcePayloadError("TriTextureRes", 'Expected payloadType "rgba", "texture", or "video".', "payloadType");
73
+ }
74
+ ValidateResourcePayload("TriTextureRes", payload, validator);
75
+ const values = {
76
+ ...(options || {})
77
+ };
78
+ if (payload.pixelFormat !== undefined || payload.format !== undefined) values.format = payload.pixelFormat || payload.format;
79
+ if (payload.width !== undefined) values.width = payload.width;
80
+ if (payload.height !== undefined) values.height = payload.height;
81
+ if (payload.depth !== undefined) values.depth = payload.depth;
82
+ if (payload.arraySize !== undefined) values.arraySize = payload.arraySize;else if (Array.isArray(payload.faces)) values.arraySize = payload.faces.length;
83
+ if (payload.mipCount !== undefined) values.cpuMip = payload.mipCount;else if (payload.payloadType === ResourcePayloadType.RGBA) values.cpuMip = 1;
84
+ values.originalResolution = Math.max(payload.width || 0, payload.height || 0, this.originalResolution || 0);
85
+ super.SetPayload(payload);
86
+ this.SetValues(values);
87
+ return this;
88
+ }
89
+
90
+ /**
91
+ * Return the number of mip levels known to this texture resource.
92
+ *
93
+ * @returns {number}
94
+ */
95
+ GetMipCount() {
96
+ return this.GetPayload()?.mipCount || this.cpuMip || 0;
97
+ }
98
+
99
+ /**
100
+ * Return the multisample type for this texture.
101
+ *
102
+ * @returns {number}
103
+ */
104
+ GetMsaaType() {
105
+ throw CarbonStubError("TriTextureRes", "GetMsaaType");
106
+ }
107
+
108
+ /**
109
+ * Return the multisample quality for this texture.
110
+ *
111
+ * @returns {number}
112
+ */
113
+ GetMsaaQuality() {
114
+ throw CarbonStubError("TriTextureRes", "GetMsaaQuality");
115
+ }
116
+
117
+ /**
118
+ * Return true if this texture has received LOD requests.
119
+ *
120
+ * @returns {boolean}
121
+ */
122
+ HadLodRequests() {
123
+ throw CarbonStubError("TriTextureRes", "HadLodRequests");
124
+ }
125
+
126
+ /**
127
+ * Return the shader-resource-view heap index when a backend owns one.
128
+ *
129
+ * @returns {number}
130
+ */
131
+ GetSrvIndexInHeap() {
132
+ throw ResourceBoundaryError("TriTextureRes", "GetSrvIndexInHeap", "Runtime-resource does not own descriptor heaps.");
133
+ }
134
+
135
+ /**
136
+ * Save this texture asynchronously.
137
+ *
138
+ * @param {string} path
139
+ * @returns {boolean}
140
+ */
141
+ SaveAsync(path = "") {
142
+ throw CarbonStubError("TriTextureRes", "SaveAsync", path);
143
+ }
144
+
145
+ /**
146
+ * Save this texture synchronously.
147
+ *
148
+ * @param {string} path
149
+ * @returns {boolean}
150
+ */
151
+ Save(path = "") {
152
+ throw CarbonStubError("TriTextureRes", "Save", path);
153
+ }
154
+
155
+ /**
156
+ * Return true if an asynchronous save is active.
157
+ *
158
+ * @returns {boolean}
159
+ */
160
+ IsSaving() {
161
+ return false;
162
+ }
163
+
164
+ /**
165
+ * Return true if the asynchronous save operation has completed.
166
+ *
167
+ * @returns {boolean}
168
+ */
169
+ IsSaveCompleted() {
170
+ return true;
171
+ }
172
+
173
+ /**
174
+ * Return true if the asynchronous save operation succeeded.
175
+ *
176
+ * @returns {boolean}
177
+ */
178
+ IsSaveSucceeded() {
179
+ return false;
180
+ }
181
+
182
+ /**
183
+ * Wait for an asynchronous save operation.
184
+ *
185
+ * @returns {boolean}
186
+ */
187
+ WaitForSave() {
188
+ return this.IsSaveCompleted();
189
+ }
190
+
191
+ /**
192
+ * Device texture allocation belongs to engine-gpu.
193
+ *
194
+ * @throws {Error}
195
+ */
196
+ CreateEmptyTexture() {
197
+ throw ResourceBoundaryError("TriTextureRes", "CreateEmptyTexture", "Use engine-gpu to allocate device textures.");
198
+ }
199
+
200
+ /**
201
+ * Render-target wrapping belongs to engine-gpu.
202
+ *
203
+ * @throws {Error}
204
+ */
205
+ SetFromRenderTarget() {
206
+ throw ResourceBoundaryError("TriTextureRes", "SetFromRenderTarget", "Runtime-resource does not own render targets.");
207
+ }
208
+
209
+ /**
210
+ * Create a texture copy from a render target.
211
+ *
212
+ * @throws {Error}
213
+ */
214
+ CreateAndCopyFromRenderTarget() {
215
+ throw ResourceBoundaryError("TriTextureRes", "CreateAndCopyFromRenderTarget", "Runtime-resource does not own render targets.");
216
+ }
217
+
218
+ /**
219
+ * Create a device texture from a host bitmap.
220
+ *
221
+ * @throws {Error}
222
+ */
223
+ CreateFromHostBitmap() {
224
+ throw ResourceBoundaryError("TriTextureRes", "CreateFromHostBitmap", "Use engine-gpu to allocate and upload texture data.");
225
+ }
226
+
227
+ /**
228
+ * Create this texture from another texture resource.
229
+ *
230
+ * @throws {Error}
231
+ */
232
+ CreateFromTexture() {
233
+ throw ResourceBoundaryError("TriTextureRes", "CreateFromTexture", "Use engine-gpu to copy device textures.");
234
+ }
235
+
236
+ /**
237
+ * Return true if this texture owns a backend allocation object.
238
+ *
239
+ * @param {string|number} type
240
+ * @param {string|number} object
241
+ * @returns {boolean}
242
+ */
243
+ HasALObject(type, object) {
244
+ return this.HasAdapterResource(`${type}:${object}`);
245
+ }
246
+
247
+ /**
248
+ * Return an engine-owned texture pipeline object when attached.
249
+ *
250
+ * @returns {*}
251
+ */
252
+ GetPipeline() {
253
+ return this.GetAdapterResource("pipeline");
254
+ }
255
+
256
+ /**
257
+ * Return memory size for the original non-LODed texture.
258
+ *
259
+ * @returns {number}
260
+ */
261
+ GetOriginalMemoryUsage() {
262
+ throw CarbonStubError("TriTextureRes", "GetOriginalMemoryUsage");
263
+ }
264
+
265
+ /**
266
+ * Store the average color reported by decoded texture data.
267
+ *
268
+ * @param {number} red
269
+ * @param {number} green
270
+ * @param {number} blue
271
+ * @param {number} alpha
272
+ * @returns {TriTextureRes}
273
+ */
274
+ SetAverageColor(red = 0, green = 0, blue = 0, alpha = 0) {
275
+ this.averageColor = [red, green, blue, alpha];
276
+ return this;
277
+ }
278
+
279
+ /**
280
+ * Update a texture subresource.
281
+ *
282
+ * @throws {Error}
283
+ */
284
+ UpdateSubresource() {
285
+ throw ResourceBoundaryError("TriTextureRes", "UpdateSubresource", "Use engine-gpu to upload texture bytes.");
286
+ }
287
+
288
+ /**
289
+ * Resource preparation does not decide device upload policy.
290
+ *
291
+ * @returns {boolean}
292
+ */
293
+ PrepareResources() {
294
+ return this.IsPrepared();
295
+ }
296
+ }];
297
+ payload = "texture";
298
+ constructor() {
299
+ super(_TriTextureRes), _initClass();
300
+ }
301
+ }();
302
+
303
+ export { _TriTextureRes as TriTextureRes };
304
+ //# sourceMappingURL=TriTextureRes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TriTextureRes.js","sources":["../../../src/resources/TriTextureRes.js"],"sourcesContent":["// Source: trinity/trinity/Resources/TriTextureRes.h\n// Source: trinity/trinity/Resources/TriTextureRes.cpp\n// Source: trinity/trinity/Resources/TriTextureRes_Blue.cpp\nimport { carbon, impl, io, type } from \"@carbonenginejs/core-types/schema\";\nimport { CjsResource } from \"../CjsResource.js\";\nimport {\n ResourcePayloadType,\n validateRgbaPayload,\n validateTexturePayload,\n validateVideoPayload\n} from \"../format/payloadContract.js\";\nimport {\n CarbonStubError,\n ResourceBoundaryError,\n ResourcePayloadError,\n ValidateResourcePayload\n} from \"./resourceBoundary.js\";\n\n/**\n * TriTextureRes resource record.\n *\n * This class owns Carbon-style resource identity and texture payload facts.\n * Engine-gpu decides what those facts become on a device.\n */\n@type.define({ className: \"TriTextureRes\", family: \"resources\" })\nexport class TriTextureRes extends CjsResource\n{\n @io.read\n @type.unknown\n format = null;\n\n @io.persist\n @type.unknown\n type = null;\n\n @io.read\n @type.color\n averageColor = [0, 0, 0, 0];\n\n @io.read\n @type.uint32\n depth = 0;\n\n @io.readwrite\n @type.float32\n cutoutHeight = 1;\n\n @io.read\n @type.uint32\n height = 0;\n\n @io.read\n @type.boolean\n lodEnabled = false;\n\n @io.read\n @type.uint32\n cpuMip = 0;\n\n @io.read\n @type.uint32\n gpuMip = 0;\n\n @io.read\n @type.unknown\n wrappedRenderTarget = null;\n\n @io.read\n @type.uint32\n originalResolution = 0;\n\n @io.readwrite\n @type.string\n name = \"\";\n\n @io.read\n @type.uint32\n arraySize = 0;\n\n @io.readwrite\n @type.float32\n cutoutWidth = 1;\n\n @io.read\n @type.uint32\n width = 0;\n\n @io.readwrite\n @type.float32\n cutoutX = 0;\n\n @io.readwrite\n @type.float32\n cutoutY = 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 texture, RGBA, or video payload and mirror Carbon-exposed\n * metadata. Invalid payloads are rejected before replacing the current one.\n *\n * @param {object|null} payload\n * @param {object|null} options\n * @returns {TriTextureRes}\n */\n SetPayload(payload = null, options = null) {\n if (payload === null) {\n super.SetPayload(null);\n return this;\n }\n\n const validator = {\n [ResourcePayloadType.RGBA]: validateRgbaPayload,\n [ResourcePayloadType.TEXTURE]: validateTexturePayload,\n [ResourcePayloadType.VIDEO]: validateVideoPayload\n }[payload?.payloadType];\n if (!validator) {\n throw ResourcePayloadError(\n \"TriTextureRes\",\n 'Expected payloadType \"rgba\", \"texture\", or \"video\".',\n \"payloadType\"\n );\n }\n ValidateResourcePayload(\"TriTextureRes\", payload, validator);\n\n const values = { ...(options || {}) };\n if (payload.pixelFormat !== undefined || payload.format !== undefined) values.format = payload.pixelFormat || payload.format;\n if (payload.width !== undefined) values.width = payload.width;\n if (payload.height !== undefined) values.height = payload.height;\n if (payload.depth !== undefined) values.depth = payload.depth;\n if (payload.arraySize !== undefined) values.arraySize = payload.arraySize;\n else if (Array.isArray(payload.faces)) values.arraySize = payload.faces.length;\n if (payload.mipCount !== undefined) values.cpuMip = payload.mipCount;\n else if (payload.payloadType === ResourcePayloadType.RGBA) values.cpuMip = 1;\n values.originalResolution = Math.max(payload.width || 0, payload.height || 0, this.originalResolution || 0);\n\n super.SetPayload(payload);\n this.SetValues(values);\n return this;\n }\n\n /**\n * Return the number of mip levels known to this texture resource.\n *\n * @returns {number}\n */\n @carbon.method\n @impl.adapted\n GetMipCount() {\n return this.GetPayload()?.mipCount || this.cpuMip || 0;\n }\n\n /**\n * Return the multisample type for this texture.\n *\n * @returns {number}\n */\n @carbon.method\n @impl.notImplemented\n GetMsaaType() {\n throw CarbonStubError(\"TriTextureRes\", \"GetMsaaType\");\n }\n\n /**\n * Return the multisample quality for this texture.\n *\n * @returns {number}\n */\n @carbon.method\n @impl.notImplemented\n GetMsaaQuality() {\n throw CarbonStubError(\"TriTextureRes\", \"GetMsaaQuality\");\n }\n\n /**\n * Return true if this texture has received LOD requests.\n *\n * @returns {boolean}\n */\n @carbon.method\n @impl.notImplemented\n HadLodRequests() {\n throw CarbonStubError(\"TriTextureRes\", \"HadLodRequests\");\n }\n\n /**\n * Return the shader-resource-view heap index when a backend owns one.\n *\n * @returns {number}\n */\n @carbon.method\n @impl.notSupported\n GetSrvIndexInHeap() {\n throw ResourceBoundaryError(\"TriTextureRes\", \"GetSrvIndexInHeap\", \"Runtime-resource does not own descriptor heaps.\");\n }\n\n /**\n * Save this texture asynchronously.\n *\n * @param {string} path\n * @returns {boolean}\n */\n @carbon.method\n @impl.notImplemented\n SaveAsync(path = \"\") {\n throw CarbonStubError(\"TriTextureRes\", \"SaveAsync\", path);\n }\n\n /**\n * Save this texture synchronously.\n *\n * @param {string} path\n * @returns {boolean}\n */\n @carbon.method\n @impl.notImplemented\n Save(path = \"\") {\n throw CarbonStubError(\"TriTextureRes\", \"Save\", path);\n }\n\n /**\n * Return true if an asynchronous save is active.\n *\n * @returns {boolean}\n */\n @carbon.method\n @impl.noop\n IsSaving() {\n return false;\n }\n\n /**\n * Return true if the asynchronous save operation has completed.\n *\n * @returns {boolean}\n */\n @carbon.method\n @impl.noop\n IsSaveCompleted() {\n return true;\n }\n\n /**\n * Return true if the asynchronous save operation succeeded.\n *\n * @returns {boolean}\n */\n @carbon.method\n @impl.noop\n IsSaveSucceeded() {\n return false;\n }\n\n /**\n * Wait for an asynchronous save operation.\n *\n * @returns {boolean}\n */\n @carbon.method\n @impl.noop\n WaitForSave() {\n return this.IsSaveCompleted();\n }\n\n /**\n * Device texture allocation belongs to engine-gpu.\n *\n * @throws {Error}\n */\n @carbon.method\n @impl.notSupported\n CreateEmptyTexture() {\n throw ResourceBoundaryError(\"TriTextureRes\", \"CreateEmptyTexture\", \"Use engine-gpu to allocate device textures.\");\n }\n\n /**\n * Render-target wrapping belongs to engine-gpu.\n *\n * @throws {Error}\n */\n @carbon.method\n @impl.notSupported\n SetFromRenderTarget() {\n throw ResourceBoundaryError(\"TriTextureRes\", \"SetFromRenderTarget\", \"Runtime-resource does not own render targets.\");\n }\n\n /**\n * Create a texture copy from a render target.\n *\n * @throws {Error}\n */\n @carbon.method\n @impl.notSupported\n CreateAndCopyFromRenderTarget() {\n throw ResourceBoundaryError(\"TriTextureRes\", \"CreateAndCopyFromRenderTarget\", \"Runtime-resource does not own render targets.\");\n }\n\n /**\n * Create a device texture from a host bitmap.\n *\n * @throws {Error}\n */\n @carbon.method\n @impl.notSupported\n CreateFromHostBitmap() {\n throw ResourceBoundaryError(\"TriTextureRes\", \"CreateFromHostBitmap\", \"Use engine-gpu to allocate and upload texture data.\");\n }\n\n /**\n * Create this texture from another texture resource.\n *\n * @throws {Error}\n */\n @carbon.method\n @impl.notSupported\n CreateFromTexture() {\n throw ResourceBoundaryError(\"TriTextureRes\", \"CreateFromTexture\", \"Use engine-gpu to copy device textures.\");\n }\n\n /**\n * Return true if this texture owns a backend allocation object.\n *\n * @param {string|number} type\n * @param {string|number} object\n * @returns {boolean}\n */\n @carbon.method\n @impl.adapted\n HasALObject(type, object) {\n return this.HasAdapterResource(`${type}:${object}`);\n }\n\n /**\n * Return an engine-owned texture pipeline object when attached.\n *\n * @returns {*}\n */\n @carbon.method\n @impl.adapted\n GetPipeline() {\n return this.GetAdapterResource(\"pipeline\");\n }\n\n /**\n * Return memory size for the original non-LODed texture.\n *\n * @returns {number}\n */\n @carbon.method\n @impl.notImplemented\n GetOriginalMemoryUsage() {\n throw CarbonStubError(\"TriTextureRes\", \"GetOriginalMemoryUsage\");\n }\n\n /**\n * Store the average color reported by decoded texture data.\n *\n * @param {number} red\n * @param {number} green\n * @param {number} blue\n * @param {number} alpha\n * @returns {TriTextureRes}\n */\n @carbon.method\n @impl.adapted\n SetAverageColor(red = 0, green = 0, blue = 0, alpha = 0) {\n this.averageColor = [red, green, blue, alpha];\n return this;\n }\n\n /**\n * Update a texture subresource.\n *\n * @throws {Error}\n */\n @carbon.method\n @impl.notSupported\n UpdateSubresource() {\n throw ResourceBoundaryError(\"TriTextureRes\", \"UpdateSubresource\", \"Use engine-gpu to upload texture bytes.\");\n }\n\n /**\n * Resource preparation does not decide device upload policy.\n *\n * @returns {boolean}\n */\n @carbon.method\n @impl.adapted\n PrepareResources() {\n return this.IsPrepared();\n }\n\n static payload = \"texture\";\n}\n"],"names":["_TriTextureRes","_identity","TriTextureRes","CjsResource","e","_init_format","_init_extra_format","_init_type","_init_extra_type","_init_averageColor","_init_extra_averageColor","_init_depth","_init_extra_depth","_init_cutoutHeight","_init_extra_cutoutHeight","_init_height","_init_extra_height","_init_lodEnabled","_init_extra_lodEnabled","_init_cpuMip","_init_extra_cpuMip","_init_gpuMip","_init_extra_gpuMip","_init_wrappedRenderTarget","_init_extra_wrappedRenderTarget","_init_originalResolution","_init_extra_originalResolution","_init_name","_init_extra_name","_init_arraySize","_init_extra_arraySize","_init_cutoutWidth","_init_extra_cutoutWidth","_init_width","_init_extra_width","_init_cutoutX","_init_extra_cutoutX","_init_cutoutY","_init_extra_cutoutY","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","read","unknown","persist","color","uint32","readwrite","float32","boolean","string","carbon","method","impl","adapted","notImplemented","notSupported","noop","format","averageColor","depth","cutoutHeight","height","lodEnabled","cpuMip","gpuMip","wrappedRenderTarget","originalResolution","name","arraySize","cutoutWidth","width","cutoutX","cutoutY","constructor","values","SetValues","markDirty","skipUpdate","skipEvents","SetPayload","payload","options","validator","ResourcePayloadType","RGBA","validateRgbaPayload","TEXTURE","validateTexturePayload","VIDEO","validateVideoPayload","payloadType","ResourcePayloadError","ValidateResourcePayload","pixelFormat","undefined","Array","isArray","faces","length","mipCount","Math","max","GetMipCount","GetPayload","GetMsaaType","CarbonStubError","GetMsaaQuality","HadLodRequests","GetSrvIndexInHeap","ResourceBoundaryError","SaveAsync","path","Save","IsSaving","IsSaveCompleted","IsSaveSucceeded","WaitForSave","CreateEmptyTexture","SetFromRenderTarget","CreateAndCopyFromRenderTarget","CreateFromHostBitmap","CreateFromTexture","HasALObject","object","HasAdapterResource","GetPipeline","GetAdapterResource","GetOriginalMemoryUsage","SetAverageColor","red","green","blue","alpha","UpdateSubresource","PrepareResources","IsPrepared"],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ function ResourceBoundaryError(className, methodName, reason) {
2
+ const error = new Error(`${className}.${methodName} is owned by engine adapters in CarbonEngineJS. ${reason || ""}`.trim());
3
+ error.code = "CJS_RESOURCE_ENGINE_BOUNDARY";
4
+ error.className = className;
5
+ error.methodName = methodName;
6
+ return error;
7
+ }
8
+ function CarbonStubError(className, methodName, reason) {
9
+ const error = new Error(`${className}.${methodName} is a CarbonEngineJS resource stub and is not implemented yet. ${reason || ""}`.trim());
10
+ error.code = "CJS_RESOURCE_NOT_IMPLEMENTED";
11
+ error.className = className;
12
+ error.methodName = methodName;
13
+ return error;
14
+ }
15
+ function ResourcePayloadError(className, reason, field = "", cause = null) {
16
+ const location = field ? `${className} payload.${field}` : `${className} payload`;
17
+ const error = new TypeError(`${location} is invalid. ${reason || ""}`.trim());
18
+ error.code = "CJS_RESOURCE_PAYLOAD_INVALID";
19
+ error.className = className;
20
+ error.field = field;
21
+ if (cause) error.cause = cause;
22
+ return error;
23
+ }
24
+ function AssertResourcePayloadObject(className, payload) {
25
+ if (!payload || typeof payload !== "object" || Array.isArray(payload) || payload instanceof ArrayBuffer || ArrayBuffer.isView(payload)) {
26
+ throw ResourcePayloadError(className, "Expected a plain payload object.");
27
+ }
28
+ return payload;
29
+ }
30
+ function AssertResourcePayloadArray(className, payload, field) {
31
+ if (!Array.isArray(payload[field])) {
32
+ throw ResourcePayloadError(className, "Expected an array.", field);
33
+ }
34
+ return payload[field];
35
+ }
36
+ function ValidateResourcePayload(className, payload, validator) {
37
+ AssertResourcePayloadObject(className, payload);
38
+ try {
39
+ return validator(payload);
40
+ } catch (cause) {
41
+ if (cause?.code === "CJS_RESOURCE_PAYLOAD_INVALID") throw cause;
42
+ throw ResourcePayloadError(className, cause?.message || "Validation failed.", "", cause);
43
+ }
44
+ }
45
+
46
+ export { AssertResourcePayloadArray, AssertResourcePayloadObject, CarbonStubError, ResourceBoundaryError, ResourcePayloadError, ValidateResourcePayload };
47
+ //# sourceMappingURL=resourceBoundary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resourceBoundary.js","sources":["../../../src/resources/resourceBoundary.js"],"sourcesContent":["export function ResourceBoundaryError(className, methodName, reason) {\n const error = new Error(`${className}.${methodName} is owned by engine adapters in CarbonEngineJS. ${reason || \"\"}`.trim());\n error.code = \"CJS_RESOURCE_ENGINE_BOUNDARY\";\n error.className = className;\n error.methodName = methodName;\n return error;\n}\n\nexport function CarbonStubError(className, methodName, reason) {\n const error = new Error(`${className}.${methodName} is a CarbonEngineJS resource stub and is not implemented yet. ${reason || \"\"}`.trim());\n error.code = \"CJS_RESOURCE_NOT_IMPLEMENTED\";\n error.className = className;\n error.methodName = methodName;\n return error;\n}\n\nexport function ResourcePayloadError(className, reason, field = \"\", cause = null) {\n const location = field ? `${className} payload.${field}` : `${className} payload`;\n const error = new TypeError(`${location} is invalid. ${reason || \"\"}`.trim());\n error.code = \"CJS_RESOURCE_PAYLOAD_INVALID\";\n error.className = className;\n error.field = field;\n if (cause) error.cause = cause;\n return error;\n}\n\nexport function AssertResourcePayloadObject(className, payload) {\n if (!payload || typeof payload !== \"object\" || Array.isArray(payload)\n || payload instanceof ArrayBuffer || ArrayBuffer.isView(payload)) {\n throw ResourcePayloadError(className, \"Expected a plain payload object.\");\n }\n return payload;\n}\n\nexport function AssertResourcePayloadArray(className, payload, field) {\n if (!Array.isArray(payload[field])) {\n throw ResourcePayloadError(className, \"Expected an array.\", field);\n }\n return payload[field];\n}\n\nexport function ValidateResourcePayload(className, payload, validator) {\n AssertResourcePayloadObject(className, payload);\n try {\n return validator(payload);\n } catch (cause) {\n if (cause?.code === \"CJS_RESOURCE_PAYLOAD_INVALID\") throw cause;\n throw ResourcePayloadError(className, cause?.message || \"Validation failed.\", \"\", cause);\n }\n}\n"],"names":["ResourceBoundaryError","className","methodName","reason","error","Error","trim","code","CarbonStubError","ResourcePayloadError","field","cause","location","TypeError","AssertResourcePayloadObject","payload","Array","isArray","ArrayBuffer","isView","AssertResourcePayloadArray","ValidateResourcePayload","validator","message"],"mappings":"AAAO,SAASA,qBAAqBA,CAACC,SAAS,EAAEC,UAAU,EAAEC,MAAM,EAAE;AACnE,EAAA,MAAMC,KAAK,GAAG,IAAIC,KAAK,CAAC,CAAA,EAAGJ,SAAS,CAAA,CAAA,EAAIC,UAAU,CAAA,gDAAA,EAAmDC,MAAM,IAAI,EAAE,CAAA,CAAE,CAACG,IAAI,EAAE,CAAC;EAC3HF,KAAK,CAACG,IAAI,GAAG,8BAA8B;EAC3CH,KAAK,CAACH,SAAS,GAAGA,SAAS;EAC3BG,KAAK,CAACF,UAAU,GAAGA,UAAU;AAC7B,EAAA,OAAOE,KAAK;AACd;AAEO,SAASI,eAAeA,CAACP,SAAS,EAAEC,UAAU,EAAEC,MAAM,EAAE;AAC7D,EAAA,MAAMC,KAAK,GAAG,IAAIC,KAAK,CAAC,CAAA,EAAGJ,SAAS,CAAA,CAAA,EAAIC,UAAU,CAAA,+DAAA,EAAkEC,MAAM,IAAI,EAAE,CAAA,CAAE,CAACG,IAAI,EAAE,CAAC;EAC1IF,KAAK,CAACG,IAAI,GAAG,8BAA8B;EAC3CH,KAAK,CAACH,SAAS,GAAGA,SAAS;EAC3BG,KAAK,CAACF,UAAU,GAAGA,UAAU;AAC7B,EAAA,OAAOE,KAAK;AACd;AAEO,SAASK,oBAAoBA,CAACR,SAAS,EAAEE,MAAM,EAAEO,KAAK,GAAG,EAAE,EAAEC,KAAK,GAAG,IAAI,EAAE;AAChF,EAAA,MAAMC,QAAQ,GAAGF,KAAK,GAAG,CAAA,EAAGT,SAAS,CAAA,SAAA,EAAYS,KAAK,CAAA,CAAE,GAAG,CAAA,EAAGT,SAAS,CAAA,QAAA,CAAU;AACjF,EAAA,MAAMG,KAAK,GAAG,IAAIS,SAAS,CAAC,GAAGD,QAAQ,CAAA,aAAA,EAAgBT,MAAM,IAAI,EAAE,CAAA,CAAE,CAACG,IAAI,EAAE,CAAC;EAC7EF,KAAK,CAACG,IAAI,GAAG,8BAA8B;EAC3CH,KAAK,CAACH,SAAS,GAAGA,SAAS;EAC3BG,KAAK,CAACM,KAAK,GAAGA,KAAK;AACnB,EAAA,IAAIC,KAAK,EAAEP,KAAK,CAACO,KAAK,GAAGA,KAAK;AAC9B,EAAA,OAAOP,KAAK;AACd;AAEO,SAASU,2BAA2BA,CAACb,SAAS,EAAEc,OAAO,EAAE;EAC9D,IAAI,CAACA,OAAO,IAAI,OAAOA,OAAO,KAAK,QAAQ,IAAIC,KAAK,CAACC,OAAO,CAACF,OAAO,CAAC,IAChEA,OAAO,YAAYG,WAAW,IAAIA,WAAW,CAACC,MAAM,CAACJ,OAAO,CAAC,EAAE;AAClE,IAAA,MAAMN,oBAAoB,CAACR,SAAS,EAAE,kCAAkC,CAAC;AAC3E,EAAA;AACA,EAAA,OAAOc,OAAO;AAChB;AAEO,SAASK,0BAA0BA,CAACnB,SAAS,EAAEc,OAAO,EAAEL,KAAK,EAAE;EACpE,IAAI,CAACM,KAAK,CAACC,OAAO,CAACF,OAAO,CAACL,KAAK,CAAC,CAAC,EAAE;AAClC,IAAA,MAAMD,oBAAoB,CAACR,SAAS,EAAE,oBAAoB,EAAES,KAAK,CAAC;AACpE,EAAA;EACA,OAAOK,OAAO,CAACL,KAAK,CAAC;AACvB;AAEO,SAASW,uBAAuBA,CAACpB,SAAS,EAAEc,OAAO,EAAEO,SAAS,EAAE;AACrER,EAAAA,2BAA2B,CAACb,SAAS,EAAEc,OAAO,CAAC;EAC/C,IAAI;IACF,OAAOO,SAAS,CAACP,OAAO,CAAC;EAC3B,CAAC,CAAC,OAAOJ,KAAK,EAAE;AACd,IAAA,IAAIA,KAAK,EAAEJ,IAAI,KAAK,8BAA8B,EAAE,MAAMI,KAAK;AAC/D,IAAA,MAAMF,oBAAoB,CAACR,SAAS,EAAEU,KAAK,EAAEY,OAAO,IAAI,oBAAoB,EAAE,EAAE,EAAEZ,KAAK,CAAC;AAC1F,EAAA;AACF;;;;"}