@carbonenginejs/runtime-resource 0.20.0 → 0.22.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 (306) hide show
  1. package/NOTICE +6 -0
  2. package/dist/CjsResMan.js +1374 -1318
  3. package/dist/CjsResMan.js.map +1 -1
  4. package/dist/format/CjsFormat.js +393 -164
  5. package/dist/format/CjsFormat.js.map +1 -1
  6. package/dist/format/CjsFormatStore.js +315 -0
  7. package/dist/format/CjsFormatStore.js.map +1 -0
  8. package/dist/format/CjsResourceProbe.js +66 -234
  9. package/dist/format/CjsResourceProbe.js.map +1 -1
  10. package/dist/format/payloadContract.js +47 -6
  11. package/dist/format/payloadContract.js.map +1 -1
  12. package/dist/formats/black/CjsBlackFormat.js +23 -6
  13. package/dist/formats/black/CjsBlackFormat.js.map +1 -1
  14. package/dist/formats/bnk/CjsBnkFormat.js +122 -120
  15. package/dist/formats/bnk/CjsBnkFormat.js.map +1 -1
  16. package/dist/formats/bnk/core/helpers.js +5 -15
  17. package/dist/formats/bnk/core/helpers.js.map +1 -1
  18. package/dist/formats/cmf/CjsCmfFormat.js +31 -14
  19. package/dist/formats/cmf/CjsCmfFormat.js.map +1 -1
  20. package/dist/formats/dds/CjsDdsFormat.js +29 -19
  21. package/dist/formats/dds/CjsDdsFormat.js.map +1 -1
  22. package/dist/formats/dds/core/helpers.js +4 -5
  23. package/dist/formats/dds/core/helpers.js.map +1 -1
  24. package/dist/formats/dxbc/CjsDxbcFormat.js +15 -13
  25. package/dist/formats/dxbc/CjsDxbcFormat.js.map +1 -1
  26. package/dist/formats/fbx/CjsFbxFormat.js +27 -19
  27. package/dist/formats/fbx/CjsFbxFormat.js.map +1 -1
  28. package/dist/formats/fbx/core/helpers.js +4 -4
  29. package/dist/formats/fbx/core/helpers.js.map +1 -1
  30. package/dist/formats/flac/CjsFlacFormat.js +19 -17
  31. package/dist/formats/flac/CjsFlacFormat.js.map +1 -1
  32. package/dist/formats/flac/core/helpers.js +5 -11
  33. package/dist/formats/flac/core/helpers.js.map +1 -1
  34. package/dist/formats/fsd/32/CjsFsd32Format.js +55 -0
  35. package/dist/formats/fsd/32/CjsFsd32Format.js.map +1 -0
  36. package/dist/formats/fsd/32/index.js +2 -0
  37. package/dist/formats/fsd/32/index.js.map +1 -0
  38. package/dist/formats/fsd/64/CjsFsd64Format.js +119 -0
  39. package/dist/formats/fsd/64/CjsFsd64Format.js.map +1 -0
  40. package/dist/formats/fsd/64/core/CjsFsd64Binary.js +393 -0
  41. package/dist/formats/fsd/64/core/CjsFsd64Binary.js.map +1 -0
  42. package/dist/formats/fsd/64/core/CjsFsd64Reader.js +138 -0
  43. package/dist/formats/fsd/64/core/CjsFsd64Reader.js.map +1 -0
  44. package/dist/formats/fsd/64/core/CjsFsd64SchemaDecoder.js +389 -0
  45. package/dist/formats/fsd/64/core/CjsFsd64SchemaDecoder.js.map +1 -0
  46. package/dist/formats/fsd/64/core/CjsFsd64SchemaReader.js +43 -0
  47. package/dist/formats/fsd/64/core/CjsFsd64SchemaReader.js.map +1 -0
  48. package/dist/formats/fsd/64/core/fsd64Records.js +60 -0
  49. package/dist/formats/fsd/64/core/fsd64Records.js.map +1 -0
  50. package/dist/formats/fsd/64/index.js +7 -0
  51. package/dist/formats/fsd/64/index.js.map +1 -0
  52. package/dist/formats/fsd/64/readers/CjsFsd64ReaderSetCharacterStaticData.js +33 -0
  53. package/dist/formats/fsd/64/readers/CjsFsd64ReaderSetCharacterStaticData.js.map +1 -0
  54. package/dist/formats/fsd/64/readers/CjsFsd64SchemaAgentTypes.js +35 -0
  55. package/dist/formats/fsd/64/readers/CjsFsd64SchemaAgentTypes.js.map +1 -0
  56. package/dist/formats/fsd/64/readers/CjsFsd64SchemaAgentsInSpace.js +50 -0
  57. package/dist/formats/fsd/64/readers/CjsFsd64SchemaAgentsInSpace.js.map +1 -0
  58. package/dist/formats/fsd/64/readers/CjsFsd64SchemaAncestries.js +75 -0
  59. package/dist/formats/fsd/64/readers/CjsFsd64SchemaAncestries.js.map +1 -0
  60. package/dist/formats/fsd/64/readers/CjsFsd64SchemaArchetypes.js +57 -0
  61. package/dist/formats/fsd/64/readers/CjsFsd64SchemaArchetypes.js.map +1 -0
  62. package/dist/formats/fsd/64/readers/CjsFsd64SchemaAudioMetadata.js +201 -0
  63. package/dist/formats/fsd/64/readers/CjsFsd64SchemaAudioMetadata.js.map +1 -0
  64. package/dist/formats/fsd/64/readers/CjsFsd64SchemaBloodlines.js +73 -0
  65. package/dist/formats/fsd/64/readers/CjsFsd64SchemaBloodlines.js.map +1 -0
  66. package/dist/formats/fsd/64/readers/CjsFsd64SchemaCategories.js +53 -0
  67. package/dist/formats/fsd/64/readers/CjsFsd64SchemaCategories.js.map +1 -0
  68. package/dist/formats/fsd/64/readers/CjsFsd64SchemaCharacterAvatarBehaviors.js +44 -0
  69. package/dist/formats/fsd/64/readers/CjsFsd64SchemaCharacterAvatarBehaviors.js.map +1 -0
  70. package/dist/formats/fsd/64/readers/CjsFsd64SchemaCharacterColorLocations.js +38 -0
  71. package/dist/formats/fsd/64/readers/CjsFsd64SchemaCharacterColorLocations.js.map +1 -0
  72. package/dist/formats/fsd/64/readers/CjsFsd64SchemaCharacterColorNames.js +34 -0
  73. package/dist/formats/fsd/64/readers/CjsFsd64SchemaCharacterColorNames.js.map +1 -0
  74. package/dist/formats/fsd/64/readers/CjsFsd64SchemaCharacterModifierLocations.js +34 -0
  75. package/dist/formats/fsd/64/readers/CjsFsd64SchemaCharacterModifierLocations.js.map +1 -0
  76. package/dist/formats/fsd/64/readers/CjsFsd64SchemaCharacterPortraitResources.js +44 -0
  77. package/dist/formats/fsd/64/readers/CjsFsd64SchemaCharacterPortraitResources.js.map +1 -0
  78. package/dist/formats/fsd/64/readers/CjsFsd64SchemaCharacterResources.js +81 -0
  79. package/dist/formats/fsd/64/readers/CjsFsd64SchemaCharacterResources.js.map +1 -0
  80. package/dist/formats/fsd/64/readers/CjsFsd64SchemaCharacterSculptingLocations.js +34 -0
  81. package/dist/formats/fsd/64/readers/CjsFsd64SchemaCharacterSculptingLocations.js.map +1 -0
  82. package/dist/formats/fsd/64/readers/CjsFsd64SchemaCompressibleTypes.js +41 -0
  83. package/dist/formats/fsd/64/readers/CjsFsd64SchemaCompressibleTypes.js.map +1 -0
  84. package/dist/formats/fsd/64/readers/CjsFsd64SchemaContrabandTypes.js +63 -0
  85. package/dist/formats/fsd/64/readers/CjsFsd64SchemaContrabandTypes.js.map +1 -0
  86. package/dist/formats/fsd/64/readers/CjsFsd64SchemaControlTowerResources.js +76 -0
  87. package/dist/formats/fsd/64/readers/CjsFsd64SchemaControlTowerResources.js.map +1 -0
  88. package/dist/formats/fsd/64/readers/CjsFsd64SchemaCorporationActivities.js +38 -0
  89. package/dist/formats/fsd/64/readers/CjsFsd64SchemaCorporationActivities.js.map +1 -0
  90. package/dist/formats/fsd/64/readers/CjsFsd64SchemaCorporationRoleGroups.js +74 -0
  91. package/dist/formats/fsd/64/readers/CjsFsd64SchemaCorporationRoleGroups.js.map +1 -0
  92. package/dist/formats/fsd/64/readers/CjsFsd64SchemaCorporationRoles.js +59 -0
  93. package/dist/formats/fsd/64/readers/CjsFsd64SchemaCorporationRoles.js.map +1 -0
  94. package/dist/formats/fsd/64/readers/CjsFsd64SchemaDogmaAttributeCategories.js +46 -0
  95. package/dist/formats/fsd/64/readers/CjsFsd64SchemaDogmaAttributeCategories.js.map +1 -0
  96. package/dist/formats/fsd/64/readers/CjsFsd64SchemaDogmaAttributes.js +133 -0
  97. package/dist/formats/fsd/64/readers/CjsFsd64SchemaDogmaAttributes.js.map +1 -0
  98. package/dist/formats/fsd/64/readers/CjsFsd64SchemaDogmaEffects.js +236 -0
  99. package/dist/formats/fsd/64/readers/CjsFsd64SchemaDogmaEffects.js.map +1 -0
  100. package/dist/formats/fsd/64/readers/CjsFsd64SchemaDogmaUnits.js +60 -0
  101. package/dist/formats/fsd/64/readers/CjsFsd64SchemaDogmaUnits.js.map +1 -0
  102. package/dist/formats/fsd/64/readers/CjsFsd64SchemaDynamicItemAttributes.js +95 -0
  103. package/dist/formats/fsd/64/readers/CjsFsd64SchemaDynamicItemAttributes.js.map +1 -0
  104. package/dist/formats/fsd/64/readers/CjsFsd64SchemaEpicArcs.js +106 -0
  105. package/dist/formats/fsd/64/readers/CjsFsd64SchemaEpicArcs.js.map +1 -0
  106. package/dist/formats/fsd/64/readers/CjsFsd64SchemaExpertSystems.js +86 -0
  107. package/dist/formats/fsd/64/readers/CjsFsd64SchemaExpertSystems.js.map +1 -0
  108. package/dist/formats/fsd/64/readers/CjsFsd64SchemaFactions.js +117 -0
  109. package/dist/formats/fsd/64/readers/CjsFsd64SchemaFactions.js.map +1 -0
  110. package/dist/formats/fsd/64/readers/CjsFsd64SchemaGraphicIds.js +70 -0
  111. package/dist/formats/fsd/64/readers/CjsFsd64SchemaGraphicIds.js.map +1 -0
  112. package/dist/formats/fsd/64/readers/CjsFsd64SchemaGraphicMaterialSets.js +173 -0
  113. package/dist/formats/fsd/64/readers/CjsFsd64SchemaGraphicMaterialSets.js.map +1 -0
  114. package/dist/formats/fsd/64/readers/CjsFsd64SchemaGroups.js +77 -0
  115. package/dist/formats/fsd/64/readers/CjsFsd64SchemaGroups.js.map +1 -0
  116. package/dist/formats/fsd/64/readers/CjsFsd64SchemaIcons.js +62 -0
  117. package/dist/formats/fsd/64/readers/CjsFsd64SchemaIcons.js.map +1 -0
  118. package/dist/formats/fsd/64/readers/CjsFsd64SchemaMarketGroups.js +63 -0
  119. package/dist/formats/fsd/64/readers/CjsFsd64SchemaMarketGroups.js.map +1 -0
  120. package/dist/formats/fsd/64/readers/CjsFsd64SchemaMetaGroups.js +86 -0
  121. package/dist/formats/fsd/64/readers/CjsFsd64SchemaMetaGroups.js.map +1 -0
  122. package/dist/formats/fsd/64/readers/CjsFsd64SchemaNpcCorporationDivisions.js +72 -0
  123. package/dist/formats/fsd/64/readers/CjsFsd64SchemaNpcCorporationDivisions.js.map +1 -0
  124. package/dist/formats/fsd/64/readers/CjsFsd64SchemaNpcCorporations.js +326 -0
  125. package/dist/formats/fsd/64/readers/CjsFsd64SchemaNpcCorporations.js.map +1 -0
  126. package/dist/formats/fsd/64/readers/CjsFsd64SchemaPaperdolls.js +279 -0
  127. package/dist/formats/fsd/64/readers/CjsFsd64SchemaPaperdolls.js.map +1 -0
  128. package/dist/formats/fsd/64/readers/CjsFsd64SchemaRaces.js +64 -0
  129. package/dist/formats/fsd/64/readers/CjsFsd64SchemaRaces.js.map +1 -0
  130. package/dist/formats/fsd/64/readers/CjsFsd64SchemaSchoolMap.js +40 -0
  131. package/dist/formats/fsd/64/readers/CjsFsd64SchemaSchoolMap.js.map +1 -0
  132. package/dist/formats/fsd/64/readers/CjsFsd64SchemaSchools.js +113 -0
  133. package/dist/formats/fsd/64/readers/CjsFsd64SchemaSchools.js.map +1 -0
  134. package/dist/formats/fsd/64/readers/CjsFsd64SchemaSkillPlans.js +130 -0
  135. package/dist/formats/fsd/64/readers/CjsFsd64SchemaSkillPlans.js.map +1 -0
  136. package/dist/formats/fsd/64/readers/CjsFsd64SchemaSkinrComponentCategories.js +38 -0
  137. package/dist/formats/fsd/64/readers/CjsFsd64SchemaSkinrComponentCategories.js.map +1 -0
  138. package/dist/formats/fsd/64/readers/CjsFsd64SchemaSkinrComponentPointValues.js +45 -0
  139. package/dist/formats/fsd/64/readers/CjsFsd64SchemaSkinrComponentPointValues.js.map +1 -0
  140. package/dist/formats/fsd/64/readers/CjsFsd64SchemaSkinrComponentRarities.js +44 -0
  141. package/dist/formats/fsd/64/readers/CjsFsd64SchemaSkinrComponentRarities.js.map +1 -0
  142. package/dist/formats/fsd/64/readers/CjsFsd64SchemaSkinrComponents.js +163 -0
  143. package/dist/formats/fsd/64/readers/CjsFsd64SchemaSkinrComponents.js.map +1 -0
  144. package/dist/formats/fsd/64/readers/CjsFsd64SchemaSkinrSlotCategories.js +37 -0
  145. package/dist/formats/fsd/64/readers/CjsFsd64SchemaSkinrSlotCategories.js.map +1 -0
  146. package/dist/formats/fsd/64/readers/CjsFsd64SchemaSkinrSlotConfigurations.js +77 -0
  147. package/dist/formats/fsd/64/readers/CjsFsd64SchemaSkinrSlotConfigurations.js.map +1 -0
  148. package/dist/formats/fsd/64/readers/CjsFsd64SchemaSkinrSlotNames.js +37 -0
  149. package/dist/formats/fsd/64/readers/CjsFsd64SchemaSkinrSlotNames.js.map +1 -0
  150. package/dist/formats/fsd/64/readers/CjsFsd64SchemaSkinrSlots.js +74 -0
  151. package/dist/formats/fsd/64/readers/CjsFsd64SchemaSkinrSlots.js.map +1 -0
  152. package/dist/formats/fsd/64/readers/CjsFsd64SchemaSkinrTierThresholds.js +44 -0
  153. package/dist/formats/fsd/64/readers/CjsFsd64SchemaSkinrTierThresholds.js.map +1 -0
  154. package/dist/formats/fsd/64/readers/CjsFsd64SchemaStationOperations.js +120 -0
  155. package/dist/formats/fsd/64/readers/CjsFsd64SchemaStationOperations.js.map +1 -0
  156. package/dist/formats/fsd/64/readers/CjsFsd64SchemaStationServices.js +49 -0
  157. package/dist/formats/fsd/64/readers/CjsFsd64SchemaStationServices.js.map +1 -0
  158. package/dist/formats/fsd/64/readers/CjsFsd64SchemaTypeDogma.js +73 -0
  159. package/dist/formats/fsd/64/readers/CjsFsd64SchemaTypeDogma.js.map +1 -0
  160. package/dist/formats/fsd/64/readers/CjsFsd64SchemaTypeLists.js +122 -0
  161. package/dist/formats/fsd/64/readers/CjsFsd64SchemaTypeLists.js.map +1 -0
  162. package/dist/formats/fsd/64/readers/CjsFsd64SchemaTypeMaterials.js +83 -0
  163. package/dist/formats/fsd/64/readers/CjsFsd64SchemaTypeMaterials.js.map +1 -0
  164. package/dist/formats/fsd/64/readers/CjsFsd64SchemaTypes.js +194 -0
  165. package/dist/formats/fsd/64/readers/CjsFsd64SchemaTypes.js.map +1 -0
  166. package/dist/formats/fsd/64/readers/index.js +58 -0
  167. package/dist/formats/fsd/64/readers/index.js.map +1 -0
  168. package/dist/formats/fsd/CjsFsdFormat.js +62 -0
  169. package/dist/formats/fsd/CjsFsdFormat.js.map +1 -0
  170. package/dist/formats/fsd/index.js +9 -0
  171. package/dist/formats/fsd/index.js.map +1 -0
  172. package/dist/formats/gif/CjsGifFormat.js +26 -16
  173. package/dist/formats/gif/CjsGifFormat.js.map +1 -1
  174. package/dist/formats/gif/core/helpers.js +6 -18
  175. package/dist/formats/gif/core/helpers.js.map +1 -1
  176. package/dist/formats/gltf/CjsGltfFormat.js +25 -13
  177. package/dist/formats/gltf/CjsGltfFormat.js.map +1 -1
  178. package/dist/formats/gr2/CjsGr2Format.js +27 -6
  179. package/dist/formats/gr2/CjsGr2Format.js.map +1 -1
  180. package/dist/formats/hlsl/CjsHlslFormat.js +20 -16
  181. package/dist/formats/hlsl/CjsHlslFormat.js.map +1 -1
  182. package/dist/formats/hlsl/core/analysis.js +1 -1
  183. package/dist/formats/index.js +5 -0
  184. package/dist/formats/index.js.map +1 -1
  185. package/dist/formats/jpeg/CjsJpegFormat.js +26 -19
  186. package/dist/formats/jpeg/CjsJpegFormat.js.map +1 -1
  187. package/dist/formats/jpeg/core/helpers.js +6 -15
  188. package/dist/formats/jpeg/core/helpers.js.map +1 -1
  189. package/dist/formats/jpeg/core/jpeg.js +0 -3
  190. package/dist/formats/jpeg/core/jpeg.js.map +1 -1
  191. package/dist/formats/mp3/CjsMp3Format.js +19 -19
  192. package/dist/formats/mp3/CjsMp3Format.js.map +1 -1
  193. package/dist/formats/mp3/core/helpers.js +5 -11
  194. package/dist/formats/mp3/core/helpers.js.map +1 -1
  195. package/dist/formats/mp4/CjsMp4Format.js +20 -19
  196. package/dist/formats/mp4/CjsMp4Format.js.map +1 -1
  197. package/dist/formats/mp4/core/helpers.js +6 -15
  198. package/dist/formats/mp4/core/helpers.js.map +1 -1
  199. package/dist/formats/obj/CjsObjFormat.js +25 -12
  200. package/dist/formats/obj/CjsObjFormat.js.map +1 -1
  201. package/dist/formats/ogg/CjsOggFormat.js +26 -17
  202. package/dist/formats/ogg/CjsOggFormat.js.map +1 -1
  203. package/dist/formats/ogg/core/helpers.js +5 -16
  204. package/dist/formats/ogg/core/helpers.js.map +1 -1
  205. package/dist/formats/pickle/CjsPickleFormat.js +64 -5
  206. package/dist/formats/pickle/CjsPickleFormat.js.map +1 -1
  207. package/dist/formats/png/CjsPngFormat.js +28 -19
  208. package/dist/formats/png/CjsPngFormat.js.map +1 -1
  209. package/dist/formats/png/core/helpers.js +5 -14
  210. package/dist/formats/png/core/helpers.js.map +1 -1
  211. package/dist/formats/red/CjsRedFormat.js +19 -5
  212. package/dist/formats/red/CjsRedFormat.js.map +1 -1
  213. package/dist/formats/schemabound/CjsSchemaBoundFormat.js +48 -38
  214. package/dist/formats/schemabound/CjsSchemaBoundFormat.js.map +1 -1
  215. package/dist/formats/sqlite/CjsSqliteFormat.js +49 -41
  216. package/dist/formats/sqlite/CjsSqliteFormat.js.map +1 -1
  217. package/dist/formats/static/CjsStaticFormat.js +15 -57
  218. package/dist/formats/static/CjsStaticFormat.js.map +1 -1
  219. package/dist/formats/static/staticContainers.js +6 -6
  220. package/dist/formats/static/staticContainers.js.map +1 -1
  221. package/dist/formats/stl/CjsStlFormat.js +25 -12
  222. package/dist/formats/stl/CjsStlFormat.js.map +1 -1
  223. package/dist/formats/tga/CjsTgaFormat.js +26 -19
  224. package/dist/formats/tga/CjsTgaFormat.js.map +1 -1
  225. package/dist/formats/tga/core/helpers.js +7 -22
  226. package/dist/formats/tga/core/helpers.js.map +1 -1
  227. package/dist/formats/wav/CjsWavFormat.js +26 -19
  228. package/dist/formats/wav/CjsWavFormat.js.map +1 -1
  229. package/dist/formats/wav/core/helpers.js +7 -16
  230. package/dist/formats/wav/core/helpers.js.map +1 -1
  231. package/dist/formats/webgl/CjsWebglFormat.js +11 -13
  232. package/dist/formats/webgl/CjsWebglFormat.js.map +1 -1
  233. package/dist/formats/webgl/core/glsl/DxbcGlslEmitter.js +31 -1
  234. package/dist/formats/webgl/core/glsl/DxbcGlslEmitter.js.map +1 -1
  235. package/dist/formats/webgl/core/readGlslEffectContainer.js +8 -8
  236. package/dist/formats/webgl/core/readGlslEffectContainer.js.map +1 -1
  237. package/dist/formats/webgpu/CjsWebgpuFormat.js +11 -5
  238. package/dist/formats/webgpu/CjsWebgpuFormat.js.map +1 -1
  239. package/dist/formats/webm/CjsWebmFormat.js +20 -19
  240. package/dist/formats/webm/CjsWebmFormat.js.map +1 -1
  241. package/dist/formats/webm/core/helpers.js +6 -15
  242. package/dist/formats/webm/core/helpers.js.map +1 -1
  243. package/dist/formats/webp/CjsWebpFormat.js +19 -17
  244. package/dist/formats/webp/CjsWebpFormat.js.map +1 -1
  245. package/dist/formats/webp/core/helpers.js +5 -11
  246. package/dist/formats/webp/core/helpers.js.map +1 -1
  247. package/dist/formats/wem/CjsWemFormat.js +128 -141
  248. package/dist/formats/wem/CjsWemFormat.js.map +1 -1
  249. package/dist/formats/wem/core/helpers.js +1 -114
  250. package/dist/formats/wem/core/helpers.js.map +1 -1
  251. package/dist/formats/wem/core/{resolve.js → probeCodecSupport.js} +11 -18
  252. package/dist/formats/wem/core/probeCodecSupport.js.map +1 -0
  253. package/dist/formats/yaml/CjsYamlFormat.js +20 -5
  254. package/dist/formats/yaml/CjsYamlFormat.js.map +1 -1
  255. package/dist/generated/index.js +2 -0
  256. package/dist/generated/index.js.map +1 -0
  257. package/dist/generated/resources/Tr2RaycastGeometryRes.js +34 -0
  258. package/dist/generated/resources/Tr2RaycastGeometryRes.js.map +1 -0
  259. package/dist/generated/resources/index.js +2 -0
  260. package/dist/generated/resources/index.js.map +1 -0
  261. package/dist/index.js +3 -1
  262. package/dist/index.js.map +1 -1
  263. package/dist/resource/CjsResource.js +134 -0
  264. package/dist/resource/CjsResource.js.map +1 -1
  265. package/dist/resource/ResourceRequirement.js +42 -0
  266. package/dist/resource/ResourceRequirement.js.map +1 -0
  267. package/dist/resource/Tr2LightProfileRes.js +2 -1
  268. package/dist/resource/Tr2LightProfileRes.js.map +1 -1
  269. package/dist/resource/geometry/TriGeometryRes.js +34 -7
  270. package/dist/resource/geometry/TriGeometryRes.js.map +1 -1
  271. package/dist/resource/geometry/granny/Tr2GrannyStateRes.js +184 -7
  272. package/dist/resource/geometry/granny/Tr2GrannyStateRes.js.map +1 -1
  273. package/dist/resource/geometry/granny/TriGrannyRes.js +20 -8
  274. package/dist/resource/geometry/granny/TriGrannyRes.js.map +1 -1
  275. package/dist/resource/index.js +1 -0
  276. package/dist/resource/index.js.map +1 -1
  277. package/dist/resource/resourceBoundary.js +24 -1
  278. package/dist/resource/resourceBoundary.js.map +1 -1
  279. package/dist/resource/shader/Tr2EffectRes.js +2 -1
  280. package/dist/resource/shader/Tr2EffectRes.js.map +1 -1
  281. package/dist/resource/texture/CjsTextureArrayRes.js +2 -1
  282. package/dist/resource/texture/CjsTextureArrayRes.js.map +1 -1
  283. package/dist/resource/texture/Tr2ImageRes.js +2 -1
  284. package/dist/resource/texture/Tr2ImageRes.js.map +1 -1
  285. package/dist/resource/texture/TriTextureRes.js +40 -2
  286. package/dist/resource/texture/TriTextureRes.js.map +1 -1
  287. package/docs/architecture.md +121 -116
  288. package/docs/concepts/format-capabilities.md +90 -0
  289. package/docs/formats/README.md +14 -6
  290. package/docs/formats/fsd.md +104 -0
  291. package/docs/formats/gr2.md +1 -1
  292. package/docs/formats/hlsl/reference/api.md +6 -4
  293. package/docs/formats/provenance.md +18 -0
  294. package/docs/formats/schemabound.md +10 -4
  295. package/docs/formats/static.md +26 -26
  296. package/docs/formats/webgpu/reference/api.md +4 -3
  297. package/docs/reference/classes/core.md +22 -2
  298. package/docs/reference/classes/formats.md +643 -1
  299. package/docs/reference/classes/resources.md +463 -453
  300. package/docs/reference/queues.md +205 -194
  301. package/docs/roadmap.md +14 -18
  302. package/format-notices/fsd/LICENSE +21 -0
  303. package/format-notices/fsd/NOTICE +11 -0
  304. package/package.json +70 -64
  305. package/dist/formats/wem/core/resolve.js.map +0 -1
  306. package/docs/concepts/format-type-resolution.md +0 -79
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolve.js","sources":["../../../../../src/formats/wem/core/resolve.js"],"sourcesContent":["// Content-verified codec resolution for wem media (resolveType seam; see docs/concepts/format-type-resolution.md).\r\n// The fmt tag is the declaration; each candidate codec gets ONE bounded\r\n// structural check against the actual container facts - no audio is decoded:\r\n//\r\n// - wwise-vorbis: the Wwise Vorbis sidecar must exist (vorb chunk or inline\r\n// fmt-0x42 layout) with a positive sample count and data payload;\r\n// - wwise-ptadpcm: the frame layout must satisfy the decoder's own guard\r\n// (blockAlign = frameSize * channels, frameSize >= 6) with block-aligned\r\n// data;\r\n// - pcm / pcm-extensible: 16-bit with self-consistent blockAlign/byteRate\r\n// and sample-aligned data.\r\n//\r\n// The declared codec is validated FIRST; when its check fails (a mislabeled\r\n// tag), the other candidates are tried in order. A 2026-07-19 census of all\r\n// 8,987 embedded wems in EVE build 3435006 found no mislabeled tags, so\r\n// mismatch is the exceptional path - but the check is what makes that a\r\n// verified fact per file rather than a corpus-wide assumption.\r\nimport { inspectWithValues } from \"./helpers.js\";\r\n\r\nconst CANDIDATES = [ \"wwise-vorbis\", \"wwise-ptadpcm\", \"pcm\" ];\r\n\r\nfunction validateVorbis(metadata)\r\n{\r\n if (metadata.codec === \"wwise-vorbis\")\r\n {\r\n return metadata.vorbis !== null && metadata.sampleCount > 0 && metadata.dataBytes > 0;\r\n }\r\n // Mislabeled tag: inspect() only fills `vorbis` when the tag says so, but\r\n // the chunk walk always records a standalone vorb sidecar chunk.\r\n return (metadata.chunks ?? []).some(chunk => chunk.id === \"vorb\") && metadata.dataBytes > 0;\r\n}\r\n\r\nfunction validatePtadpcm(metadata)\r\n{\r\n const channels = metadata.channels;\r\n const frameSize = channels > 0 ? Math.floor(metadata.blockAlign / channels) : 0;\r\n return channels >= 1\r\n && frameSize >= 6\r\n && metadata.blockAlign === frameSize * channels\r\n && metadata.dataBytes >= metadata.blockAlign\r\n && metadata.dataBytes % metadata.blockAlign === 0;\r\n}\r\n\r\nfunction validatePcm(metadata)\r\n{\r\n return metadata.bitsPerSample === 16\r\n && metadata.channels >= 1\r\n && metadata.blockAlign === metadata.channels * 2\r\n && metadata.byteRate === metadata.sampleRate * metadata.blockAlign\r\n && metadata.dataBytes > 0\r\n && metadata.dataBytes % metadata.blockAlign === 0;\r\n}\r\n\r\nfunction validate(candidate, metadata)\r\n{\r\n if (candidate === \"wwise-vorbis\") return validateVorbis(metadata);\r\n if (candidate === \"wwise-ptadpcm\") return validatePtadpcm(metadata);\r\n return validatePcm(metadata);\r\n}\r\n\r\nfunction candidateFor(codec)\r\n{\r\n if (codec === \"pcm-extensible\") return \"pcm\";\r\n return CANDIDATES.includes(codec) ? codec : null;\r\n}\r\n\r\nfunction emitFor(candidate)\r\n{\r\n if (candidate === \"wwise-vorbis\") return \"ogg\";\r\n if (candidate === \"wwise-ptadpcm\" || candidate === \"pcm\") return \"pcm\";\r\n return \"raw\";\r\n}\r\n\r\n/**\r\n * Resolve a wem's actual decode route from content, not just its fmt tag.\r\n *\r\n * @param {*} input Wem bytes.\r\n * @param {object} values Normalized read values.\r\n * @returns {object} Probe-shaped report: verified variant flags, `preferred`\r\n * route, and declared/resolved/mismatch evidence in `metadata`.\r\n */\r\nexport function resolveTypeWithValues(input, values)\r\n{\r\n const metadata = inspectWithValues(input, values);\r\n const declared = metadata.codec || null;\r\n let resolved = null;\r\n const declaredCandidate = candidateFor(declared);\r\n if (declaredCandidate && validate(declaredCandidate, metadata))\r\n {\r\n resolved = declaredCandidate;\r\n }\r\n else\r\n {\r\n for (const candidate of CANDIDATES)\r\n {\r\n if (candidate === declaredCandidate) continue;\r\n if (validate(candidate, metadata))\r\n {\r\n resolved = candidate;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n const preferred = emitFor(resolved);\r\n const mismatch = resolved !== null && declaredCandidate !== resolved;\r\n return {\r\n format: \"wem\",\r\n source: values.source || \"buffer\",\r\n supported: metadata.codec ? \"partial\" : \"none\",\r\n confidence: resolved ? 1 : 0,\r\n verified: true,\r\n preferred,\r\n reason: resolved\r\n ? (mismatch\r\n ? `Declared codec ${declared} failed content validation; ${resolved} validated instead.`\r\n : `Declared codec validated by content.`)\r\n : `No decodable codec validated against the content (declared ${declared ?? \"none\"}).`,\r\n metadata: { ...metadata, declared, resolved, mismatch },\r\n variants: [\r\n {\r\n kind: \"raw\",\r\n payloadType: \"raw\",\r\n codec: declared || \"unknown\",\r\n mimeType: \"application/octet-stream\",\r\n supported: true,\r\n containerOnly: true,\r\n isDecoded: false,\r\n pcmDecodeSupported: false\r\n },\r\n {\r\n kind: \"ogg\",\r\n payloadType: \"raw\",\r\n codec: \"vorbis\",\r\n mimeType: \"audio/ogg\",\r\n supported: resolved === \"wwise-vorbis\",\r\n containerOnly: true,\r\n isDecoded: false\r\n },\r\n {\r\n kind: \"pcm\",\r\n payloadType: \"pcm\",\r\n codec: \"float32\",\r\n supported: resolved === \"wwise-ptadpcm\" || resolved === \"pcm\",\r\n isDecoded: true,\r\n pcmDecodeSupported: resolved === \"wwise-ptadpcm\" || resolved === \"pcm\"\r\n }\r\n ]\r\n };\r\n}\r\n"],"names":["CANDIDATES","validateVorbis","metadata","codec","vorbis","sampleCount","dataBytes","chunks","some","chunk","id","validatePtadpcm","channels","frameSize","Math","floor","blockAlign","validatePcm","bitsPerSample","byteRate","sampleRate","validate","candidate","candidateFor","includes","emitFor","resolveTypeWithValues","input","values","inspectWithValues","declared","resolved","declaredCandidate","preferred","mismatch","format","source","supported","confidence","verified","reason","variants","kind","payloadType","mimeType","containerOnly","isDecoded","pcmDecodeSupported"],"mappings":"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"}
@@ -1,79 +0,0 @@
1
- # Format type resolution
2
-
3
- Status: Evolving
4
- Scope: `CjsFormat.resolveType`, `CjsResourceProbe`, and the formats that override them
5
- Audience: Anyone adding a format, choosing a decode route, or debugging a mislabeled container
6
- Summary: Separates what a container claims about itself from what a reader has evidence it can decode, and states how a verified resolution may and may not change a route.
7
-
8
- ## Claims versus evidence
9
-
10
- A container's header is a claim. `inspect()` and `isSupported()` report that
11
- claim: they read the declaration and answer whether this format recognizes it.
12
- That is the right answer almost always, and it is cheap.
13
-
14
- `resolveType()` answers a different question — what the reader has *evidence*
15
- it can actually decode. It performs one bounded asynchronous content check: a
16
- magic number, a first frame or block, a setup header. It never decodes the
17
- payload.
18
-
19
- The distinction matters because a mislabeled container is indistinguishable
20
- from a correct one until something looks at the content. Routing on the
21
- declaration alone turns that into a decode failure much later, somewhere that
22
- has forgotten what the file claimed to be.
23
-
24
- ## The contract
25
-
26
- `resolveType()` returns a `CjsResourceProbe`. The probe carries a persisted
27
- `verified` boolean, and its `metadata` carries the evidence: what was
28
- declared, what resolved, and whether those disagreed. `preferred` names the
29
- resolved decode route.
30
-
31
- Three rules govern what a probe may do:
32
-
33
- - **A caller-forced emit always wins.** Resolution informs a default; it never
34
- overrides an explicit request.
35
- - **An unverified result never changes a route.** The base implementation
36
- delegates to `isSupported()` and sets `verified` to false, so a format
37
- without an override costs nothing and cannot silently redirect anything.
38
- - **Opting in is per format.** Overriding is a decision made by a format that
39
- has a cheap, meaningful content check — not a requirement on all of them.
40
-
41
- That third rule is why this is a seam rather than a pipeline stage. The
42
- zero-extra-work path is the default, and it stays free.
43
-
44
- ## What a check may look like: wem
45
-
46
- `CjsWemFormat` overrides it, and its shape is the model. The `fmt` tag is the
47
- declaration. Each candidate codec gets one bounded **structural** check
48
- against container facts — a Wwise Vorbis sidecar present with a positive
49
- sample count; a PTADPCM frame layout satisfying the decoder's own guard with
50
- block-aligned data; PCM with self-consistent block alignment and byte rate.
51
- No audio is decoded in any of them.
52
-
53
- The declared codec is validated first. Only when its check fails are the other
54
- candidates tried, in order. The resolved codec maps to an emit — Wwise Vorbis
55
- to `ogg`, PTADPCM and PCM to `pcm`, anything unresolved to `raw`.
56
-
57
- A census of all 8,987 embedded wems in one EVE build found no mislabeled tag.
58
- That is the point rather than a reason to drop the check: it converts a
59
- corpus-wide assumption into a fact verified per file, and the cost of holding
60
- that guarantee is one structural read.
61
-
62
- ## Current limits
63
-
64
- Resolution is available to callers but is **not yet wired into the resource
65
- read path**. `CjsResMan` still selects a format by extension using the
66
- synchronous `isSupported()` tie-break, so a mislabeled file routed through
67
- ordinary resource acquisition is not corrected today. Consumers that need the
68
- verified answer call `resolveType()` themselves.
69
-
70
- Wem exposes `raw`, `ogg`, and `pcm` as distinct outputs, so a caller still
71
- chooses a decoder. A single resolve-then-route output that hides the codec
72
- choice is [planned](../roadmap.md), not present.
73
-
74
- ## Related documentation
75
-
76
- - [Resource lifecycle](resource-lifecycle.md) — how a resource is acquired,
77
- prepared, and published.
78
- - [Wwise formats](../formats/wwise.md) — the wem container these checks read.
79
- - [Roadmap](../roadmap.md) — the unbuilt read-path integration.