@carbonenginejs/runtime-resource 0.10.0 → 0.11.1

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 (254) hide show
  1. package/dist/format/effect/effectPermutationGraph.js +257 -0
  2. package/dist/format/effect/effectPermutationGraph.js.map +1 -0
  3. package/dist/format/effect/effectReflectionPackage.js +636 -0
  4. package/dist/format/effect/effectReflectionPackage.js.map +1 -0
  5. package/dist/format/effect/sha256.js +114 -0
  6. package/dist/format/effect/sha256.js.map +1 -0
  7. package/dist/formats/dxbc/CjsDxbcFormat.js +142 -0
  8. package/dist/formats/dxbc/CjsDxbcFormat.js.map +1 -0
  9. package/dist/formats/dxbc/core/DxbcReader.js +266 -0
  10. package/dist/formats/dxbc/core/DxbcReader.js.map +1 -0
  11. package/dist/formats/dxbc/core/container.js +169 -0
  12. package/dist/formats/dxbc/core/container.js.map +1 -0
  13. package/dist/formats/dxbc/core/decoder.js +789 -0
  14. package/dist/formats/dxbc/core/decoder.js.map +1 -0
  15. package/dist/formats/dxbc/core/errors.js +19 -0
  16. package/dist/formats/dxbc/core/errors.js.map +1 -0
  17. package/dist/formats/dxbc/core/helpers.js +220 -0
  18. package/dist/formats/dxbc/core/helpers.js.map +1 -0
  19. package/dist/formats/dxbc/core/opcodes.js +45 -0
  20. package/dist/formats/dxbc/core/opcodes.js.map +1 -0
  21. package/dist/formats/dxbc/core/program.js +91 -0
  22. package/dist/formats/dxbc/core/program.js.map +1 -0
  23. package/dist/formats/dxbc/core/signature.js +172 -0
  24. package/dist/formats/dxbc/core/signature.js.map +1 -0
  25. package/dist/formats/dxbc/index.js +2 -0
  26. package/dist/formats/dxbc/index.js.map +1 -0
  27. package/dist/formats/hlsl/CjsHlslFormat.js +254 -0
  28. package/dist/formats/hlsl/CjsHlslFormat.js.map +1 -0
  29. package/dist/formats/hlsl/core/HlslBinaryUtils.js +15 -0
  30. package/dist/formats/hlsl/core/HlslBinaryUtils.js.map +1 -0
  31. package/dist/formats/hlsl/core/HlslEffectReadError.js +19 -0
  32. package/dist/formats/hlsl/core/HlslEffectReadError.js.map +1 -0
  33. package/dist/formats/hlsl/core/HlslEffectStateManager.js +130 -0
  34. package/dist/formats/hlsl/core/HlslEffectStateManager.js.map +1 -0
  35. package/dist/formats/hlsl/core/HlslReader.js +266 -0
  36. package/dist/formats/hlsl/core/HlslReader.js.map +1 -0
  37. package/dist/formats/hlsl/core/HlslRenderStateSetup.js +37 -0
  38. package/dist/formats/hlsl/core/HlslRenderStateSetup.js.map +1 -0
  39. package/dist/formats/hlsl/core/HlslResourceSetDescription.js +94 -0
  40. package/dist/formats/hlsl/core/HlslResourceSetDescription.js.map +1 -0
  41. package/dist/formats/hlsl/core/HlslShaderBytecode.js +44 -0
  42. package/dist/formats/hlsl/core/HlslShaderBytecode.js.map +1 -0
  43. package/dist/formats/hlsl/core/analysis.js +51 -0
  44. package/dist/formats/hlsl/core/analysis.js.map +1 -0
  45. package/dist/formats/hlsl/core/helpers.js +270 -0
  46. package/dist/formats/hlsl/core/helpers.js.map +1 -0
  47. package/dist/formats/hlsl/core/json.js +284 -0
  48. package/dist/formats/hlsl/core/json.js.map +1 -0
  49. package/dist/formats/hlsl/core/metadata.js +327 -0
  50. package/dist/formats/hlsl/core/metadata.js.map +1 -0
  51. package/dist/formats/hlsl/core/portableReflection.js +848 -0
  52. package/dist/formats/hlsl/core/portableReflection.js.map +1 -0
  53. package/dist/formats/hlsl/core/render-states.js +280 -0
  54. package/dist/formats/hlsl/core/render-states.js.map +1 -0
  55. package/dist/formats/hlsl/core/tr2/HlslRenderContextEnum.js +43 -0
  56. package/dist/formats/hlsl/core/tr2/HlslRenderContextEnum.js.map +1 -0
  57. package/dist/formats/hlsl/core/tr2/resources/HlslEffectRes.js +294 -0
  58. package/dist/formats/hlsl/core/tr2/resources/HlslEffectRes.js.map +1 -0
  59. package/dist/formats/hlsl/core/tr2/resources/HlslShaderPermutation.js +33 -0
  60. package/dist/formats/hlsl/core/tr2/resources/HlslShaderPermutation.js.map +1 -0
  61. package/dist/formats/hlsl/core/tr2/shader/HlslEffectBindingManifest.js +416 -0
  62. package/dist/formats/hlsl/core/tr2/shader/HlslEffectBindingManifest.js.map +1 -0
  63. package/dist/formats/hlsl/core/tr2/shader/HlslEffectConstant.js +40 -0
  64. package/dist/formats/hlsl/core/tr2/shader/HlslEffectConstant.js.map +1 -0
  65. package/dist/formats/hlsl/core/tr2/shader/HlslEffectDescription.js +742 -0
  66. package/dist/formats/hlsl/core/tr2/shader/HlslEffectDescription.js.map +1 -0
  67. package/dist/formats/hlsl/core/tr2/shader/HlslEffectLibrary.js +52 -0
  68. package/dist/formats/hlsl/core/tr2/shader/HlslEffectLibrary.js.map +1 -0
  69. package/dist/formats/hlsl/core/tr2/shader/HlslEffectParameterAnnotation.js +38 -0
  70. package/dist/formats/hlsl/core/tr2/shader/HlslEffectParameterAnnotation.js.map +1 -0
  71. package/dist/formats/hlsl/core/tr2/shader/HlslEffectResource.js +50 -0
  72. package/dist/formats/hlsl/core/tr2/shader/HlslEffectResource.js.map +1 -0
  73. package/dist/formats/hlsl/core/tr2/shader/HlslEffectStageInput.js +86 -0
  74. package/dist/formats/hlsl/core/tr2/shader/HlslEffectStageInput.js.map +1 -0
  75. package/dist/formats/hlsl/core/tr2/shader/HlslEffectTechnique.js +31 -0
  76. package/dist/formats/hlsl/core/tr2/shader/HlslEffectTechnique.js.map +1 -0
  77. package/dist/formats/hlsl/core/tr2/shader/HlslPass.js +42 -0
  78. package/dist/formats/hlsl/core/tr2/shader/HlslPass.js.map +1 -0
  79. package/dist/formats/hlsl/core/tr2/shader/HlslSamplerDescription.js +55 -0
  80. package/dist/formats/hlsl/core/tr2/shader/HlslSamplerDescription.js.map +1 -0
  81. package/dist/formats/hlsl/core/tr2/shader/HlslSamplerSetup.js +29 -0
  82. package/dist/formats/hlsl/core/tr2/shader/HlslSamplerSetup.js.map +1 -0
  83. package/dist/formats/hlsl/core/tr2/shader/HlslShader.js +220 -0
  84. package/dist/formats/hlsl/core/tr2/shader/HlslShader.js.map +1 -0
  85. package/dist/formats/hlsl/core/tr2/shader/HlslShaderOption.js +30 -0
  86. package/dist/formats/hlsl/core/tr2/shader/HlslShaderOption.js.map +1 -0
  87. package/dist/formats/hlsl/index.js +2 -0
  88. package/dist/formats/hlsl/index.js.map +1 -0
  89. package/dist/formats/hlsl/portable.js +2 -0
  90. package/dist/formats/hlsl/portable.js.map +1 -0
  91. package/dist/formats/index.js +4 -0
  92. package/dist/formats/index.js.map +1 -1
  93. package/dist/formats/webgl/CjsWebglFormat.js +221 -0
  94. package/dist/formats/webgl/CjsWebglFormat.js.map +1 -0
  95. package/dist/formats/webgl/core/cewg/CewgPackage.js +339 -0
  96. package/dist/formats/webgl/core/cewg/CewgPackage.js.map +1 -0
  97. package/dist/formats/webgl/core/cewg/CewgPackageBuilder.js +104 -0
  98. package/dist/formats/webgl/core/cewg/CewgPackageBuilder.js.map +1 -0
  99. package/dist/formats/webgl/core/cewg/binary.js +101 -0
  100. package/dist/formats/webgl/core/cewg/binary.js.map +1 -0
  101. package/dist/formats/webgl/core/cewgCompleteness.js +81 -0
  102. package/dist/formats/webgl/core/cewgCompleteness.js.map +1 -0
  103. package/dist/formats/webgl/core/effectPackage.js +789 -0
  104. package/dist/formats/webgl/core/effectPackage.js.map +1 -0
  105. package/dist/formats/webgl/core/effectPackageValidation.js +331 -0
  106. package/dist/formats/webgl/core/effectPackageValidation.js.map +1 -0
  107. package/dist/formats/webgl/core/errors.js +27 -0
  108. package/dist/formats/webgl/core/errors.js.map +1 -0
  109. package/dist/formats/webgl/core/glsl/DxbcGlslEmitter.js +2678 -0
  110. package/dist/formats/webgl/core/glsl/DxbcGlslEmitter.js.map +1 -0
  111. package/dist/formats/webgl/core/glsl/DxbcGlslHelpers.js +89 -0
  112. package/dist/formats/webgl/core/glsl/DxbcGlslHelpers.js.map +1 -0
  113. package/dist/formats/webgl/core/glsl/DxbcGlslOperandFormatter.js +428 -0
  114. package/dist/formats/webgl/core/glsl/DxbcGlslOperandFormatter.js.map +1 -0
  115. package/dist/formats/webgl/core/helpers.js +306 -0
  116. package/dist/formats/webgl/core/helpers.js.map +1 -0
  117. package/dist/formats/webgl/index.js +2 -0
  118. package/dist/formats/webgl/index.js.map +1 -0
  119. package/dist/formats/webgpu/CjsWebgpuFormat.js +376 -0
  120. package/dist/formats/webgpu/CjsWebgpuFormat.js.map +1 -0
  121. package/dist/formats/webgpu/core/cewgpu/CewgpuPackage.js +415 -0
  122. package/dist/formats/webgpu/core/cewgpu/CewgpuPackage.js.map +1 -0
  123. package/dist/formats/webgpu/core/cewgpu/CewgpuPackageBuilder.js +100 -0
  124. package/dist/formats/webgpu/core/cewgpu/CewgpuPackageBuilder.js.map +1 -0
  125. package/dist/formats/webgpu/core/cewgpu/binary.js +93 -0
  126. package/dist/formats/webgpu/core/cewgpu/binary.js.map +1 -0
  127. package/dist/formats/webgpu/core/cewgpu/tags.js +17 -0
  128. package/dist/formats/webgpu/core/cewgpu/tags.js.map +1 -0
  129. package/dist/formats/webgpu/core/effectAnalysis.js +82 -0
  130. package/dist/formats/webgpu/core/effectAnalysis.js.map +1 -0
  131. package/dist/formats/webgpu/core/effectBackendBodySet.js +305 -0
  132. package/dist/formats/webgpu/core/effectBackendBodySet.js.map +1 -0
  133. package/dist/formats/webgpu/core/effectPackageValidation.js +1078 -0
  134. package/dist/formats/webgpu/core/effectPackageValidation.js.map +1 -0
  135. package/dist/formats/webgpu/core/errors.js +20 -0
  136. package/dist/formats/webgpu/core/errors.js.map +1 -0
  137. package/dist/formats/webgpu/core/helpers.js +448 -0
  138. package/dist/formats/webgpu/core/helpers.js.map +1 -0
  139. package/dist/formats/webgpu/core/ir/analyzeRegisterValues.js +223 -0
  140. package/dist/formats/webgpu/core/ir/analyzeRegisterValues.js.map +1 -0
  141. package/dist/formats/webgpu/core/ir/buildControlFlow.js +220 -0
  142. package/dist/formats/webgpu/core/ir/buildControlFlow.js.map +1 -0
  143. package/dist/formats/webgpu/core/ir/indexableTemps.js +137 -0
  144. package/dist/formats/webgpu/core/ir/indexableTemps.js.map +1 -0
  145. package/dist/formats/webgpu/core/ir/inferValueTypes.js +454 -0
  146. package/dist/formats/webgpu/core/ir/inferValueTypes.js.map +1 -0
  147. package/dist/formats/webgpu/core/ir/lowerDxbcToIr.js +494 -0
  148. package/dist/formats/webgpu/core/ir/lowerDxbcToIr.js.map +1 -0
  149. package/dist/formats/webgpu/core/ir/resolveRegisterFlow.js +177 -0
  150. package/dist/formats/webgpu/core/ir/resolveRegisterFlow.js.map +1 -0
  151. package/dist/formats/webgpu/core/ir/sourceLanes.js +61 -0
  152. package/dist/formats/webgpu/core/ir/sourceLanes.js.map +1 -0
  153. package/dist/formats/webgpu/core/packageEffect.js +300 -0
  154. package/dist/formats/webgpu/core/packageEffect.js.map +1 -0
  155. package/dist/formats/webgpu/core/packageEffectSelection.js +164 -0
  156. package/dist/formats/webgpu/core/packageEffectSelection.js.map +1 -0
  157. package/dist/formats/webgpu/core/packageMetadata.js +8 -0
  158. package/dist/formats/webgpu/core/packageMetadata.js.map +1 -0
  159. package/dist/formats/webgpu/core/schema.js +4 -0
  160. package/dist/formats/webgpu/core/schema.js.map +1 -0
  161. package/dist/formats/webgpu/core/wgsl/buildResourceTransformPlan.js +275 -0
  162. package/dist/formats/webgpu/core/wgsl/buildResourceTransformPlan.js.map +1 -0
  163. package/dist/formats/webgpu/core/wgsl/buildWgslBindingPlan.js +182 -0
  164. package/dist/formats/webgpu/core/wgsl/buildWgslBindingPlan.js.map +1 -0
  165. package/dist/formats/webgpu/core/wgsl/buildWgslSet.js +324 -0
  166. package/dist/formats/webgpu/core/wgsl/buildWgslSet.js.map +1 -0
  167. package/dist/formats/webgpu/core/wgsl/emitWgsl.js +356 -0
  168. package/dist/formats/webgpu/core/wgsl/emitWgsl.js.map +1 -0
  169. package/dist/formats/webgpu/core/wgsl/hoistEscapingValues.js +77 -0
  170. package/dist/formats/webgpu/core/wgsl/hoistEscapingValues.js.map +1 -0
  171. package/dist/formats/webgpu/core/wgsl/lowerBindingLayout.js +451 -0
  172. package/dist/formats/webgpu/core/wgsl/lowerBindingLayout.js.map +1 -0
  173. package/dist/formats/webgpu/core/wgsl/lowerComputeProgram.js +754 -0
  174. package/dist/formats/webgpu/core/wgsl/lowerComputeProgram.js.map +1 -0
  175. package/dist/formats/webgpu/core/wgsl/lowerCreateHistogramsComputeProgram.js +457 -0
  176. package/dist/formats/webgpu/core/wgsl/lowerCreateHistogramsComputeProgram.js.map +1 -0
  177. package/dist/formats/webgpu/core/wgsl/lowerFragmentProgram.js +1572 -0
  178. package/dist/formats/webgpu/core/wgsl/lowerFragmentProgram.js.map +1 -0
  179. package/dist/formats/webgpu/core/wgsl/lowerMergeHistogramsComputeProgram.js +659 -0
  180. package/dist/formats/webgpu/core/wgsl/lowerMergeHistogramsComputeProgram.js.map +1 -0
  181. package/dist/formats/webgpu/core/wgsl/lowerParticleClearComputePrograms.js +734 -0
  182. package/dist/formats/webgpu/core/wgsl/lowerParticleClearComputePrograms.js.map +1 -0
  183. package/dist/formats/webgpu/core/wgsl/lowerParticleEmitComputeProgram.js +583 -0
  184. package/dist/formats/webgpu/core/wgsl/lowerParticleEmitComputeProgram.js.map +1 -0
  185. package/dist/formats/webgpu/core/wgsl/lowerSkinVerticesComputeProgram.js +621 -0
  186. package/dist/formats/webgpu/core/wgsl/lowerSkinVerticesComputeProgram.js.map +1 -0
  187. package/dist/formats/webgpu/core/wgsl/lowerSortComputeProgram.js +824 -0
  188. package/dist/formats/webgpu/core/wgsl/lowerSortComputeProgram.js.map +1 -0
  189. package/dist/formats/webgpu/core/wgsl/lowerSortInnerComputeProgram.js +697 -0
  190. package/dist/formats/webgpu/core/wgsl/lowerSortInnerComputeProgram.js.map +1 -0
  191. package/dist/formats/webgpu/core/wgsl/lowerSortStepComputeProgram.js +559 -0
  192. package/dist/formats/webgpu/core/wgsl/lowerSortStepComputeProgram.js.map +1 -0
  193. package/dist/formats/webgpu/core/wgsl/lowerVertexProgram.js +1328 -0
  194. package/dist/formats/webgpu/core/wgsl/lowerVertexProgram.js.map +1 -0
  195. package/dist/formats/webgpu/core/wgsl/particleEmitSemanticDigest.js +110 -0
  196. package/dist/formats/webgpu/core/wgsl/particleEmitSemanticDigest.js.map +1 -0
  197. package/dist/formats/webgpu/core/wgsl/precisionControls.js +55 -0
  198. package/dist/formats/webgpu/core/wgsl/precisionControls.js.map +1 -0
  199. package/dist/formats/webgpu/core/wgsl/selectionPlans.js +758 -0
  200. package/dist/formats/webgpu/core/wgsl/selectionPlans.js.map +1 -0
  201. package/dist/formats/webgpu/core/wgsl/uniformity.js +78 -0
  202. package/dist/formats/webgpu/core/wgsl/uniformity.js.map +1 -0
  203. package/dist/formats/webgpu/core/wgsl/validateExactComputeIr.js +196 -0
  204. package/dist/formats/webgpu/core/wgsl/validateExactComputeIr.js.map +1 -0
  205. package/dist/formats/webgpu/core/wgsl/validateHandleOperand.js +37 -0
  206. package/dist/formats/webgpu/core/wgsl/validateHandleOperand.js.map +1 -0
  207. package/dist/formats/webgpu/index.js +2 -0
  208. package/dist/formats/webgpu/index.js.map +1 -0
  209. package/dist/resource/shader/Tr2EffectRes.js +159 -150
  210. package/dist/resource/shader/Tr2EffectRes.js.map +1 -1
  211. package/dist/resource/shader/Tr2MaterialArea.js +23 -28
  212. package/dist/resource/shader/Tr2MaterialArea.js.map +1 -1
  213. package/dist/resource/shader/Tr2MaterialMesh.js +21 -27
  214. package/dist/resource/shader/Tr2MaterialMesh.js.map +1 -1
  215. package/dist/resource/shader/Tr2MaterialRes.js +24 -29
  216. package/dist/resource/shader/Tr2MaterialRes.js.map +1 -1
  217. package/dist/resource/shader/Tr2Shader.js +45 -39
  218. package/dist/resource/shader/Tr2Shader.js.map +1 -1
  219. package/dist/resource/shader/Tr2ShaderPermutation.js +30 -32
  220. package/dist/resource/shader/Tr2ShaderPermutation.js.map +1 -1
  221. package/dist/resource/shader/reflection/Tr2EffectConstant.js +113 -78
  222. package/dist/resource/shader/reflection/Tr2EffectConstant.js.map +1 -1
  223. package/dist/resource/shader/reflection/Tr2EffectDefine.js +17 -23
  224. package/dist/resource/shader/reflection/Tr2EffectDefine.js.map +1 -1
  225. package/dist/resource/shader/reflection/Tr2EffectDescription.js +23 -29
  226. package/dist/resource/shader/reflection/Tr2EffectDescription.js.map +1 -1
  227. package/dist/resource/shader/reflection/Tr2EffectLibrary.js +44 -40
  228. package/dist/resource/shader/reflection/Tr2EffectLibrary.js.map +1 -1
  229. package/dist/resource/shader/reflection/Tr2EffectParameterAnnotation.js +82 -86
  230. package/dist/resource/shader/reflection/Tr2EffectParameterAnnotation.js.map +1 -1
  231. package/dist/resource/shader/reflection/Tr2EffectResource.js +55 -61
  232. package/dist/resource/shader/reflection/Tr2EffectResource.js.map +1 -1
  233. package/dist/resource/shader/reflection/Tr2EffectStageInput.js +49 -45
  234. package/dist/resource/shader/reflection/Tr2EffectStageInput.js.map +1 -1
  235. package/dist/resource/shader/reflection/Tr2EffectTechnique.js +25 -30
  236. package/dist/resource/shader/reflection/Tr2EffectTechnique.js.map +1 -1
  237. package/dist/resource/shader/reflection/Tr2Pass.js +30 -32
  238. package/dist/resource/shader/reflection/Tr2Pass.js.map +1 -1
  239. package/dist/resource/shader/sampler/Tr2SamplerSetup.js +21 -26
  240. package/dist/resource/shader/sampler/Tr2SamplerSetup.js.map +1 -1
  241. package/docs/formats/README.md +4 -0
  242. package/docs/formats/provenance.md +11 -3
  243. package/docs/reference/classes/formats.md +440 -0
  244. package/format-notices/dxbc/LICENSE +21 -0
  245. package/format-notices/dxbc/NOTICE +20 -0
  246. package/format-notices/hlsl/LICENSE +21 -0
  247. package/format-notices/hlsl/NOTICE +25 -0
  248. package/format-notices/webgl/LICENSE +21 -0
  249. package/format-notices/webgl/NOTICE +35 -0
  250. package/format-notices/webgpu/LICENSE +21 -0
  251. package/format-notices/webgpu/NOTICE +31 -0
  252. package/package.json +6 -1
  253. package/dist/resource/shader/portableValidation.js +0 -461
  254. package/dist/resource/shader/portableValidation.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Tr2EffectLibrary.js","sources":["../../../../../src/resource/shader/reflection/Tr2EffectLibrary.js"],"sourcesContent":["// Source: trinity/trinity/Shader/Tr2EffectDescription.h\nimport { impl, type } from \"@carbonenginejs/runtime-utils/schema\";\nimport { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\nimport {\n isArray,\n isPlainObject,\n isUint32\n} from \"@carbonenginejs/runtime-utils/is\";\nimport { clonePortableSourceProgram } from \"../portable.js\";\nimport { Tr2EffectStageInput } from \"./Tr2EffectStageInput.js\";\n\n/** Reflected shader-library metadata. */\n@type.define({ className: \"Tr2EffectLibrary\", family: \"shader\" })\nexport class Tr2EffectLibrary extends CjsModel\n{\n\n /** payloadSize (uint32_t) */\n @type.uint32\n payloadSize = 0;\n\n /** libraryHandle (uint32_t) */\n @type.uint32\n libraryHandle = 0;\n\n /** rayGenName (BlueSharedStringW) */\n @type.string\n rayGenName = \"\";\n\n /** missName (BlueSharedStringW) */\n @type.string\n missName = \"\";\n\n /** closestHitName (BlueSharedStringW) */\n @type.string\n closestHitName = \"\";\n\n /** anyHitName (BlueSharedStringW) */\n @type.string\n anyHitName = \"\";\n\n /** intersectionName (BlueSharedStringW) */\n @type.string\n intersectionName = \"\";\n\n /** hitGroupName (BlueSharedStringW) */\n @type.string\n hitGroupName = \"\";\n\n /** globalInput (Tr2EffectStageInput) */\n @type.rawStruct(\"Tr2EffectStageInput\")\n globalInput = null;\n\n /** localInput (Tr2EffectStageInput) */\n @type.rawStruct(\"Tr2EffectStageInput\")\n localInput = null;\n\n /** globalResourceSetDesc (Tr2ResourceSetDescriptionAL) */\n @type.rawStruct(\"Tr2ResourceSetDescriptionAL\")\n globalResourceSetDesc = null;\n\n /** Exact source library program metadata and owned bytes. */\n @impl.adapted\n @impl.reason(\"Carbon registers the library with the renderer while reading; the device-free graph retains the source program for later engine realization.\")\n @type.rawStruct(\"CjsEffectSourceProgram\")\n sourceProgram = null;\n\n /** Portable export records retained before backend library registration. */\n @impl.adapted\n @impl.reason(\"Carbon resolves these exports into a renderer library handle; the device-free graph keeps the declarative export list.\")\n @type.rawStruct(\"CjsEffectLibraryExports\")\n exports = [];\n\n /**\n * Construct one canonical library from JS/JSON model values.\n *\n * @param {object} values Canonical model values.\n * @param {object} options CjsModel import options.\n * @returns {Tr2EffectLibrary} Hydrated library.\n */\n static from(values = {}, options = {})\n {\n let normalized = values;\n const inputs = new Map();\n for (const field of [ \"globalInput\", \"localInput\" ])\n {\n if (values?.[field]\n && !(values[field] instanceof Tr2EffectStageInput))\n {\n normalized = normalized === values ? { ...values } : normalized;\n normalized[field] = Tr2EffectStageInput.from(\n values[field],\n options\n );\n inputs.set(field, normalized[field]);\n }\n }\n const library = super.from(normalized, options);\n for (const [ field, value ] of inputs)\n {\n library[field] = value;\n }\n return library;\n }\n\n /**\n * Build one shader library from its portable JSON reflection record.\n *\n * @param {object} value Portable library record.\n * @returns {Tr2EffectLibrary} Reflected library.\n */\n @impl.custom\n @impl.reason(\"Carbon reads compiled effect bytes directly; CarbonEngineJS hydrates the browser-safe portable-reflection contract after format parsing.\")\n static fromPortable(value)\n {\n if (!isPlainObject(value))\n {\n throw new TypeError(\"Portable effect library must be an object\");\n }\n if (!isArray(value.exports))\n {\n throw new TypeError(\n \"Portable effect library exports must be an array\"\n );\n }\n if (value.exportCount !== value.exports.length)\n {\n throw new Error(\n \"Portable effect library export count disagrees with its collection\"\n );\n }\n\n const library = new this();\n if (!isUint32(value.payloadSize))\n {\n throw new RangeError(\n \"Portable effect library payload size must fit uint32\"\n );\n }\n library.payloadSize = value.payloadSize;\n library.hitGroupName = String(value.hitGroupName ?? \"\");\n library.exports = value.exports.map(entry =>\n {\n if (!isUint32(entry?.type))\n {\n throw new RangeError(\n \"Portable effect library export type must fit uint32\"\n );\n }\n return {\n type: entry.type,\n name: String(entry?.name ?? \"\")\n };\n });\n for (const entry of library.exports)\n {\n if (entry.type === 0) library.rayGenName = entry.name;\n if (entry.type === 1) library.missName = entry.name;\n if (entry.type === 2) library.closestHitName = entry.name;\n if (entry.type === 3) library.anyHitName = entry.name;\n if (entry.type === 4) library.intersectionName = entry.name;\n }\n library.sourceProgram = clonePortableSourceProgram(\n value.sourceProgram,\n \"library\"\n );\n library.globalInput = Tr2EffectStageInput.fromPortableInput(\n value.globalInput\n );\n library.localInput = Tr2EffectStageInput.fromPortableInput(\n value.localInput\n );\n return library;\n }\n\n}\n"],"names":["_Tr2EffectLibrary","Tr2EffectLibrary","CjsModel","e","_init_payloadSize","_init_extra_payloadSize","_init_libraryHandle","_init_extra_libraryHandle","_init_rayGenName","_init_extra_rayGenName","_init_missName","_init_extra_missName","_init_closestHitName","_init_extra_closestHitName","_init_anyHitName","_init_extra_anyHitName","_init_intersectionName","_init_extra_intersectionName","_init_hitGroupName","_init_extra_hitGroupName","_init_globalInput","_init_extra_globalInput","_init_localInput","_init_extra_localInput","_init_globalResourceSetDesc","_init_extra_globalResourceSetDesc","_init_sourceProgram","_init_extra_sourceProgram","_init_exports","_init_extra_exports","_initStatic","c","_initClass","_applyDecs","type","define","className","family","uint32","string","rawStruct","impl","adapted","reason","custom","constructor","args","payloadSize","libraryHandle","rayGenName","missName","closestHitName","anyHitName","intersectionName","hitGroupName","globalInput","localInput","globalResourceSetDesc","sourceProgram","exports","from","values","options","normalized","inputs","Map","field","Tr2EffectStageInput","set","library","value","fromPortable","isPlainObject","TypeError","isArray","exportCount","length","Error","isUint32","RangeError","String","map","entry","name","clonePortableSourceProgram","fromPortableInput"],"mappings":";;;;;;;;;AAWA;AAAA,IAAAA;AACA,MAAAC,gBAAA,SACsCC,QAAQ,CAC9C;AAAA,EAAA;AAAA,IAAA,CAAA;MAAAC,CAAA,EAAA,CAAAC,iBAAA,EAAAC,uBAAA,EAAAC,mBAAA,EAAAC,yBAAA,EAAAC,gBAAA,EAAAC,sBAAA,EAAAC,cAAA,EAAAC,oBAAA,EAAAC,oBAAA,EAAAC,0BAAA,EAAAC,gBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,4BAAA,EAAAC,kBAAA,EAAAC,wBAAA,EAAAC,iBAAA,EAAAC,uBAAA,EAAAC,gBAAA,EAAAC,sBAAA,EAAAC,2BAAA,EAAAC,iCAAA,EAAAC,mBAAA,EAAAC,yBAAA,EAAAC,aAAA,EAAAC,mBAAA,EAAAC,WAAA,CAAA;MAAAC,CAAA,EAAA,CAAA/B,iBAAA,EAAAgC,UAAA;AAAA,KAAA,GAAAC,cAAA,CAAA,IAAA,EAAA,CAFCC,IAAI,CAACC,MAAM,CAAC;AAAEC,MAAAA,SAAS,EAAE,kBAAkB;AAAEC,MAAAA,MAAM,EAAE;AAAS,KAAC,CAAC,CAAA,EAAA,CAAA,CAAA,CAK9DH,IAAI,EAAJA,IAAI,CAACI,MAAM,CAAA,EAAA,EAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAIXJ,IAAI,EAAJA,IAAI,CAACI,MAAM,CAAA,EAAA,EAAA,EAAA,eAAA,CAAA,EAAA,CAAA,CAIXJ,IAAI,EAAJA,IAAI,CAACK,MAAM,CAAA,EAAA,EAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CAIXL,IAAI,EAAJA,IAAI,CAACK,MAAM,CAAA,EAAA,EAAA,EAAA,UAAA,CAAA,EAAA,CAAA,CAIXL,IAAI,EAAJA,IAAI,CAACK,MAAM,CAAA,EAAA,EAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,CAIXL,IAAI,EAAJA,IAAI,CAACK,MAAM,CAAA,EAAA,EAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CAIXL,IAAI,EAAJA,IAAI,CAACK,MAAM,CAAA,EAAA,EAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,CAIXL,IAAI,EAAJA,IAAI,CAACK,MAAM,CAAA,EAAA,EAAA,EAAA,cAAA,CAAA,EAAA,CAIXL,IAAI,CAACM,SAAS,CAAC,qBAAqB,CAAC,EAAA,CAAA,EAAA,aAAA,CAAA,EAAA,CAIrCN,IAAI,CAACM,SAAS,CAAC,qBAAqB,CAAC,EAAA,CAAA,EAAA,YAAA,CAAA,EAAA,CAIrCN,IAAI,CAACM,SAAS,CAAC,6BAA6B,CAAC,EAAA,CAAA,EAAA,uBAAA,CAAA,EAAA,CAAA,CAI7CC,IAAI,EAAJA,IAAI,CAACC,OAAO,EAAA,MAAA,EACZD,IAAI,CAACE,MAAM,CAAC,8IAA8I,CAAC,EAAA,MAAA,EAC3JT,IAAI,CAACM,SAAS,CAAC,wBAAwB,CAAC,CAAA,EAAA,EAAA,EAAA,eAAA,CAAA,EAAA,CAAA,CAIxCC,IAAI,EAAJA,IAAI,CAACC,OAAO,EAAA,MAAA,EACZD,IAAI,CAACE,MAAM,CAAC,wHAAwH,CAAC,EAAA,MAAA,EACrIT,IAAI,CAACM,SAAS,CAAC,yBAAyB,CAAC,CAAA,EAAA,EAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAyCzCC,IAAI,EAAJA,IAAI,CAACG,MAAM,EAAA,MAAA,EACXH,IAAI,CAACE,MAAM,CAAC,0IAA0I,CAAC,CAAA,EAAA,EAAA,EAAA,cAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAlGpHzC,QAAQ,CAAA;IAAA4B,WAAA,CAAA,IAAA,CAAA;AAAA;AAAAe,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA;IAAAjB,mBAAA,CAAA,IAAA,CAAA;AAAA,EAAA;AAG5C;EAEAkB,WAAW,GAAA3C,iBAAA,CAAA,IAAA,EAAG,CAAC,CAAA;;AAEf;AAEA4C,EAAAA,aAAa,IAAA3C,uBAAA,CAAA,IAAA,CAAA,EAAAC,mBAAA,OAAG,CAAC,CAAA;;AAEjB;AAEA2C,EAAAA,UAAU,IAAA1C,yBAAA,CAAA,IAAA,CAAA,EAAAC,gBAAA,OAAG,EAAE,CAAA;;AAEf;AAEA0C,EAAAA,QAAQ,IAAAzC,sBAAA,CAAA,IAAA,CAAA,EAAAC,cAAA,OAAG,EAAE,CAAA;;AAEb;AAEAyC,EAAAA,cAAc,IAAAxC,oBAAA,CAAA,IAAA,CAAA,EAAAC,oBAAA,OAAG,EAAE,CAAA;;AAEnB;AAEAwC,EAAAA,UAAU,IAAAvC,0BAAA,CAAA,IAAA,CAAA,EAAAC,gBAAA,OAAG,EAAE,CAAA;;AAEf;AAEAuC,EAAAA,gBAAgB,IAAAtC,sBAAA,CAAA,IAAA,CAAA,EAAAC,sBAAA,OAAG,EAAE,CAAA;;AAErB;AAEAsC,EAAAA,YAAY,IAAArC,4BAAA,CAAA,IAAA,CAAA,EAAAC,kBAAA,OAAG,EAAE,CAAA;;AAEjB;AAEAqC,EAAAA,WAAW,IAAApC,wBAAA,CAAA,IAAA,CAAA,EAAAC,iBAAA,OAAG,IAAI,CAAA;;AAElB;AAEAoC,EAAAA,UAAU,IAAAnC,uBAAA,CAAA,IAAA,CAAA,EAAAC,gBAAA,OAAG,IAAI,CAAA;;AAEjB;AAEAmC,EAAAA,qBAAqB,IAAAlC,sBAAA,CAAA,IAAA,CAAA,EAAAC,2BAAA,OAAG,IAAI,CAAA;;AAE5B;AAIAkC,EAAAA,aAAa,IAAAjC,iCAAA,CAAA,IAAA,CAAA,EAAAC,mBAAA,OAAG,IAAI,CAAA;;AAEpB;AAIAiC,EAAAA,OAAO,IAAAhC,yBAAA,CAAA,IAAA,CAAA,EAAAC,aAAA,OAAG,EAAE,CAAA;;AAEZ;AACF;AACA;AACA;AACA;AACA;AACA;EACE,OAAOgC,IAAIA,CAACC,MAAM,GAAG,EAAE,EAAEC,OAAO,GAAG,EAAE,EACrC;IACE,IAAIC,UAAU,GAAGF,MAAM;AACvB,IAAA,MAAMG,MAAM,GAAG,IAAIC,GAAG,EAAE;IACxB,KAAK,MAAMC,KAAK,IAAI,CAAE,aAAa,EAAE,YAAY,CAAE,EACnD;AACE,MAAA,IAAIL,MAAM,GAAGK,KAAK,CAAC,IACd,EAAEL,MAAM,CAACK,KAAK,CAAC,YAAYC,oBAAmB,CAAC,EACpD;AACEJ,QAAAA,UAAU,GAAGA,UAAU,KAAKF,MAAM,GAAG;UAAE,GAAGA;AAAO,SAAC,GAAGE,UAAU;AAC/DA,QAAAA,UAAU,CAACG,KAAK,CAAC,GAAGC,oBAAmB,CAACP,IAAI,CAC1CC,MAAM,CAACK,KAAK,CAAC,EACbJ,OACF,CAAC;QACDE,MAAM,CAACI,GAAG,CAACF,KAAK,EAAEH,UAAU,CAACG,KAAK,CAAC,CAAC;AACtC,MAAA;AACF,IAAA;IACA,MAAMG,OAAO,GAAG,KAAK,CAACT,IAAI,CAACG,UAAU,EAAED,OAAO,CAAC;IAC/C,KAAK,MAAM,CAAEI,KAAK,EAAEI,KAAK,CAAE,IAAIN,MAAM,EACrC;AACEK,MAAAA,OAAO,CAACH,KAAK,CAAC,GAAGI,KAAK;AACxB,IAAA;AACA,IAAA,OAAOD,OAAO;AAChB,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;EACE,OAEOE,YAAYA,CAACD,KAAK,EACzB;AACE,IAAA,IAAI,CAACE,aAAa,CAACF,KAAK,CAAC,EACzB;AACE,MAAA,MAAM,IAAIG,SAAS,CAAC,2CAA2C,CAAC;AAClE,IAAA;AACA,IAAA,IAAI,CAACC,OAAO,CAACJ,KAAK,CAACX,OAAO,CAAC,EAC3B;AACE,MAAA,MAAM,IAAIc,SAAS,CACjB,kDACF,CAAC;AACH,IAAA;IACA,IAAIH,KAAK,CAACK,WAAW,KAAKL,KAAK,CAACX,OAAO,CAACiB,MAAM,EAC9C;AACE,MAAA,MAAM,IAAIC,KAAK,CACb,oEACF,CAAC;AACH,IAAA;AAEA,IAAA,MAAMR,OAAO,GAAG,IAAI,IAAI,EAAE;AAC1B,IAAA,IAAI,CAACS,QAAQ,CAACR,KAAK,CAACvB,WAAW,CAAC,EAChC;AACE,MAAA,MAAM,IAAIgC,UAAU,CAClB,sDACF,CAAC;AACH,IAAA;AACAV,IAAAA,OAAO,CAACtB,WAAW,GAAGuB,KAAK,CAACvB,WAAW;IACvCsB,OAAO,CAACf,YAAY,GAAG0B,MAAM,CAACV,KAAK,CAAChB,YAAY,IAAI,EAAE,CAAC;IACvDe,OAAO,CAACV,OAAO,GAAGW,KAAK,CAACX,OAAO,CAACsB,GAAG,CAACC,KAAK,IACzC;AACE,MAAA,IAAI,CAACJ,QAAQ,CAACI,KAAK,EAAEhD,IAAI,CAAC,EAC1B;AACE,QAAA,MAAM,IAAI6C,UAAU,CAClB,qDACF,CAAC;AACH,MAAA;MACA,OAAO;QACL7C,IAAI,EAAEgD,KAAK,CAAChD,IAAI;AAChBiD,QAAAA,IAAI,EAAEH,MAAM,CAACE,KAAK,EAAEC,IAAI,IAAI,EAAE;OAC/B;AACH,IAAA,CAAC,CAAC;AACF,IAAA,KAAK,MAAMD,KAAK,IAAIb,OAAO,CAACV,OAAO,EACnC;AACE,MAAA,IAAIuB,KAAK,CAAChD,IAAI,KAAK,CAAC,EAAEmC,OAAO,CAACpB,UAAU,GAAGiC,KAAK,CAACC,IAAI;AACrD,MAAA,IAAID,KAAK,CAAChD,IAAI,KAAK,CAAC,EAAEmC,OAAO,CAACnB,QAAQ,GAAGgC,KAAK,CAACC,IAAI;AACnD,MAAA,IAAID,KAAK,CAAChD,IAAI,KAAK,CAAC,EAAEmC,OAAO,CAAClB,cAAc,GAAG+B,KAAK,CAACC,IAAI;AACzD,MAAA,IAAID,KAAK,CAAChD,IAAI,KAAK,CAAC,EAAEmC,OAAO,CAACjB,UAAU,GAAG8B,KAAK,CAACC,IAAI;AACrD,MAAA,IAAID,KAAK,CAAChD,IAAI,KAAK,CAAC,EAAEmC,OAAO,CAAChB,gBAAgB,GAAG6B,KAAK,CAACC,IAAI;AAC7D,IAAA;IACAd,OAAO,CAACX,aAAa,GAAG0B,0BAA0B,CAChDd,KAAK,CAACZ,aAAa,EACnB,SACF,CAAC;IACDW,OAAO,CAACd,WAAW,GAAGY,oBAAmB,CAACkB,iBAAiB,CACzDf,KAAK,CAACf,WACR,CAAC;IACDc,OAAO,CAACb,UAAU,GAAGW,oBAAmB,CAACkB,iBAAiB,CACxDf,KAAK,CAACd,UACR,CAAC;AACD,IAAA,OAAOa,OAAO;AAChB,EAAA;AAAC,EAAA;IAAArC,UAAA,EAAA;AAAA;AAEH;;;;"}
1
+ {"version":3,"file":"Tr2EffectLibrary.js","sources":["../../../../../src/resource/shader/reflection/Tr2EffectLibrary.js"],"sourcesContent":["// Source: trinity/trinity/Shader/Tr2EffectDescription.h\nimport { CjsSchema, impl, type } from \"@carbonenginejs/runtime-utils/schema\";\nimport { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\nimport {\n isArray,\n isPlainObject,\n isUint32\n} from \"@carbonenginejs/runtime-utils/is\";\nimport { clonePortableSourceProgram } from \"../portable.js\";\nimport { Tr2EffectStageInput } from \"./Tr2EffectStageInput.js\";\n\n/** Reflected shader-library metadata. */\nexport class Tr2EffectLibrary extends CjsModel\n{\n\n /** payloadSize (uint32_t) */\n payloadSize = 0;\n\n /** libraryHandle (uint32_t) */\n libraryHandle = 0;\n\n /** rayGenName (BlueSharedStringW) */\n rayGenName = \"\";\n\n /** missName (BlueSharedStringW) */\n missName = \"\";\n\n /** closestHitName (BlueSharedStringW) */\n closestHitName = \"\";\n\n /** anyHitName (BlueSharedStringW) */\n anyHitName = \"\";\n\n /** intersectionName (BlueSharedStringW) */\n intersectionName = \"\";\n\n /** hitGroupName (BlueSharedStringW) */\n hitGroupName = \"\";\n\n /** globalInput (Tr2EffectStageInput) */\n globalInput = null;\n\n /** localInput (Tr2EffectStageInput) */\n localInput = null;\n\n /** globalResourceSetDesc (Tr2ResourceSetDescriptionAL) */\n globalResourceSetDesc = null;\n\n /** Exact source library program metadata and owned bytes. */\n sourceProgram = null;\n\n /** Portable export records retained before backend library registration. */\n exports = [];\n\n /**\n * Construct one canonical library from JS/JSON model values.\n *\n * @param {object} values Canonical model values.\n * @param {object} options CjsModel import options.\n * @returns {Tr2EffectLibrary} Hydrated library.\n */\n static from(values = {}, options = {})\n {\n let normalized = values;\n const inputs = new Map();\n for (const field of [ \"globalInput\", \"localInput\" ])\n {\n if (values?.[field]\n && !(values[field] instanceof Tr2EffectStageInput))\n {\n normalized = normalized === values ? { ...values } : normalized;\n normalized[field] = Tr2EffectStageInput.from(\n values[field],\n options\n );\n inputs.set(field, normalized[field]);\n }\n }\n const library = super.from(normalized, options);\n for (const [ field, value ] of inputs)\n {\n library[field] = value;\n }\n return library;\n }\n\n /**\n * Build one shader library from its portable JSON reflection record.\n *\n * @param {object} value Portable library record.\n * @returns {Tr2EffectLibrary} Reflected library.\n */\n static fromPortable(value)\n {\n if (!isPlainObject(value))\n {\n throw new TypeError(\"Portable effect library must be an object\");\n }\n if (!isArray(value.exports))\n {\n throw new TypeError(\n \"Portable effect library exports must be an array\"\n );\n }\n if (value.exportCount !== value.exports.length)\n {\n throw new Error(\n \"Portable effect library export count disagrees with its collection\"\n );\n }\n\n const library = new this();\n if (!isUint32(value.payloadSize))\n {\n throw new RangeError(\n \"Portable effect library payload size must fit uint32\"\n );\n }\n library.payloadSize = value.payloadSize;\n library.hitGroupName = String(value.hitGroupName ?? \"\");\n library.exports = value.exports.map(entry =>\n {\n if (!isUint32(entry?.type))\n {\n throw new RangeError(\n \"Portable effect library export type must fit uint32\"\n );\n }\n return {\n type: entry.type,\n name: String(entry?.name ?? \"\")\n };\n });\n for (const entry of library.exports)\n {\n if (entry.type === 0) library.rayGenName = entry.name;\n if (entry.type === 1) library.missName = entry.name;\n if (entry.type === 2) library.closestHitName = entry.name;\n if (entry.type === 3) library.anyHitName = entry.name;\n if (entry.type === 4) library.intersectionName = entry.name;\n }\n library.sourceProgram = clonePortableSourceProgram(\n value.sourceProgram,\n \"library\"\n );\n library.globalInput = Tr2EffectStageInput.fromPortableInput(\n value.globalInput\n );\n library.localInput = Tr2EffectStageInput.fromPortableInput(\n value.localInput\n );\n return library;\n }\n\n}\n\n// Declared imperatively rather than with decorators, so this module stays\n// plain ESM that loads from source without a transform. The decorator\n// expressions are reused verbatim, so the registered metadata is identical.\n// Statics belong in `methods`: decorateMethod targets the prototype and\n// would register a static as an instance field.\nCjsSchema.define(Tr2EffectLibrary, {\n className: \"Tr2EffectLibrary\",\n family: \"shader\"\n});\nCjsSchema.decorateField(Tr2EffectLibrary, \"payloadSize\", type.uint32);\nCjsSchema.decorateField(Tr2EffectLibrary, \"libraryHandle\", type.uint32);\nCjsSchema.decorateField(Tr2EffectLibrary, \"rayGenName\", type.string);\nCjsSchema.decorateField(Tr2EffectLibrary, \"missName\", type.string);\nCjsSchema.decorateField(Tr2EffectLibrary, \"closestHitName\", type.string);\nCjsSchema.decorateField(Tr2EffectLibrary, \"anyHitName\", type.string);\nCjsSchema.decorateField(Tr2EffectLibrary, \"intersectionName\", type.string);\nCjsSchema.decorateField(Tr2EffectLibrary, \"hitGroupName\", type.string);\nCjsSchema.decorateField(Tr2EffectLibrary, \"globalInput\", type.rawStruct(\"Tr2EffectStageInput\"));\nCjsSchema.decorateField(Tr2EffectLibrary, \"localInput\", type.rawStruct(\"Tr2EffectStageInput\"));\nCjsSchema.decorateField(Tr2EffectLibrary, \"globalResourceSetDesc\", type.rawStruct(\"Tr2ResourceSetDescriptionAL\"));\nCjsSchema.decorateField(Tr2EffectLibrary, \"sourceProgram\", impl.adapted, impl.reason(\"Carbon registers the library with the renderer while reading; the device-free graph retains the source program for later engine realization.\"), type.rawStruct(\"CjsEffectSourceProgram\"));\nCjsSchema.decorateField(Tr2EffectLibrary, \"exports\", impl.adapted, impl.reason(\"Carbon resolves these exports into a renderer library handle; the device-free graph keeps the declarative export list.\"), type.rawStruct(\"CjsEffectLibraryExports\"));\n"],"names":["Tr2EffectLibrary","CjsModel","payloadSize","libraryHandle","rayGenName","missName","closestHitName","anyHitName","intersectionName","hitGroupName","globalInput","localInput","globalResourceSetDesc","sourceProgram","exports","from","values","options","normalized","inputs","Map","field","Tr2EffectStageInput","set","library","value","fromPortable","isPlainObject","TypeError","isArray","exportCount","length","Error","isUint32","RangeError","String","map","entry","type","name","clonePortableSourceProgram","fromPortableInput","CjsSchema","define","className","family","decorateField","uint32","string","rawStruct","impl","adapted","reason"],"mappings":"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"}
@@ -1,107 +1,103 @@
1
- import { identity as _identity, applyDecs2311 as _applyDecs2311 } from '../../../_virtual/_rollupPluginBabelHelpers.js';
2
- import { type, impl, schema } from '@carbonenginejs/runtime-utils/schema';
1
+ import { CjsSchema, type, schema, impl } from '@carbonenginejs/runtime-utils/schema';
3
2
  import { CjsModel } from '@carbonenginejs/runtime-utils/model';
4
3
  import { dwordToFloat } from '@carbonenginejs/runtime-utils/math/num';
5
4
  import { isPlainObject, isUint32 } from '@carbonenginejs/runtime-utils/is';
6
5
 
7
- let _initStatic, _initClass, _init_name, _init_extra_name, _init_type, _init_extra_type, _init_boolValue, _init_extra_boolValue, _init_rawValue, _init_extra_rawValue, _init_intValue, _init_extra_intValue, _init_floatValue, _init_extra_floatValue, _init_stringValue, _init_extra_stringValue;
6
+ // Source: trinity/trinity/Shader/Tr2EffectDescription.h
8
7
 
9
8
  /** Typed annotation attached to a reflected effect parameter. */
10
- let _Tr2EffectParameterAn;
11
- new class extends _identity {
12
- static [class Tr2EffectParameterAnnotation extends CjsModel {
13
- static {
14
- ({
15
- e: [_init_name, _init_extra_name, _init_type, _init_extra_type, _init_boolValue, _init_extra_boolValue, _init_rawValue, _init_extra_rawValue, _init_intValue, _init_extra_intValue, _init_floatValue, _init_extra_floatValue, _init_stringValue, _init_extra_stringValue, _initStatic],
16
- c: [_Tr2EffectParameterAn, _initClass]
17
- } = _applyDecs2311(this, [type.define({
18
- className: "Tr2EffectParameterAnnotation",
19
- family: "shader"
20
- })], [[[type, type.string], 16, "name"], [[type, type.int32, void 0, schema.enum("Type")], 16, "type"], [[type, type.boolean], 16, "boolValue"], [[impl, impl.adapted, void 0, impl.reason("Carbon reads numeric annotations into typed values; the portable source contract retains the exact uint32 payload so NaN, negative zero, and integer bit patterns round-trip losslessly."), type, type.uint32], 16, "rawValue"], [[type, type.int32], 16, "intValue"], [[type, type.float32], 16, "floatValue"], [[type, type.string], 16, "stringValue"], [[impl, impl.custom, void 0, impl.reason("Carbon reads compiled effect bytes directly; CarbonEngineJS hydrates the browser-safe portable-reflection contract while retaining exact numeric bits.")], 26, "fromPortable"]], 0, void 0, CjsModel));
21
- _initStatic(this);
22
- }
23
- constructor(...args) {
24
- super(...args);
25
- _init_extra_stringValue(this);
26
- }
27
- /** name (const char*) */
28
- name = _init_name(this, "");
9
+ class Tr2EffectParameterAnnotation extends CjsModel {
10
+ /** name (const char*) */
11
+ name = "";
29
12
 
30
- /** type (Type - enum Type) */
31
- type = (_init_extra_name(this), _init_type(this, 0));
13
+ /** type (Type - enum Type) */
14
+ type = 0;
32
15
 
33
- /** boolValue (bool) */
34
- boolValue = (_init_extra_type(this), _init_boolValue(this, false));
16
+ /** boolValue (bool) */
17
+ boolValue = false;
35
18
 
36
- /** Exact serialized BOOL, INT, or FLOAT payload bits. */
37
- rawValue = (_init_extra_boolValue(this), _init_rawValue(this, 0));
19
+ /** Exact serialized BOOL, INT, or FLOAT payload bits. */
20
+ rawValue = 0;
38
21
 
39
- /** intValue (int) */
40
- intValue = (_init_extra_rawValue(this), _init_intValue(this, 0));
22
+ /** intValue (int) */
23
+ intValue = 0;
41
24
 
42
- /** floatValue (float) */
43
- floatValue = (_init_extra_intValue(this), _init_floatValue(this, 0));
25
+ /** floatValue (float) */
26
+ floatValue = 0;
44
27
 
45
- /** stringValue (const char*) */
46
- stringValue = (_init_extra_floatValue(this), _init_stringValue(this, ""));
28
+ /** stringValue (const char*) */
29
+ stringValue = "";
47
30
 
48
- /**
49
- * Build one typed annotation from its portable JSON reflection record.
50
- *
51
- * @param {object} value Portable annotation record.
52
- * @returns {Tr2EffectParameterAnnotation} Reflected annotation.
53
- */
54
- static fromPortable(value) {
55
- if (!isPlainObject(value)) {
56
- throw new TypeError("Portable effect annotation must be an object");
57
- }
58
- if (!isUint32(value.type)) {
59
- throw new RangeError("Portable annotation type must fit uint32");
60
- }
61
- const annotation = new this();
62
- annotation.name = String(value.name ?? "");
63
- annotation.type = value.type;
64
- switch (annotation.type) {
65
- case this.Type.BOOL:
66
- if (!isUint32(value.rawValue)) {
67
- throw new RangeError("Portable boolean annotation must fit uint32");
68
- }
69
- annotation.rawValue = value.rawValue;
70
- annotation.boolValue = annotation.rawValue !== 0;
71
- break;
72
- case this.Type.INT:
73
- if (!isUint32(value.rawValue)) {
74
- throw new RangeError("Portable integer annotation must fit uint32");
75
- }
76
- annotation.rawValue = value.rawValue;
77
- annotation.intValue = annotation.rawValue | 0;
78
- break;
79
- case this.Type.FLOAT:
80
- if (!isUint32(value.rawValue)) {
81
- throw new RangeError("Portable float annotation must fit uint32");
82
- }
83
- annotation.rawValue = value.rawValue;
84
- annotation.floatValue = dwordToFloat(annotation.rawValue);
85
- break;
86
- case this.Type.STRING:
87
- annotation.stringValue = String(value.stringValue ?? "");
88
- break;
89
- default:
90
- throw new Error(`Portable annotation type ${annotation.type} is unsupported`);
91
- }
92
- return annotation;
31
+ /**
32
+ * Build one typed annotation from its portable JSON reflection record.
33
+ *
34
+ * @param {object} value Portable annotation record.
35
+ * @returns {Tr2EffectParameterAnnotation} Reflected annotation.
36
+ */
37
+ static fromPortable(value) {
38
+ if (!isPlainObject(value)) {
39
+ throw new TypeError("Portable effect annotation must be an object");
40
+ }
41
+ if (!isUint32(value.type)) {
42
+ throw new RangeError("Portable annotation type must fit uint32");
43
+ }
44
+ const annotation = new this();
45
+ annotation.name = String(value.name ?? "");
46
+ annotation.type = value.type;
47
+ switch (annotation.type) {
48
+ case this.Type.BOOL:
49
+ if (!isUint32(value.rawValue)) {
50
+ throw new RangeError("Portable boolean annotation must fit uint32");
51
+ }
52
+ annotation.rawValue = value.rawValue;
53
+ annotation.boolValue = annotation.rawValue !== 0;
54
+ break;
55
+ case this.Type.INT:
56
+ if (!isUint32(value.rawValue)) {
57
+ throw new RangeError("Portable integer annotation must fit uint32");
58
+ }
59
+ annotation.rawValue = value.rawValue;
60
+ annotation.intValue = annotation.rawValue | 0;
61
+ break;
62
+ case this.Type.FLOAT:
63
+ if (!isUint32(value.rawValue)) {
64
+ throw new RangeError("Portable float annotation must fit uint32");
65
+ }
66
+ annotation.rawValue = value.rawValue;
67
+ annotation.floatValue = dwordToFloat(annotation.rawValue);
68
+ break;
69
+ case this.Type.STRING:
70
+ annotation.stringValue = String(value.stringValue ?? "");
71
+ break;
72
+ default:
73
+ throw new Error(`Portable annotation type ${annotation.type} is unsupported`);
93
74
  }
94
- }];
95
- Type = Object.freeze({
75
+ return annotation;
76
+ }
77
+ static Type = Object.freeze({
96
78
  BOOL: 0,
97
79
  INT: 1,
98
80
  FLOAT: 2,
99
81
  STRING: 3
100
82
  });
101
- constructor() {
102
- super(_Tr2EffectParameterAn), _initClass();
103
- }
104
- }();
83
+ }
84
+
85
+ // Declared imperatively rather than with decorators, so this module stays
86
+ // plain ESM that loads from source without a transform. The decorator
87
+ // expressions are reused verbatim, so the registered metadata is identical.
88
+ // Statics belong in `methods`: decorateMethod targets the prototype and
89
+ // would register a static as an instance field.
90
+ CjsSchema.define(Tr2EffectParameterAnnotation, {
91
+ className: "Tr2EffectParameterAnnotation",
92
+ family: "shader"
93
+ });
94
+ CjsSchema.decorateField(Tr2EffectParameterAnnotation, "name", type.string);
95
+ CjsSchema.decorateField(Tr2EffectParameterAnnotation, "type", type.int32, schema.enum("Type"));
96
+ CjsSchema.decorateField(Tr2EffectParameterAnnotation, "boolValue", type.boolean);
97
+ CjsSchema.decorateField(Tr2EffectParameterAnnotation, "rawValue", impl.adapted, impl.reason("Carbon reads numeric annotations into typed values; the portable source contract retains the exact uint32 payload so NaN, negative zero, and integer bit patterns round-trip losslessly."), type.uint32);
98
+ CjsSchema.decorateField(Tr2EffectParameterAnnotation, "intValue", type.int32);
99
+ CjsSchema.decorateField(Tr2EffectParameterAnnotation, "floatValue", type.float32);
100
+ CjsSchema.decorateField(Tr2EffectParameterAnnotation, "stringValue", type.string);
105
101
 
106
- export { _Tr2EffectParameterAn as Tr2EffectParameterAnnotation };
102
+ export { Tr2EffectParameterAnnotation };
107
103
  //# sourceMappingURL=Tr2EffectParameterAnnotation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tr2EffectParameterAnnotation.js","sources":["../../../../../src/resource/shader/reflection/Tr2EffectParameterAnnotation.js"],"sourcesContent":["// Source: trinity/trinity/Shader/Tr2EffectDescription.h\nimport { impl, schema, type } from \"@carbonenginejs/runtime-utils/schema\";\nimport { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\nimport { dwordToFloat } from \"@carbonenginejs/runtime-utils/math/num\";\nimport {\n isPlainObject,\n isUint32\n} from \"@carbonenginejs/runtime-utils/is\";\n\n/** Typed annotation attached to a reflected effect parameter. */\n@type.define({ className: \"Tr2EffectParameterAnnotation\", family: \"shader\" })\nexport class Tr2EffectParameterAnnotation extends CjsModel\n{\n\n /** name (const char*) */\n @type.string\n name = \"\";\n\n /** type (Type - enum Type) */\n @type.int32\n @schema.enum(\"Type\")\n type = 0;\n\n /** boolValue (bool) */\n @type.boolean\n boolValue = false;\n\n /** Exact serialized BOOL, INT, or FLOAT payload bits. */\n @impl.adapted\n @impl.reason(\"Carbon reads numeric annotations into typed values; the portable source contract retains the exact uint32 payload so NaN, negative zero, and integer bit patterns round-trip losslessly.\")\n @type.uint32\n rawValue = 0;\n\n /** intValue (int) */\n @type.int32\n intValue = 0;\n\n /** floatValue (float) */\n @type.float32\n floatValue = 0;\n\n /** stringValue (const char*) */\n @type.string\n stringValue = \"\";\n\n /**\n * Build one typed annotation from its portable JSON reflection record.\n *\n * @param {object} value Portable annotation record.\n * @returns {Tr2EffectParameterAnnotation} Reflected annotation.\n */\n @impl.custom\n @impl.reason(\"Carbon reads compiled effect bytes directly; CarbonEngineJS hydrates the browser-safe portable-reflection contract while retaining exact numeric bits.\")\n static fromPortable(value)\n {\n if (!isPlainObject(value))\n {\n throw new TypeError(\"Portable effect annotation must be an object\");\n }\n if (!isUint32(value.type))\n {\n throw new RangeError(\"Portable annotation type must fit uint32\");\n }\n\n const annotation = new this();\n annotation.name = String(value.name ?? \"\");\n annotation.type = value.type;\n\n switch (annotation.type)\n {\n case this.Type.BOOL:\n if (!isUint32(value.rawValue))\n {\n throw new RangeError(\n \"Portable boolean annotation must fit uint32\"\n );\n }\n annotation.rawValue = value.rawValue;\n annotation.boolValue = annotation.rawValue !== 0;\n break;\n\n case this.Type.INT:\n if (!isUint32(value.rawValue))\n {\n throw new RangeError(\n \"Portable integer annotation must fit uint32\"\n );\n }\n annotation.rawValue = value.rawValue;\n annotation.intValue = annotation.rawValue | 0;\n break;\n\n case this.Type.FLOAT:\n if (!isUint32(value.rawValue))\n {\n throw new RangeError(\n \"Portable float annotation must fit uint32\"\n );\n }\n annotation.rawValue = value.rawValue;\n annotation.floatValue = dwordToFloat(annotation.rawValue);\n break;\n\n case this.Type.STRING:\n annotation.stringValue = String(value.stringValue ?? \"\");\n break;\n\n default:\n throw new Error(\n `Portable annotation type ${annotation.type} is unsupported`\n );\n }\n\n return annotation;\n }\n\n static Type = Object.freeze({\n BOOL: 0,\n INT: 1,\n FLOAT: 2,\n STRING: 3\n });\n\n}\n"],"names":["_Tr2EffectParameterAn","_identity","Tr2EffectParameterAnnotation","CjsModel","e","_init_name","_init_extra_name","_init_type","_init_extra_type","_init_boolValue","_init_extra_boolValue","_init_rawValue","_init_extra_rawValue","_init_intValue","_init_extra_intValue","_init_floatValue","_init_extra_floatValue","_init_stringValue","_init_extra_stringValue","_initStatic","c","_initClass","_applyDecs","type","define","className","family","string","int32","schema","enum","boolean","impl","adapted","reason","uint32","float32","custom","constructor","args","name","boolValue","rawValue","intValue","floatValue","stringValue","fromPortable","value","isPlainObject","TypeError","isUint32","RangeError","annotation","String","Type","BOOL","INT","FLOAT","dwordToFloat","STRING","Error","Object","freeze"],"mappings":"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"}
1
+ {"version":3,"file":"Tr2EffectParameterAnnotation.js","sources":["../../../../../src/resource/shader/reflection/Tr2EffectParameterAnnotation.js"],"sourcesContent":["// Source: trinity/trinity/Shader/Tr2EffectDescription.h\nimport { CjsSchema, impl, schema, type } from \"@carbonenginejs/runtime-utils/schema\";\nimport { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\nimport { dwordToFloat } from \"@carbonenginejs/runtime-utils/math/num\";\nimport {\n isPlainObject,\n isUint32\n} from \"@carbonenginejs/runtime-utils/is\";\n\n/** Typed annotation attached to a reflected effect parameter. */\nexport class Tr2EffectParameterAnnotation extends CjsModel\n{\n\n /** name (const char*) */\n name = \"\";\n\n /** type (Type - enum Type) */\n type = 0;\n\n /** boolValue (bool) */\n boolValue = false;\n\n /** Exact serialized BOOL, INT, or FLOAT payload bits. */\n rawValue = 0;\n\n /** intValue (int) */\n intValue = 0;\n\n /** floatValue (float) */\n floatValue = 0;\n\n /** stringValue (const char*) */\n stringValue = \"\";\n\n /**\n * Build one typed annotation from its portable JSON reflection record.\n *\n * @param {object} value Portable annotation record.\n * @returns {Tr2EffectParameterAnnotation} Reflected annotation.\n */\n static fromPortable(value)\n {\n if (!isPlainObject(value))\n {\n throw new TypeError(\"Portable effect annotation must be an object\");\n }\n if (!isUint32(value.type))\n {\n throw new RangeError(\"Portable annotation type must fit uint32\");\n }\n\n const annotation = new this();\n annotation.name = String(value.name ?? \"\");\n annotation.type = value.type;\n\n switch (annotation.type)\n {\n case this.Type.BOOL:\n if (!isUint32(value.rawValue))\n {\n throw new RangeError(\n \"Portable boolean annotation must fit uint32\"\n );\n }\n annotation.rawValue = value.rawValue;\n annotation.boolValue = annotation.rawValue !== 0;\n break;\n\n case this.Type.INT:\n if (!isUint32(value.rawValue))\n {\n throw new RangeError(\n \"Portable integer annotation must fit uint32\"\n );\n }\n annotation.rawValue = value.rawValue;\n annotation.intValue = annotation.rawValue | 0;\n break;\n\n case this.Type.FLOAT:\n if (!isUint32(value.rawValue))\n {\n throw new RangeError(\n \"Portable float annotation must fit uint32\"\n );\n }\n annotation.rawValue = value.rawValue;\n annotation.floatValue = dwordToFloat(annotation.rawValue);\n break;\n\n case this.Type.STRING:\n annotation.stringValue = String(value.stringValue ?? \"\");\n break;\n\n default:\n throw new Error(\n `Portable annotation type ${annotation.type} is unsupported`\n );\n }\n\n return annotation;\n }\n\n static Type = Object.freeze({\n BOOL: 0,\n INT: 1,\n FLOAT: 2,\n STRING: 3\n });\n\n}\n\n// Declared imperatively rather than with decorators, so this module stays\n// plain ESM that loads from source without a transform. The decorator\n// expressions are reused verbatim, so the registered metadata is identical.\n// Statics belong in `methods`: decorateMethod targets the prototype and\n// would register a static as an instance field.\nCjsSchema.define(Tr2EffectParameterAnnotation, {\n className: \"Tr2EffectParameterAnnotation\",\n family: \"shader\"\n});\nCjsSchema.decorateField(Tr2EffectParameterAnnotation, \"name\", type.string);\nCjsSchema.decorateField(Tr2EffectParameterAnnotation, \"type\", type.int32, schema.enum(\"Type\"));\nCjsSchema.decorateField(Tr2EffectParameterAnnotation, \"boolValue\", type.boolean);\nCjsSchema.decorateField(Tr2EffectParameterAnnotation, \"rawValue\", impl.adapted, impl.reason(\"Carbon reads numeric annotations into typed values; the portable source contract retains the exact uint32 payload so NaN, negative zero, and integer bit patterns round-trip losslessly.\"), type.uint32);\nCjsSchema.decorateField(Tr2EffectParameterAnnotation, \"intValue\", type.int32);\nCjsSchema.decorateField(Tr2EffectParameterAnnotation, \"floatValue\", type.float32);\nCjsSchema.decorateField(Tr2EffectParameterAnnotation, \"stringValue\", type.string);\n"],"names":["Tr2EffectParameterAnnotation","CjsModel","name","type","boolValue","rawValue","intValue","floatValue","stringValue","fromPortable","value","isPlainObject","TypeError","isUint32","RangeError","annotation","String","Type","BOOL","INT","FLOAT","dwordToFloat","STRING","Error","Object","freeze","CjsSchema","define","className","family","decorateField","string","int32","schema","enum","boolean","impl","adapted","reason","uint32","float32"],"mappings":"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"}
@@ -1,70 +1,52 @@
1
- import { identity as _identity, applyDecs2311 as _applyDecs2311 } from '../../../_virtual/_rollupPluginBabelHelpers.js';
2
- import { type, impl, schema } from '@carbonenginejs/runtime-utils/schema';
1
+ import { CjsSchema, type, schema } from '@carbonenginejs/runtime-utils/schema';
3
2
  import { CjsModel } from '@carbonenginejs/runtime-utils/model';
4
3
  import { isPlainObject, isUint32 } from '@carbonenginejs/runtime-utils/is';
5
4
 
6
- let _initStatic, _initClass, _init_isSRGB, _init_extra_isSRGB, _init_isAutoregister, _init_extra_isAutoregister, _init_name, _init_extra_name, _init_type, _init_extra_type, _init_arrayElements, _init_extra_arrayElements;
5
+ // Source: trinity/trinity/Shader/Tr2EffectDescription.h
7
6
 
8
7
  /** Reflected SRV or UAV resource metadata. */
9
- let _Tr2EffectResource;
10
- new class extends _identity {
11
- static [class Tr2EffectResource extends CjsModel {
12
- static {
13
- ({
14
- e: [_init_isSRGB, _init_extra_isSRGB, _init_isAutoregister, _init_extra_isAutoregister, _init_name, _init_extra_name, _init_type, _init_extra_type, _init_arrayElements, _init_extra_arrayElements, _initStatic],
15
- c: [_Tr2EffectResource, _initClass]
16
- } = _applyDecs2311(this, [type.define({
17
- className: "Tr2EffectResource",
18
- family: "shader"
19
- })], [[[type, type.boolean], 16, "isSRGB"], [[type, type.boolean], 16, "isAutoregister"], [[type, type.string], 16, "name"], [[type, type.int32, void 0, schema.enum("Type")], 16, "type"], [[type, type.uint32], 16, "arrayElements"], [[impl, impl.custom, void 0, impl.reason("Carbon reads compiled effect bytes directly; CarbonEngineJS hydrates the browser-safe portable-reflection contract after format parsing.")], 26, "fromPortable"]], 0, void 0, CjsModel));
20
- _initStatic(this);
21
- }
22
- constructor(...args) {
23
- super(...args);
24
- _init_extra_arrayElements(this);
25
- }
26
- /** isSRGB (bool) */
27
- isSRGB = _init_isSRGB(this, false);
8
+ class Tr2EffectResource extends CjsModel {
9
+ /** isSRGB (bool) */
10
+ isSRGB = false;
28
11
 
29
- /** isAutoregister (bool) */
30
- isAutoregister = (_init_extra_isSRGB(this), _init_isAutoregister(this, false));
12
+ /** isAutoregister (bool) */
13
+ isAutoregister = false;
31
14
 
32
- /** name (const char*) */
33
- name = (_init_extra_isAutoregister(this), _init_name(this, ""));
15
+ /** name (const char*) */
16
+ name = "";
34
17
 
35
- /** type (Type - enum Type) */
36
- type = (_init_extra_name(this), _init_type(this, 0));
18
+ /** type (Type - enum Type) */
19
+ type = 0;
37
20
 
38
- /** arrayElements (uint32_t) */
39
- arrayElements = (_init_extra_type(this), _init_arrayElements(this, 0));
21
+ /** arrayElements (uint32_t) */
22
+ arrayElements = 0;
40
23
 
41
- /**
42
- * Build one SRV or UAV from its portable JSON reflection record.
43
- *
44
- * @param {object} value Portable resource record.
45
- * @returns {Tr2EffectResource} Reflected resource.
46
- */
47
- static fromPortable(value) {
48
- if (!isPlainObject(value)) {
49
- throw new TypeError("Portable effect resource must be an object");
50
- }
51
- if (!isUint32(value.type)) {
52
- throw new RangeError("Portable resource type must fit uint32");
53
- }
54
- if (!isUint32(value.arrayElements)) {
55
- throw new RangeError("Portable resource array element count must fit uint32");
56
- }
57
- const resource = new this();
58
- resource.name = String(value.name ?? "");
59
- resource.type = value.type;
60
- resource.arrayElements = value.arrayElements;
61
- resource.isSRGB = !!value.isSRGB;
62
- resource.isAutoregister = !!value.isAutoregister;
63
- return resource;
24
+ /**
25
+ * Build one SRV or UAV from its portable JSON reflection record.
26
+ *
27
+ * @param {object} value Portable resource record.
28
+ * @returns {Tr2EffectResource} Reflected resource.
29
+ */
30
+ static fromPortable(value) {
31
+ if (!isPlainObject(value)) {
32
+ throw new TypeError("Portable effect resource must be an object");
33
+ }
34
+ if (!isUint32(value.type)) {
35
+ throw new RangeError("Portable resource type must fit uint32");
36
+ }
37
+ if (!isUint32(value.arrayElements)) {
38
+ throw new RangeError("Portable resource array element count must fit uint32");
64
39
  }
65
- }];
66
- BINDLESS_SAMPLER = 100;
67
- Type = Object.freeze({
40
+ const resource = new this();
41
+ resource.name = String(value.name ?? "");
42
+ resource.type = value.type;
43
+ resource.arrayElements = value.arrayElements;
44
+ resource.isSRGB = !!value.isSRGB;
45
+ resource.isAutoregister = !!value.isAutoregister;
46
+ return resource;
47
+ }
48
+ static BINDLESS_SAMPLER = 100;
49
+ static Type = Object.freeze({
68
50
  TEXTURE_1D: 1,
69
51
  TEXTURE_2D: 2,
70
52
  TEXTURE_3D: 3,
@@ -81,10 +63,22 @@ new class extends _identity {
81
63
  UAV_CONSUME_STRUCTURED: 14,
82
64
  UAV_RWSTRUCTURED_WITH_COUNTER: 15
83
65
  });
84
- constructor() {
85
- super(_Tr2EffectResource), _initClass();
86
- }
87
- }();
66
+ }
67
+
68
+ // Declared imperatively rather than with decorators, so this module stays
69
+ // plain ESM that loads from source without a transform. The decorator
70
+ // expressions are reused verbatim, so the registered metadata is identical.
71
+ // Statics belong in `methods`: decorateMethod targets the prototype and
72
+ // would register a static as an instance field.
73
+ CjsSchema.define(Tr2EffectResource, {
74
+ className: "Tr2EffectResource",
75
+ family: "shader"
76
+ });
77
+ CjsSchema.decorateField(Tr2EffectResource, "isSRGB", type.boolean);
78
+ CjsSchema.decorateField(Tr2EffectResource, "isAutoregister", type.boolean);
79
+ CjsSchema.decorateField(Tr2EffectResource, "name", type.string);
80
+ CjsSchema.decorateField(Tr2EffectResource, "type", type.int32, schema.enum("Type"));
81
+ CjsSchema.decorateField(Tr2EffectResource, "arrayElements", type.uint32);
88
82
 
89
- export { _Tr2EffectResource as Tr2EffectResource };
83
+ export { Tr2EffectResource };
90
84
  //# sourceMappingURL=Tr2EffectResource.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tr2EffectResource.js","sources":["../../../../../src/resource/shader/reflection/Tr2EffectResource.js"],"sourcesContent":["// Source: trinity/trinity/Shader/Tr2EffectDescription.h\nimport { impl, schema, type } from \"@carbonenginejs/runtime-utils/schema\";\nimport { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\nimport {\n isPlainObject,\n isUint32\n} from \"@carbonenginejs/runtime-utils/is\";\n\n/** Reflected SRV or UAV resource metadata. */\n@type.define({ className: \"Tr2EffectResource\", family: \"shader\" })\nexport class Tr2EffectResource extends CjsModel\n{\n\n /** isSRGB (bool) */\n @type.boolean\n isSRGB = false;\n\n /** isAutoregister (bool) */\n @type.boolean\n isAutoregister = false;\n\n /** name (const char*) */\n @type.string\n name = \"\";\n\n /** type (Type - enum Type) */\n @type.int32\n @schema.enum(\"Type\")\n type = 0;\n\n /** arrayElements (uint32_t) */\n @type.uint32\n arrayElements = 0;\n\n /**\n * Build one SRV or UAV from its portable JSON reflection record.\n *\n * @param {object} value Portable resource record.\n * @returns {Tr2EffectResource} Reflected resource.\n */\n @impl.custom\n @impl.reason(\"Carbon reads compiled effect bytes directly; CarbonEngineJS hydrates the browser-safe portable-reflection contract after format parsing.\")\n static fromPortable(value)\n {\n if (!isPlainObject(value))\n {\n throw new TypeError(\"Portable effect resource must be an object\");\n }\n if (!isUint32(value.type))\n {\n throw new RangeError(\"Portable resource type must fit uint32\");\n }\n if (!isUint32(value.arrayElements))\n {\n throw new RangeError(\n \"Portable resource array element count must fit uint32\"\n );\n }\n\n const resource = new this();\n resource.name = String(value.name ?? \"\");\n resource.type = value.type;\n resource.arrayElements = value.arrayElements;\n resource.isSRGB = !!value.isSRGB;\n resource.isAutoregister = !!value.isAutoregister;\n return resource;\n }\n\n static BINDLESS_SAMPLER = 100;\n\n static Type = Object.freeze({\n TEXTURE_1D: 1,\n TEXTURE_2D: 2,\n TEXTURE_3D: 3,\n TEXTURE_CUBE: 4,\n TEXTURE_TYPELESS: 5,\n BUFFER: 6,\n STRUCTURED_BUFFER: 7,\n TBUFFER: 8,\n BYTEADDRESS_BUFFER: 9,\n UAV_RWTYPED: 10,\n UAV_RWSTRUCTURED: 11,\n UAV_RWBYTEADDRESS: 12,\n UAV_APPEND_STRUCTURED: 13,\n UAV_CONSUME_STRUCTURED: 14,\n UAV_RWSTRUCTURED_WITH_COUNTER: 15\n });\n\n}\n"],"names":["_Tr2EffectResource","_identity","Tr2EffectResource","CjsModel","e","_init_isSRGB","_init_extra_isSRGB","_init_isAutoregister","_init_extra_isAutoregister","_init_name","_init_extra_name","_init_type","_init_extra_type","_init_arrayElements","_init_extra_arrayElements","_initStatic","c","_initClass","_applyDecs","type","define","className","family","boolean","string","int32","schema","enum","uint32","impl","custom","reason","constructor","args","isSRGB","isAutoregister","name","arrayElements","fromPortable","value","isPlainObject","TypeError","isUint32","RangeError","resource","String","BINDLESS_SAMPLER","Type","Object","freeze","TEXTURE_1D","TEXTURE_2D","TEXTURE_3D","TEXTURE_CUBE","TEXTURE_TYPELESS","BUFFER","STRUCTURED_BUFFER","TBUFFER","BYTEADDRESS_BUFFER","UAV_RWTYPED","UAV_RWSTRUCTURED","UAV_RWBYTEADDRESS","UAV_APPEND_STRUCTURED","UAV_CONSUME_STRUCTURED","UAV_RWSTRUCTURED_WITH_COUNTER"],"mappings":"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"}
1
+ {"version":3,"file":"Tr2EffectResource.js","sources":["../../../../../src/resource/shader/reflection/Tr2EffectResource.js"],"sourcesContent":["// Source: trinity/trinity/Shader/Tr2EffectDescription.h\nimport { CjsSchema, impl, schema, type } from \"@carbonenginejs/runtime-utils/schema\";\nimport { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\nimport {\n isPlainObject,\n isUint32\n} from \"@carbonenginejs/runtime-utils/is\";\n\n/** Reflected SRV or UAV resource metadata. */\nexport class Tr2EffectResource extends CjsModel\n{\n\n /** isSRGB (bool) */\n isSRGB = false;\n\n /** isAutoregister (bool) */\n isAutoregister = false;\n\n /** name (const char*) */\n name = \"\";\n\n /** type (Type - enum Type) */\n type = 0;\n\n /** arrayElements (uint32_t) */\n arrayElements = 0;\n\n /**\n * Build one SRV or UAV from its portable JSON reflection record.\n *\n * @param {object} value Portable resource record.\n * @returns {Tr2EffectResource} Reflected resource.\n */\n static fromPortable(value)\n {\n if (!isPlainObject(value))\n {\n throw new TypeError(\"Portable effect resource must be an object\");\n }\n if (!isUint32(value.type))\n {\n throw new RangeError(\"Portable resource type must fit uint32\");\n }\n if (!isUint32(value.arrayElements))\n {\n throw new RangeError(\n \"Portable resource array element count must fit uint32\"\n );\n }\n\n const resource = new this();\n resource.name = String(value.name ?? \"\");\n resource.type = value.type;\n resource.arrayElements = value.arrayElements;\n resource.isSRGB = !!value.isSRGB;\n resource.isAutoregister = !!value.isAutoregister;\n return resource;\n }\n\n static BINDLESS_SAMPLER = 100;\n\n static Type = Object.freeze({\n TEXTURE_1D: 1,\n TEXTURE_2D: 2,\n TEXTURE_3D: 3,\n TEXTURE_CUBE: 4,\n TEXTURE_TYPELESS: 5,\n BUFFER: 6,\n STRUCTURED_BUFFER: 7,\n TBUFFER: 8,\n BYTEADDRESS_BUFFER: 9,\n UAV_RWTYPED: 10,\n UAV_RWSTRUCTURED: 11,\n UAV_RWBYTEADDRESS: 12,\n UAV_APPEND_STRUCTURED: 13,\n UAV_CONSUME_STRUCTURED: 14,\n UAV_RWSTRUCTURED_WITH_COUNTER: 15\n });\n\n}\n\n// Declared imperatively rather than with decorators, so this module stays\n// plain ESM that loads from source without a transform. The decorator\n// expressions are reused verbatim, so the registered metadata is identical.\n// Statics belong in `methods`: decorateMethod targets the prototype and\n// would register a static as an instance field.\nCjsSchema.define(Tr2EffectResource, {\n className: \"Tr2EffectResource\",\n family: \"shader\"\n});\nCjsSchema.decorateField(Tr2EffectResource, \"isSRGB\", type.boolean);\nCjsSchema.decorateField(Tr2EffectResource, \"isAutoregister\", type.boolean);\nCjsSchema.decorateField(Tr2EffectResource, \"name\", type.string);\nCjsSchema.decorateField(Tr2EffectResource, \"type\", type.int32, schema.enum(\"Type\"));\nCjsSchema.decorateField(Tr2EffectResource, \"arrayElements\", type.uint32);\n"],"names":["Tr2EffectResource","CjsModel","isSRGB","isAutoregister","name","type","arrayElements","fromPortable","value","isPlainObject","TypeError","isUint32","RangeError","resource","String","BINDLESS_SAMPLER","Type","Object","freeze","TEXTURE_1D","TEXTURE_2D","TEXTURE_3D","TEXTURE_CUBE","TEXTURE_TYPELESS","BUFFER","STRUCTURED_BUFFER","TBUFFER","BYTEADDRESS_BUFFER","UAV_RWTYPED","UAV_RWSTRUCTURED","UAV_RWBYTEADDRESS","UAV_APPEND_STRUCTURED","UAV_CONSUME_STRUCTURED","UAV_RWSTRUCTURED_WITH_COUNTER","CjsSchema","define","className","family","decorateField","boolean","string","int32","schema","enum","uint32"],"mappings":"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"}