@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.
- package/dist/format/effect/effectPermutationGraph.js +257 -0
- package/dist/format/effect/effectPermutationGraph.js.map +1 -0
- package/dist/format/effect/effectReflectionPackage.js +636 -0
- package/dist/format/effect/effectReflectionPackage.js.map +1 -0
- package/dist/format/effect/sha256.js +114 -0
- package/dist/format/effect/sha256.js.map +1 -0
- package/dist/formats/dxbc/CjsDxbcFormat.js +142 -0
- package/dist/formats/dxbc/CjsDxbcFormat.js.map +1 -0
- package/dist/formats/dxbc/core/DxbcReader.js +266 -0
- package/dist/formats/dxbc/core/DxbcReader.js.map +1 -0
- package/dist/formats/dxbc/core/container.js +169 -0
- package/dist/formats/dxbc/core/container.js.map +1 -0
- package/dist/formats/dxbc/core/decoder.js +789 -0
- package/dist/formats/dxbc/core/decoder.js.map +1 -0
- package/dist/formats/dxbc/core/errors.js +19 -0
- package/dist/formats/dxbc/core/errors.js.map +1 -0
- package/dist/formats/dxbc/core/helpers.js +220 -0
- package/dist/formats/dxbc/core/helpers.js.map +1 -0
- package/dist/formats/dxbc/core/opcodes.js +45 -0
- package/dist/formats/dxbc/core/opcodes.js.map +1 -0
- package/dist/formats/dxbc/core/program.js +91 -0
- package/dist/formats/dxbc/core/program.js.map +1 -0
- package/dist/formats/dxbc/core/signature.js +172 -0
- package/dist/formats/dxbc/core/signature.js.map +1 -0
- package/dist/formats/dxbc/index.js +2 -0
- package/dist/formats/dxbc/index.js.map +1 -0
- package/dist/formats/hlsl/CjsHlslFormat.js +254 -0
- package/dist/formats/hlsl/CjsHlslFormat.js.map +1 -0
- package/dist/formats/hlsl/core/HlslBinaryUtils.js +15 -0
- package/dist/formats/hlsl/core/HlslBinaryUtils.js.map +1 -0
- package/dist/formats/hlsl/core/HlslEffectReadError.js +19 -0
- package/dist/formats/hlsl/core/HlslEffectReadError.js.map +1 -0
- package/dist/formats/hlsl/core/HlslEffectStateManager.js +130 -0
- package/dist/formats/hlsl/core/HlslEffectStateManager.js.map +1 -0
- package/dist/formats/hlsl/core/HlslReader.js +266 -0
- package/dist/formats/hlsl/core/HlslReader.js.map +1 -0
- package/dist/formats/hlsl/core/HlslRenderStateSetup.js +37 -0
- package/dist/formats/hlsl/core/HlslRenderStateSetup.js.map +1 -0
- package/dist/formats/hlsl/core/HlslResourceSetDescription.js +94 -0
- package/dist/formats/hlsl/core/HlslResourceSetDescription.js.map +1 -0
- package/dist/formats/hlsl/core/HlslShaderBytecode.js +44 -0
- package/dist/formats/hlsl/core/HlslShaderBytecode.js.map +1 -0
- package/dist/formats/hlsl/core/analysis.js +51 -0
- package/dist/formats/hlsl/core/analysis.js.map +1 -0
- package/dist/formats/hlsl/core/helpers.js +270 -0
- package/dist/formats/hlsl/core/helpers.js.map +1 -0
- package/dist/formats/hlsl/core/json.js +284 -0
- package/dist/formats/hlsl/core/json.js.map +1 -0
- package/dist/formats/hlsl/core/metadata.js +327 -0
- package/dist/formats/hlsl/core/metadata.js.map +1 -0
- package/dist/formats/hlsl/core/portableReflection.js +848 -0
- package/dist/formats/hlsl/core/portableReflection.js.map +1 -0
- package/dist/formats/hlsl/core/render-states.js +280 -0
- package/dist/formats/hlsl/core/render-states.js.map +1 -0
- package/dist/formats/hlsl/core/tr2/HlslRenderContextEnum.js +43 -0
- package/dist/formats/hlsl/core/tr2/HlslRenderContextEnum.js.map +1 -0
- package/dist/formats/hlsl/core/tr2/resources/HlslEffectRes.js +294 -0
- package/dist/formats/hlsl/core/tr2/resources/HlslEffectRes.js.map +1 -0
- package/dist/formats/hlsl/core/tr2/resources/HlslShaderPermutation.js +33 -0
- package/dist/formats/hlsl/core/tr2/resources/HlslShaderPermutation.js.map +1 -0
- package/dist/formats/hlsl/core/tr2/shader/HlslEffectBindingManifest.js +416 -0
- package/dist/formats/hlsl/core/tr2/shader/HlslEffectBindingManifest.js.map +1 -0
- package/dist/formats/hlsl/core/tr2/shader/HlslEffectConstant.js +40 -0
- package/dist/formats/hlsl/core/tr2/shader/HlslEffectConstant.js.map +1 -0
- package/dist/formats/hlsl/core/tr2/shader/HlslEffectDescription.js +742 -0
- package/dist/formats/hlsl/core/tr2/shader/HlslEffectDescription.js.map +1 -0
- package/dist/formats/hlsl/core/tr2/shader/HlslEffectLibrary.js +52 -0
- package/dist/formats/hlsl/core/tr2/shader/HlslEffectLibrary.js.map +1 -0
- package/dist/formats/hlsl/core/tr2/shader/HlslEffectParameterAnnotation.js +38 -0
- package/dist/formats/hlsl/core/tr2/shader/HlslEffectParameterAnnotation.js.map +1 -0
- package/dist/formats/hlsl/core/tr2/shader/HlslEffectResource.js +50 -0
- package/dist/formats/hlsl/core/tr2/shader/HlslEffectResource.js.map +1 -0
- package/dist/formats/hlsl/core/tr2/shader/HlslEffectStageInput.js +86 -0
- package/dist/formats/hlsl/core/tr2/shader/HlslEffectStageInput.js.map +1 -0
- package/dist/formats/hlsl/core/tr2/shader/HlslEffectTechnique.js +31 -0
- package/dist/formats/hlsl/core/tr2/shader/HlslEffectTechnique.js.map +1 -0
- package/dist/formats/hlsl/core/tr2/shader/HlslPass.js +42 -0
- package/dist/formats/hlsl/core/tr2/shader/HlslPass.js.map +1 -0
- package/dist/formats/hlsl/core/tr2/shader/HlslSamplerDescription.js +55 -0
- package/dist/formats/hlsl/core/tr2/shader/HlslSamplerDescription.js.map +1 -0
- package/dist/formats/hlsl/core/tr2/shader/HlslSamplerSetup.js +29 -0
- package/dist/formats/hlsl/core/tr2/shader/HlslSamplerSetup.js.map +1 -0
- package/dist/formats/hlsl/core/tr2/shader/HlslShader.js +220 -0
- package/dist/formats/hlsl/core/tr2/shader/HlslShader.js.map +1 -0
- package/dist/formats/hlsl/core/tr2/shader/HlslShaderOption.js +30 -0
- package/dist/formats/hlsl/core/tr2/shader/HlslShaderOption.js.map +1 -0
- package/dist/formats/hlsl/index.js +2 -0
- package/dist/formats/hlsl/index.js.map +1 -0
- package/dist/formats/hlsl/portable.js +2 -0
- package/dist/formats/hlsl/portable.js.map +1 -0
- package/dist/formats/index.js +4 -0
- package/dist/formats/index.js.map +1 -1
- package/dist/formats/webgl/CjsWebglFormat.js +221 -0
- package/dist/formats/webgl/CjsWebglFormat.js.map +1 -0
- package/dist/formats/webgl/core/cewg/CewgPackage.js +339 -0
- package/dist/formats/webgl/core/cewg/CewgPackage.js.map +1 -0
- package/dist/formats/webgl/core/cewg/CewgPackageBuilder.js +104 -0
- package/dist/formats/webgl/core/cewg/CewgPackageBuilder.js.map +1 -0
- package/dist/formats/webgl/core/cewg/binary.js +101 -0
- package/dist/formats/webgl/core/cewg/binary.js.map +1 -0
- package/dist/formats/webgl/core/cewgCompleteness.js +81 -0
- package/dist/formats/webgl/core/cewgCompleteness.js.map +1 -0
- package/dist/formats/webgl/core/effectPackage.js +789 -0
- package/dist/formats/webgl/core/effectPackage.js.map +1 -0
- package/dist/formats/webgl/core/effectPackageValidation.js +331 -0
- package/dist/formats/webgl/core/effectPackageValidation.js.map +1 -0
- package/dist/formats/webgl/core/errors.js +27 -0
- package/dist/formats/webgl/core/errors.js.map +1 -0
- package/dist/formats/webgl/core/glsl/DxbcGlslEmitter.js +2678 -0
- package/dist/formats/webgl/core/glsl/DxbcGlslEmitter.js.map +1 -0
- package/dist/formats/webgl/core/glsl/DxbcGlslHelpers.js +89 -0
- package/dist/formats/webgl/core/glsl/DxbcGlslHelpers.js.map +1 -0
- package/dist/formats/webgl/core/glsl/DxbcGlslOperandFormatter.js +428 -0
- package/dist/formats/webgl/core/glsl/DxbcGlslOperandFormatter.js.map +1 -0
- package/dist/formats/webgl/core/helpers.js +306 -0
- package/dist/formats/webgl/core/helpers.js.map +1 -0
- package/dist/formats/webgl/index.js +2 -0
- package/dist/formats/webgl/index.js.map +1 -0
- package/dist/formats/webgpu/CjsWebgpuFormat.js +376 -0
- package/dist/formats/webgpu/CjsWebgpuFormat.js.map +1 -0
- package/dist/formats/webgpu/core/cewgpu/CewgpuPackage.js +415 -0
- package/dist/formats/webgpu/core/cewgpu/CewgpuPackage.js.map +1 -0
- package/dist/formats/webgpu/core/cewgpu/CewgpuPackageBuilder.js +100 -0
- package/dist/formats/webgpu/core/cewgpu/CewgpuPackageBuilder.js.map +1 -0
- package/dist/formats/webgpu/core/cewgpu/binary.js +93 -0
- package/dist/formats/webgpu/core/cewgpu/binary.js.map +1 -0
- package/dist/formats/webgpu/core/cewgpu/tags.js +17 -0
- package/dist/formats/webgpu/core/cewgpu/tags.js.map +1 -0
- package/dist/formats/webgpu/core/effectAnalysis.js +82 -0
- package/dist/formats/webgpu/core/effectAnalysis.js.map +1 -0
- package/dist/formats/webgpu/core/effectBackendBodySet.js +305 -0
- package/dist/formats/webgpu/core/effectBackendBodySet.js.map +1 -0
- package/dist/formats/webgpu/core/effectPackageValidation.js +1078 -0
- package/dist/formats/webgpu/core/effectPackageValidation.js.map +1 -0
- package/dist/formats/webgpu/core/errors.js +20 -0
- package/dist/formats/webgpu/core/errors.js.map +1 -0
- package/dist/formats/webgpu/core/helpers.js +448 -0
- package/dist/formats/webgpu/core/helpers.js.map +1 -0
- package/dist/formats/webgpu/core/ir/analyzeRegisterValues.js +223 -0
- package/dist/formats/webgpu/core/ir/analyzeRegisterValues.js.map +1 -0
- package/dist/formats/webgpu/core/ir/buildControlFlow.js +220 -0
- package/dist/formats/webgpu/core/ir/buildControlFlow.js.map +1 -0
- package/dist/formats/webgpu/core/ir/indexableTemps.js +137 -0
- package/dist/formats/webgpu/core/ir/indexableTemps.js.map +1 -0
- package/dist/formats/webgpu/core/ir/inferValueTypes.js +454 -0
- package/dist/formats/webgpu/core/ir/inferValueTypes.js.map +1 -0
- package/dist/formats/webgpu/core/ir/lowerDxbcToIr.js +494 -0
- package/dist/formats/webgpu/core/ir/lowerDxbcToIr.js.map +1 -0
- package/dist/formats/webgpu/core/ir/resolveRegisterFlow.js +177 -0
- package/dist/formats/webgpu/core/ir/resolveRegisterFlow.js.map +1 -0
- package/dist/formats/webgpu/core/ir/sourceLanes.js +61 -0
- package/dist/formats/webgpu/core/ir/sourceLanes.js.map +1 -0
- package/dist/formats/webgpu/core/packageEffect.js +300 -0
- package/dist/formats/webgpu/core/packageEffect.js.map +1 -0
- package/dist/formats/webgpu/core/packageEffectSelection.js +164 -0
- package/dist/formats/webgpu/core/packageEffectSelection.js.map +1 -0
- package/dist/formats/webgpu/core/packageMetadata.js +8 -0
- package/dist/formats/webgpu/core/packageMetadata.js.map +1 -0
- package/dist/formats/webgpu/core/schema.js +4 -0
- package/dist/formats/webgpu/core/schema.js.map +1 -0
- package/dist/formats/webgpu/core/wgsl/buildResourceTransformPlan.js +275 -0
- package/dist/formats/webgpu/core/wgsl/buildResourceTransformPlan.js.map +1 -0
- package/dist/formats/webgpu/core/wgsl/buildWgslBindingPlan.js +182 -0
- package/dist/formats/webgpu/core/wgsl/buildWgslBindingPlan.js.map +1 -0
- package/dist/formats/webgpu/core/wgsl/buildWgslSet.js +324 -0
- package/dist/formats/webgpu/core/wgsl/buildWgslSet.js.map +1 -0
- package/dist/formats/webgpu/core/wgsl/emitWgsl.js +356 -0
- package/dist/formats/webgpu/core/wgsl/emitWgsl.js.map +1 -0
- package/dist/formats/webgpu/core/wgsl/hoistEscapingValues.js +77 -0
- package/dist/formats/webgpu/core/wgsl/hoistEscapingValues.js.map +1 -0
- package/dist/formats/webgpu/core/wgsl/lowerBindingLayout.js +451 -0
- package/dist/formats/webgpu/core/wgsl/lowerBindingLayout.js.map +1 -0
- package/dist/formats/webgpu/core/wgsl/lowerComputeProgram.js +754 -0
- package/dist/formats/webgpu/core/wgsl/lowerComputeProgram.js.map +1 -0
- package/dist/formats/webgpu/core/wgsl/lowerCreateHistogramsComputeProgram.js +457 -0
- package/dist/formats/webgpu/core/wgsl/lowerCreateHistogramsComputeProgram.js.map +1 -0
- package/dist/formats/webgpu/core/wgsl/lowerFragmentProgram.js +1572 -0
- package/dist/formats/webgpu/core/wgsl/lowerFragmentProgram.js.map +1 -0
- package/dist/formats/webgpu/core/wgsl/lowerMergeHistogramsComputeProgram.js +659 -0
- package/dist/formats/webgpu/core/wgsl/lowerMergeHistogramsComputeProgram.js.map +1 -0
- package/dist/formats/webgpu/core/wgsl/lowerParticleClearComputePrograms.js +734 -0
- package/dist/formats/webgpu/core/wgsl/lowerParticleClearComputePrograms.js.map +1 -0
- package/dist/formats/webgpu/core/wgsl/lowerParticleEmitComputeProgram.js +583 -0
- package/dist/formats/webgpu/core/wgsl/lowerParticleEmitComputeProgram.js.map +1 -0
- package/dist/formats/webgpu/core/wgsl/lowerSkinVerticesComputeProgram.js +621 -0
- package/dist/formats/webgpu/core/wgsl/lowerSkinVerticesComputeProgram.js.map +1 -0
- package/dist/formats/webgpu/core/wgsl/lowerSortComputeProgram.js +824 -0
- package/dist/formats/webgpu/core/wgsl/lowerSortComputeProgram.js.map +1 -0
- package/dist/formats/webgpu/core/wgsl/lowerSortInnerComputeProgram.js +697 -0
- package/dist/formats/webgpu/core/wgsl/lowerSortInnerComputeProgram.js.map +1 -0
- package/dist/formats/webgpu/core/wgsl/lowerSortStepComputeProgram.js +559 -0
- package/dist/formats/webgpu/core/wgsl/lowerSortStepComputeProgram.js.map +1 -0
- package/dist/formats/webgpu/core/wgsl/lowerVertexProgram.js +1328 -0
- package/dist/formats/webgpu/core/wgsl/lowerVertexProgram.js.map +1 -0
- package/dist/formats/webgpu/core/wgsl/particleEmitSemanticDigest.js +110 -0
- package/dist/formats/webgpu/core/wgsl/particleEmitSemanticDigest.js.map +1 -0
- package/dist/formats/webgpu/core/wgsl/precisionControls.js +55 -0
- package/dist/formats/webgpu/core/wgsl/precisionControls.js.map +1 -0
- package/dist/formats/webgpu/core/wgsl/selectionPlans.js +758 -0
- package/dist/formats/webgpu/core/wgsl/selectionPlans.js.map +1 -0
- package/dist/formats/webgpu/core/wgsl/uniformity.js +78 -0
- package/dist/formats/webgpu/core/wgsl/uniformity.js.map +1 -0
- package/dist/formats/webgpu/core/wgsl/validateExactComputeIr.js +196 -0
- package/dist/formats/webgpu/core/wgsl/validateExactComputeIr.js.map +1 -0
- package/dist/formats/webgpu/core/wgsl/validateHandleOperand.js +37 -0
- package/dist/formats/webgpu/core/wgsl/validateHandleOperand.js.map +1 -0
- package/dist/formats/webgpu/index.js +2 -0
- package/dist/formats/webgpu/index.js.map +1 -0
- package/dist/resource/shader/Tr2EffectRes.js +159 -150
- package/dist/resource/shader/Tr2EffectRes.js.map +1 -1
- package/dist/resource/shader/Tr2MaterialArea.js +23 -28
- package/dist/resource/shader/Tr2MaterialArea.js.map +1 -1
- package/dist/resource/shader/Tr2MaterialMesh.js +21 -27
- package/dist/resource/shader/Tr2MaterialMesh.js.map +1 -1
- package/dist/resource/shader/Tr2MaterialRes.js +24 -29
- package/dist/resource/shader/Tr2MaterialRes.js.map +1 -1
- package/dist/resource/shader/Tr2Shader.js +45 -39
- package/dist/resource/shader/Tr2Shader.js.map +1 -1
- package/dist/resource/shader/Tr2ShaderPermutation.js +30 -32
- package/dist/resource/shader/Tr2ShaderPermutation.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectConstant.js +113 -78
- package/dist/resource/shader/reflection/Tr2EffectConstant.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectDefine.js +17 -23
- package/dist/resource/shader/reflection/Tr2EffectDefine.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectDescription.js +23 -29
- package/dist/resource/shader/reflection/Tr2EffectDescription.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectLibrary.js +44 -40
- package/dist/resource/shader/reflection/Tr2EffectLibrary.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectParameterAnnotation.js +82 -86
- package/dist/resource/shader/reflection/Tr2EffectParameterAnnotation.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectResource.js +55 -61
- package/dist/resource/shader/reflection/Tr2EffectResource.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectStageInput.js +49 -45
- package/dist/resource/shader/reflection/Tr2EffectStageInput.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectTechnique.js +25 -30
- package/dist/resource/shader/reflection/Tr2EffectTechnique.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2Pass.js +30 -32
- package/dist/resource/shader/reflection/Tr2Pass.js.map +1 -1
- package/dist/resource/shader/sampler/Tr2SamplerSetup.js +21 -26
- package/dist/resource/shader/sampler/Tr2SamplerSetup.js.map +1 -1
- package/docs/formats/README.md +4 -0
- package/docs/formats/provenance.md +11 -3
- package/docs/reference/classes/formats.md +440 -0
- package/format-notices/dxbc/LICENSE +21 -0
- package/format-notices/dxbc/NOTICE +20 -0
- package/format-notices/hlsl/LICENSE +21 -0
- package/format-notices/hlsl/NOTICE +25 -0
- package/format-notices/webgl/LICENSE +21 -0
- package/format-notices/webgl/NOTICE +35 -0
- package/format-notices/webgpu/LICENSE +21 -0
- package/format-notices/webgpu/NOTICE +31 -0
- package/package.json +6 -1
- package/dist/resource/shader/portableValidation.js +0 -461
- 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":"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"}
|
|
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 {
|
|
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
|
-
|
|
6
|
+
// Source: trinity/trinity/Shader/Tr2EffectDescription.h
|
|
8
7
|
|
|
9
8
|
/** Typed annotation attached to a reflected effect parameter. */
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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
|
-
|
|
31
|
-
|
|
13
|
+
/** type (Type - enum Type) */
|
|
14
|
+
type = 0;
|
|
32
15
|
|
|
33
|
-
|
|
34
|
-
|
|
16
|
+
/** boolValue (bool) */
|
|
17
|
+
boolValue = false;
|
|
35
18
|
|
|
36
|
-
|
|
37
|
-
|
|
19
|
+
/** Exact serialized BOOL, INT, or FLOAT payload bits. */
|
|
20
|
+
rawValue = 0;
|
|
38
21
|
|
|
39
|
-
|
|
40
|
-
|
|
22
|
+
/** intValue (int) */
|
|
23
|
+
intValue = 0;
|
|
41
24
|
|
|
42
|
-
|
|
43
|
-
|
|
25
|
+
/** floatValue (float) */
|
|
26
|
+
floatValue = 0;
|
|
44
27
|
|
|
45
|
-
|
|
46
|
-
|
|
28
|
+
/** stringValue (const char*) */
|
|
29
|
+
stringValue = "";
|
|
47
30
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
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
|
-
|
|
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
|
-
|
|
102
|
-
|
|
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 {
|
|
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. */\
|
|
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 {
|
|
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
|
-
|
|
5
|
+
// Source: trinity/trinity/Shader/Tr2EffectDescription.h
|
|
7
6
|
|
|
8
7
|
/** Reflected SRV or UAV resource metadata. */
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
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
|
-
|
|
30
|
-
|
|
12
|
+
/** isAutoregister (bool) */
|
|
13
|
+
isAutoregister = false;
|
|
31
14
|
|
|
32
|
-
|
|
33
|
-
|
|
15
|
+
/** name (const char*) */
|
|
16
|
+
name = "";
|
|
34
17
|
|
|
35
|
-
|
|
36
|
-
|
|
18
|
+
/** type (Type - enum Type) */
|
|
19
|
+
type = 0;
|
|
37
20
|
|
|
38
|
-
|
|
39
|
-
|
|
21
|
+
/** arrayElements (uint32_t) */
|
|
22
|
+
arrayElements = 0;
|
|
40
23
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
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
|
-
|
|
67
|
-
|
|
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
|
-
|
|
85
|
-
|
|
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 {
|
|
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. */\
|
|
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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"}
|