@carbonenginejs/runtime-resource 0.16.0 → 0.18.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 (54) hide show
  1. package/dist/format/CjsFormat.js +84 -83
  2. package/dist/format/CjsFormat.js.map +1 -1
  3. package/dist/format/CjsResourceProbe.js +87 -86
  4. package/dist/format/CjsResourceProbe.js.map +1 -1
  5. package/dist/format/carbonEffect/backendEngineId.js +98 -0
  6. package/dist/format/carbonEffect/backendEngineId.js.map +1 -0
  7. package/dist/format/carbonEffect/carbonEffectBackendBlock.js +24 -23
  8. package/dist/format/carbonEffect/carbonEffectBackendBlock.js.map +1 -1
  9. package/dist/format/carbonEffect/carbonEffectResourceTransform.js +1 -1
  10. package/dist/format/carbonEffect/carbonEffectResourceTransform.js.map +1 -1
  11. package/dist/format/effect/effectPermutationGraph.js +46 -29
  12. package/dist/format/effect/effectPermutationGraph.js.map +1 -1
  13. package/dist/format/index.js +1 -1
  14. package/dist/formats/hlsl/core/detailMapFamily.js +1 -1
  15. package/dist/formats/hlsl/core/detailMapFamily.js.map +1 -1
  16. package/dist/formats/hlsl/core/localLightFamily.js +1 -1
  17. package/dist/formats/hlsl/core/localLightFamily.js.map +1 -1
  18. package/dist/formats/png/core/helpers.js +27 -8
  19. package/dist/formats/png/core/helpers.js.map +1 -1
  20. package/dist/formats/webgl/core/effectPackage.js +143 -56
  21. package/dist/formats/webgl/core/effectPackage.js.map +1 -1
  22. package/dist/formats/webgl/core/glsl/DxbcGlslEmitter.js +799 -456
  23. package/dist/formats/webgl/core/glsl/DxbcGlslEmitter.js.map +1 -1
  24. package/dist/formats/webgl/core/glslBackendBlock.js +74 -30
  25. package/dist/formats/webgl/core/glslBackendBlock.js.map +1 -1
  26. package/dist/formats/webgl/core/glslBackendBodySet.js +0 -1
  27. package/dist/formats/webgl/core/glslBackendBodySet.js.map +1 -1
  28. package/dist/formats/webgl/core/helpers.js +53 -53
  29. package/dist/formats/webgl/core/helpers.js.map +1 -1
  30. package/dist/formats/webgl/core/readGlslEffectContainer.js +82 -67
  31. package/dist/formats/webgl/core/readGlslEffectContainer.js.map +1 -1
  32. package/dist/formats/webgpu/CjsWebgpuFormat.js +161 -163
  33. package/dist/formats/webgpu/CjsWebgpuFormat.js.map +1 -1
  34. package/dist/formats/webgpu/core/carbonWebgpu/CarbonWebgpuContainer.js +10 -1
  35. package/dist/formats/webgpu/core/carbonWebgpu/CarbonWebgpuContainer.js.map +1 -1
  36. package/dist/formats/webgpu/core/effectBackendBodySet.js +21 -22
  37. package/dist/formats/webgpu/core/effectBackendBodySet.js.map +1 -1
  38. package/dist/formats/webgpu/core/helpers.js +111 -99
  39. package/dist/formats/webgpu/core/helpers.js.map +1 -1
  40. package/dist/formats/webgpu/core/packageEffect.js +30 -32
  41. package/dist/formats/webgpu/core/packageEffect.js.map +1 -1
  42. package/dist/formats/wem/CjsWemFormat.js +121 -121
  43. package/dist/formats/wem/CjsWemFormat.js.map +1 -1
  44. package/dist/formats/wem/core/resolve.js +8 -8
  45. package/dist/formats/wem/core/resolve.js.map +1 -1
  46. package/dist/resource/shader/reflection/Tr2EffectStageInput.js +102 -60
  47. package/dist/resource/shader/reflection/Tr2EffectStageInput.js.map +1 -1
  48. package/docs/concepts/format-type-resolution.md +79 -0
  49. package/docs/formats/README.md +11 -0
  50. package/docs/formats/webgpu/formats/carbon-webgpu.md +11 -4
  51. package/docs/formats/webgpu/reference/api.md +7 -6
  52. package/docs/formats/wwise.md +25 -0
  53. package/docs/roadmap.md +19 -0
  54. package/package.json +2 -2
package/docs/roadmap.md CHANGED
@@ -130,6 +130,25 @@ playback or decoded-cache lifetime would unnecessarily retain both
130
130
  representations. Runtime-lifetime and group retention remain caller policy
131
131
  built from explicit tokens, not an implicit default on every loaded resource.
132
132
 
133
+ ## Content-verified routing in the read path
134
+
135
+ [Type resolution](concepts/format-type-resolution.md) exists as a per-format
136
+ seam, but nothing in the resource read path consults it. `CjsResMan` still
137
+ picks a format by extension through the synchronous support check, so a
138
+ mislabeled container acquired the ordinary way is not corrected — only a caller
139
+ that invokes `resolveType()` directly gets the verified answer.
140
+
141
+ Wiring it in means awaiting a resolution between obtaining bytes and reading
142
+ them, letting the resolved route supply the default emit while a caller-forced
143
+ emit still wins, and deciding whether an extension tie-break may become
144
+ asynchronous. The cost question is the real one: the read path must not pay for
145
+ a content check on every resource merely because some format could opt in.
146
+
147
+ Alongside it, `CjsWemFormat` could expose a single resolve-then-route output so
148
+ a caller stops choosing between `raw`, `ogg`, and `pcm` for media whose codec
149
+ the reader has already established. Today all three are distinct declared
150
+ outputs.
151
+
133
152
  ## Open design questions
134
153
 
135
154
  - Should `Unload()` drop only adapter payloads by default, or CPU payloads
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@carbonenginejs/runtime-resource",
3
- "version": "0.16.0",
3
+ "version": "0.18.0",
4
4
  "description": "CarbonEngineJS resource lifecycle, cache, source, and object loading contracts.",
5
5
  "type": "module",
6
6
  "exports": {
@@ -52,7 +52,7 @@
52
52
  "node": ">=18"
53
53
  },
54
54
  "dependencies": {
55
- "@carbonenginejs/runtime-utils": "^0.1.5",
55
+ "@carbonenginejs/runtime-utils": "^0.1.6",
56
56
  "meshoptimizer": "^1.2.0",
57
57
  "yaml": "^2.4.0"
58
58
  },