@carbonenginejs/runtime 0.1.0-alpha.4 → 0.1.0-alpha.5
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/global/blue/BlueClasses.js +200 -0
- package/dist/global/blue/BlueClasses.js.map +1 -0
- package/dist/global/blue/IBlueClasses.js +79 -0
- package/dist/global/blue/IBlueClasses.js.map +1 -0
- package/dist/global/blue/IBlueDynamicResourceConstructor.js +16 -0
- package/dist/global/blue/IBlueDynamicResourceConstructor.js.map +1 -1
- package/dist/global/blue/blue.js +8 -2
- package/dist/global/blue/blue.js.map +1 -1
- package/dist/global/blue/index.js +2 -0
- package/dist/global/blue/index.js.map +1 -1
- package/dist/global/consts/index.js +0 -1
- package/dist/global/consts/index.js.map +1 -1
- package/dist/global/consts/renderContext/formats.js +26 -25
- package/dist/global/consts/renderContext/formats.js.map +1 -1
- package/dist/{trinityal/Tr2BitmapDimensions.js → global/imageio/BitmapDimensions.js} +19 -15
- package/dist/global/imageio/BitmapDimensions.js.map +1 -0
- package/dist/global/imageio/Cutout.js +28 -0
- package/dist/global/imageio/Cutout.js.map +1 -0
- package/dist/global/imageio/HostBitmap.js +1106 -0
- package/dist/global/imageio/HostBitmap.js.map +1 -0
- package/dist/global/imageio/ImageIOResult.js +99 -0
- package/dist/global/imageio/ImageIOResult.js.map +1 -0
- package/dist/global/imageio/ImageUtility.js +205 -0
- package/dist/global/imageio/ImageUtility.js.map +1 -0
- package/dist/global/imageio/LoadParameters.js +86 -0
- package/dist/global/imageio/LoadParameters.js.map +1 -0
- package/dist/global/imageio/Metadata.js +22 -0
- package/dist/global/imageio/Metadata.js.map +1 -0
- package/dist/global/imageio/index.js +8 -0
- package/dist/global/{consts/webgpu → imageio}/index.js.map +1 -1
- package/dist/global/index.js +2 -1
- package/dist/global/index.js.map +1 -1
- package/dist/global/math/color.js +1 -1
- package/dist/global/math/color.js.map +1 -1
- package/dist/global/schema/CjsSchema.js +8 -0
- package/dist/global/schema/CjsSchema.js.map +1 -1
- package/dist/index.js +12 -4
- package/dist/index.js.map +1 -1
- package/dist/resource/CjsResMan.js +47 -7
- package/dist/resource/CjsResMan.js.map +1 -1
- package/dist/resource/Tr2LightProfileRes.js +37 -0
- package/dist/resource/Tr2LightProfileRes.js.map +1 -1
- package/dist/resource/format/CjsByteWriter.js +46 -46
- package/dist/resource/format/CjsByteWriter.js.map +1 -1
- package/dist/resource/format/CjsFormat.js +7 -8
- package/dist/resource/format/CjsFormat.js.map +1 -1
- package/dist/resource/format/CjsFormatStore.js +8 -8
- package/dist/resource/format/CjsFormatStore.js.map +1 -1
- package/dist/resource/format/CjsGeometryFormat.js +114 -0
- package/dist/resource/format/CjsGeometryFormat.js.map +1 -0
- package/dist/resource/format/CjsImageFormat.js +282 -0
- package/dist/resource/format/CjsImageFormat.js.map +1 -0
- package/dist/resource/format/CjsResourceProbe.js +12 -48
- package/dist/resource/format/CjsResourceProbe.js.map +1 -1
- package/dist/resource/format/CjsStringTable.js +37 -37
- package/dist/resource/format/CjsStringTable.js.map +1 -1
- package/dist/resource/format/carbonEffect/CjsCarbonEffectReader.js +10 -10
- package/dist/resource/format/carbonEffect/CjsCarbonEffectReader.js.map +1 -1
- package/dist/resource/format/carbonEffect/CjsCarbonEffectWriter.js +37 -37
- package/dist/resource/format/carbonEffect/CjsCarbonEffectWriter.js.map +1 -1
- package/dist/resource/format/carbonEffect/carbonEffectBackendBlock.js +35 -7
- package/dist/resource/format/carbonEffect/carbonEffectBackendBlock.js.map +1 -1
- package/dist/resource/format/index.js +3 -1
- package/dist/resource/format/index.js.map +1 -1
- package/dist/resource/formats/black/CjsBlackFormat.js +130 -137
- package/dist/resource/formats/black/CjsBlackFormat.js.map +1 -1
- package/dist/resource/formats/bnk/CjsBnkFormat.js +12 -19
- package/dist/resource/formats/bnk/CjsBnkFormat.js.map +1 -1
- package/dist/resource/formats/bnk/core/helpers.js +1 -3
- package/dist/resource/formats/bnk/core/helpers.js.map +1 -1
- package/dist/resource/formats/cmf/CjsCmfFormat.js +19 -82
- package/dist/resource/formats/cmf/CjsCmfFormat.js.map +1 -1
- package/dist/resource/formats/cmf/core/constants.js +1 -2
- package/dist/resource/formats/cmf/core/constants.js.map +1 -1
- package/dist/resource/formats/{stl/core/targets.js → cmf/core/flatShared.js} +9 -8
- package/dist/resource/formats/cmf/core/flatShared.js.map +1 -0
- package/dist/resource/formats/cmf/core/helpers.js +13 -13
- package/dist/resource/formats/cmf/core/helpers.js.map +1 -1
- package/dist/resource/formats/cmf/core/writer.js +24 -24
- package/dist/resource/formats/cmf/core/writer.js.map +1 -1
- package/dist/resource/formats/dds/CjsDdsFormat.js +134 -17
- package/dist/resource/formats/dds/CjsDdsFormat.js.map +1 -1
- package/dist/resource/formats/dds/core/helpers.js +125 -40
- package/dist/resource/formats/dds/core/helpers.js.map +1 -1
- package/dist/resource/formats/dxbc/CjsDxbcFormat.js +14 -16
- package/dist/resource/formats/dxbc/CjsDxbcFormat.js.map +1 -1
- package/dist/resource/formats/dxbc/core/{container.js → DxbcContainer.js} +2 -2
- package/dist/resource/formats/dxbc/core/DxbcContainer.js.map +1 -0
- package/dist/resource/formats/dxbc/core/{errors.js → DxbcReadError.js} +1 -1
- package/dist/resource/formats/dxbc/core/DxbcReadError.js.map +1 -0
- package/dist/resource/formats/dxbc/core/DxbcReader.js +1 -1
- package/dist/resource/formats/dxbc/core/DxbcReader.js.map +1 -1
- package/dist/resource/formats/dxbc/core/{program.js → DxbcShaderProgram.js} +2 -2
- package/dist/resource/formats/dxbc/core/DxbcShaderProgram.js.map +1 -0
- package/dist/resource/formats/dxbc/core/{signature.js → DxbcSignatureChunk.js} +2 -2
- package/dist/resource/formats/dxbc/core/DxbcSignatureChunk.js.map +1 -0
- package/dist/resource/formats/dxbc/core/decoder.js +2 -2
- package/dist/resource/formats/dxbc/core/decoder.js.map +1 -1
- package/dist/resource/formats/dxbc/core/helpers.js +3 -3
- package/dist/resource/formats/dxbc/core/helpers.js.map +1 -1
- package/dist/resource/formats/fbx/CjsFbxFormat.js +18 -20
- package/dist/resource/formats/fbx/CjsFbxFormat.js.map +1 -1
- package/dist/resource/formats/flac/CjsFlacFormat.js +7 -13
- package/dist/resource/formats/flac/CjsFlacFormat.js.map +1 -1
- package/dist/resource/formats/fsd/32/CjsFsd32Format.js +29 -29
- package/dist/resource/formats/fsd/32/CjsFsd32Format.js.map +1 -1
- package/dist/resource/formats/fsd/64/CjsFsd64Format.js +3 -3
- package/dist/resource/formats/fsd/64/CjsFsd64Format.js.map +1 -1
- package/dist/resource/formats/fsd/64/core/CjsFsd64Binary.js +23 -23
- package/dist/resource/formats/fsd/64/core/CjsFsd64Binary.js.map +1 -1
- package/dist/resource/formats/fsd/64/core/CjsFsd64Reader.js +8 -8
- package/dist/resource/formats/fsd/64/core/CjsFsd64Reader.js.map +1 -1
- package/dist/resource/formats/fsd/CjsFsdFormat.js +23 -23
- package/dist/resource/formats/fsd/CjsFsdFormat.js.map +1 -1
- package/dist/resource/formats/gif/CjsGifFormat.js +24 -15
- package/dist/resource/formats/gif/CjsGifFormat.js.map +1 -1
- package/dist/resource/formats/gltf/CjsGltfFormat.js +33 -98
- package/dist/resource/formats/gltf/CjsGltfFormat.js.map +1 -1
- package/dist/resource/formats/gltf/core/helpers.js +3 -12
- package/dist/resource/formats/gltf/core/helpers.js.map +1 -1
- package/dist/resource/formats/gr2/CjsGr2Format.js +27 -91
- package/dist/resource/formats/gr2/CjsGr2Format.js.map +1 -1
- package/dist/resource/formats/hlsl/CjsHlslFormat.js +22 -25
- package/dist/resource/formats/hlsl/CjsHlslFormat.js.map +1 -1
- package/dist/resource/formats/hlsl/core/carbonDescriptionToRuntime.js +1 -1
- package/dist/resource/formats/hlsl/core/carbonDescriptionToRuntime.js.map +1 -1
- package/dist/resource/formats/hlsl/core/tr2/shader/HlslEffectStageInput.js +3 -3
- package/dist/resource/formats/hlsl/core/tr2/shader/HlslEffectStageInput.js.map +1 -1
- package/dist/resource/formats/ies/CjsIESFormat.js +29 -29
- package/dist/resource/formats/ies/CjsIESFormat.js.map +1 -1
- package/dist/resource/formats/jpeg/CjsJpegFormat.js +24 -15
- package/dist/resource/formats/jpeg/CjsJpegFormat.js.map +1 -1
- package/dist/resource/formats/jpeg/core/helpers.js +3 -5
- package/dist/resource/formats/jpeg/core/helpers.js.map +1 -1
- package/dist/resource/formats/jpeg/core/jpeg.js +58 -58
- package/dist/resource/formats/jpeg/core/jpeg.js.map +1 -1
- package/dist/resource/formats/jsonl/CjsJsonlFormat.js +3 -3
- package/dist/resource/formats/jsonl/CjsJsonlFormat.js.map +1 -1
- package/dist/resource/formats/mp3/CjsMp3Format.js +7 -14
- package/dist/resource/formats/mp3/CjsMp3Format.js.map +1 -1
- package/dist/resource/formats/mp3/core/helpers.js +3 -5
- package/dist/resource/formats/mp3/core/helpers.js.map +1 -1
- package/dist/resource/formats/mp4/CjsMp4Format.js +7 -13
- package/dist/resource/formats/mp4/CjsMp4Format.js.map +1 -1
- package/dist/resource/formats/mp4/core/helpers.js +3 -5
- package/dist/resource/formats/mp4/core/helpers.js.map +1 -1
- package/dist/resource/formats/obj/CjsObjFormat.js +92 -157
- package/dist/resource/formats/obj/CjsObjFormat.js.map +1 -1
- package/dist/resource/formats/obj/core/helpers.js +5 -113
- package/dist/resource/formats/obj/core/helpers.js.map +1 -1
- package/dist/resource/formats/ogg/CjsOggFormat.js +7 -14
- package/dist/resource/formats/ogg/CjsOggFormat.js.map +1 -1
- package/dist/resource/formats/pickle/CjsPickleFormat.js +7 -12
- package/dist/resource/formats/pickle/CjsPickleFormat.js.map +1 -1
- package/dist/resource/formats/pickle/core/CjsPickleProtocol0Reader.js +7 -7
- package/dist/resource/formats/pickle/core/CjsPickleProtocol0Reader.js.map +1 -1
- package/dist/resource/formats/pickle/core/CjsPickleProtocol4Reader.js +7 -7
- package/dist/resource/formats/pickle/core/CjsPickleProtocol4Reader.js.map +1 -1
- package/dist/resource/formats/png/CjsPngFormat.js +40 -15
- package/dist/resource/formats/png/CjsPngFormat.js.map +1 -1
- package/dist/resource/formats/png/core/helpers.js +4 -6
- package/dist/resource/formats/png/core/helpers.js.map +1 -1
- package/dist/resource/formats/red/CjsRedFormat.js +22 -28
- package/dist/resource/formats/red/CjsRedFormat.js.map +1 -1
- package/dist/resource/formats/schemabound/CjsSchemaBoundFormat.js +3 -7
- package/dist/resource/formats/schemabound/CjsSchemaBoundFormat.js.map +1 -1
- package/dist/resource/formats/schemabound/core/schemaBoundValues.js +5 -0
- package/dist/resource/formats/schemabound/core/schemaBoundValues.js.map +1 -1
- package/dist/resource/formats/sqlite/CjsSqliteFormat.js +4 -9
- package/dist/resource/formats/sqlite/CjsSqliteFormat.js.map +1 -1
- package/dist/resource/formats/static/CjsStaticFormat.js +4 -4
- package/dist/resource/formats/static/CjsStaticFormat.js.map +1 -1
- package/dist/resource/formats/stl/CjsStlFormat.js +39 -104
- package/dist/resource/formats/stl/CjsStlFormat.js.map +1 -1
- package/dist/resource/formats/stl/core/helpers.js +5 -19
- package/dist/resource/formats/stl/core/helpers.js.map +1 -1
- package/dist/resource/formats/tga/CjsTgaFormat.js +26 -15
- package/dist/resource/formats/tga/CjsTgaFormat.js.map +1 -1
- package/dist/resource/formats/tga/core/helpers.js +3 -5
- package/dist/resource/formats/tga/core/helpers.js.map +1 -1
- package/dist/resource/formats/vta/CjsVtaFormat.js +8 -15
- package/dist/resource/formats/vta/CjsVtaFormat.js.map +1 -1
- package/dist/resource/formats/wav/CjsWavFormat.js +7 -14
- package/dist/resource/formats/wav/CjsWavFormat.js.map +1 -1
- package/dist/resource/formats/wav/core/helpers.js +3 -5
- package/dist/resource/formats/wav/core/helpers.js.map +1 -1
- package/dist/resource/formats/webgl/CjsWebglFormat.js +103 -105
- package/dist/resource/formats/webgl/CjsWebglFormat.js.map +1 -1
- package/dist/resource/formats/webgl/core/{errors.js → WebglReadError.js} +1 -1
- package/dist/resource/formats/webgl/core/WebglReadError.js.map +1 -0
- package/dist/resource/formats/webgl/core/effectPackage.js +1 -1
- package/dist/resource/formats/webgl/core/effectPackage.js.map +1 -1
- package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js +3 -3
- package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js.map +1 -1
- package/dist/resource/formats/webgl/core/glsl/{DxbcGlslHelpers.js → DxbcGlslHelperRegistry.js} +2 -2
- package/dist/resource/formats/webgl/core/glsl/DxbcGlslHelperRegistry.js.map +1 -0
- package/dist/resource/formats/webgl/core/glsl/DxbcGlslOperandFormatter.js +1 -1
- package/dist/resource/formats/webgl/core/glsl/DxbcGlslOperandFormatter.js.map +1 -1
- package/dist/resource/formats/webgl/core/glslBackendBlock.js +1 -1
- package/dist/resource/formats/webgl/core/glslBackendBlock.js.map +1 -1
- package/dist/resource/formats/webgl/core/helpers.js.map +1 -1
- package/dist/resource/formats/webgpu/CjsWebgpuFormat.js +28 -29
- package/dist/resource/formats/webgpu/CjsWebgpuFormat.js.map +1 -1
- package/dist/resource/formats/webgpu/core/{errors.js → WebgpuReadError.js} +1 -1
- package/dist/resource/formats/webgpu/core/WebgpuReadError.js.map +1 -0
- package/dist/resource/formats/webgpu/core/carbonWebgpu/validateContainer.js +1 -1
- package/dist/resource/formats/webgpu/core/carbonWebgpu/validateContainer.js.map +1 -1
- package/dist/resource/formats/webgpu/core/helpers.js +1 -1
- package/dist/resource/formats/webgpu/core/helpers.js.map +1 -1
- package/dist/resource/formats/webgpu/core/ir/lowerDxbcToIr.js +1 -1
- package/dist/resource/formats/webgpu/core/ir/lowerDxbcToIr.js.map +1 -1
- package/dist/resource/formats/webgpu/core/wgsl/buildWgslSet.js +18 -6
- package/dist/resource/formats/webgpu/core/wgsl/buildWgslSet.js.map +1 -1
- package/dist/resource/formats/webgpu/core/wgsl/lowerBindingLayout.js +39 -13
- package/dist/resource/formats/webgpu/core/wgsl/lowerBindingLayout.js.map +1 -1
- package/dist/resource/formats/webgpu/core/wgsl/lowerCreateHistogramsComputeProgram.js +16 -14
- package/dist/resource/formats/webgpu/core/wgsl/lowerCreateHistogramsComputeProgram.js.map +1 -1
- package/dist/resource/formats/webm/CjsWebmFormat.js +8 -13
- package/dist/resource/formats/webm/CjsWebmFormat.js.map +1 -1
- package/dist/resource/formats/webm/core/helpers.js +3 -5
- package/dist/resource/formats/webm/core/helpers.js.map +1 -1
- package/dist/resource/formats/webp/CjsWebpFormat.js +8 -12
- package/dist/resource/formats/webp/CjsWebpFormat.js.map +1 -1
- package/dist/resource/formats/wem/CjsWemFormat.js +9 -17
- package/dist/resource/formats/wem/CjsWemFormat.js.map +1 -1
- package/dist/resource/formats/wem/core/bitStream.js +35 -35
- package/dist/resource/formats/wem/core/bitStream.js.map +1 -1
- package/dist/resource/formats/wem/core/helpers.js +1 -3
- package/dist/resource/formats/wem/core/helpers.js.map +1 -1
- package/dist/resource/formats/yaml/CjsYamlFormat.js +28 -37
- package/dist/resource/formats/yaml/CjsYamlFormat.js.map +1 -1
- package/dist/resource/imageio/ImageIO.js +142 -0
- package/dist/resource/imageio/ImageIO.js.map +1 -0
- package/dist/resource/imageio/index.js +17 -0
- package/dist/resource/imageio/index.js.map +1 -0
- package/dist/resource/index.js +7 -0
- package/dist/resource/index.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectResource.js +24 -2
- package/dist/resource/shader/reflection/Tr2EffectResource.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2Pass.js +76 -5
- package/dist/resource/shader/reflection/Tr2Pass.js.map +1 -1
- package/dist/resource/texture/CjsTextureArrayConstructor.js +97 -0
- package/dist/resource/texture/CjsTextureArrayConstructor.js.map +1 -0
- package/dist/resource/texture/CjsTexturePackConstructor.js +160 -0
- package/dist/resource/texture/CjsTexturePackConstructor.js.map +1 -0
- package/dist/resource/texture/CjsTexturePipelineStepArray.js +72 -0
- package/dist/resource/texture/CjsTexturePipelineStepArray.js.map +1 -0
- package/dist/resource/texture/CjsTexturePipelineStepConvert.js +73 -0
- package/dist/resource/texture/CjsTexturePipelineStepConvert.js.map +1 -0
- package/dist/resource/texture/CjsTexturePipelineStepPack.js +71 -0
- package/dist/resource/texture/CjsTexturePipelineStepPack.js.map +1 -0
- package/dist/resource/texture/CjsTexturePipelineStepResize.js +123 -0
- package/dist/resource/texture/CjsTexturePipelineStepResize.js.map +1 -0
- package/dist/resource/texture/SolidColorTextureConstructor.js +11 -1
- package/dist/resource/texture/SolidColorTextureConstructor.js.map +1 -1
- package/dist/resource/texture/Tr2ImageRes.js +100 -68
- package/dist/resource/texture/Tr2ImageRes.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipeline.js +45 -25
- package/dist/resource/texture/Tr2TexturePipeline.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepCompress.js +34 -1
- package/dist/resource/texture/Tr2TexturePipelineStepCompress.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepGenerateMips.js +30 -3
- package/dist/resource/texture/Tr2TexturePipelineStepGenerateMips.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js +81 -1
- package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepLoad.js +36 -1
- package/dist/resource/texture/Tr2TexturePipelineStepLoad.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepPack.js +146 -24
- package/dist/resource/texture/Tr2TexturePipelineStepPack.js.map +1 -1
- package/dist/resource/texture/TriTextureRes.js +151 -29
- package/dist/resource/texture/TriTextureRes.js.map +1 -1
- package/dist/resource/texture/index.js +7 -0
- package/dist/resource/texture/index.js.map +1 -1
- package/dist/resource/texture/registerTextureResources.js +83 -0
- package/dist/resource/texture/registerTextureResources.js.map +1 -0
- package/dist/resource/texture/solidColorTexture.js +10 -19
- package/dist/resource/texture/solidColorTexture.js.map +1 -1
- package/dist/sof/EveSOF.js +39 -7
- package/dist/sof/EveSOF.js.map +1 -1
- package/dist/trinity/core/Tr2GpuResourcePool/Tr2GpuResourcePool.js +2 -2
- package/dist/trinity/core/Tr2GpuResourcePool/Tr2GpuResourcePool.js.map +1 -1
- package/dist/trinity/core/Tr2ImageIOHelpers.js +80 -17
- package/dist/trinity/core/Tr2ImageIOHelpers.js.map +1 -1
- package/dist/trinity/core/Tr2RenderUtils.js +1 -1
- package/dist/trinity/core/Tr2TextureArray/Tr2TextureArray.js +49 -62
- package/dist/trinity/core/Tr2TextureArray/Tr2TextureArray.js.map +1 -1
- package/dist/trinity/core/Tr2TextureReference.js +114 -0
- package/dist/trinity/core/Tr2TextureReference.js.map +1 -0
- package/dist/trinity/core/device/Tr2DepthStencil.js +2 -2
- package/dist/trinity/core/device/Tr2DepthStencil.js.map +1 -1
- package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBuffer.js +1 -1
- package/dist/trinity/core/index.js +1 -0
- package/dist/trinity/core/index.js.map +1 -1
- package/dist/trinity/core/lighting/Tr2LightManager.js +5 -4
- package/dist/trinity/core/lighting/Tr2LightManager.js.map +1 -1
- package/dist/trinity/core/procedural/GradientTextureConstructor.js +5 -4
- package/dist/trinity/core/procedural/GradientTextureConstructor.js.map +1 -1
- package/dist/trinity/core/procedural/gradientTexture.js +10 -13
- package/dist/trinity/core/procedural/gradientTexture.js.map +1 -1
- package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js +1 -1
- package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js.map +1 -1
- package/dist/trinity/eve/EveImpactOverlay.js +102 -50
- package/dist/trinity/eve/EveImpactOverlay.js.map +1 -1
- package/dist/trinity/eve/EveModularObjectModifier.js +9 -18
- package/dist/trinity/eve/EveModularObjectModifier.js.map +1 -1
- package/dist/trinity/eve/attachment/turrets/EveTurretSet.js +175 -157
- package/dist/trinity/eve/attachment/turrets/EveTurretSet.js.map +1 -1
- package/dist/trinity/eve/attachment/turrets/EveTurretTarget.js +100 -83
- package/dist/trinity/eve/attachment/turrets/EveTurretTarget.js.map +1 -1
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js +26 -20
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js.map +1 -1
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshes.js +368 -179
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshes.js.map +1 -1
- package/dist/trinity/eve/child/EveChildMesh.js +242 -234
- package/dist/trinity/eve/child/EveChildMesh.js.map +1 -1
- package/dist/trinity/eve/child/EveChildTurret.js +57 -16
- package/dist/trinity/eve/child/EveChildTurret.js.map +1 -1
- package/dist/trinity/eve/child/EveSpaceObjectChild.js +28 -1
- package/dist/trinity/eve/child/EveSpaceObjectChild.js.map +1 -1
- package/dist/trinity/eve/index.js +2 -2
- package/dist/trinity/eve/overlays/EveDamageOverlay.js +5 -1
- package/dist/trinity/eve/overlays/EveDamageOverlay.js.map +1 -1
- package/dist/trinity/eve/scene/EveSpaceScene.js +234 -233
- package/dist/trinity/eve/scene/EveSpaceScene.js.map +1 -1
- package/dist/trinity/eve/scene/EveSpaceSceneRenderDriver.js +2 -0
- package/dist/trinity/eve/scene/EveSpaceSceneRenderDriver.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveSpaceObject2.js +492 -437
- package/dist/trinity/eve/spaceObject/EveSpaceObject2.js.map +1 -1
- package/dist/trinity/generated/index.js +0 -1
- package/dist/trinity/generated/index.js.map +1 -1
- package/dist/trinity/generated/trinityCore/index.js +0 -1
- package/dist/trinity/generated/trinityCore/index.js.map +1 -1
- package/dist/trinity/index.js +3 -3
- package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js +10 -1
- package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js.map +1 -1
- package/dist/trinity/shader/Tr2DataTextureManager.js +152 -66
- package/dist/trinity/shader/Tr2DataTextureManager.js.map +1 -1
- package/dist/trinity/shader/Tr2Material.js +1 -1
- package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureSubresource.js +5 -5
- package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureSubresource.js.map +1 -1
- package/dist/trinityal/index.js +1 -1
- package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2RenderContextALStub.js +2 -2
- package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2RenderContextALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2SwapChainALStub.js +45 -45
- package/dist/trinityal/stub/Tr2SwapChainALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2TextureALStub.js +170 -170
- package/dist/trinityal/stub/Tr2TextureALStub.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuDevice.js +234 -164
- package/dist/trinityal/webgpu/CjsWebgpuDevice.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuRenderContextAL.js +7 -0
- package/dist/trinityal/webgpu/CjsWebgpuRenderContextAL.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuTextureAL.js +78 -14
- package/dist/trinityal/webgpu/CjsWebgpuTextureAL.js.map +1 -1
- package/dist/trinityal/webgpu/core/CjsWebgpuUtils.js +94 -0
- package/dist/trinityal/webgpu/core/CjsWebgpuUtils.js.map +1 -0
- package/dist/trinityal/webgpu/internal.js +1 -0
- package/dist/trinityal/webgpu/internal.js.map +1 -1
- package/docs/global/reference/classes/README.md +90 -0
- package/docs/resource/concepts/format-capabilities.md +3 -3
- package/docs/resource/formats/README.md +1 -1
- package/docs/resource/reference/classes/core.md +31 -1
- package/docs/resource/reference/classes/formats.md +7 -7
- package/docs/resource/reference/classes/resources.md +76 -16
- package/docs/trinity/reference/classes/generated.md +0 -10
- package/docs/trinity/reference/classes/trinity-core.md +1692 -1682
- package/docs/trinityal/reference/classes/README.md +0 -10
- package/docs/trinityal/webgpu/reference/classes/README.md +276 -266
- package/package.json +4 -3
- package/dist/global/consts/webgpu/index.js +0 -2
- package/dist/global/consts/webgpu/textureFormats.js +0 -180
- package/dist/global/consts/webgpu/textureFormats.js.map +0 -1
- package/dist/resource/formats/dxbc/core/container.js.map +0 -1
- package/dist/resource/formats/dxbc/core/errors.js.map +0 -1
- package/dist/resource/formats/dxbc/core/program.js.map +0 -1
- package/dist/resource/formats/dxbc/core/signature.js.map +0 -1
- package/dist/resource/formats/stl/core/targets.js.map +0 -1
- package/dist/resource/formats/webgl/core/errors.js.map +0 -1
- package/dist/resource/formats/webgl/core/glsl/DxbcGlslHelpers.js.map +0 -1
- package/dist/resource/formats/webgpu/core/errors.js.map +0 -1
- package/dist/resource/texture/texturePipelineBehavior.js +0 -332
- package/dist/resource/texture/texturePipelineBehavior.js.map +0 -1
- package/dist/trinity/generated/trinityCore/Tr2TextureReference.js +0 -40
- package/dist/trinity/generated/trinityCore/Tr2TextureReference.js.map +0 -1
- package/dist/trinityal/Tr2BitmapDimensions.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CjsSchema.js","sources":["../../../../src/global/schema/CjsSchema.js"],"sourcesContent":["import {\r\n cloneCarbonValue,\r\n coerceCarbonMathInto,\r\n coerceCarbonTypedArrayInto,\r\n defaultValueForCarbonField,\r\n exportCarbonValue,\r\n normalizeCarbonValue\r\n} from \"./types/carbonTypes.js\";\r\nimport { composeAbstractDecorator } from \"../compose/abstract.js\";\r\nimport { composeNotifyDecorator } from \"../compose/notify.js\";\r\nimport { carbonInheritDecorator, carbonMapInterfaceDecorator, cast } from \"../compose/interface.js\";\r\nimport { composeValuesDecorator, createValuesTransport } from \"../compose/values.js\";\nimport { blueEnums, CjsBlueEnumRegistry } from \"../blue/enums/CjsBlueEnumRegistry.js\";\n\r\n\r\nconst CLASS_SCHEMA = new WeakMap();\r\n\r\n// Exported schemas, memoized per class. SCHEMA_GENERATION is bumped by every\r\n// metadata definition (see getOrCreateClassSchema), which is what makes a stale\r\n// memo detectable without tracking which subclasses a base class change reaches.\r\nconst SCHEMA_EXPORTS = new WeakMap();\r\nconst DEFAULT_EXPORTS = new WeakMap();\r\nconst FIELD_INITIAL_DEFAULTS = new WeakMap();\r\nconst FIELD_DECLARATION_METADATA = new WeakMap();\r\nlet SCHEMA_GENERATION = 0;\r\n\r\nconst CONSTRUCTOR_BY_NAME = new Map();\r\nconst STAGE3_FIELD_METADATA = Symbol(\"carbonenginejs.schema.stage3Fields\");\r\n\r\n// Declared here rather than beside describeDecorator: the CjsSchema class body\r\n// builds every decorator namespace in its static initializer, which runs before\r\n// any const declared after the class is initialized.\r\nconst DECORATOR_METADATA = Symbol(\"carbonenginejs.schema.decoratorMetadata\");\r\n\r\nexport const CJS_ENUM_NAME = Symbol.for(\"carbonenginejs.enum.name\");\r\n\r\n/**\r\n * Cross-copy carrier for a declared class name.\r\n *\r\n * Schema metadata lives in a `WeakMap` keyed by constructor, which is private\r\n * to whichever copy of this file created it. Applications can install or\r\n * bundle multiple runtime copies, so a class declared by another copy is\r\n * invisible to `getClassName` here — it returns null for a perfectly\r\n * well-declared class.\r\n *\r\n * That null is not inert. `_type` is emitted only when a class name is known,\r\n * so a cross-copy model exports with no type tag and the values graph silently\r\n * stops being able to rebuild it. Stamping the name on the constructor under a\r\n * global-registry symbol makes the identity survive the boundary, exactly as\r\n * `carbonenginejs.model` does for instances.\r\n */\r\nexport const CJS_CLASS_NAME = Symbol.for(\"carbonenginejs.className\");\r\n\r\n/**\r\n * Cross-copy brand for \"this object is already a live CjsModel\".\r\n *\r\n * Declared here rather than in CjsModel, even though CjsModel is what applies\r\n * it, because the dependency runs one way only: CjsModel imports CjsSchema and\r\n * the reverse is impossible. A predicate that reads a symbol needs no access to\r\n * the class, so the question can be answered from this side of the edge and the\r\n * answer becomes available to every consumer that has the schema.\r\n *\r\n * `value instanceof CjsModel` answers a narrower question than it appears to:\r\n * it asks whether the value came from THIS copy of the runtime package. When an\r\n * application contains multiple copies, a model handed over by another copy\r\n * fails the test while being a perfectly good model.\r\n *\r\n * `Symbol.for` resolves through the global registry, which is one registry per\r\n * realm no matter how many copies of this file are loaded — the same reason\r\n * `carbonenginejs.type` and `carbonenginejs.enum.name` already use it.\r\n */\r\nexport const CJS_MODEL_BRAND = Symbol.for(\"carbonenginejs.model\");\r\n\r\n/**\r\n * Reusable schema/decorator metadata surface.\r\n *\r\n * Decorators are namespace-scoped so consumers can export only the parts they\r\n * understand. The functions support stage-3 field decorators and direct tool\r\n * registration through decorateField().\r\n */\r\nexport class CjsSchema\r\n{\r\n /** Registers complete reviewed schema metadata for a constructor. */\r\n static define(Constructor, definition = {})\r\n {\r\n defineClassMetadata(Constructor, normalizeClassDefinition(Constructor, definition));\r\n return this;\r\n }\r\n\r\n /**\r\n * Creates a field decorator that binds the field to a registered enum\r\n * identity.\r\n */\r\n static enum(values)\r\n {\r\n return fieldDecorator(\"enum\", normalizeEnumDefinition(values));\r\n }\r\n\r\n /** Registers enum identity, members, and optional source metadata. */\r\n static defineEnum(values, definition = {})\r\n {\r\n defineEnumMetadata(values, normalizeEnumSchema(values, definition));\r\n return this;\r\n }\r\n\r\n /** Applies field schema metadata without requiring decorator syntax. */\r\n static decorateField(Constructor, fieldName, ...decorators)\r\n {\r\n for (const decorator of decorators)\r\n {\r\n decorator(Constructor.prototype, fieldName);\r\n }\r\n return Constructor;\r\n }\r\n\r\n /** Applies method provenance metadata without requiring decorator syntax. */\r\n /**\r\n * Carbon's `dynamic_cast`: returns the value when it implements the\r\n * contract, otherwise null. See `compose/interface.js` for why this exists\r\n * and what it deliberately does not do.\r\n *\r\n * @param {*} value\r\n * @param {Function} Contract\r\n * @returns {*} `value` or `null`.\r\n */\r\n static cast(value, Contract)\r\n {\r\n return cast(value, Contract);\r\n }\r\n\r\n /**\r\n * Applies method decorators imperatively, for code built without decorator syntax.\r\n *\r\n * @param {Function} Constructor The class owning the method.\r\n * @param {string} methodName The method's name.\r\n * @param {...Function} decorators The decorators, applied in order.\r\n * @returns {Function} `Constructor`.\r\n */\r\n static decorateMethod(Constructor, methodName, ...decorators)\r\n {\r\n for (const decorator of decorators)\r\n {\r\n decorator(Constructor.prototype, methodName);\r\n }\r\n return Constructor;\r\n }\r\n\r\n /** Registers one field definition on a constructor's schema. */\r\n static defineField(Constructor, fieldName, namespace, value)\r\n {\r\n defineFieldMetadata(Constructor, fieldName, namespace, value);\r\n return this;\r\n }\r\n\r\n /** Registers one method definition on a constructor's schema. */\r\n static defineMethod(Constructor, methodName, namespace, value)\r\n {\r\n defineMethodMetadata(Constructor, methodName, namespace, value);\r\n return this;\r\n }\r\n\r\n /** Returns resolved schema metadata for a named field. */\r\n static getField(Constructor, fieldName)\n {\n const field = getEffectiveFields(Constructor).find(field => field.name === fieldName);\n return field ? enrichEnumField(field, Constructor) : null;\n }\r\n\r\n /**\r\n * Excludes named inherited fields from the decorated class's schema surface.\r\n */\r\n static hideInherited(fieldNames)\r\n {\r\n return hiddenInheritedFieldsDecorator(normalizeHiddenInheritedFields(fieldNames));\r\n }\r\n\r\n /**\r\n * Checks whether a field is hidden from a class by its inheritance chain.\r\n */\r\n static isFieldHidden(Constructor, fieldName)\r\n {\r\n return getHiddenInheritedFieldNames(Constructor).has(fieldName);\r\n }\r\n\r\n /** Returns resolved provenance metadata for a named method. */\r\n static getMethod(Constructor, methodName)\r\n {\r\n const schema = CLASS_SCHEMA.get(Constructor);\r\n return schema?.methodsByName.get(methodName) || null;\r\n }\r\n\r\n /** Returns the explicit stable serialized name registered for a constructor. */\r\n static getClassName(Constructor)\r\n {\r\n let current = Constructor;\r\n while (typeof current === \"function\")\r\n {\r\n // The local metadata is authoritative wherever it exists, including\r\n // when it deliberately declares no name. The cross-copy brand is\r\n // consulted ONLY for a class this copy has never seen at all --\r\n // otherwise it would answer for local classes whose absence of a\r\n // name is itself the declared answer.\r\n const local = CLASS_SCHEMA.get(current);\r\n const className = local\r\n ? (local.className || null)\r\n : (Object.hasOwn(current, CJS_CLASS_NAME) ? current[CJS_CLASS_NAME] : null);\r\n if (className)\r\n {\r\n return current !== Constructor && className === \"CjsModel\" ? null : className;\r\n }\r\n current = Object.getPrototypeOf(current);\r\n }\r\n return null;\r\n }\r\n\r\n /** Returns the registered schema family for a constructor. */\r\n static getClassFamily(Constructor)\r\n {\r\n let current = Constructor;\r\n while (typeof current === \"function\")\r\n {\r\n const family = CLASS_SCHEMA.get(current)?.family || null;\r\n if (family) return family;\r\n current = Object.getPrototypeOf(current);\r\n }\r\n return null;\r\n }\r\n\r\n /** Returns this constructor's own reviewed purpose without inheriting it. */\r\n static getClassPurpose(Constructor)\r\n {\r\n return CLASS_SCHEMA.get(Constructor)?.purpose || null;\r\n }\r\n\r\n /**\r\n * Reports whether a value is a live model, including one constructed by a\r\n * different copy of this package.\r\n *\r\n * Prefer this to `value instanceof CjsModel` anywhere the answer decides\r\n * between ALIASING and COPYING, or admits and rejects. Getting it wrong\r\n * there does not throw: it silently substitutes a plain object for a live\r\n * instance, or rejects a real model for having been declared elsewhere.\r\n *\r\n * @param {*} value Candidate value.\r\n * @returns {boolean} True when the value is a live model from any copy.\r\n */\r\n static isModelInstance(value)\r\n {\r\n return !!value && typeof value === \"object\" && value[CJS_MODEL_BRAND] === true;\r\n }\r\n\r\n /**\r\n * Every declared class name on a constructor's chain, nearest first.\r\n *\r\n * Read per level from local metadata where this copy has it and from the\r\n * cross-copy stamp where it does not, so the ancestry of a class registered\r\n * by a sibling package is still readable. Unnamed levels are skipped rather\r\n * than ending the walk: an intermediate class with no schema declaration is\r\n * ordinary, and its named ancestors still apply.\r\n *\r\n * @param {Function} Constructor Class to inspect.\r\n * @returns {string[]} Declared names from the class up to its root.\r\n */\r\n static getClassNames(Constructor)\r\n {\r\n const names = [];\r\n let current = Constructor;\r\n while (typeof current === \"function\")\r\n {\r\n const local = CLASS_SCHEMA.get(current);\r\n const className = local\r\n ? (local.className || null)\r\n : (Object.hasOwn(current, CJS_CLASS_NAME) ? current[CJS_CLASS_NAME] : null);\r\n if (className && !names.includes(className)) names.push(className);\r\n current = Object.getPrototypeOf(current);\r\n }\r\n return names;\r\n }\r\n\r\n /**\r\n * Reports whether a value is an instance of the class declared as `name`,\r\n * or of any class descending from it — across package copies.\r\n *\r\n * This is the cross-copy replacement for `value instanceof SomeClass`, and\r\n * the reason it is worth having is that the obvious implementation is wrong.\r\n * Resolving the name through GetConstructor and testing `instanceof` against\r\n * the result reintroduces the identity comparison this exists to avoid: the\r\n * registry may hold a sibling's constructor, and then a perfectly good local\r\n * instance fails. So the check never compares constructor identity at all.\r\n * It reads the declared names up the value's own prototype chain, which are\r\n * stamped rather than derived and therefore survive the copy boundary.\r\n *\r\n * A consequence worth relying on: this does not consult the constructor\r\n * registry, so it is unaffected by the flat-map collision where two families\r\n * register the same class name and the later one wins.\r\n *\r\n * @param {string} name Declared class name to test against.\r\n * @param {*} value Candidate value.\r\n * @returns {boolean} True when the value descends from that declared class.\r\n */\r\n static isInstanceOf(name, value)\r\n {\r\n if (typeof name !== \"string\" || !name.trim()) return false;\r\n if (!value || typeof value !== \"object\") return false;\r\n return this.getClassNames(value.constructor).includes(name.trim());\r\n }\r\n\r\n /** Registers a constructor under an explicit serialized class name. */\r\n static SetConstructor(name, Constructor)\r\n {\r\n if (typeof name !== \"string\" || !name.trim())\r\n {\r\n throw new TypeError(\"CjsSchema.SetConstructor requires a non-empty name.\");\r\n }\r\n if (typeof Constructor !== \"function\")\r\n {\r\n throw new TypeError(`CjsSchema constructor ${name.trim()} must be a function.`);\r\n }\r\n\r\n CONSTRUCTOR_BY_NAME.set(name.trim(), Constructor);\r\n // Buckets resolve class references by name, so a late registration\r\n // changes how already-built schemas should have been bucketed.\r\n SCHEMA_GENERATION += 1;\r\n return this;\r\n }\r\n\r\n /** Returns the constructor registered for a serialized class name. */\r\n static GetConstructor(name)\r\n {\r\n if (typeof name !== \"string\" || !name.trim()) return null;\r\n return CONSTRUCTOR_BY_NAME.get(name.trim()) || null;\r\n }\r\n\r\n /**\r\n * The installed values-transport implementation.\r\n *\r\n * The transport API lives HERE - everything is called through the schema\r\n * (operator direction, 2026-09-05) - while the implementation currently\r\n * still lives in the model layer, which registers itself at load. Layering\r\n * forbids the reverse import (schema never imports model), so this is a\r\n * composition seam: the physical relocation of the transport bodies is the\r\n * facade migration's work, and changes nothing for callers of these\r\n * statics.\r\n */\r\n static #valuesService = null;\r\n\r\n /**\r\n * Installs the values-transport implementation.\r\n *\r\n * Called once by the model layer at module load. A second registration\r\n * replaces the first, which only module duplication could cause.\r\n *\r\n * @param {{getValues: Function, setValues: Function, From: Function}} service\r\n * @returns {typeof CjsSchema}\r\n */\r\n static registerValuesService(service)\r\n {\r\n if (!service || typeof service.getValues !== \"function\" || typeof service.setValues !== \"function\" || typeof service.from !== \"function\")\r\n {\r\n throw new TypeError(\"CjsSchema.registerValuesService requires getValues, setValues and from functions.\");\r\n }\r\n CjsSchema.#valuesService = service;\r\n return this;\r\n }\r\n\r\n /**\r\n * The registered values service, or a thrown explanation of what to import.\r\n *\r\n * @param {string} method The calling method's name, for the message.\r\n * @returns {object} The values service.\r\n */\r\n static #requireValuesService(method)\r\n {\r\n if (!CjsSchema.#valuesService)\r\n {\r\n throw new Error(`CjsSchema.${method} requires the values service; import the model layer before calling it.`);\r\n }\r\n return CjsSchema.#valuesService;\r\n }\r\n\r\n /**\r\n * Exports a target's schema fields to a plain object.\r\n *\r\n * @param {object} target A schema-backed instance.\r\n * @param {object} [out={}] Caller-owned output object.\r\n * @param {object} [options={}] Export options (refs, typeTags, ...).\r\n * @returns {object} The exported values.\r\n */\r\n static getValues(target, out = {}, options = {})\r\n {\r\n // Without the model layer the state-free transport still answers for a\r\n // decorated class, which is what lets a reader work with only the\r\n // schema layer loaded - hydration.js states that as its whole reason\r\n // for calling SetValues directly rather than through here.\r\n const service = CjsSchema.#valuesService;\r\n return service\r\n ? service.getValues(target, out, options)\r\n : CjsSchema.getValuesFromSchema(target, out, options);\r\n }\r\n\r\n /**\r\n * The top-level values rule for from/set: a plain object, or null for \"no\r\n * values\".\r\n *\r\n * SetValues and from exist for hydration and dehydration, so what arrives\r\n * at the top is data. A live object there is refused rather than read as\r\n * a bag: measured before this rule, `X.constructor.from(X)` built a new\r\n * object that aliased X's children and flattened its Map-held models.\r\n * Child fields are different - a non-plain value there is a reference, and\r\n * the field's declared type decides that. The one rule lives here so every\r\n * entry point asks the same question in the same place.\r\n *\r\n * @param {*} values Incoming top-level values.\r\n * @param {string} label Entry point named in the error.\r\n * @returns {boolean} False for null (nothing to apply), true for a plain bag.\r\n * @throws {TypeError} For anything that is not a plain object or null.\r\n */\r\n static assertValues(values, label)\r\n {\r\n if (values === null) return false;\r\n if (!isPlainObject(values))\r\n {\r\n throw new TypeError(`${label} requires a plain values object; received ${describeValuesInput(values)}.`);\r\n }\r\n return true;\r\n }\r\n\r\n /**\r\n * Copies a source's values into a target - the explicit copy helper.\r\n *\r\n * The top-level from/set rule refuses a live object as values, so copying\r\n * one says so here instead: a plain source already IS values, anything\r\n * else is exported first. Both then go through the target's validated\r\n * setter, so the target keeps its own identity and in-place buffers. This\r\n * is a value copy, not Carbon's Copier: no topology is preserved and\r\n * reference fields carry the source's references across as references.\r\n *\r\n * @param {object} target The object receiving the values.\r\n * @param {object} source A live object or a plain values object.\r\n * @param {object} [options={}] Population options.\r\n * @returns {Set<string>|boolean} Changed fields, or a boolean result.\r\n */\r\n static copy(target, source, options = {})\r\n {\r\n const values = isPlainObject(source) ? source : CjsSchema.getValues(source, {}, options);\r\n return CjsSchema.setValues(target, values, options);\r\n }\r\n\r\n /**\r\n * Applies a plain value bag to a target through its validated setter.\r\n *\r\n * @param {object} target A schema-backed instance.\r\n * @param {object} [values={}] Incoming values.\r\n * @param {object} [options={}] Population options.\r\n * @returns {Set<string>|boolean} Changed fields, or a boolean result.\r\n */\r\n static setValues(target, values = {}, options = {})\r\n {\r\n if (!CjsSchema.assertValues(values, \"CjsSchema.setValues\")) return false;\r\n const service = CjsSchema.#valuesService;\r\n return service\r\n ? service.setValues(target, values, options)\r\n : CjsSchema.setValuesFromSchema(target, values, options);\r\n }\r\n\r\n /**\r\n * The state-free transport, for a decorated class carrying no SetValues.\r\n *\r\n * Coercion, the writability gate and a changed set - the reader's half.\r\n * The dirty flag, the settle loop, the modified event and child mutation\r\n * are the EDITING contract and stay with the model path.\r\n *\r\n * Registered as the values service's third arm, which threw by name until\r\n * this existed. Also what `@compose.values` installs.\r\n */\r\n static #statelessTransport = createValuesTransport({\r\n GetFields: Constructor => getEffectiveFields(Constructor),\r\n Export: (value, field, options) => exportCarbonValue(value, field.type, options),\r\n Import: (value, field) => importDeclaredValue(value, field),\r\n CoerceInto: (current, incoming, field) =>\r\n coerceCarbonMathInto(current, incoming, field.type)\r\n ?? coerceCarbonTypedArrayInto(current, incoming, field.type),\r\n IsEquivalent: (a, b) => a === b\r\n });\r\n\r\n /** Reads declared fields off any decorated class, without a model base. */\r\n static getValuesFromSchema(target, out = {}, options = {})\r\n {\r\n return CjsSchema.#statelessTransport.getValues(target, out, options);\r\n }\r\n\r\n /** Writes declared fields onto any decorated class, without a model base. */\r\n static setValuesFromSchema(target, values = {}, options = {})\r\n {\r\n return CjsSchema.#statelessTransport.setValues(target, values, options);\r\n }\r\n\r\n /**\r\n * Constructs a registered class from a plain values bag.\r\n *\r\n * The deserializer: resolves the class by name, builds it, applies the\r\n * values, and calls the class-owned Initialize when one exists.\r\n *\r\n * @param {string} className The registered class name.\r\n * @param {object} [values={}] Values to apply.\r\n * @param {object} [options={}] Population options.\r\n * @returns {object} The constructed instance.\r\n */\r\n static from(className, values = {}, options = {})\r\n {\r\n if (!CjsSchema.assertValues(values, \"CjsSchema.from\")) values = {};\r\n return CjsSchema.#requireValuesService(\"from\").from(className, values, options);\r\n }\r\n\r\n /** Returns the stable registered name for an enum object. */\r\n static getEnumName(values)\r\n {\r\n if (typeof values === \"string\") return values;\r\n return values && typeof values === \"object\"\r\n ? blueEnums.GetEnumName(values) || blueEnums.GetEnumName(values.Type) || values[CJS_ENUM_NAME] || values.Source?.name || values.name || null\n : null;\r\n }\r\n\r\n /** Returns registered enum metadata by name or enum object. */\r\n static getEnum(values)\r\n {\r\n const name = CjsSchema.getEnumName(values);\n return name && blueEnums.HasEnum(name) ? blueEnums.GetEnumInfo(name) : null;\n }\r\n\r\n /**\r\n * Return the exported schema for a class.\r\n *\r\n * The schema is the precomputed answer - collapsing the inheritance\r\n * lineage and merging metadata - so building it per call would defeat its\r\n * purpose. Callers traverse model graphs and ask once per node, so this is\r\n * memoized per class and rebuilt only when class metadata is defined.\r\n *\r\n * Namespace-filtered exports are not memoized: they are a projection of the\r\n * full schema requested by tooling, not the hot read path.\r\n *\r\n * The result is shared, not copied - treat it as read-only. It is not\r\n * frozen: deep-cloning and freezing every field on the way out cost far\r\n * more than the mistakes it guarded against.\r\n *\r\n * @param {Function} Constructor\r\n * @param {object} [options={}]\r\n * @param {string|Array<string>} [options.namespaces] Restricts exported metadata namespaces.\r\n * @returns {CjsClassInfo} Shared per-class record.\r\n */\r\n static getSchema(Constructor, options = {})\r\n {\r\n const namespaces = normalizeNamespaces(options.namespaces);\r\n if (namespaces) return buildClassInfo(Constructor, namespaces);\r\n\r\n const memo = SCHEMA_EXPORTS.get(Constructor);\r\n if (memo && memo.generation === SCHEMA_GENERATION) return memo.schema;\r\n\r\n const schema = buildClassInfo(Constructor, null);\r\n SCHEMA_EXPORTS.set(Constructor, { generation: SCHEMA_GENERATION, schema });\r\n return schema;\r\n }\r\n\r\n /**\r\n * Returns a fresh plain-values copy of one schema class's declared defaults.\r\n *\r\n * Decorated field initializers record their value before the constructor\r\n * body can turn it into instance state (an audio game-object ID, for\r\n * example). When no instance has exposed those initializers yet, the class\r\n * is constructed once with zero arguments to trigger them. This never calls\r\n * CjsModel.from, SetValues, Initialize, UpdateValues, or another lifecycle\r\n * hook.\r\n *\r\n * The canonical template is cached by constructor and kept immutable. A\r\n * caller always receives a copy so it cannot poison later expansions.\r\n *\r\n * @param {Function|string} ConstructorOrName Constructor or registered class name.\r\n * @returns {object} A self-describing plain model-values template.\r\n */\r\n static getDefaults(ConstructorOrName)\r\n {\r\n return cloneDefaultValue(getDefaultsTemplate(ConstructorOrName));\r\n }\r\n\r\n /**\r\n * Expands a sparse, self-describing model-values graph with schema defaults.\r\n *\r\n * Authored values win. Authored collections replace default collections;\r\n * structs merge recursively; `_id` and `_ref` pass through unchanged. The\r\n * operation is plain-data-only after each class's lazy default template has\r\n * been captured and never constructs or initializes the authored graph.\r\n *\r\n * @param {object} values Sparse self-describing model values.\r\n * @returns {object} A new default-expanded plain-values graph.\r\n */\r\n static applyDefaults(values)\r\n {\r\n if (!isPlainObject(values))\r\n {\r\n throw new TypeError(\"CjsSchema.applyDefaults requires a plain model-values object.\");\r\n }\r\n if (typeof values._type !== \"string\" || !values._type.trim())\r\n {\r\n throw new TypeError(\"CjsSchema.applyDefaults requires a root _type.\");\r\n }\r\n return expandDefaultValue(values, null, undefined, \"$root\");\r\n }\r\n\r\n\r\n static type = Object.freeze({\r\n array: itemType => fieldDecorator(\"type\", { kind: \"array\", itemType }),\r\n boolean: fieldDecorator(\"type\", { kind: \"boolean\" }),\r\n color: fieldDecorator(\"type\", { kind: \"color\" }),\r\n define: definition => classDefinitionDecorator(definition),\r\n expression: fieldDecorator(\"type\", { kind: \"expression\", js: \"string\" }),\r\n float32: fieldDecorator(\"type\", { kind: \"float32\" }),\r\n float64: fieldDecorator(\"type\", { kind: \"float64\" }),\r\n int8: fieldDecorator(\"type\", { kind: \"int8\" }),\r\n int16: fieldDecorator(\"type\", { kind: \"int16\" }),\r\n int32: fieldDecorator(\"type\", { kind: \"int32\" }),\r\n int64: fieldDecorator(\"type\", { kind: \"int64\" }),\r\n list: itemType => fieldDecorator(\"type\", { kind: \"list\", itemType }),\r\n mat3: fieldDecorator(\"type\", { kind: \"mat3\" }),\r\n mat4: fieldDecorator(\"type\", { kind: \"mat4\" }),\r\n map: valueType => fieldDecorator(\"type\", { kind: \"map\", valueType }),\r\n model: className => fieldDecorator(\"type\", { kind: \"model\", className }),\r\n objectRef: className => fieldDecorator(\"type\", { kind: \"objectRef\", className }),\r\n path: fieldDecorator(\"type\", { kind: \"path\" }),\r\n quat: fieldDecorator(\"type\", { kind: \"quat\" }),\r\n rawStruct: className => fieldDecorator(\"type\", { kind: \"rawStruct\", className }),\r\n set: itemType => fieldDecorator(\"type\", { kind: \"set\", itemType }),\r\n string: fieldDecorator(\"type\", { kind: \"string\" }),\r\n struct: className => fieldDecorator(\"type\", { kind: \"struct\", className }),\r\n typedArray: arrayType => fieldDecorator(\"type\", { kind: \"typedArray\", arrayType }),\r\n uint8: fieldDecorator(\"type\", { kind: \"uint8\" }),\r\n uint16: fieldDecorator(\"type\", { kind: \"uint16\" }),\r\n uint32: fieldDecorator(\"type\", { kind: \"uint32\" }),\r\n uint64: fieldDecorator(\"type\", { kind: \"uint64\" }),\r\n unknown: fieldDecorator(\"type\", { kind: \"unknown\" }),\r\n vec2: fieldDecorator(\"type\", { kind: \"vec2\" }),\r\n vec3: fieldDecorator(\"type\", { kind: \"vec3\" }),\r\n vec4: fieldDecorator(\"type\", { kind: \"vec4\" }),\r\n\r\n // An enum names the vocabulary a field's values are drawn from, which\r\n // is part of its type - it belongs here beside int32 and string rather\r\n // than under a separate namespace. define and hideInherited show this\r\n // namespace already carries class decorators as well as field ones.\r\n enum: values => fieldDecorator(\"enum\", normalizeEnumDefinition(values)),\r\n\r\n /**\r\n * Hides named inherited fields from a subclass's schema, for a subclass\r\n * that genuinely does not carry part of its parent's shape.\r\n */\r\n hideInherited: fieldNames => hiddenInheritedFieldsDecorator(normalizeHiddenInheritedFields(fieldNames))\r\n });\r\n\r\n // Be::EDITFLAGS, exactly (`blueexposure/include/BlueTypes.h:282-311`).\r\n // Every member below is one of Carbon's; nothing else belongs here. The\r\n // namespace was called `io` until 2026-09-18, which named about a third of\r\n // what it holds - only PERSIST and RPERSIST are I/O, NOTIFY is wiring,\r\n // HIDDEN and FLAGS are editor hints, READ and WRITE are access control.\r\n static edit = Object.freeze({\r\n none: fieldDecorator(\"edit\", {}),\r\n // MODMASK 0x00F\r\n read: fieldDecorator(\"edit\", { read: true }),\r\n write: fieldDecorator(\"edit\", { write: true }),\r\n readwrite: fieldDecorator(\"edit\", { read: true, write: true }),\r\n notify: fieldDecorator(\"edit\", { notify: true }),\r\n hidden: fieldDecorator(\"edit\", { hidden: true }),\r\n\r\n // SERMASK 0x0F0\r\n persist: fieldDecorator(\"edit\", { persist: true }),\r\n // RPERSIST 0x020 - \"like PERSIST but only unserialize (read only)\":\r\n // the value loads from a document and is never written back out.\r\n rpersist: fieldDecorator(\"edit\", { rpersist: true }),\r\n\r\n flags: fieldDecorator(\"edit\", { flags: true }),\r\n enum: fieldDecorator(\"edit\", { enum: true }),\r\n\r\n // PERSISTONLY = HIDDEN | PERSIST, for hidden attributes.\r\n persistOnly: fieldDecorator(\"edit\", { persist: true, persistOnly: true, hidden: true }),\r\n\r\n\r\n });\r\n\r\n // Not EDITFLAGS and not type: WHO runs a child's construction, and later\r\n // its teardown. `owned` marks a donor BY-VALUE member, destroyed with its\r\n // parent; `reference` marks a borrowed one. Today only construction reads\r\n // it - `entry.owned` (built below) gates the `ownedOnly` walk that runs\r\n // Initialize in CjsModel.from - so the flag is half installed rather than\r\n // unused: there is no teardown traversal yet to honour the other half.\r\n static lifecycle = Object.freeze({\r\n owned: fieldDecorator(\"lifecycle\", { ownership: \"owned\" }),\r\n reference: fieldDecorator(\"lifecycle\", { ownership: \"reference\" })\r\n });\r\n\r\n // Composition decorators: type/edit/carbon/impl/jessica DESCRIBE, compose\r\n // INSTALLS (design record, direction item 11). All three are live; the\r\n // migration of existing classes onto them is separate work.\r\n static compose = Object.freeze({\r\n abstract: composeAbstractDecorator(Constructor => CjsSchema.getClassName(Constructor)),\r\n notify: composeNotifyDecorator,\r\n values: composeValuesDecorator(CjsSchema.#statelessTransport)\r\n });\r\n\r\n static jessica = Object.freeze({\r\n group: name => fieldDecorator(\"jessica\", { group: name }),\r\n hidden: fieldDecorator(\"jessica\", { hidden: true }),\r\n readOnly: fieldDecorator(\"jessica\", { readOnly: true }),\r\n widget: name => fieldDecorator(\"jessica\", { widget: name })\r\n });\r\n\r\n // impl decorators apply to methods AND fields: a promoted/diverging field\r\n // (e.g. a Carbon-hidden authored value exposed for values interchange) is\r\n // an implementation decision, so it carries impl.adapted/impl.custom +\r\n // impl.reason just like a diverging method. carbon.* stays factual\r\n // provenance and remains method-only.\r\n static impl = Object.freeze({\r\n abstract: memberDecorator(\"impl\", { abstract: true, status: \"abstract\" }),\r\n adapted: memberDecorator(\"impl\", { adapted: true, status: \"adapted\" }),\r\n custom: memberDecorator(\"impl\", { custom: true, status: \"custom\" }),\r\n implemented: memberDecorator(\"impl\", { implemented: true, status: \"implemented\" }),\r\n noop: memberDecorator(\"impl\", { noop: true, status: \"noop\" }),\r\n notImplemented: memberDecorator(\"impl\", { notImplemented: true, status: \"notImplemented\" }),\r\n notSupported: memberDecorator(\"impl\", { notSupported: true, status: \"notSupported\" }),\r\n // Audit-only: names the state members invalidated by this field/method.\r\n // The owning class retains all dirty-state, rebuild and timing behavior.\r\n invalidates: (...members) => memberDecorator(\"impl\", { invalidates: members }),\r\n note: text => memberDecorator(\"impl\", { note: String(text) }),\r\n reason: text => memberDecorator(\"impl\", { reason: String(text) })\r\n });\r\n\r\n /**\r\n * What an installed interface member should be marked as on its consumer.\r\n *\r\n * CARBON'S INTERFACES ARE NOT UNIFORM, and that is the whole reason this\r\n * exists. Some methods are pure virtual, and a consumer inheriting one\r\n * without implementing it is genuinely unimplemented. Others are declared\r\n * with an EMPTY BODY on purpose, so an implementer overrides only the half\r\n * it cares about - `IBlueResManNotifications` has both callbacks empty in\r\n * the donor. Marking that second kind `impl.abstract` on every consumer\r\n * writes a divergence that does not exist, onto dozens of classes at once.\r\n *\r\n * So the interface's own declaration is carried across, and\r\n * `impl.abstract` is only the fallback for a member the interface said\r\n * nothing about. The chain is walked because `CollectMembers` does: a\r\n * member may be declared on an ancestor of the contract named here.\r\n *\r\n * @param {Function} Contract The interface the member was installed from.\r\n * @param {String} name The member.\r\n * @returns {Array<Function>} Decorators for `decorateMethod`.\r\n */\r\n static #inheritedImplDecorators(Contract, name)\r\n {\r\n let declared = null;\r\n for (\r\n let base = Contract;\r\n typeof base === \"function\" && base.prototype && base !== Object;\r\n base = Object.getPrototypeOf(base)\r\n )\r\n {\r\n declared = CjsSchema.getMethod(base, name)?.impl ?? null;\r\n if (declared) break;\r\n }\r\n\r\n const status = declared?.status;\r\n const decorator = status ? CjsSchema.impl[status] : null;\r\n const decorators = [ typeof decorator === \"function\" ? decorator : CjsSchema.impl.abstract ];\r\n\r\n // A reason the interface wrote belongs to the member wherever it lands;\r\n // a consumer left holding the marking without it could not be reviewed.\r\n if (declared?.reason) decorators.push(CjsSchema.impl.reason(declared.reason));\r\n if (declared?.note) decorators.push(CjsSchema.impl.note(declared.note));\r\n\r\n return decorators;\r\n }\r\n\r\n static carbon = Object.freeze({\r\n // Carbon's base list and Carbon's exposure table: two different facts,\r\n // two decorators, both factual and so both here rather than in\r\n // `compose`. See compose/interface.js for the black-reader branch that\r\n // proves they cannot be collapsed into one.\r\n inherit: (...Bases) => carbonInheritDecorator(\r\n Bases,\r\n (Constructor, name, Contract) => CjsSchema.decorateMethod(\r\n Constructor, name, ...CjsSchema.#inheritedImplDecorators(Contract, name))),\r\n mapInterface: (...Interfaces) => carbonMapInterfaceDecorator(Interfaces),\r\n method: methodDecorator(\"carbon\", { method: true }),\r\n renamed: originalName => {\r\n if (typeof originalName !== \"string\" || !originalName.trim())\r\n {\r\n throw new TypeError(\"CjsSchema.carbon.renamed requires a non-empty original method name.\");\r\n }\r\n return methodDecorator(\"carbon\", {\r\n method: true,\r\n renamed: true,\r\n originalName: originalName.trim()\r\n });\r\n },\r\n contextual: tiers => {\r\n const list = Array.isArray(tiers) ? tiers : [tiers];\r\n const normalized = [];\r\n for (const tier of list)\r\n {\r\n if (typeof tier !== \"string\" || !tier.trim())\r\n {\r\n continue;\r\n }\r\n normalized.push(tier.trim());\r\n }\r\n if (!normalized.length)\r\n {\r\n throw new TypeError(\"CjsSchema.carbon.contextual requires at least one context tier name.\");\r\n }\r\n const base = methodDecorator(\"carbon\", {\r\n method: true,\r\n contextual: true,\r\n contextTiers: normalized\r\n });\r\n const described = getDecoratorMetadata(base);\r\n return describeDecorator(function contextualMethodDecorator(targetOrValue, contextOrMethodName)\r\n {\r\n // Contextual methods are validated context-first at decoration\r\n // time: the first declared parameter must be the frame context.\r\n if (contextOrMethodName && typeof contextOrMethodName === \"object\")\r\n {\r\n assertContextFirstMethod(targetOrValue, contextOrMethodName.name);\r\n }\r\n else if (targetOrValue && contextOrMethodName)\r\n {\r\n assertContextFirstMethod(targetOrValue[contextOrMethodName], contextOrMethodName);\r\n }\r\n return base(targetOrValue, contextOrMethodName);\r\n }, described.namespace, described.value);\r\n }\r\n });\r\n\r\n static components = createComponentsNamespace();\r\n}\r\n\r\nfunction captureFieldInitialDefault(Constructor, fieldName, initialValue, declarationMetadata = null)\r\n{\r\n if (typeof Constructor !== \"function\") return;\r\n\r\n let fields = FIELD_INITIAL_DEFAULTS.get(Constructor);\r\n if (!fields)\r\n {\r\n fields = new Map();\r\n FIELD_INITIAL_DEFAULTS.set(Constructor, fields);\r\n }\r\n const existing = fields.get(fieldName);\r\n if (existing)\r\n {\r\n const ownDeclaration = FIELD_DECLARATION_METADATA.get(Constructor)?.get(fieldName);\r\n const replacesInheritedDefault = ownDeclaration &&\r\n declarationMetadata === ownDeclaration &&\r\n existing.declarationMetadata !== ownDeclaration;\r\n if (!replacesInheritedDefault) return;\r\n }\r\n\r\n try\r\n {\r\n fields.set(fieldName, {\r\n value: deepFreezeDefaultValue(snapshotSchemaDefault(initialValue)),\r\n declarationMetadata\r\n });\r\n }\r\n catch (err)\r\n {\r\n // Schema capture must never make ordinary class construction fail. The\r\n // explicit defaults request reports the unsupported value instead.\r\n fields.set(fieldName, {\r\n error: err instanceof Error ? err.message : String(err),\r\n declarationMetadata\r\n });\r\n }\r\n DEFAULT_EXPORTS.delete(Constructor);\r\n}\r\n\r\nfunction getDefaultsTemplate(ConstructorOrName)\r\n{\r\n const Constructor = resolveDefaultsConstructor(ConstructorOrName);\r\n const memo = DEFAULT_EXPORTS.get(Constructor);\r\n if (memo && memo.generation === SCHEMA_GENERATION) return memo.defaults;\r\n\r\n let fields = getEffectiveFields(Constructor);\r\n let captured = FIELD_INITIAL_DEFAULTS.get(Constructor);\r\n let instance = null;\r\n\r\n if (fields.some(field => !captured?.has(field.name)))\r\n {\r\n try\r\n {\r\n // A bare constructor runs JavaScript field/constructor setup only.\r\n // The CjsModel initialization lifecycle is driven by from(), not by\r\n // `new`, and is deliberately absent from this operation.\r\n instance = new Constructor();\r\n }\r\n catch (err)\r\n {\r\n const className = CjsSchema.getClassName(Constructor) || Constructor.name || \"<anonymous>\";\r\n throw new TypeError(\r\n `CjsSchema.getDefaults could not construct ${className} with zero arguments: ` +\r\n `${err instanceof Error ? err.message : String(err)}`,\r\n { cause: err }\r\n );\r\n }\r\n fields = getEffectiveFields(Constructor);\r\n captured = FIELD_INITIAL_DEFAULTS.get(Constructor);\r\n }\r\n\r\n const className = CjsSchema.getClassName(Constructor);\r\n if (!className)\r\n {\r\n throw new TypeError(\"CjsSchema.getDefaults requires a constructor with an explicit className.\");\r\n }\r\n\r\n const defaults = { _type: className };\r\n for (const field of fields)\r\n {\r\n const entry = captured?.get(field.name);\r\n let value;\r\n let hasValue = false;\r\n\r\n if (entry?.error)\r\n {\r\n throw new TypeError(\r\n `CjsSchema.getDefaults could not capture ${className}.${field.name}: ${entry.error}`\r\n );\r\n }\r\n if (entry && Object.hasOwn(entry, \"value\"))\r\n {\r\n value = cloneDefaultValue(entry.value);\r\n hasValue = true;\r\n }\r\n else if (instance)\r\n {\r\n value = snapshotSchemaDefault(instance[field.name]);\r\n // Directly registered schema accessors are explicit declarations\r\n // too. Their getter is the only authoritative default source even\r\n // though the property lives on the prototype rather than as an\r\n // own field (for example two Blue names sharing one color buffer).\r\n hasValue = field.name in instance;\r\n }\r\n\r\n if (!hasValue)\r\n {\r\n value = snapshotSchemaDefault(defaultValueForCarbonField(field));\r\n }\r\n defaults[field.name] = value;\r\n }\r\n\r\n const frozen = deepFreezeDefaultValue(defaults);\r\n DEFAULT_EXPORTS.set(Constructor, {\r\n generation: SCHEMA_GENERATION,\r\n defaults: frozen\r\n });\r\n return frozen;\r\n}\r\n\r\nfunction resolveDefaultsConstructor(ConstructorOrName)\r\n{\r\n if (typeof ConstructorOrName === \"function\") return ConstructorOrName;\r\n if (typeof ConstructorOrName !== \"string\" || !ConstructorOrName.trim())\r\n {\r\n throw new TypeError(\"CjsSchema.getDefaults requires a constructor or registered class name.\");\r\n }\r\n\r\n const className = ConstructorOrName.trim();\r\n const Constructor = CjsSchema.GetConstructor(className);\r\n if (!Constructor)\r\n {\r\n throw new TypeError(`No CjsSchema constructor is registered for _type \"${className}\".`);\r\n }\r\n return Constructor;\r\n}\r\n\r\nfunction snapshotSchemaDefault(value, active = new WeakSet())\r\n{\r\n if (value === null || value === undefined) return value;\r\n if (typeof value === \"bigint\") return value.toString();\r\n if (typeof value !== \"object\") return value;\r\n if (ArrayBuffer.isView(value))\r\n {\r\n return Array.from(value, item => typeof item === \"bigint\" ? item.toString() : item);\r\n }\r\n if (active.has(value))\r\n {\r\n throw new TypeError(\"cyclic class defaults are not JSON-compatible\");\r\n }\r\n\r\n active.add(value);\r\n try\r\n {\r\n if (Array.isArray(value))\r\n {\r\n return value.map(item => snapshotSchemaDefault(item, active));\r\n }\r\n if (value instanceof Map)\r\n {\r\n return Object.fromEntries(Array.from(value.entries(), ([key, item]) => [\r\n String(key),\r\n snapshotSchemaDefault(item, active)\r\n ]));\r\n }\r\n if (value instanceof Set)\r\n {\r\n return Array.from(value, item => snapshotSchemaDefault(item, active));\r\n }\r\n\r\n const Constructor = value.constructor;\r\n const className = typeof Constructor === \"function\"\r\n ? CjsSchema.getClassName(Constructor)\r\n : null;\r\n if (className)\r\n {\r\n const result = { _type: className };\r\n const captured = FIELD_INITIAL_DEFAULTS.get(Constructor);\r\n for (const field of getEffectiveFields(Constructor))\r\n {\r\n const entry = captured?.get(field.name);\r\n if (entry?.error)\r\n {\r\n throw new TypeError(`${className}.${field.name}: ${entry.error}`);\r\n }\r\n\r\n let fieldValue = entry && Object.hasOwn(entry, \"value\")\r\n ? cloneDefaultValue(entry.value)\r\n : value[field.name];\r\n if (fieldValue === undefined)\r\n {\r\n fieldValue = defaultValueForCarbonField(field);\r\n }\r\n result[field.name] = snapshotSchemaDefault(fieldValue, active);\r\n }\r\n return result;\r\n }\r\n\r\n const result = {};\r\n for (const [key, item] of Object.entries(value))\r\n {\r\n result[key] = snapshotSchemaDefault(item, active);\r\n }\r\n return result;\r\n }\r\n finally\r\n {\r\n active.delete(value);\r\n }\r\n}\r\n\r\nfunction expandDefaultValue(value, declaredType, defaultValue, path)\r\n{\r\n if (value === null || value === undefined) return value;\r\n if (typeof value === \"bigint\") return value.toString();\r\n if (typeof value !== \"object\") return value;\r\n if (ArrayBuffer.isView(value))\r\n {\r\n return Array.from(value, item => typeof item === \"bigint\" ? item.toString() : item);\r\n }\r\n\r\n const kind = declaredType?.kind || null;\r\n const itemType = declaredType?.itemType || null;\r\n if (Array.isArray(value))\r\n {\r\n return value.map((item, index) => expandDefaultValue(\r\n item,\r\n kind === \"list\" || kind === \"array\" || kind === \"set\" ? itemType : null,\r\n undefined,\r\n `${path}[${index}]`\r\n ));\r\n }\r\n if (value instanceof Set)\r\n {\r\n return Array.from(value, (item, index) => expandDefaultValue(\r\n item,\r\n itemType,\r\n undefined,\r\n `${path}[${index}]`\r\n ));\r\n }\r\n if (value instanceof Map)\r\n {\r\n const result = {};\r\n for (const [key, item] of value)\r\n {\r\n result[String(key)] = expandDefaultValue(\r\n item,\r\n declaredType?.valueType || null,\r\n undefined,\r\n `${path}.${String(key)}`\r\n );\r\n }\r\n return result;\r\n }\r\n\r\n if (Object.hasOwn(value, \"_ref\"))\r\n {\r\n return cloneDefaultValue(value);\r\n }\r\n\r\n if (typeof value._type === \"string\" && value._type.trim())\r\n {\r\n const Constructor = CjsSchema.GetConstructor(value._type.trim());\r\n if (!Constructor)\r\n {\r\n throw new TypeError(`${path} names unknown _type \"${value._type.trim()}\".`);\r\n }\r\n return expandSchemaObject(value, Constructor, path);\r\n }\r\n\r\n if ((kind === \"list\" || kind === \"array\" || kind === \"set\") && isPlainObject(value))\r\n {\r\n return Object.fromEntries(Object.entries(value).map(([key, item]) => [\r\n key,\r\n expandDefaultValue(item, itemType, undefined, `${path}.${key}`)\r\n ]));\r\n }\r\n if (kind === \"map\" && isPlainObject(value))\r\n {\r\n return Object.fromEntries(Object.entries(value).map(([key, item]) => [\r\n key,\r\n expandDefaultValue(item, declaredType?.valueType || null, undefined, `${path}.${key}`)\r\n ]));\r\n }\r\n\r\n const declaredClass = resolveDeclaredConstructor(declaredType);\r\n if (declaredClass)\r\n {\r\n return expandSchemaObject(value, declaredClass, path);\r\n }\r\n\r\n if (isPlainObject(defaultValue))\r\n {\r\n return mergePlainDefaults(defaultValue, value, path);\r\n }\r\n\r\n const result = {};\r\n for (const [key, item] of Object.entries(value))\r\n {\r\n result[key] = expandDefaultValue(item, null, undefined, `${path}.${key}`);\r\n }\r\n return result;\r\n}\r\n\r\nfunction expandSchemaObject(values, Constructor, path)\r\n{\r\n if (!isPlainObject(values))\r\n {\r\n throw new TypeError(`${path} must be a plain object.`);\r\n }\r\n\r\n const result = cloneDefaultValue(getDefaultsTemplate(Constructor));\r\n const schema = CjsSchema.getSchema(Constructor);\r\n for (const [key, item] of Object.entries(values))\r\n {\r\n if (key === \"_type\" || key === \"_id\" || key === \"_ref\")\r\n {\r\n result[key] = cloneDefaultValue(item);\r\n continue;\r\n }\r\n\r\n const field = schema.byName.get(key);\r\n result[key] = expandDefaultValue(\r\n item,\r\n field?.type || null,\r\n result[key],\r\n `${path}.${key}`\r\n );\r\n }\r\n return result;\r\n}\r\n\r\nfunction resolveDeclaredConstructor(type)\r\n{\r\n let className = null;\r\n if (typeof type === \"string\")\r\n {\r\n className = type;\r\n }\r\n else if (type && typeof type === \"object\")\r\n {\r\n if ([\"model\", \"objectRef\", \"struct\"].includes(type.kind))\r\n {\r\n className = type.className || null;\r\n }\r\n }\r\n return className ? CjsSchema.GetConstructor(className) : null;\r\n}\r\n\r\nfunction mergePlainDefaults(defaults, values, path)\r\n{\r\n const result = cloneDefaultValue(defaults);\r\n for (const [key, item] of Object.entries(values))\r\n {\r\n result[key] = expandDefaultValue(item, null, result[key], `${path}.${key}`);\r\n }\r\n return result;\r\n}\r\n\r\nfunction cloneDefaultValue(value)\r\n{\r\n if (value === null || value === undefined) return value;\r\n if (Array.isArray(value)) return value.map(cloneDefaultValue);\r\n if (value && typeof value === \"object\")\r\n {\r\n return Object.fromEntries(Object.entries(value).map(([key, item]) => [\r\n key,\r\n cloneDefaultValue(item)\r\n ]));\r\n }\r\n return value;\r\n}\r\n\r\nfunction deepFreezeDefaultValue(value, seen = new WeakSet())\r\n{\r\n if (!value || typeof value !== \"object\" || seen.has(value)) return value;\r\n seen.add(value);\r\n for (const item of Object.values(value)) deepFreezeDefaultValue(item, seen);\r\n return value;\r\n}\r\n\r\nfunction createComponentsNamespace()\r\n{\r\n const components = definition => fieldDecorator(\"components\", normalizeComponentDefinition(definition));\r\n Object.defineProperties(components, {\r\n get: { value: getComponentValue },\r\n indices: { value: getComponentIndices },\r\n set: { value: setComponentValue }\r\n });\r\n return components;\r\n}\r\n\r\n// Every decorator carries the namespace and value it would install. That is\r\n// what lets one vocabulary serve both forms: `type.uint32` applied as a\r\n// decorator, and `type.uint32` written as data in a CjsSchema.define() member.\r\n// Without it the object form would need its own spelling of every namespace\r\n// value, and two spellings of `impl.adapted` will eventually disagree.\r\nfunction describeDecorator(decorator, namespace, value)\r\n{\r\n Object.defineProperty(decorator, DECORATOR_METADATA, {\r\n value: { namespace, value }\r\n });\r\n return decorator;\r\n}\r\n\r\n/**\r\n * The namespace/value a decorator installs, or null when it is not one.\r\n *\r\n * @param {*} candidate Possible decorator.\r\n * @returns {{namespace:string, value:*}|null} Installed metadata.\r\n */\r\nfunction getDecoratorMetadata(candidate)\r\n{\r\n return typeof candidate === \"function\" ? candidate[DECORATOR_METADATA] || null : null;\r\n}\r\n\r\nfunction fieldDecorator(namespace, value)\r\n{\r\n return describeDecorator(function schemaFieldDecorator(targetOrValue, contextOrFieldName)\r\n {\r\n if (contextOrFieldName && typeof contextOrFieldName === \"object\")\r\n {\r\n const context = contextOrFieldName;\r\n if (context.kind !== \"field\") throw new TypeError(\"CjsSchema decorators only support class fields.\");\r\n recordStage3FieldMetadata(context, namespace, value);\r\n\r\n // The class decorator replays the Stage-3 metadata recorded above, so\r\n // schema inspection works before the first instance is constructed.\r\n // Keep both runtime initializers as fallbacks: addInitializer covers\r\n // spec-compliant runtimes, while the returned field initializer covers\r\n // runtimes that do not fire field-decorator addInitializer. All paths\r\n // register the same metadata idempotently through mergeNamespace.\r\n context.addInitializer(function initializeSchemaField()\r\n {\r\n defineFieldMetadata(this.constructor, context.name, namespace, value);\r\n });\r\n\r\n return function initializeSchemaFieldValue(initialValue)\r\n {\r\n defineFieldMetadata(this.constructor, context.name, namespace, value);\r\n captureFieldInitialDefault(\r\n this.constructor,\r\n context.name,\r\n initialValue,\r\n context.metadata\r\n );\r\n return initialValue;\r\n };\r\n }\r\n\r\n const Constructor = targetOrValue?.constructor;\r\n if (!Constructor || !contextOrFieldName)\r\n {\r\n throw new TypeError(\"CjsSchema field decorators require a class field target.\");\r\n }\r\n\r\n defineFieldMetadata(Constructor, contextOrFieldName, namespace, value);\r\n }, namespace, value);\r\n}\r\n\r\nfunction classDefinitionDecorator(definition)\r\n{\r\n return function schemaClassDefinitionDecorator(value, context)\r\n {\r\n if (context && typeof context === \"object\")\r\n {\r\n if (context.kind !== \"class\") throw new TypeError(\"CjsSchema type.define only supports classes.\");\r\n registerStage3FieldMetadata(value, context.metadata);\r\n defineClassMetadata(value, normalizeClassDefinition(value, definition));\r\n return;\r\n }\r\n\r\n if (typeof value !== \"function\")\r\n {\r\n throw new TypeError(\"CjsSchema type.define requires a class constructor.\");\r\n }\r\n\r\n defineClassMetadata(value, normalizeClassDefinition(value, definition));\r\n };\r\n}\r\n\r\nfunction hiddenInheritedFieldsDecorator(fieldNames)\r\n{\r\n return function schemaHiddenInheritedFieldsDecorator(value, context)\r\n {\r\n if (context && typeof context === \"object\")\r\n {\r\n if (context.kind !== \"class\") throw new TypeError(\"CjsSchema.hideInherited only supports classes.\");\r\n registerStage3FieldMetadata(value, context.metadata);\r\n }\r\n else if (typeof value !== \"function\")\r\n {\r\n throw new TypeError(\"CjsSchema.hideInherited requires a class constructor.\");\r\n }\r\n\r\n defineHiddenInheritedFields(value, fieldNames);\r\n };\r\n}\r\n\r\nconst CONTEXT_FIRST_PARAMETER = /^\\(?\\s*_?(context|updateContext)\\b/;\r\n\r\n/**\r\n * Whether a function's source still carries the names it was written with.\r\n *\r\n * A minifier renames parameters to one or two characters, so `(context)`\r\n * arrives as `(t)` and any assertion about the NAME becomes an assertion about\r\n * the build. There is no way to tell a minified name from a wrongly chosen one\r\n * by inspection, so the only sound thing is to stop asking once the names are\r\n * gone - which a parameter list of nothing but short identifiers says plainly.\r\n *\r\n * @param {string} parameterList Source from the opening parenthesis.\r\n * @returns {boolean} True when at least one parameter kept a real name.\r\n */\r\nfunction hasReadableParameterNames(parameterList)\r\n{\r\n const close = parameterList.indexOf(\")\");\r\n const declared = close === -1 ? parameterList : parameterList.slice(0, close);\r\n\r\n return /[A-Za-z_$][\\w$]{2,}/u.test(declared);\r\n}\r\n\r\nfunction assertContextFirstMethod(fn, methodName)\r\n{\r\n if (typeof fn !== \"function\")\r\n {\r\n return;\r\n }\r\n\r\n const source = String(fn);\r\n const parameterList = source.slice(source.indexOf(\"(\"));\r\n\r\n // Arity is the contract and holds in any build: a contextual method that\r\n // takes nothing cannot have been given a context.\r\n if (fn.length < 1)\r\n {\r\n throw new TypeError(\r\n `CjsSchema.carbon.contextual method \"${String(methodName)}\" must take a context as its first parameter.`\r\n );\r\n }\r\n\r\n // The NAME is an authoring convention, and it is only checkable while the\r\n // names exist. Asserting it against a minified bundle threw on every\r\n // contextual method in the shipped build and took the engine down at load\r\n // - the failure is the assertion's, not the code's.\r\n if (!hasReadableParameterNames(parameterList)) return;\r\n\r\n if (!CONTEXT_FIRST_PARAMETER.test(parameterList))\r\n {\r\n throw new TypeError(\r\n `CjsSchema.carbon.contextual method \"${String(methodName)}\" must be context-first ` +\r\n \"(first parameter named context or updateContext).\"\r\n );\r\n }\r\n}\r\n\r\nfunction methodDecorator(namespace, value)\r\n{\r\n return describeDecorator(function schemaMethodDecorator(targetOrValue, contextOrMethodName)\r\n {\r\n if (contextOrMethodName && typeof contextOrMethodName === \"object\")\r\n {\r\n const context = contextOrMethodName;\r\n if (context.kind !== \"method\") throw new TypeError(\"CjsSchema method decorators only support class methods.\");\r\n\r\n context.addInitializer(function initializeSchemaMethod()\r\n {\r\n const Constructor = context.static ? this : this.constructor;\r\n defineMethodMetadata(Constructor, context.name, namespace, value);\r\n });\r\n return;\r\n }\r\n\r\n const Constructor = targetOrValue?.constructor;\r\n if (!Constructor || !contextOrMethodName)\r\n {\r\n throw new TypeError(\"CjsSchema method decorators require a class method target.\");\r\n }\r\n\r\n defineMethodMetadata(Constructor, contextOrMethodName, namespace, value);\r\n }, namespace, value);\r\n}\r\n\r\nfunction memberDecorator(namespace, value)\r\n{\r\n const forMethods = methodDecorator(namespace, value);\r\n const forFields = fieldDecorator(namespace, value);\r\n return describeDecorator(function schemaMemberDecorator(targetOrValue, contextOrMemberName)\r\n {\r\n if (contextOrMemberName && typeof contextOrMemberName === \"object\")\r\n {\r\n return contextOrMemberName.kind === \"field\"\r\n ? forFields(targetOrValue, contextOrMemberName)\r\n : forMethods(targetOrValue, contextOrMemberName);\r\n }\r\n\r\n // Legacy (non-2023-11) path: a method target resolves to a function\r\n // on the prototype; anything else is treated as a field.\r\n return targetOrValue && contextOrMemberName && typeof targetOrValue[contextOrMemberName] === \"function\"\r\n ? forMethods(targetOrValue, contextOrMemberName)\r\n : forFields(targetOrValue, contextOrMemberName);\r\n }, namespace, value);\r\n}\r\n\r\nfunction defineFieldMetadata(Constructor, fieldName, namespace, value)\r\n{\r\n defineMemberMetadata(Constructor, \"fields\", \"fieldsByName\", fieldName, namespace, value);\r\n}\r\n\r\nfunction defineClassMetadata(Constructor, definition)\r\n{\r\n const schema = getOrCreateClassSchema(Constructor);\r\n if (definition.className)\r\n {\r\n schema.className = definition.className;\r\n // Non-enumerable and own-property, so it neither pollutes exported\r\n // values nor is mistaken for an inherited name further down the chain.\r\n Object.defineProperty(Constructor, CJS_CLASS_NAME, {\r\n value: definition.className,\r\n configurable: true\r\n });\r\n }\r\n if (definition.family) schema.family = definition.family;\r\n if (definition.purpose) schema.purpose = definition.purpose;\r\n if (definition.sourceClass) schema.sourceClass = definition.sourceClass;\r\n if (definition.carbon) schema.carbon = definition.carbon;\r\n if (definition.modelledOn) schema.modelledOn = definition.modelledOn;\r\n if (definition.aliases) schema.aliases = [...definition.aliases];\r\n\r\n for (const field of definition.fields || [])\r\n {\r\n defineManualMemberMetadata(Constructor, \"fields\", field);\r\n }\r\n\r\n for (const method of definition.methods || [])\r\n {\r\n defineManualMemberMetadata(Constructor, \"methods\", method);\r\n }\r\n\r\n registerClassMetadata(Constructor, schema);\r\n}\r\n\r\nfunction defineManualMemberMetadata(Constructor, memberType, definition)\r\n{\r\n const define = memberType === \"methods\" ? defineMethodMetadata : defineFieldMetadata;\r\n for (const [namespace, value] of Object.entries(definition))\r\n {\r\n if (namespace === \"name\") continue;\r\n define(Constructor, definition.name, namespace, value);\r\n }\r\n}\r\n\r\nfunction defineMethodMetadata(Constructor, methodName, namespace, value)\r\n{\r\n defineMemberMetadata(Constructor, \"methods\", \"methodsByName\", methodName, namespace, value);\r\n}\r\n\r\nfunction defineMemberMetadata(Constructor, listKey, mapKey, name, namespace, value)\r\n{\r\n const schema = getOrCreateClassSchema(Constructor);\r\n let item = schema[mapKey].get(name);\r\n\r\n if (!item)\r\n {\r\n item = { name };\r\n schema[listKey].push(item);\r\n schema[mapKey].set(name, item);\r\n }\r\n\r\n item[namespace] = mergeNamespace(item[namespace], value);\r\n}\r\n\r\nfunction defineHiddenInheritedFields(Constructor, fieldNames)\r\n{\r\n if (typeof Constructor !== \"function\")\r\n {\r\n throw new TypeError(\"CjsSchema.hideInherited requires a class constructor.\");\r\n }\r\n\r\n const Parent = Object.getPrototypeOf(Constructor);\r\n const inheritedFields = new Set(getEffectiveFields(Parent).map(field => field.name));\r\n // Declared name only: Constructor.name does not survive minification, and a\r\n // mangled name in an error reads as a real one and sends you chasing it.\r\n const className = CLASS_SCHEMA.get(Constructor)?.className || \"<undeclared>\";\r\n\r\n for (const fieldName of fieldNames)\r\n {\r\n if (!inheritedFields.has(fieldName))\r\n {\r\n throw new TypeError(\r\n `CjsSchema.hideInherited cannot hide \"${fieldName}\" on ${className}: ` +\r\n \"the parent schema does not expose that field.\"\r\n );\r\n }\r\n }\r\n\r\n const schema = getOrCreateClassSchema(Constructor);\r\n for (const fieldName of fieldNames)\r\n {\r\n schema.hiddenInherited.add(fieldName);\r\n }\r\n}\r\n\r\n// The state-free transport's import. A declared REFERENCE field - model or\r\n// objectRef, or a list or Map of them - treats a non-plain object as the\r\n// reference itself and assigns it, Carbon's IRoot* member (operator ruling,\r\n// 2026-09-14). The DECLARED TYPE decides that the field holds references; the\r\n// value's class is never inspected. Plain bags, and every other field kind,\r\n// import by value exactly as before.\r\nfunction importDeclaredValue(value, field)\r\n{\r\n const type = field.type;\r\n switch (type?.kind)\r\n {\r\n case \"model\":\r\n case \"objectRef\":\r\n if (isObjectReference(value)) return value;\r\n break;\r\n case \"list\":\r\n case \"array\":\r\n if (Array.isArray(value) && isReferenceType(type.itemType))\r\n {\r\n return value.map(item => isObjectReference(item) ? item : cloneCarbonValue(item));\r\n }\r\n break;\r\n case \"map\":\r\n if (value instanceof Map && isReferenceType(type.valueType))\r\n {\r\n return new Map(Array.from(value, ([ key, item ]) =>\r\n [ key, isObjectReference(item) ? item : cloneCarbonValue(item) ]));\r\n }\r\n break;\r\n }\r\n return normalizeCarbonValue(value, type);\r\n}\r\n\r\n// A declared item type that holds references: a model or objectRef\r\n// descriptor, or a bare name registered as a class. \"string\" and \"unknown\"\r\n// are not registered, so they stay values.\r\nfunction isReferenceType(type)\r\n{\r\n if (typeof type === \"string\") return CjsSchema.GetConstructor(type) !== null;\r\n return type?.kind === \"model\" || type?.kind === \"objectRef\";\r\n}\r\n\r\n// Not a values bag: an object that is neither plain, an array nor a typed\r\n// array. Asks only what the value is made of, never which class built it.\r\nfunction isObjectReference(value)\r\n{\r\n return value !== null && typeof value === \"object\" && !isPlainObject(value)\r\n && !Array.isArray(value) && !ArrayBuffer.isView(value);\r\n}\r\n\r\nfunction getEffectiveFields(Constructor)\r\n{\r\n const ordered = [];\r\n const byName = new Map();\r\n const hidden = new Set();\r\n\r\n for (const current of getSchemaLineage(Constructor))\r\n {\r\n const schema = CLASS_SCHEMA.get(current);\r\n for (const field of schema?.fields || [])\r\n {\r\n const existing = byName.get(field.name);\r\n if (existing)\r\n {\r\n mergeMemberMetadata(existing, field);\r\n }\r\n else\r\n {\r\n const merged = mergeMemberMetadata({ name: field.name }, field);\r\n ordered.push(merged);\r\n byName.set(field.name, merged);\r\n }\r\n }\r\n\r\n for (const fieldName of schema?.hiddenInherited || [])\r\n {\r\n hidden.add(fieldName);\r\n }\r\n }\r\n\r\n // Enum chooser metadata carries the same ENUM fact as Blue's flag.\r\n // Keep it visible under edit for comparisons without duplicating annotations.\r\n for (const field of ordered)\r\n {\r\n if (field.enum) field.edit = { ...field.edit, enum: true };\r\n }\r\n return ordered.filter(field => !hidden.has(field.name));\r\n}\r\n\r\nfunction getHiddenInheritedFieldNames(Constructor)\r\n{\r\n const hidden = new Set();\r\n for (const current of getSchemaLineage(Constructor))\r\n {\r\n for (const fieldName of CLASS_SCHEMA.get(current)?.hiddenInherited || [])\r\n {\r\n hidden.add(fieldName);\r\n }\r\n }\r\n return hidden;\r\n}\r\n\r\nfunction getSchemaLineage(Constructor)\r\n{\r\n const lineage = [];\r\n let current = Constructor;\r\n while (typeof current === \"function\")\r\n {\r\n if (CLASS_SCHEMA.has(current)) lineage.push(current);\r\n current = Object.getPrototypeOf(current);\r\n }\r\n return lineage.reverse();\r\n}\r\n\r\nfunction mergeMemberMetadata(target, source)\r\n{\r\n for (const [namespace, value] of Object.entries(source))\r\n {\r\n if (namespace === \"name\") continue;\r\n target[namespace] = mergeNamespace(target[namespace], value);\r\n }\r\n return target;\r\n}\r\n\r\n/**\r\n * The per-class record `getSchema()` returns - the `Be::ClassInfo` analog,\r\n * named CjsClassInfo (audit ruling 8, 2026-09-05). A typedef rather than an\r\n * exported class: the record is shared read-only data consumed by tooling as\r\n * plain JSON; promote to a real class only if facade-era accessors earn it.\r\n *\r\n * @typedef {object} CjsClassInfo\r\n * @property {string|null} className Registered serialized class name.\r\n * @property {Array<object>} fields Resolved field metadata, declaration order.\r\n * @property {Array<object>} [methods] Method provenance metadata.\r\n * @property {string} [family] Registered schema family.\r\n */\r\nfunction buildClassInfo(Constructor, namespaces)\r\n{\r\n const schema = CLASS_SCHEMA.get(Constructor);\r\n const fields = [];\r\n const methods = [];\r\n\r\n for (const field of getEffectiveFields(Constructor))\r\n {\r\n fields.push(enrichEnumField(exportField(field, namespaces), Constructor));\r\n }\r\n\r\n // KNOWN DEFECT: methods are read from this class only, while fields resolve\r\n // through the whole lineage above. A subclass therefore reports no inherited\r\n // methods, and the decorated form hides that behind a second bug that\r\n // cancels it out: method decorators register through addInitializer, where\r\n // `this.constructor` is the *instance's* class, so constructing one\r\n // Tr2LightProfileRes writes CjsResource's methods onto Tr2LightProfileRes.\r\n // Which class owns which methods then depends on construction order, and\r\n // before any instance exists a class reports no methods at all.\r\n //\r\n // Declaring metadata as data (CjsSchema.define fields/methods) registers on\r\n // the declaring class at module load, so it is deterministic - and it makes\r\n // the missing inheritance visible rather than accidentally papered over.\r\n //\r\n // Left unfixed deliberately: nothing reads .methods off a runtime schema\r\n // today (tools-core classTool parses source documents, not these), and the\r\n // fix - walking the lineage here as getEffectiveFields does - changes\r\n // exported schemas for every decorator-using class in the org.\r\n for (const method of schema?.methods || [])\r\n {\r\n methods.push(exportField(method, namespaces));\r\n }\r\n\r\n const result = {\r\n className: CjsSchema.getClassName(Constructor),\r\n fields\r\n };\r\n\r\n const family = schema?.family || CjsSchema.getClassFamily(Constructor);\r\n if (family)\r\n {\r\n result.family = family;\r\n }\r\n\r\n if (schema?.purpose)\r\n {\r\n result.purpose = schema.purpose;\r\n }\r\n\r\n if (schema?.sourceClass && schema.sourceClass !== result.className)\r\n {\r\n result.sourceClass = schema.sourceClass;\r\n }\r\n\r\n if (schema?.carbon)\r\n {\r\n result.carbon = schema.carbon;\r\n }\r\n\r\n if (schema?.modelledOn)\r\n {\r\n result.modelledOn = schema.modelledOn;\r\n }\r\n\r\n if (schema?.aliases?.length)\r\n {\r\n result.aliases = [ ...schema.aliases ];\r\n }\r\n\r\n if (methods.length) result.methods = methods;\r\n\r\n addSchemaBuckets(result);\r\n return result;\r\n}\r\n\r\n\r\n// Kinds that hold many values rather than one. `map` and `set` are included\r\n// because they are iterable collections of the referenced class, same as a list.\r\nconst MANY_KINDS = new Set([ \"list\", \"array\", \"set\", \"map\" ]);\r\n\r\n// Kinds that can hold a child model. Bucketing on the KIND rather than on a\r\n// resolvable class reference keeps traversal conservative: `type.struct(Class)`\r\n// drops the reference during normalization, and a raw defineField may omit the\r\n// item type, so requiring a reference would silently stop visiting those.\r\n// Scalar and math kinds are excluded, which is where the saving comes from.\r\nconst MODEL_KINDS = new Set([\r\n \"struct\", \"model\", \"rawStruct\", \"objectRef\", \"unknown\",\r\n \"list\", \"array\", \"set\", \"map\"\r\n]);\r\n\r\n\r\n/**\r\n * Precompute the answers consumers would otherwise recompute per traversal.\r\n *\r\n * Graph walks ask the same two questions of every node - which fields hold\r\n * child models, which hold resources - and answering them by scanning the field\r\n * list and type-testing each value costs more than the walk itself. The class\r\n * cannot change without rebuilding its schema, so this is solved once.\r\n */\r\nfunction addSchemaBuckets(schema)\r\n{\r\n const byName = new Map();\r\n const children = [];\r\n const resources = [];\r\n\r\n for (const field of schema.fields)\r\n {\r\n byName.set(field.name, field);\r\n\r\n const type = field.type;\r\n // An undeclared field could hold anything, so it stays traversable.\r\n const kind = type?.kind;\r\n if (kind && !MODEL_KINDS.has(kind)) continue;\r\n\r\n const entry = { name: field.name, many: MANY_KINDS.has(kind) };\r\n\r\n if (type && resolveFieldClass(type)?.isResource === true)\r\n {\r\n resources.push(entry);\r\n continue;\r\n }\r\n\r\n entry.owned = field.lifecycle?.ownership === \"owned\";\r\n children.push(entry);\r\n }\r\n\r\n schema.byName = byName;\r\n schema.children = children;\r\n schema.resources = resources;\r\n}\r\n\r\n\r\n// Only string references survive normalization - type.struct(SomeClass) drops\r\n// the reference entirely - so a field can only be bucketed when it names a\r\n// class. The one field in the tree that named nothing was a missing\r\n// declaration, not a deliberate escape.\r\nfunction resolveFieldClass(type)\r\n{\r\n const ref = type.className || type.itemType || type.valueType;\r\n return typeof ref === \"string\" && ref ? CONSTRUCTOR_BY_NAME.get(ref) || null : null;\r\n}\r\n\r\n\r\nfunction getOrCreateClassSchema(Constructor)\r\n{\r\n // The only route by which class metadata is mutated, and therefore the only\r\n // place exported schemas can go stale. A single global counter rather than\r\n // per-class invalidation because a base class change invalidates every\r\n // subclass, and lineage is not tracked in reverse.\r\n SCHEMA_GENERATION += 1;\r\n\r\n let schema = CLASS_SCHEMA.get(Constructor);\r\n if (!schema)\r\n {\r\n schema = {\r\n className: null,\r\n family: null,\r\n purpose: null,\r\n sourceClass: null,\r\n carbon: null,\r\n modelledOn: null,\r\n aliases: null,\r\n fields: [],\r\n fieldsByName: new Map(),\r\n hiddenInherited: new Set(),\r\n methods: [],\r\n methodsByName: new Map()\r\n };\r\n CLASS_SCHEMA.set(Constructor, schema);\r\n }\r\n return schema;\r\n}\r\n\r\nfunction normalizeHiddenInheritedFields(fieldNames)\r\n{\r\n if (!Array.isArray(fieldNames) || !fieldNames.length)\r\n {\r\n throw new TypeError(\"CjsSchema.hideInherited requires a non-empty array of field names.\");\r\n }\r\n\r\n const normalized = fieldNames.map((fieldName, index) =>\r\n {\r\n if (typeof fieldName !== \"string\" || !fieldName.trim())\r\n {\r\n throw new TypeError(`CjsSchema.hideInherited fieldNames[${index}] must be a non-empty string.`);\r\n }\r\n return fieldName.trim();\r\n });\r\n\r\n return [...new Set(normalized)];\r\n}\r\n\r\nfunction recordStage3FieldMetadata(context, namespace, value)\r\n{\r\n const metadata = context?.metadata;\r\n if (!metadata || typeof metadata !== \"object\") return;\r\n\r\n let fields;\r\n if (Object.prototype.hasOwnProperty.call(metadata, STAGE3_FIELD_METADATA))\r\n {\r\n fields = metadata[STAGE3_FIELD_METADATA];\r\n }\r\n else\r\n {\r\n fields = [];\r\n Object.defineProperty(metadata, STAGE3_FIELD_METADATA, {\r\n configurable: false,\r\n enumerable: false,\r\n value: fields,\r\n writable: false\r\n });\r\n }\r\n\r\n fields.push({\r\n name: context.name,\r\n namespace,\r\n value\r\n });\r\n}\r\n\r\nfunction registerStage3FieldMetadata(Constructor, metadata)\r\n{\r\n if (!metadata || typeof metadata !== \"object\") return;\r\n if (!Object.prototype.hasOwnProperty.call(metadata, STAGE3_FIELD_METADATA)) return;\r\n\r\n let declarations = FIELD_DECLARATION_METADATA.get(Constructor);\r\n if (!declarations)\r\n {\r\n declarations = new Map();\r\n FIELD_DECLARATION_METADATA.set(Constructor, declarations);\r\n }\r\n for (const field of metadata[STAGE3_FIELD_METADATA])\r\n {\r\n declarations.set(field.name, metadata);\r\n defineFieldMetadata(Constructor, field.name, field.namespace, field.value);\r\n }\r\n}\r\n\r\nfunction normalizeClassDefinition(Constructor, definition)\r\n{\r\n if (typeof definition === \"string\")\r\n {\r\n definition = { className: definition };\r\n }\r\n\r\n const result = { ...(definition || {}) };\r\n if (typeof result.className !== \"string\" || !result.className.trim())\r\n {\r\n throw new TypeError(\"CjsSchema.define requires an explicit non-empty className.\");\r\n }\r\n result.className = result.className.trim();\r\n if (result.purpose !== undefined && result.purpose !== null)\r\n {\r\n if (typeof result.purpose !== \"string\" || !result.purpose.trim())\r\n {\r\n throw new TypeError(\"CjsSchema.define purpose must be a non-empty string when provided.\");\r\n }\r\n result.purpose = result.purpose.trim().replace(/\\s+/g, \" \");\r\n if (result.purpose.includes(\"*/\"))\r\n {\r\n throw new TypeError(\"CjsSchema.define purpose cannot close a JSDoc comment.\");\r\n }\r\n }\r\n // REPLICATES AND MODELLED ON ARE DIFFERENT CLAIMS, and only the first can\r\n // be checked. `carbon` names a class this one REPLICATES: same contract,\r\n // method for method, so a parity check may hold us to its whole surface.\r\n // `modelledOn` names a class this one TOOK ITS SHAPE FROM and does not\r\n // replicate - `CjsWebgpuWorkQueue` is modelled on `MetalWorkQueue`, whose\r\n // 113 methods are the entire command recorder against our 27, because the\r\n // rest of that surface lives on the pipeline, the resource set and the\r\n // render context here. Declaring the second as the first would report 101\r\n // absences as debt; declaring nothing leaves the class unchecked and its\r\n // provenance unrecorded.\r\n //\r\n // NEITHER IS `sourceClass`, which is SERIALIZATION identity - the name a\r\n // document calls this class on the wire (`CjsLightData`'s `\"LightData\"`).\r\n // A donor is not a wire name: writing `MetalWorkQueue` there would tell\r\n // dehydration the class serializes under that name.\r\n for (const [ key, what ] of [ [ \"carbon\", \"replicates\" ], [ \"modelledOn\", \"is modelled on\" ] ])\r\n {\r\n if (result[key] === undefined || result[key] === null) continue;\r\n\r\n if (typeof result[key] !== \"string\" || !result[key].trim())\r\n {\r\n throw new TypeError(`CjsSchema.define ${key} must be a non-empty Carbon class name when provided.`);\r\n }\r\n\r\n result[key] = result[key].trim();\r\n void what;\r\n }\r\n\r\n if (result.carbon && result.modelledOn)\r\n {\r\n throw new TypeError(\r\n \"CjsSchema.define takes carbon or modelledOn, not both: a class either replicates its \"\r\n + \"donor's contract or is modelled on it, and the two are different claims.\"\r\n );\r\n }\r\n\r\n if (!result.sourceClass && result.className) result.sourceClass = result.className;\r\n const aliases = [\r\n ...(result.aliases === undefined ? [] : Array.isArray(result.aliases) ? result.aliases : [result.aliases]),\r\n ...(result.alias === undefined ? [] : Array.isArray(result.alias) ? result.alias : [result.alias])\r\n ].filter(alias => typeof alias === \"string\" && alias.trim()).map(alias => alias.trim())\r\n .filter(alias => alias !== result.className);\r\n result.aliases = aliases.length ? [...new Set(aliases)] : null;\r\n result.fields = normalizeManualMembers(result.fields, \"fields\");\r\n result.methods = normalizeManualMembers(result.methods, \"methods\");\r\n delete result.alias;\r\n return result;\r\n}\r\n\r\n/**\r\n * Normalize a definition's `fields`/`methods` into internal member records.\r\n *\r\n * Two spellings are accepted. A name-keyed object is the one to write:\r\n * declaration order is key order, which is what drives GetValues() export\r\n * order, and the name appears once rather than as a property of its own record.\r\n * The array of `{name, ...}` records predates it and still parses, because it\r\n * is what the internal schema stores.\r\n *\r\n * @param {object|Array<object>|null} members Declared members.\r\n * @param {string} memberType Either \"fields\" or \"methods\", for messages.\r\n * @returns {Array<object>} Internal member records.\r\n */\r\nfunction normalizeManualMembers(members, memberType)\r\n{\r\n if (members === undefined || members === null) return [];\r\n\r\n if (Array.isArray(members))\r\n {\r\n return members.map((member, index) =>\r\n {\r\n if (!isPlainObject(member) || typeof member.name !== \"string\" || !member.name.trim())\r\n {\r\n throw new TypeError(`CjsSchema.define ${memberType}[${index}] requires a non-empty name.`);\r\n }\r\n const { name, ...namespaces } = member;\r\n return normalizeManualMember(name.trim(), namespaces, memberType);\r\n });\r\n }\r\n\r\n if (!isPlainObject(members))\r\n {\r\n throw new TypeError(\r\n `CjsSchema.define ${memberType} must be a name-keyed object or an array of named records.`\r\n );\r\n }\r\n\r\n return Object.entries(members).map(([ name, definition ]) =>\r\n {\r\n if (!name.trim())\r\n {\r\n throw new TypeError(`CjsSchema.define ${memberType} requires a non-empty name.`);\r\n }\r\n return normalizeManualMember(name.trim(), definition, memberType);\r\n });\r\n}\r\n\r\n/**\r\n * Collapse one member's declaration into a namespace map.\r\n *\r\n * A declaration is a decorator, a namespace object, or an array mixing both.\r\n * Decorators are accepted as data so the object form reuses the vocabulary the\r\n * decorators already define rather than restating it: `impl.adapted` written\r\n * twice in two spellings is two things that can disagree.\r\n *\r\n * @param {string} name Member name.\r\n * @param {*} definition Declared metadata.\r\n * @param {string} memberType Either \"fields\" or \"methods\", for messages.\r\n * @returns {object} Internal member record.\r\n */\r\nfunction normalizeManualMember(name, definition, memberType)\r\n{\r\n const member = { name };\r\n\r\n for (const entry of Array.isArray(definition) ? definition : [ definition ])\r\n {\r\n if (entry === undefined || entry === null) continue;\r\n\r\n const decorator = getDecoratorMetadata(entry);\r\n if (decorator)\r\n {\r\n member[decorator.namespace] = mergeNamespace(member[decorator.namespace], decorator.value);\r\n continue;\r\n }\r\n\r\n if (!isPlainObject(entry))\r\n {\r\n throw new TypeError(\r\n `CjsSchema.define ${memberType} \"${name}\" accepts schema decorators, ` +\r\n \"namespace objects, or an array of them.\"\r\n );\r\n }\r\n\r\n for (const [ namespace, value ] of Object.entries(entry))\r\n {\r\n member[namespace] = mergeNamespace(member[namespace], value);\r\n }\r\n }\r\n\r\n return member;\r\n}\r\n\r\nfunction registerClassMetadata(Constructor, schema)\r\n{\r\n if (!Constructor || !schema?.className) return;\r\n\r\n CjsSchema.SetConstructor(schema.className, Constructor);\r\n\r\n for (const alias of schema.aliases || [])\r\n {\r\n CjsSchema.SetConstructor(alias, Constructor);\r\n }\r\n}\r\n\r\nfunction defineEnumMetadata(values, schema)\n{\n if (!values || typeof values !== \"object\" || !schema?.name) return;\n blueEnums.RegisterEnum(schema.name, schema.type, schema);\n}\r\n\r\nfunction normalizeEnumSchema(values, definition)\r\n{\r\n const type = values?.Type || values;\r\n const members = Array.isArray(definition.members)\r\n ? definition.members.map(member => ({ ...member }))\r\n : [];\r\n const result = {\r\n name: definition.name || values?.[CJS_ENUM_NAME] || values?.Source?.name || values?.name || null,\r\n type,\r\n members\r\n };\r\n\r\n if (definition.source) result.source = definition.source;\r\n if (definition.family) result.family = definition.family;\r\n if (definition.line !== undefined && definition.line !== null) result.line = definition.line;\n if (definition.exposure !== undefined) result.exposure = definition.exposure;\n if (definition.exposedName !== undefined) result.exposedName = definition.exposedName;\n if (definition.chooserSource !== undefined) result.chooserSource = definition.chooserSource;\n if (definition.chooser !== undefined) result.chooser = definition.chooser;\n\r\n return result;\r\n}\r\n\r\nfunction normalizeEnumDefinition(values)\r\n{\r\n if (typeof values === \"string\")\r\n {\r\n return { enumType: values };\r\n }\r\n\r\n const type = values?.Type || (isPlainObject(values) ? values : null);\r\n if (type && typeof type === \"object\")\r\n {\r\n const result = {\r\n values: type\r\n };\r\n const enumType = CjsSchema.getEnumName(values);\r\n if (enumType) result.enumType = enumType;\r\n return result;\r\n }\r\n\r\n return { values };\r\n}\r\n\r\nfunction normalizeComponentDefinition(definition)\r\n{\r\n if (!isPlainObject(definition))\r\n {\r\n throw new TypeError(\"CjsSchema.components requires a plain object definition.\");\r\n }\r\n\r\n return Object.fromEntries(Object.entries(definition).map(([swizzle, value]) => [\r\n normalizeSwizzle(swizzle),\r\n normalizeComponentEntry(value)\r\n ]));\r\n}\r\n\r\nfunction normalizeComponentEntry(value)\r\n{\r\n if (typeof value === \"string\") return { name: value };\r\n if (isPlainObject(value)) return cloneSchemaValue(value);\r\n return value;\r\n}\r\n\r\nfunction getComponentValue(value, swizzle)\r\n{\r\n const indices = getComponentIndices(swizzle);\r\n if (indices.length === 1) return value?.[indices[0]];\r\n return indices.map(index => value?.[index]);\r\n}\r\n\r\nfunction setComponentValue(target, swizzle, value)\r\n{\r\n if (!target)\r\n {\r\n throw new TypeError(\"CjsSchema.components.set requires a target vector.\");\r\n }\r\n\r\n const indices = getComponentIndices(swizzle);\r\n if (indices.length === 1)\r\n {\r\n target[indices[0]] = value;\r\n return target;\r\n }\r\n\r\n if (!value || typeof value[Symbol.iterator] !== \"function\")\r\n {\r\n throw new TypeError(`CjsSchema.components.set requires an iterable value for '${swizzle}'.`);\r\n }\r\n\r\n let offset = 0;\r\n for (const item of value)\r\n {\r\n if (offset >= indices.length) break;\r\n target[indices[offset++]] = item;\r\n }\r\n\r\n if (offset !== indices.length)\r\n {\r\n throw new RangeError(`CjsSchema.components.set expected ${indices.length} values for '${swizzle}' but received ${offset}.`);\r\n }\r\n\r\n return target;\r\n}\r\n\r\nfunction getComponentIndices(swizzle)\r\n{\r\n return [...normalizeSwizzle(swizzle)].map(componentIndex);\r\n}\r\n\r\nfunction normalizeSwizzle(swizzle)\r\n{\r\n const text = String(swizzle || \"\").trim().toLowerCase();\r\n if (!text)\r\n {\r\n throw new TypeError(\"Component swizzle cannot be empty.\");\r\n }\r\n\r\n for (const char of text)\r\n {\r\n componentIndex(char);\r\n }\r\n\r\n return text;\r\n}\r\n\r\nfunction componentIndex(char)\r\n{\r\n switch (char)\r\n {\r\n case \"x\":\r\n case \"r\":\r\n case \"0\":\r\n return 0;\r\n case \"y\":\r\n case \"g\":\r\n case \"1\":\r\n return 1;\r\n case \"z\":\r\n case \"b\":\r\n case \"2\":\r\n return 2;\r\n case \"w\":\r\n case \"a\":\r\n case \"3\":\r\n return 3;\r\n default:\r\n throw new RangeError(`Unsupported component '${char}'.`);\r\n }\r\n}\r\n\r\nfunction mergeNamespace(existing, value)\r\n{\r\n if (isPlainObject(existing) && isPlainObject(value)) return { ...existing, ...value };\r\n return value;\r\n}\r\n\r\n// Resolves @schema.enum(\"X\") through the owning class's PascalCase static so\r\n// exported schemas are self-describing: adds the class-scoped identity and a\r\n// reference to the frozen member map when the static resolves.\r\nfunction enrichEnumField(exported, Constructor)\n{\n const enumType = exported?.enum?.enumType;\n if (!enumType) return exported;\n if (enumType.includes(\".\"))\n {\n const info = blueEnums.GetEnumInfo(enumType);\n return { ...exported, enum: {\n ...exported.enum, identity: info.name, members: info.type,\n ...(info.chooser === undefined ? {} : { chooser: info.chooser })\n } };\n }\n const members = Constructor?.[enumType];\r\n if (!members || typeof members !== \"object\") return exported;\r\n\r\n let owner = Constructor;\r\n let current = Constructor;\r\n while (typeof current === \"function\")\r\n {\r\n if (Object.prototype.hasOwnProperty.call(current, enumType))\r\n {\r\n owner = current;\r\n break;\r\n }\r\n current = Object.getPrototypeOf(current);\r\n }\r\n\r\n return {\r\n ...exported,\r\n enum: {\r\n ...exported.enum,\r\n identity: `${CjsSchema.getClassName(owner) || owner.name}.${enumType}`,\r\n members\r\n }\r\n };\r\n}\r\n\r\nfunction exportField(field, namespaces)\r\n{\r\n const result = {\r\n name: field.name\r\n };\r\n\r\n for (const [key, value] of Object.entries(field))\r\n {\r\n if (key === \"name\") continue;\r\n if (namespaces && !namespaces.has(key)) continue;\r\n result[key] = value;\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction normalizeNamespaces(namespaces)\r\n{\r\n if (!namespaces) return null;\r\n return new Set(Array.isArray(namespaces) ? namespaces : [namespaces]);\r\n}\r\n\r\nfunction cloneSchemaValue(value)\r\n{\r\n if (Array.isArray(value)) return value.map(cloneSchemaValue);\r\n if (isPlainObject(value)) return Object.fromEntries(Object.entries(value).map(([key, item]) => [key, cloneSchemaValue(item)]));\r\n return value;\r\n}\r\n\r\nfunction isPlainObject(value)\r\n{\r\n return Boolean(value) && typeof value === \"object\" && Object.getPrototypeOf(value) === Object.prototype;\r\n}\r\n\r\n// Names what arrived where a values bag was required, for assertValues' error.\r\nfunction describeValuesInput(value)\n{\r\n if (value === undefined) return \"undefined\";\r\n if (Array.isArray(value)) return \"an array\";\r\n if (typeof value !== \"object\") return `a ${typeof value}`;\r\n const name = value.constructor?.name;\r\n return name ? `an instance of ${name}` : \"an object without Object.prototype\";\r\n}\n\n// Install provenance here, after the schema exists. The registry core cannot\n// import schema: both Blue and schema need its storage during module loading.\nCjsSchema.define(CjsBlueEnumRegistry, {\n className: \"CjsBlueEnumRegistry\",\n modelledOn: \"BlueRegistration\",\n family: \"blue\",\n fields: {},\n methods: Object.fromEntries([\n \"RegisterEnum\", \"HasEnum\", \"GetEnum\", \"GetEnumInfo\", \"GetEnumName\",\n \"GetNameFromValue\", \"GetNameFromBitmask\"\n ].map(name => [name, [CjsSchema.impl.adapted, CjsSchema.impl.reason(\n \"Combines BlueRegistration enum storage, EnumRegistration/EnumTypeRegistration and PyBlueEnumObject exposure; JS module execution replaces static registrars, qualified names replace module tables, and JS errors replace Python exceptions.\"\n )]]))\n});\n"],"names":["CLASS_SCHEMA","WeakMap","SCHEMA_EXPORTS","DEFAULT_EXPORTS","FIELD_INITIAL_DEFAULTS","FIELD_DECLARATION_METADATA","SCHEMA_GENERATION","CONSTRUCTOR_BY_NAME","Map","STAGE3_FIELD_METADATA","Symbol","DECORATOR_METADATA","CJS_ENUM_NAME","for","CJS_CLASS_NAME","CJS_MODEL_BRAND","CjsSchema","define","Constructor","definition","defineClassMetadata","normalizeClassDefinition","enum","values","fieldDecorator","normalizeEnumDefinition","defineEnum","defineEnumMetadata","normalizeEnumSchema","decorateField","fieldName","decorators","decorator","prototype","cast","value","Contract","decorateMethod","methodName","defineField","namespace","defineFieldMetadata","defineMethod","defineMethodMetadata","getField","field","getEffectiveFields","find","name","enrichEnumField","hideInherited","fieldNames","hiddenInheritedFieldsDecorator","normalizeHiddenInheritedFields","isFieldHidden","getHiddenInheritedFieldNames","has","getMethod","schema","get","methodsByName","getClassName","current","local","className","Object","hasOwn","getPrototypeOf","getClassFamily","family","getClassPurpose","purpose","isModelInstance","getClassNames","names","includes","push","isInstanceOf","trim","constructor","SetConstructor","TypeError","set","GetConstructor","registerValuesService","service","getValues","setValues","from","#requireValuesService","method","Error","target","out","options","getValuesFromSchema","assertValues","label","isPlainObject","describeValuesInput","copy","source","setValuesFromSchema","createValuesTransport","GetFields","Export","exportCarbonValue","type","Import","importDeclaredValue","CoerceInto","incoming","coerceCarbonMathInto","coerceCarbonTypedArrayInto","IsEquivalent","a","b","getEnumName","blueEnums","GetEnumName","Type","Source","getEnum","HasEnum","GetEnumInfo","getSchema","namespaces","normalizeNamespaces","buildClassInfo","memo","generation","getDefaults","ConstructorOrName","cloneDefaultValue","getDefaultsTemplate","applyDefaults","_type","expandDefaultValue","undefined","freeze","array","itemType","kind","boolean","color","classDefinitionDecorator","expression","js","float32","float64","int8","int16","int32","int64","list","mat3","mat4","map","valueType","model","objectRef","path","quat","rawStruct","string","struct","typedArray","arrayType","uint8","uint16","uint32","uint64","unknown","vec2","vec3","vec4","edit","none","read","write","readwrite","notify","hidden","persist","rpersist","flags","persistOnly","lifecycle","owned","ownership","reference","compose","abstract","composeAbstractDecorator","composeNotifyDecorator","composeValuesDecorator","jessica","group","readOnly","widget","impl","memberDecorator","status","adapted","custom","implemented","noop","notImplemented","notSupported","invalidates","members","note","text","String","reason","#inheritedImplDecorators","declared","base","carbon","inherit","Bases","carbonInheritDecorator","mapInterface","Interfaces","carbonMapInterfaceDecorator","methodDecorator","renamed","originalName","contextual","tiers","Array","isArray","normalized","tier","length","contextTiers","described","getDecoratorMetadata","describeDecorator","contextualMethodDecorator","targetOrValue","contextOrMethodName","assertContextFirstMethod","components","createComponentsNamespace","captureFieldInitialDefault","initialValue","declarationMetadata","fields","existing","ownDeclaration","replacesInheritedDefault","deepFreezeDefaultValue","snapshotSchemaDefault","err","error","message","delete","resolveDefaultsConstructor","defaults","captured","instance","some","cause","entry","hasValue","defaultValueForCarbonField","frozen","active","WeakSet","toString","ArrayBuffer","isView","item","add","fromEntries","entries","key","Set","result","fieldValue","declaredType","defaultValue","index","expandSchemaObject","declaredClass","resolveDeclaredConstructor","mergePlainDefaults","byName","seen","normalizeComponentDefinition","defineProperties","getComponentValue","indices","getComponentIndices","setComponentValue","defineProperty","candidate","schemaFieldDecorator","contextOrFieldName","context","recordStage3FieldMetadata","addInitializer","initializeSchemaField","initializeSchemaFieldValue","metadata","schemaClassDefinitionDecorator","registerStage3FieldMetadata","schemaHiddenInheritedFieldsDecorator","defineHiddenInheritedFields","CONTEXT_FIRST_PARAMETER","hasReadableParameterNames","parameterList","close","indexOf","slice","test","fn","schemaMethodDecorator","initializeSchemaMethod","static","forMethods","forFields","schemaMemberDecorator","contextOrMemberName","defineMemberMetadata","getOrCreateClassSchema","configurable","sourceClass","modelledOn","aliases","defineManualMemberMetadata","methods","registerClassMetadata","memberType","listKey","mapKey","mergeNamespace","Parent","inheritedFields","hiddenInherited","isObjectReference","isReferenceType","cloneCarbonValue","normalizeCarbonValue","ordered","getSchemaLineage","mergeMemberMetadata","merged","filter","lineage","reverse","exportField","addSchemaBuckets","MANY_KINDS","MODEL_KINDS","children","resources","many","resolveFieldClass","isResource","ref","fieldsByName","hasOwnProperty","call","enumerable","writable","declarations","replace","what","alias","normalizeManualMembers","member","normalizeManualMember","RegisterEnum","line","exposure","exposedName","chooserSource","chooser","enumType","swizzle","normalizeSwizzle","normalizeComponentEntry","cloneSchemaValue","iterator","offset","RangeError","componentIndex","toLowerCase","char","exported","info","identity","owner","Boolean","CjsBlueEnumRegistry"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CjsSchema.js","sources":["../../../../src/global/schema/CjsSchema.js"],"sourcesContent":["import {\r\n cloneCarbonValue,\r\n coerceCarbonMathInto,\r\n coerceCarbonTypedArrayInto,\r\n defaultValueForCarbonField,\r\n exportCarbonValue,\r\n normalizeCarbonValue\r\n} from \"./types/carbonTypes.js\";\r\nimport { composeAbstractDecorator } from \"../compose/abstract.js\";\r\nimport { composeNotifyDecorator } from \"../compose/notify.js\";\r\nimport { carbonInheritDecorator, carbonMapInterfaceDecorator, cast } from \"../compose/interface.js\";\r\nimport { composeValuesDecorator, createValuesTransport } from \"../compose/values.js\";\r\nimport { blueEnums, CjsBlueEnumRegistry } from \"../blue/enums/CjsBlueEnumRegistry.js\";\r\n\r\n\r\nconst CLASS_SCHEMA = new WeakMap();\r\n\r\n// Exported schemas, memoized per class. SCHEMA_GENERATION is bumped by every\r\n// metadata definition (see getOrCreateClassSchema), which is what makes a stale\r\n// memo detectable without tracking which subclasses a base class change reaches.\r\nconst SCHEMA_EXPORTS = new WeakMap();\r\nconst DEFAULT_EXPORTS = new WeakMap();\r\nconst FIELD_INITIAL_DEFAULTS = new WeakMap();\r\nconst FIELD_DECLARATION_METADATA = new WeakMap();\r\nlet SCHEMA_GENERATION = 0;\r\n\r\nconst CONSTRUCTOR_BY_NAME = new Map();\r\nconst STAGE3_FIELD_METADATA = Symbol(\"carbonenginejs.schema.stage3Fields\");\r\n\r\n// Declared here rather than beside describeDecorator: the CjsSchema class body\r\n// builds every decorator namespace in its static initializer, which runs before\r\n// any const declared after the class is initialized.\r\nconst DECORATOR_METADATA = Symbol(\"carbonenginejs.schema.decoratorMetadata\");\r\n\r\nexport const CJS_ENUM_NAME = Symbol.for(\"carbonenginejs.enum.name\");\r\n\r\n/**\r\n * Cross-copy carrier for a declared class name.\r\n *\r\n * Schema metadata lives in a `WeakMap` keyed by constructor, which is private\r\n * to whichever copy of this file created it. Applications can install or\r\n * bundle multiple runtime copies, so a class declared by another copy is\r\n * invisible to `getClassName` here — it returns null for a perfectly\r\n * well-declared class.\r\n *\r\n * That null is not inert. `_type` is emitted only when a class name is known,\r\n * so a cross-copy model exports with no type tag and the values graph silently\r\n * stops being able to rebuild it. Stamping the name on the constructor under a\r\n * global-registry symbol makes the identity survive the boundary, exactly as\r\n * `carbonenginejs.model` does for instances.\r\n */\r\nexport const CJS_CLASS_NAME = Symbol.for(\"carbonenginejs.className\");\r\n\r\n/**\r\n * Cross-copy brand for \"this object is already a live CjsModel\".\r\n *\r\n * Declared here rather than in CjsModel, even though CjsModel is what applies\r\n * it, because the dependency runs one way only: CjsModel imports CjsSchema and\r\n * the reverse is impossible. A predicate that reads a symbol needs no access to\r\n * the class, so the question can be answered from this side of the edge and the\r\n * answer becomes available to every consumer that has the schema.\r\n *\r\n * `value instanceof CjsModel` answers a narrower question than it appears to:\r\n * it asks whether the value came from THIS copy of the runtime package. When an\r\n * application contains multiple copies, a model handed over by another copy\r\n * fails the test while being a perfectly good model.\r\n *\r\n * `Symbol.for` resolves through the global registry, which is one registry per\r\n * realm no matter how many copies of this file are loaded — the same reason\r\n * `carbonenginejs.type` and `carbonenginejs.enum.name` already use it.\r\n */\r\nexport const CJS_MODEL_BRAND = Symbol.for(\"carbonenginejs.model\");\r\n\r\n/**\r\n * Reusable schema/decorator metadata surface.\r\n *\r\n * Decorators are namespace-scoped so consumers can export only the parts they\r\n * understand. The functions support stage-3 field decorators and direct tool\r\n * registration through decorateField().\r\n */\r\nexport class CjsSchema\r\n{\r\n /** Registers complete reviewed schema metadata for a constructor. */\r\n static define(Constructor, definition = {})\r\n {\r\n defineClassMetadata(Constructor, normalizeClassDefinition(Constructor, definition));\r\n return this;\r\n }\r\n\r\n /**\r\n * Creates a field decorator that binds the field to a registered enum\r\n * identity.\r\n */\r\n static enum(values)\r\n {\r\n return fieldDecorator(\"enum\", normalizeEnumDefinition(values));\r\n }\r\n\r\n /** Registers enum identity, members, and optional source metadata. */\r\n static defineEnum(values, definition = {})\r\n {\r\n defineEnumMetadata(values, normalizeEnumSchema(values, definition));\r\n return this;\r\n }\r\n\r\n /** Applies field schema metadata without requiring decorator syntax. */\r\n static decorateField(Constructor, fieldName, ...decorators)\r\n {\r\n for (const decorator of decorators)\r\n {\r\n decorator(Constructor.prototype, fieldName);\r\n }\r\n return Constructor;\r\n }\r\n\r\n /** Applies method provenance metadata without requiring decorator syntax. */\r\n /**\r\n * Carbon's `dynamic_cast`: returns the value when it implements the\r\n * contract, otherwise null. See `compose/interface.js` for why this exists\r\n * and what it deliberately does not do.\r\n *\r\n * @param {*} value\r\n * @param {Function} Contract\r\n * @returns {*} `value` or `null`.\r\n */\r\n static cast(value, Contract)\r\n {\r\n return cast(value, Contract);\r\n }\r\n\r\n /**\r\n * Applies method decorators imperatively, for code built without decorator syntax.\r\n *\r\n * @param {Function} Constructor The class owning the method.\r\n * @param {string} methodName The method's name.\r\n * @param {...Function} decorators The decorators, applied in order.\r\n * @returns {Function} `Constructor`.\r\n */\r\n static decorateMethod(Constructor, methodName, ...decorators)\r\n {\r\n for (const decorator of decorators)\r\n {\r\n decorator(Constructor.prototype, methodName);\r\n }\r\n return Constructor;\r\n }\r\n\r\n /** Registers one field definition on a constructor's schema. */\r\n static defineField(Constructor, fieldName, namespace, value)\r\n {\r\n defineFieldMetadata(Constructor, fieldName, namespace, value);\r\n return this;\r\n }\r\n\r\n /** Registers one method definition on a constructor's schema. */\r\n static defineMethod(Constructor, methodName, namespace, value)\r\n {\r\n defineMethodMetadata(Constructor, methodName, namespace, value);\r\n return this;\r\n }\r\n\r\n /** Returns resolved schema metadata for a named field. */\r\n static getField(Constructor, fieldName)\r\n {\r\n const field = getEffectiveFields(Constructor).find(field => field.name === fieldName);\r\n return field ? enrichEnumField(field, Constructor) : null;\r\n }\r\n\r\n /**\r\n * Excludes named inherited fields from the decorated class's schema surface.\r\n */\r\n static hideInherited(fieldNames)\r\n {\r\n return hiddenInheritedFieldsDecorator(normalizeHiddenInheritedFields(fieldNames));\r\n }\r\n\r\n /**\r\n * Checks whether a field is hidden from a class by its inheritance chain.\r\n */\r\n static isFieldHidden(Constructor, fieldName)\r\n {\r\n return getHiddenInheritedFieldNames(Constructor).has(fieldName);\r\n }\r\n\r\n /** Returns resolved provenance metadata for a named method. */\r\n static getMethod(Constructor, methodName)\r\n {\r\n const schema = CLASS_SCHEMA.get(Constructor);\r\n return schema?.methodsByName.get(methodName) || null;\r\n }\r\n\r\n /** Returns the explicit stable serialized name registered for a constructor. */\r\n static getClassName(Constructor)\r\n {\r\n let current = Constructor;\r\n while (typeof current === \"function\")\r\n {\r\n // The local metadata is authoritative wherever it exists, including\r\n // when it deliberately declares no name. The cross-copy brand is\r\n // consulted ONLY for a class this copy has never seen at all --\r\n // otherwise it would answer for local classes whose absence of a\r\n // name is itself the declared answer.\r\n const local = CLASS_SCHEMA.get(current);\r\n const className = local\r\n ? (local.className || null)\r\n : (Object.hasOwn(current, CJS_CLASS_NAME) ? current[CJS_CLASS_NAME] : null);\r\n if (className)\r\n {\r\n return current !== Constructor && className === \"CjsModel\" ? null : className;\r\n }\r\n current = Object.getPrototypeOf(current);\r\n }\r\n return null;\r\n }\r\n\r\n /** Returns the registered schema family for a constructor. */\r\n static getClassFamily(Constructor)\r\n {\r\n let current = Constructor;\r\n while (typeof current === \"function\")\r\n {\r\n const family = CLASS_SCHEMA.get(current)?.family || null;\r\n if (family) return family;\r\n current = Object.getPrototypeOf(current);\r\n }\r\n return null;\r\n }\r\n\r\n /** Returns this constructor's own reviewed purpose without inheriting it. */\r\n static getClassPurpose(Constructor)\r\n {\r\n return CLASS_SCHEMA.get(Constructor)?.purpose || null;\r\n }\r\n\r\n /**\r\n * Reports whether a value is a live model, including one constructed by a\r\n * different copy of this package.\r\n *\r\n * Prefer this to `value instanceof CjsModel` anywhere the answer decides\r\n * between ALIASING and COPYING, or admits and rejects. Getting it wrong\r\n * there does not throw: it silently substitutes a plain object for a live\r\n * instance, or rejects a real model for having been declared elsewhere.\r\n *\r\n * @param {*} value Candidate value.\r\n * @returns {boolean} True when the value is a live model from any copy.\r\n */\r\n static isModelInstance(value)\r\n {\r\n return !!value && typeof value === \"object\" && value[CJS_MODEL_BRAND] === true;\r\n }\r\n\r\n /**\r\n * Every declared class name on a constructor's chain, nearest first.\r\n *\r\n * Read per level from local metadata where this copy has it and from the\r\n * cross-copy stamp where it does not, so the ancestry of a class registered\r\n * by a sibling package is still readable. Unnamed levels are skipped rather\r\n * than ending the walk: an intermediate class with no schema declaration is\r\n * ordinary, and its named ancestors still apply.\r\n *\r\n * @param {Function} Constructor Class to inspect.\r\n * @returns {string[]} Declared names from the class up to its root.\r\n */\r\n static getClassNames(Constructor)\r\n {\r\n const names = [];\r\n let current = Constructor;\r\n while (typeof current === \"function\")\r\n {\r\n const local = CLASS_SCHEMA.get(current);\r\n const className = local\r\n ? (local.className || null)\r\n : (Object.hasOwn(current, CJS_CLASS_NAME) ? current[CJS_CLASS_NAME] : null);\r\n if (className && !names.includes(className)) names.push(className);\r\n current = Object.getPrototypeOf(current);\r\n }\r\n return names;\r\n }\r\n\r\n /**\r\n * Reports whether a value is an instance of the class declared as `name`,\r\n * or of any class descending from it — across package copies.\r\n *\r\n * This is the cross-copy replacement for `value instanceof SomeClass`, and\r\n * the reason it is worth having is that the obvious implementation is wrong.\r\n * Resolving the name through GetConstructor and testing `instanceof` against\r\n * the result reintroduces the identity comparison this exists to avoid: the\r\n * registry may hold a sibling's constructor, and then a perfectly good local\r\n * instance fails. So the check never compares constructor identity at all.\r\n * It reads the declared names up the value's own prototype chain, which are\r\n * stamped rather than derived and therefore survive the copy boundary.\r\n *\r\n * A consequence worth relying on: this does not consult the constructor\r\n * registry, so it is unaffected by the flat-map collision where two families\r\n * register the same class name and the later one wins.\r\n *\r\n * @param {string} name Declared class name to test against.\r\n * @param {*} value Candidate value.\r\n * @returns {boolean} True when the value descends from that declared class.\r\n */\r\n static isInstanceOf(name, value)\r\n {\r\n if (typeof name !== \"string\" || !name.trim()) return false;\r\n if (!value || typeof value !== \"object\") return false;\r\n return this.getClassNames(value.constructor).includes(name.trim());\r\n }\r\n\r\n /** Registers a constructor under an explicit serialized class name. */\r\n static SetConstructor(name, Constructor)\r\n {\r\n if (typeof name !== \"string\" || !name.trim())\r\n {\r\n throw new TypeError(\"CjsSchema.SetConstructor requires a non-empty name.\");\r\n }\r\n if (typeof Constructor !== \"function\")\r\n {\r\n throw new TypeError(`CjsSchema constructor ${name.trim()} must be a function.`);\r\n }\r\n\r\n CONSTRUCTOR_BY_NAME.set(name.trim(), Constructor);\r\n // Buckets resolve class references by name, so a late registration\r\n // changes how already-built schemas should have been bucketed.\r\n SCHEMA_GENERATION += 1;\r\n return this;\r\n }\r\n\r\n /** Removes the constructor registered under a serialized class name. */\r\n static DeleteConstructor(name)\r\n {\r\n if (typeof name !== \"string\" || !name.trim()) return false;\r\n const removed = CONSTRUCTOR_BY_NAME.delete(name.trim());\r\n if (removed) SCHEMA_GENERATION += 1;\r\n return removed;\r\n }\r\n\r\n /** Returns the constructor registered for a serialized class name. */\r\n static GetConstructor(name)\r\n {\r\n if (typeof name !== \"string\" || !name.trim()) return null;\r\n return CONSTRUCTOR_BY_NAME.get(name.trim()) || null;\r\n }\r\n\r\n /**\r\n * The installed values-transport implementation.\r\n *\r\n * The transport API lives HERE - everything is called through the schema\r\n * (operator direction, 2026-09-05) - while the implementation currently\r\n * still lives in the model layer, which registers itself at load. Layering\r\n * forbids the reverse import (schema never imports model), so this is a\r\n * composition seam: the physical relocation of the transport bodies is the\r\n * facade migration's work, and changes nothing for callers of these\r\n * statics.\r\n */\r\n static #valuesService = null;\r\n\r\n /**\r\n * Installs the values-transport implementation.\r\n *\r\n * Called once by the model layer at module load. A second registration\r\n * replaces the first, which only module duplication could cause.\r\n *\r\n * @param {{getValues: Function, setValues: Function, From: Function}} service\r\n * @returns {typeof CjsSchema}\r\n */\r\n static registerValuesService(service)\r\n {\r\n if (!service || typeof service.getValues !== \"function\" || typeof service.setValues !== \"function\" || typeof service.from !== \"function\")\r\n {\r\n throw new TypeError(\"CjsSchema.registerValuesService requires getValues, setValues and from functions.\");\r\n }\r\n CjsSchema.#valuesService = service;\r\n return this;\r\n }\r\n\r\n /**\r\n * The registered values service, or a thrown explanation of what to import.\r\n *\r\n * @param {string} method The calling method's name, for the message.\r\n * @returns {object} The values service.\r\n */\r\n static #requireValuesService(method)\r\n {\r\n if (!CjsSchema.#valuesService)\r\n {\r\n throw new Error(`CjsSchema.${method} requires the values service; import the model layer before calling it.`);\r\n }\r\n return CjsSchema.#valuesService;\r\n }\r\n\r\n /**\r\n * Exports a target's schema fields to a plain object.\r\n *\r\n * @param {object} target A schema-backed instance.\r\n * @param {object} [out={}] Caller-owned output object.\r\n * @param {object} [options={}] Export options (refs, typeTags, ...).\r\n * @returns {object} The exported values.\r\n */\r\n static getValues(target, out = {}, options = {})\r\n {\r\n // Without the model layer the state-free transport still answers for a\r\n // decorated class, which is what lets a reader work with only the\r\n // schema layer loaded - hydration.js states that as its whole reason\r\n // for calling SetValues directly rather than through here.\r\n const service = CjsSchema.#valuesService;\r\n return service\r\n ? service.getValues(target, out, options)\r\n : CjsSchema.getValuesFromSchema(target, out, options);\r\n }\r\n\r\n /**\r\n * The top-level values rule for from/set: a plain object, or null for \"no\r\n * values\".\r\n *\r\n * SetValues and from exist for hydration and dehydration, so what arrives\r\n * at the top is data. A live object there is refused rather than read as\r\n * a bag: measured before this rule, `X.constructor.from(X)` built a new\r\n * object that aliased X's children and flattened its Map-held models.\r\n * Child fields are different - a non-plain value there is a reference, and\r\n * the field's declared type decides that. The one rule lives here so every\r\n * entry point asks the same question in the same place.\r\n *\r\n * @param {*} values Incoming top-level values.\r\n * @param {string} label Entry point named in the error.\r\n * @returns {boolean} False for null (nothing to apply), true for a plain bag.\r\n * @throws {TypeError} For anything that is not a plain object or null.\r\n */\r\n static assertValues(values, label)\r\n {\r\n if (values === null) return false;\r\n if (!isPlainObject(values))\r\n {\r\n throw new TypeError(`${label} requires a plain values object; received ${describeValuesInput(values)}.`);\r\n }\r\n return true;\r\n }\r\n\r\n /**\r\n * Copies a source's values into a target - the explicit copy helper.\r\n *\r\n * The top-level from/set rule refuses a live object as values, so copying\r\n * one says so here instead: a plain source already IS values, anything\r\n * else is exported first. Both then go through the target's validated\r\n * setter, so the target keeps its own identity and in-place buffers. This\r\n * is a value copy, not Carbon's Copier: no topology is preserved and\r\n * reference fields carry the source's references across as references.\r\n *\r\n * @param {object} target The object receiving the values.\r\n * @param {object} source A live object or a plain values object.\r\n * @param {object} [options={}] Population options.\r\n * @returns {Set<string>|boolean} Changed fields, or a boolean result.\r\n */\r\n static copy(target, source, options = {})\r\n {\r\n const values = isPlainObject(source) ? source : CjsSchema.getValues(source, {}, options);\r\n return CjsSchema.setValues(target, values, options);\r\n }\r\n\r\n /**\r\n * Applies a plain value bag to a target through its validated setter.\r\n *\r\n * @param {object} target A schema-backed instance.\r\n * @param {object} [values={}] Incoming values.\r\n * @param {object} [options={}] Population options.\r\n * @returns {Set<string>|boolean} Changed fields, or a boolean result.\r\n */\r\n static setValues(target, values = {}, options = {})\r\n {\r\n if (!CjsSchema.assertValues(values, \"CjsSchema.setValues\")) return false;\r\n const service = CjsSchema.#valuesService;\r\n return service\r\n ? service.setValues(target, values, options)\r\n : CjsSchema.setValuesFromSchema(target, values, options);\r\n }\r\n\r\n /**\r\n * The state-free transport, for a decorated class carrying no SetValues.\r\n *\r\n * Coercion, the writability gate and a changed set - the reader's half.\r\n * The dirty flag, the settle loop, the modified event and child mutation\r\n * are the EDITING contract and stay with the model path.\r\n *\r\n * Registered as the values service's third arm, which threw by name until\r\n * this existed. Also what `@compose.values` installs.\r\n */\r\n static #statelessTransport = createValuesTransport({\r\n GetFields: Constructor => getEffectiveFields(Constructor),\r\n Export: (value, field, options) => exportCarbonValue(value, field.type, options),\r\n Import: (value, field) => importDeclaredValue(value, field),\r\n CoerceInto: (current, incoming, field) =>\r\n coerceCarbonMathInto(current, incoming, field.type)\r\n ?? coerceCarbonTypedArrayInto(current, incoming, field.type),\r\n IsEquivalent: (a, b) => a === b\r\n });\r\n\r\n /** Reads declared fields off any decorated class, without a model base. */\r\n static getValuesFromSchema(target, out = {}, options = {})\r\n {\r\n return CjsSchema.#statelessTransport.getValues(target, out, options);\r\n }\r\n\r\n /** Writes declared fields onto any decorated class, without a model base. */\r\n static setValuesFromSchema(target, values = {}, options = {})\r\n {\r\n return CjsSchema.#statelessTransport.setValues(target, values, options);\r\n }\r\n\r\n /**\r\n * Constructs a registered class from a plain values bag.\r\n *\r\n * The deserializer: resolves the class by name, builds it, applies the\r\n * values, and calls the class-owned Initialize when one exists.\r\n *\r\n * @param {string} className The registered class name.\r\n * @param {object} [values={}] Values to apply.\r\n * @param {object} [options={}] Population options.\r\n * @returns {object} The constructed instance.\r\n */\r\n static from(className, values = {}, options = {})\r\n {\r\n if (!CjsSchema.assertValues(values, \"CjsSchema.from\")) values = {};\r\n return CjsSchema.#requireValuesService(\"from\").from(className, values, options);\r\n }\r\n\r\n /** Returns the stable registered name for an enum object. */\r\n static getEnumName(values)\r\n {\r\n if (typeof values === \"string\") return values;\r\n return values && typeof values === \"object\"\r\n ? blueEnums.GetEnumName(values) || blueEnums.GetEnumName(values.Type) || values[CJS_ENUM_NAME] || values.Source?.name || values.name || null\r\n : null;\r\n }\r\n\r\n /** Returns registered enum metadata by name or enum object. */\r\n static getEnum(values)\r\n {\r\n const name = CjsSchema.getEnumName(values);\r\n return name && blueEnums.HasEnum(name) ? blueEnums.GetEnumInfo(name) : null;\r\n }\r\n\r\n /**\r\n * Return the exported schema for a class.\r\n *\r\n * The schema is the precomputed answer - collapsing the inheritance\r\n * lineage and merging metadata - so building it per call would defeat its\r\n * purpose. Callers traverse model graphs and ask once per node, so this is\r\n * memoized per class and rebuilt only when class metadata is defined.\r\n *\r\n * Namespace-filtered exports are not memoized: they are a projection of the\r\n * full schema requested by tooling, not the hot read path.\r\n *\r\n * The result is shared, not copied - treat it as read-only. It is not\r\n * frozen: deep-cloning and freezing every field on the way out cost far\r\n * more than the mistakes it guarded against.\r\n *\r\n * @param {Function} Constructor\r\n * @param {object} [options={}]\r\n * @param {string|Array<string>} [options.namespaces] Restricts exported metadata namespaces.\r\n * @returns {CjsClassInfo} Shared per-class record.\r\n */\r\n static getSchema(Constructor, options = {})\r\n {\r\n const namespaces = normalizeNamespaces(options.namespaces);\r\n if (namespaces) return buildClassInfo(Constructor, namespaces);\r\n\r\n const memo = SCHEMA_EXPORTS.get(Constructor);\r\n if (memo && memo.generation === SCHEMA_GENERATION) return memo.schema;\r\n\r\n const schema = buildClassInfo(Constructor, null);\r\n SCHEMA_EXPORTS.set(Constructor, { generation: SCHEMA_GENERATION, schema });\r\n return schema;\r\n }\r\n\r\n /**\r\n * Returns a fresh plain-values copy of one schema class's declared defaults.\r\n *\r\n * Decorated field initializers record their value before the constructor\r\n * body can turn it into instance state (an audio game-object ID, for\r\n * example). When no instance has exposed those initializers yet, the class\r\n * is constructed once with zero arguments to trigger them. This never calls\r\n * CjsModel.from, SetValues, Initialize, UpdateValues, or another lifecycle\r\n * hook.\r\n *\r\n * The canonical template is cached by constructor and kept immutable. A\r\n * caller always receives a copy so it cannot poison later expansions.\r\n *\r\n * @param {Function|string} ConstructorOrName Constructor or registered class name.\r\n * @returns {object} A self-describing plain model-values template.\r\n */\r\n static getDefaults(ConstructorOrName)\r\n {\r\n return cloneDefaultValue(getDefaultsTemplate(ConstructorOrName));\r\n }\r\n\r\n /**\r\n * Expands a sparse, self-describing model-values graph with schema defaults.\r\n *\r\n * Authored values win. Authored collections replace default collections;\r\n * structs merge recursively; `_id` and `_ref` pass through unchanged. The\r\n * operation is plain-data-only after each class's lazy default template has\r\n * been captured and never constructs or initializes the authored graph.\r\n *\r\n * @param {object} values Sparse self-describing model values.\r\n * @returns {object} A new default-expanded plain-values graph.\r\n */\r\n static applyDefaults(values)\r\n {\r\n if (!isPlainObject(values))\r\n {\r\n throw new TypeError(\"CjsSchema.applyDefaults requires a plain model-values object.\");\r\n }\r\n if (typeof values._type !== \"string\" || !values._type.trim())\r\n {\r\n throw new TypeError(\"CjsSchema.applyDefaults requires a root _type.\");\r\n }\r\n return expandDefaultValue(values, null, undefined, \"$root\");\r\n }\r\n\r\n\r\n static type = Object.freeze({\r\n array: itemType => fieldDecorator(\"type\", { kind: \"array\", itemType }),\r\n boolean: fieldDecorator(\"type\", { kind: \"boolean\" }),\r\n color: fieldDecorator(\"type\", { kind: \"color\" }),\r\n define: definition => classDefinitionDecorator(definition),\r\n expression: fieldDecorator(\"type\", { kind: \"expression\", js: \"string\" }),\r\n float32: fieldDecorator(\"type\", { kind: \"float32\" }),\r\n float64: fieldDecorator(\"type\", { kind: \"float64\" }),\r\n int8: fieldDecorator(\"type\", { kind: \"int8\" }),\r\n int16: fieldDecorator(\"type\", { kind: \"int16\" }),\r\n int32: fieldDecorator(\"type\", { kind: \"int32\" }),\r\n int64: fieldDecorator(\"type\", { kind: \"int64\" }),\r\n list: itemType => fieldDecorator(\"type\", { kind: \"list\", itemType }),\r\n mat3: fieldDecorator(\"type\", { kind: \"mat3\" }),\r\n mat4: fieldDecorator(\"type\", { kind: \"mat4\" }),\r\n map: valueType => fieldDecorator(\"type\", { kind: \"map\", valueType }),\r\n model: className => fieldDecorator(\"type\", { kind: \"model\", className }),\r\n objectRef: className => fieldDecorator(\"type\", { kind: \"objectRef\", className }),\r\n path: fieldDecorator(\"type\", { kind: \"path\" }),\r\n quat: fieldDecorator(\"type\", { kind: \"quat\" }),\r\n rawStruct: className => fieldDecorator(\"type\", { kind: \"rawStruct\", className }),\r\n set: itemType => fieldDecorator(\"type\", { kind: \"set\", itemType }),\r\n string: fieldDecorator(\"type\", { kind: \"string\" }),\r\n struct: className => fieldDecorator(\"type\", { kind: \"struct\", className }),\r\n typedArray: arrayType => fieldDecorator(\"type\", { kind: \"typedArray\", arrayType }),\r\n uint8: fieldDecorator(\"type\", { kind: \"uint8\" }),\r\n uint16: fieldDecorator(\"type\", { kind: \"uint16\" }),\r\n uint32: fieldDecorator(\"type\", { kind: \"uint32\" }),\r\n uint64: fieldDecorator(\"type\", { kind: \"uint64\" }),\r\n unknown: fieldDecorator(\"type\", { kind: \"unknown\" }),\r\n vec2: fieldDecorator(\"type\", { kind: \"vec2\" }),\r\n vec3: fieldDecorator(\"type\", { kind: \"vec3\" }),\r\n vec4: fieldDecorator(\"type\", { kind: \"vec4\" }),\r\n\r\n // An enum names the vocabulary a field's values are drawn from, which\r\n // is part of its type - it belongs here beside int32 and string rather\r\n // than under a separate namespace. define and hideInherited show this\r\n // namespace already carries class decorators as well as field ones.\r\n enum: values => fieldDecorator(\"enum\", normalizeEnumDefinition(values)),\r\n\r\n /**\r\n * Hides named inherited fields from a subclass's schema, for a subclass\r\n * that genuinely does not carry part of its parent's shape.\r\n */\r\n hideInherited: fieldNames => hiddenInheritedFieldsDecorator(normalizeHiddenInheritedFields(fieldNames))\r\n });\r\n\r\n // Be::EDITFLAGS, exactly (`blueexposure/include/BlueTypes.h:282-311`).\r\n // Every member below is one of Carbon's; nothing else belongs here. The\r\n // namespace was called `io` until 2026-09-18, which named about a third of\r\n // what it holds - only PERSIST and RPERSIST are I/O, NOTIFY is wiring,\r\n // HIDDEN and FLAGS are editor hints, READ and WRITE are access control.\r\n static edit = Object.freeze({\r\n none: fieldDecorator(\"edit\", {}),\r\n // MODMASK 0x00F\r\n read: fieldDecorator(\"edit\", { read: true }),\r\n write: fieldDecorator(\"edit\", { write: true }),\r\n readwrite: fieldDecorator(\"edit\", { read: true, write: true }),\r\n notify: fieldDecorator(\"edit\", { notify: true }),\r\n hidden: fieldDecorator(\"edit\", { hidden: true }),\r\n\r\n // SERMASK 0x0F0\r\n persist: fieldDecorator(\"edit\", { persist: true }),\r\n // RPERSIST 0x020 - \"like PERSIST but only unserialize (read only)\":\r\n // the value loads from a document and is never written back out.\r\n rpersist: fieldDecorator(\"edit\", { rpersist: true }),\r\n\r\n flags: fieldDecorator(\"edit\", { flags: true }),\r\n enum: fieldDecorator(\"edit\", { enum: true }),\r\n\r\n // PERSISTONLY = HIDDEN | PERSIST, for hidden attributes.\r\n persistOnly: fieldDecorator(\"edit\", { persist: true, persistOnly: true, hidden: true }),\r\n\r\n\r\n });\r\n\r\n // Not EDITFLAGS and not type: WHO runs a child's construction, and later\r\n // its teardown. `owned` marks a donor BY-VALUE member, destroyed with its\r\n // parent; `reference` marks a borrowed one. Today only construction reads\r\n // it - `entry.owned` (built below) gates the `ownedOnly` walk that runs\r\n // Initialize in CjsModel.from - so the flag is half installed rather than\r\n // unused: there is no teardown traversal yet to honour the other half.\r\n static lifecycle = Object.freeze({\r\n owned: fieldDecorator(\"lifecycle\", { ownership: \"owned\" }),\r\n reference: fieldDecorator(\"lifecycle\", { ownership: \"reference\" })\r\n });\r\n\r\n // Composition decorators: type/edit/carbon/impl/jessica DESCRIBE, compose\r\n // INSTALLS (design record, direction item 11). All three are live; the\r\n // migration of existing classes onto them is separate work.\r\n static compose = Object.freeze({\r\n abstract: composeAbstractDecorator(Constructor => CjsSchema.getClassName(Constructor)),\r\n notify: composeNotifyDecorator,\r\n values: composeValuesDecorator(CjsSchema.#statelessTransport)\r\n });\r\n\r\n static jessica = Object.freeze({\r\n group: name => fieldDecorator(\"jessica\", { group: name }),\r\n hidden: fieldDecorator(\"jessica\", { hidden: true }),\r\n readOnly: fieldDecorator(\"jessica\", { readOnly: true }),\r\n widget: name => fieldDecorator(\"jessica\", { widget: name })\r\n });\r\n\r\n // impl decorators apply to methods AND fields: a promoted/diverging field\r\n // (e.g. a Carbon-hidden authored value exposed for values interchange) is\r\n // an implementation decision, so it carries impl.adapted/impl.custom +\r\n // impl.reason just like a diverging method. carbon.* stays factual\r\n // provenance and remains method-only.\r\n static impl = Object.freeze({\r\n abstract: memberDecorator(\"impl\", { abstract: true, status: \"abstract\" }),\r\n adapted: memberDecorator(\"impl\", { adapted: true, status: \"adapted\" }),\r\n custom: memberDecorator(\"impl\", { custom: true, status: \"custom\" }),\r\n implemented: memberDecorator(\"impl\", { implemented: true, status: \"implemented\" }),\r\n noop: memberDecorator(\"impl\", { noop: true, status: \"noop\" }),\r\n notImplemented: memberDecorator(\"impl\", { notImplemented: true, status: \"notImplemented\" }),\r\n notSupported: memberDecorator(\"impl\", { notSupported: true, status: \"notSupported\" }),\r\n // Audit-only: names the state members invalidated by this field/method.\r\n // The owning class retains all dirty-state, rebuild and timing behavior.\r\n invalidates: (...members) => memberDecorator(\"impl\", { invalidates: members }),\r\n note: text => memberDecorator(\"impl\", { note: String(text) }),\r\n reason: text => memberDecorator(\"impl\", { reason: String(text) })\r\n });\r\n\r\n /**\r\n * What an installed interface member should be marked as on its consumer.\r\n *\r\n * CARBON'S INTERFACES ARE NOT UNIFORM, and that is the whole reason this\r\n * exists. Some methods are pure virtual, and a consumer inheriting one\r\n * without implementing it is genuinely unimplemented. Others are declared\r\n * with an EMPTY BODY on purpose, so an implementer overrides only the half\r\n * it cares about - `IBlueResManNotifications` has both callbacks empty in\r\n * the donor. Marking that second kind `impl.abstract` on every consumer\r\n * writes a divergence that does not exist, onto dozens of classes at once.\r\n *\r\n * So the interface's own declaration is carried across, and\r\n * `impl.abstract` is only the fallback for a member the interface said\r\n * nothing about. The chain is walked because `CollectMembers` does: a\r\n * member may be declared on an ancestor of the contract named here.\r\n *\r\n * @param {Function} Contract The interface the member was installed from.\r\n * @param {String} name The member.\r\n * @returns {Array<Function>} Decorators for `decorateMethod`.\r\n */\r\n static #inheritedImplDecorators(Contract, name)\r\n {\r\n let declared = null;\r\n for (\r\n let base = Contract;\r\n typeof base === \"function\" && base.prototype && base !== Object;\r\n base = Object.getPrototypeOf(base)\r\n )\r\n {\r\n declared = CjsSchema.getMethod(base, name)?.impl ?? null;\r\n if (declared) break;\r\n }\r\n\r\n const status = declared?.status;\r\n const decorator = status ? CjsSchema.impl[status] : null;\r\n const decorators = [ typeof decorator === \"function\" ? decorator : CjsSchema.impl.abstract ];\r\n\r\n // A reason the interface wrote belongs to the member wherever it lands;\r\n // a consumer left holding the marking without it could not be reviewed.\r\n if (declared?.reason) decorators.push(CjsSchema.impl.reason(declared.reason));\r\n if (declared?.note) decorators.push(CjsSchema.impl.note(declared.note));\r\n\r\n return decorators;\r\n }\r\n\r\n static carbon = Object.freeze({\r\n // Carbon's base list and Carbon's exposure table: two different facts,\r\n // two decorators, both factual and so both here rather than in\r\n // `compose`. See compose/interface.js for the black-reader branch that\r\n // proves they cannot be collapsed into one.\r\n inherit: (...Bases) => carbonInheritDecorator(\r\n Bases,\r\n (Constructor, name, Contract) => CjsSchema.decorateMethod(\r\n Constructor, name, ...CjsSchema.#inheritedImplDecorators(Contract, name))),\r\n mapInterface: (...Interfaces) => carbonMapInterfaceDecorator(Interfaces),\r\n method: methodDecorator(\"carbon\", { method: true }),\r\n renamed: originalName => {\r\n if (typeof originalName !== \"string\" || !originalName.trim())\r\n {\r\n throw new TypeError(\"CjsSchema.carbon.renamed requires a non-empty original method name.\");\r\n }\r\n return methodDecorator(\"carbon\", {\r\n method: true,\r\n renamed: true,\r\n originalName: originalName.trim()\r\n });\r\n },\r\n contextual: tiers => {\r\n const list = Array.isArray(tiers) ? tiers : [tiers];\r\n const normalized = [];\r\n for (const tier of list)\r\n {\r\n if (typeof tier !== \"string\" || !tier.trim())\r\n {\r\n continue;\r\n }\r\n normalized.push(tier.trim());\r\n }\r\n if (!normalized.length)\r\n {\r\n throw new TypeError(\"CjsSchema.carbon.contextual requires at least one context tier name.\");\r\n }\r\n const base = methodDecorator(\"carbon\", {\r\n method: true,\r\n contextual: true,\r\n contextTiers: normalized\r\n });\r\n const described = getDecoratorMetadata(base);\r\n return describeDecorator(function contextualMethodDecorator(targetOrValue, contextOrMethodName)\r\n {\r\n // Contextual methods are validated context-first at decoration\r\n // time: the first declared parameter must be the frame context.\r\n if (contextOrMethodName && typeof contextOrMethodName === \"object\")\r\n {\r\n assertContextFirstMethod(targetOrValue, contextOrMethodName.name);\r\n }\r\n else if (targetOrValue && contextOrMethodName)\r\n {\r\n assertContextFirstMethod(targetOrValue[contextOrMethodName], contextOrMethodName);\r\n }\r\n return base(targetOrValue, contextOrMethodName);\r\n }, described.namespace, described.value);\r\n }\r\n });\r\n\r\n static components = createComponentsNamespace();\r\n}\r\n\r\nfunction captureFieldInitialDefault(Constructor, fieldName, initialValue, declarationMetadata = null)\r\n{\r\n if (typeof Constructor !== \"function\") return;\r\n\r\n let fields = FIELD_INITIAL_DEFAULTS.get(Constructor);\r\n if (!fields)\r\n {\r\n fields = new Map();\r\n FIELD_INITIAL_DEFAULTS.set(Constructor, fields);\r\n }\r\n const existing = fields.get(fieldName);\r\n if (existing)\r\n {\r\n const ownDeclaration = FIELD_DECLARATION_METADATA.get(Constructor)?.get(fieldName);\r\n const replacesInheritedDefault = ownDeclaration &&\r\n declarationMetadata === ownDeclaration &&\r\n existing.declarationMetadata !== ownDeclaration;\r\n if (!replacesInheritedDefault) return;\r\n }\r\n\r\n try\r\n {\r\n fields.set(fieldName, {\r\n value: deepFreezeDefaultValue(snapshotSchemaDefault(initialValue)),\r\n declarationMetadata\r\n });\r\n }\r\n catch (err)\r\n {\r\n // Schema capture must never make ordinary class construction fail. The\r\n // explicit defaults request reports the unsupported value instead.\r\n fields.set(fieldName, {\r\n error: err instanceof Error ? err.message : String(err),\r\n declarationMetadata\r\n });\r\n }\r\n DEFAULT_EXPORTS.delete(Constructor);\r\n}\r\n\r\nfunction getDefaultsTemplate(ConstructorOrName)\r\n{\r\n const Constructor = resolveDefaultsConstructor(ConstructorOrName);\r\n const memo = DEFAULT_EXPORTS.get(Constructor);\r\n if (memo && memo.generation === SCHEMA_GENERATION) return memo.defaults;\r\n\r\n let fields = getEffectiveFields(Constructor);\r\n let captured = FIELD_INITIAL_DEFAULTS.get(Constructor);\r\n let instance = null;\r\n\r\n if (fields.some(field => !captured?.has(field.name)))\r\n {\r\n try\r\n {\r\n // A bare constructor runs JavaScript field/constructor setup only.\r\n // The CjsModel initialization lifecycle is driven by from(), not by\r\n // `new`, and is deliberately absent from this operation.\r\n instance = new Constructor();\r\n }\r\n catch (err)\r\n {\r\n const className = CjsSchema.getClassName(Constructor) || Constructor.name || \"<anonymous>\";\r\n throw new TypeError(\r\n `CjsSchema.getDefaults could not construct ${className} with zero arguments: ` +\r\n `${err instanceof Error ? err.message : String(err)}`,\r\n { cause: err }\r\n );\r\n }\r\n fields = getEffectiveFields(Constructor);\r\n captured = FIELD_INITIAL_DEFAULTS.get(Constructor);\r\n }\r\n\r\n const className = CjsSchema.getClassName(Constructor);\r\n if (!className)\r\n {\r\n throw new TypeError(\"CjsSchema.getDefaults requires a constructor with an explicit className.\");\r\n }\r\n\r\n const defaults = { _type: className };\r\n for (const field of fields)\r\n {\r\n const entry = captured?.get(field.name);\r\n let value;\r\n let hasValue = false;\r\n\r\n if (entry?.error)\r\n {\r\n throw new TypeError(\r\n `CjsSchema.getDefaults could not capture ${className}.${field.name}: ${entry.error}`\r\n );\r\n }\r\n if (entry && Object.hasOwn(entry, \"value\"))\r\n {\r\n value = cloneDefaultValue(entry.value);\r\n hasValue = true;\r\n }\r\n else if (instance)\r\n {\r\n value = snapshotSchemaDefault(instance[field.name]);\r\n // Directly registered schema accessors are explicit declarations\r\n // too. Their getter is the only authoritative default source even\r\n // though the property lives on the prototype rather than as an\r\n // own field (for example two Blue names sharing one color buffer).\r\n hasValue = field.name in instance;\r\n }\r\n\r\n if (!hasValue)\r\n {\r\n value = snapshotSchemaDefault(defaultValueForCarbonField(field));\r\n }\r\n defaults[field.name] = value;\r\n }\r\n\r\n const frozen = deepFreezeDefaultValue(defaults);\r\n DEFAULT_EXPORTS.set(Constructor, {\r\n generation: SCHEMA_GENERATION,\r\n defaults: frozen\r\n });\r\n return frozen;\r\n}\r\n\r\nfunction resolveDefaultsConstructor(ConstructorOrName)\r\n{\r\n if (typeof ConstructorOrName === \"function\") return ConstructorOrName;\r\n if (typeof ConstructorOrName !== \"string\" || !ConstructorOrName.trim())\r\n {\r\n throw new TypeError(\"CjsSchema.getDefaults requires a constructor or registered class name.\");\r\n }\r\n\r\n const className = ConstructorOrName.trim();\r\n const Constructor = CjsSchema.GetConstructor(className);\r\n if (!Constructor)\r\n {\r\n throw new TypeError(`No CjsSchema constructor is registered for _type \"${className}\".`);\r\n }\r\n return Constructor;\r\n}\r\n\r\nfunction snapshotSchemaDefault(value, active = new WeakSet())\r\n{\r\n if (value === null || value === undefined) return value;\r\n if (typeof value === \"bigint\") return value.toString();\r\n if (typeof value !== \"object\") return value;\r\n if (ArrayBuffer.isView(value))\r\n {\r\n return Array.from(value, item => typeof item === \"bigint\" ? item.toString() : item);\r\n }\r\n if (active.has(value))\r\n {\r\n throw new TypeError(\"cyclic class defaults are not JSON-compatible\");\r\n }\r\n\r\n active.add(value);\r\n try\r\n {\r\n if (Array.isArray(value))\r\n {\r\n return value.map(item => snapshotSchemaDefault(item, active));\r\n }\r\n if (value instanceof Map)\r\n {\r\n return Object.fromEntries(Array.from(value.entries(), ([key, item]) => [\r\n String(key),\r\n snapshotSchemaDefault(item, active)\r\n ]));\r\n }\r\n if (value instanceof Set)\r\n {\r\n return Array.from(value, item => snapshotSchemaDefault(item, active));\r\n }\r\n\r\n const Constructor = value.constructor;\r\n const className = typeof Constructor === \"function\"\r\n ? CjsSchema.getClassName(Constructor)\r\n : null;\r\n if (className)\r\n {\r\n const result = { _type: className };\r\n const captured = FIELD_INITIAL_DEFAULTS.get(Constructor);\r\n for (const field of getEffectiveFields(Constructor))\r\n {\r\n const entry = captured?.get(field.name);\r\n if (entry?.error)\r\n {\r\n throw new TypeError(`${className}.${field.name}: ${entry.error}`);\r\n }\r\n\r\n let fieldValue = entry && Object.hasOwn(entry, \"value\")\r\n ? cloneDefaultValue(entry.value)\r\n : value[field.name];\r\n if (fieldValue === undefined)\r\n {\r\n fieldValue = defaultValueForCarbonField(field);\r\n }\r\n result[field.name] = snapshotSchemaDefault(fieldValue, active);\r\n }\r\n return result;\r\n }\r\n\r\n const result = {};\r\n for (const [key, item] of Object.entries(value))\r\n {\r\n result[key] = snapshotSchemaDefault(item, active);\r\n }\r\n return result;\r\n }\r\n finally\r\n {\r\n active.delete(value);\r\n }\r\n}\r\n\r\nfunction expandDefaultValue(value, declaredType, defaultValue, path)\r\n{\r\n if (value === null || value === undefined) return value;\r\n if (typeof value === \"bigint\") return value.toString();\r\n if (typeof value !== \"object\") return value;\r\n if (ArrayBuffer.isView(value))\r\n {\r\n return Array.from(value, item => typeof item === \"bigint\" ? item.toString() : item);\r\n }\r\n\r\n const kind = declaredType?.kind || null;\r\n const itemType = declaredType?.itemType || null;\r\n if (Array.isArray(value))\r\n {\r\n return value.map((item, index) => expandDefaultValue(\r\n item,\r\n kind === \"list\" || kind === \"array\" || kind === \"set\" ? itemType : null,\r\n undefined,\r\n `${path}[${index}]`\r\n ));\r\n }\r\n if (value instanceof Set)\r\n {\r\n return Array.from(value, (item, index) => expandDefaultValue(\r\n item,\r\n itemType,\r\n undefined,\r\n `${path}[${index}]`\r\n ));\r\n }\r\n if (value instanceof Map)\r\n {\r\n const result = {};\r\n for (const [key, item] of value)\r\n {\r\n result[String(key)] = expandDefaultValue(\r\n item,\r\n declaredType?.valueType || null,\r\n undefined,\r\n `${path}.${String(key)}`\r\n );\r\n }\r\n return result;\r\n }\r\n\r\n if (Object.hasOwn(value, \"_ref\"))\r\n {\r\n return cloneDefaultValue(value);\r\n }\r\n\r\n if (typeof value._type === \"string\" && value._type.trim())\r\n {\r\n const Constructor = CjsSchema.GetConstructor(value._type.trim());\r\n if (!Constructor)\r\n {\r\n throw new TypeError(`${path} names unknown _type \"${value._type.trim()}\".`);\r\n }\r\n return expandSchemaObject(value, Constructor, path);\r\n }\r\n\r\n if ((kind === \"list\" || kind === \"array\" || kind === \"set\") && isPlainObject(value))\r\n {\r\n return Object.fromEntries(Object.entries(value).map(([key, item]) => [\r\n key,\r\n expandDefaultValue(item, itemType, undefined, `${path}.${key}`)\r\n ]));\r\n }\r\n if (kind === \"map\" && isPlainObject(value))\r\n {\r\n return Object.fromEntries(Object.entries(value).map(([key, item]) => [\r\n key,\r\n expandDefaultValue(item, declaredType?.valueType || null, undefined, `${path}.${key}`)\r\n ]));\r\n }\r\n\r\n const declaredClass = resolveDeclaredConstructor(declaredType);\r\n if (declaredClass)\r\n {\r\n return expandSchemaObject(value, declaredClass, path);\r\n }\r\n\r\n if (isPlainObject(defaultValue))\r\n {\r\n return mergePlainDefaults(defaultValue, value, path);\r\n }\r\n\r\n const result = {};\r\n for (const [key, item] of Object.entries(value))\r\n {\r\n result[key] = expandDefaultValue(item, null, undefined, `${path}.${key}`);\r\n }\r\n return result;\r\n}\r\n\r\nfunction expandSchemaObject(values, Constructor, path)\r\n{\r\n if (!isPlainObject(values))\r\n {\r\n throw new TypeError(`${path} must be a plain object.`);\r\n }\r\n\r\n const result = cloneDefaultValue(getDefaultsTemplate(Constructor));\r\n const schema = CjsSchema.getSchema(Constructor);\r\n for (const [key, item] of Object.entries(values))\r\n {\r\n if (key === \"_type\" || key === \"_id\" || key === \"_ref\")\r\n {\r\n result[key] = cloneDefaultValue(item);\r\n continue;\r\n }\r\n\r\n const field = schema.byName.get(key);\r\n result[key] = expandDefaultValue(\r\n item,\r\n field?.type || null,\r\n result[key],\r\n `${path}.${key}`\r\n );\r\n }\r\n return result;\r\n}\r\n\r\nfunction resolveDeclaredConstructor(type)\r\n{\r\n let className = null;\r\n if (typeof type === \"string\")\r\n {\r\n className = type;\r\n }\r\n else if (type && typeof type === \"object\")\r\n {\r\n if ([\"model\", \"objectRef\", \"struct\"].includes(type.kind))\r\n {\r\n className = type.className || null;\r\n }\r\n }\r\n return className ? CjsSchema.GetConstructor(className) : null;\r\n}\r\n\r\nfunction mergePlainDefaults(defaults, values, path)\r\n{\r\n const result = cloneDefaultValue(defaults);\r\n for (const [key, item] of Object.entries(values))\r\n {\r\n result[key] = expandDefaultValue(item, null, result[key], `${path}.${key}`);\r\n }\r\n return result;\r\n}\r\n\r\nfunction cloneDefaultValue(value)\r\n{\r\n if (value === null || value === undefined) return value;\r\n if (Array.isArray(value)) return value.map(cloneDefaultValue);\r\n if (value && typeof value === \"object\")\r\n {\r\n return Object.fromEntries(Object.entries(value).map(([key, item]) => [\r\n key,\r\n cloneDefaultValue(item)\r\n ]));\r\n }\r\n return value;\r\n}\r\n\r\nfunction deepFreezeDefaultValue(value, seen = new WeakSet())\r\n{\r\n if (!value || typeof value !== \"object\" || seen.has(value)) return value;\r\n seen.add(value);\r\n for (const item of Object.values(value)) deepFreezeDefaultValue(item, seen);\r\n return value;\r\n}\r\n\r\nfunction createComponentsNamespace()\r\n{\r\n const components = definition => fieldDecorator(\"components\", normalizeComponentDefinition(definition));\r\n Object.defineProperties(components, {\r\n get: { value: getComponentValue },\r\n indices: { value: getComponentIndices },\r\n set: { value: setComponentValue }\r\n });\r\n return components;\r\n}\r\n\r\n// Every decorator carries the namespace and value it would install. That is\r\n// what lets one vocabulary serve both forms: `type.uint32` applied as a\r\n// decorator, and `type.uint32` written as data in a CjsSchema.define() member.\r\n// Without it the object form would need its own spelling of every namespace\r\n// value, and two spellings of `impl.adapted` will eventually disagree.\r\nfunction describeDecorator(decorator, namespace, value)\r\n{\r\n Object.defineProperty(decorator, DECORATOR_METADATA, {\r\n value: { namespace, value }\r\n });\r\n return decorator;\r\n}\r\n\r\n/**\r\n * The namespace/value a decorator installs, or null when it is not one.\r\n *\r\n * @param {*} candidate Possible decorator.\r\n * @returns {{namespace:string, value:*}|null} Installed metadata.\r\n */\r\nfunction getDecoratorMetadata(candidate)\r\n{\r\n return typeof candidate === \"function\" ? candidate[DECORATOR_METADATA] || null : null;\r\n}\r\n\r\nfunction fieldDecorator(namespace, value)\r\n{\r\n return describeDecorator(function schemaFieldDecorator(targetOrValue, contextOrFieldName)\r\n {\r\n if (contextOrFieldName && typeof contextOrFieldName === \"object\")\r\n {\r\n const context = contextOrFieldName;\r\n if (context.kind !== \"field\") throw new TypeError(\"CjsSchema decorators only support class fields.\");\r\n recordStage3FieldMetadata(context, namespace, value);\r\n\r\n // The class decorator replays the Stage-3 metadata recorded above, so\r\n // schema inspection works before the first instance is constructed.\r\n // Keep both runtime initializers as fallbacks: addInitializer covers\r\n // spec-compliant runtimes, while the returned field initializer covers\r\n // runtimes that do not fire field-decorator addInitializer. All paths\r\n // register the same metadata idempotently through mergeNamespace.\r\n context.addInitializer(function initializeSchemaField()\r\n {\r\n defineFieldMetadata(this.constructor, context.name, namespace, value);\r\n });\r\n\r\n return function initializeSchemaFieldValue(initialValue)\r\n {\r\n defineFieldMetadata(this.constructor, context.name, namespace, value);\r\n captureFieldInitialDefault(\r\n this.constructor,\r\n context.name,\r\n initialValue,\r\n context.metadata\r\n );\r\n return initialValue;\r\n };\r\n }\r\n\r\n const Constructor = targetOrValue?.constructor;\r\n if (!Constructor || !contextOrFieldName)\r\n {\r\n throw new TypeError(\"CjsSchema field decorators require a class field target.\");\r\n }\r\n\r\n defineFieldMetadata(Constructor, contextOrFieldName, namespace, value);\r\n }, namespace, value);\r\n}\r\n\r\nfunction classDefinitionDecorator(definition)\r\n{\r\n return function schemaClassDefinitionDecorator(value, context)\r\n {\r\n if (context && typeof context === \"object\")\r\n {\r\n if (context.kind !== \"class\") throw new TypeError(\"CjsSchema type.define only supports classes.\");\r\n registerStage3FieldMetadata(value, context.metadata);\r\n defineClassMetadata(value, normalizeClassDefinition(value, definition));\r\n return;\r\n }\r\n\r\n if (typeof value !== \"function\")\r\n {\r\n throw new TypeError(\"CjsSchema type.define requires a class constructor.\");\r\n }\r\n\r\n defineClassMetadata(value, normalizeClassDefinition(value, definition));\r\n };\r\n}\r\n\r\nfunction hiddenInheritedFieldsDecorator(fieldNames)\r\n{\r\n return function schemaHiddenInheritedFieldsDecorator(value, context)\r\n {\r\n if (context && typeof context === \"object\")\r\n {\r\n if (context.kind !== \"class\") throw new TypeError(\"CjsSchema.hideInherited only supports classes.\");\r\n registerStage3FieldMetadata(value, context.metadata);\r\n }\r\n else if (typeof value !== \"function\")\r\n {\r\n throw new TypeError(\"CjsSchema.hideInherited requires a class constructor.\");\r\n }\r\n\r\n defineHiddenInheritedFields(value, fieldNames);\r\n };\r\n}\r\n\r\nconst CONTEXT_FIRST_PARAMETER = /^\\(?\\s*_?(context|updateContext)\\b/;\r\n\r\n/**\r\n * Whether a function's source still carries the names it was written with.\r\n *\r\n * A minifier renames parameters to one or two characters, so `(context)`\r\n * arrives as `(t)` and any assertion about the NAME becomes an assertion about\r\n * the build. There is no way to tell a minified name from a wrongly chosen one\r\n * by inspection, so the only sound thing is to stop asking once the names are\r\n * gone - which a parameter list of nothing but short identifiers says plainly.\r\n *\r\n * @param {string} parameterList Source from the opening parenthesis.\r\n * @returns {boolean} True when at least one parameter kept a real name.\r\n */\r\nfunction hasReadableParameterNames(parameterList)\r\n{\r\n const close = parameterList.indexOf(\")\");\r\n const declared = close === -1 ? parameterList : parameterList.slice(0, close);\r\n\r\n return /[A-Za-z_$][\\w$]{2,}/u.test(declared);\r\n}\r\n\r\nfunction assertContextFirstMethod(fn, methodName)\r\n{\r\n if (typeof fn !== \"function\")\r\n {\r\n return;\r\n }\r\n\r\n const source = String(fn);\r\n const parameterList = source.slice(source.indexOf(\"(\"));\r\n\r\n // Arity is the contract and holds in any build: a contextual method that\r\n // takes nothing cannot have been given a context.\r\n if (fn.length < 1)\r\n {\r\n throw new TypeError(\r\n `CjsSchema.carbon.contextual method \"${String(methodName)}\" must take a context as its first parameter.`\r\n );\r\n }\r\n\r\n // The NAME is an authoring convention, and it is only checkable while the\r\n // names exist. Asserting it against a minified bundle threw on every\r\n // contextual method in the shipped build and took the engine down at load\r\n // - the failure is the assertion's, not the code's.\r\n if (!hasReadableParameterNames(parameterList)) return;\r\n\r\n if (!CONTEXT_FIRST_PARAMETER.test(parameterList))\r\n {\r\n throw new TypeError(\r\n `CjsSchema.carbon.contextual method \"${String(methodName)}\" must be context-first ` +\r\n \"(first parameter named context or updateContext).\"\r\n );\r\n }\r\n}\r\n\r\nfunction methodDecorator(namespace, value)\r\n{\r\n return describeDecorator(function schemaMethodDecorator(targetOrValue, contextOrMethodName)\r\n {\r\n if (contextOrMethodName && typeof contextOrMethodName === \"object\")\r\n {\r\n const context = contextOrMethodName;\r\n if (context.kind !== \"method\") throw new TypeError(\"CjsSchema method decorators only support class methods.\");\r\n\r\n context.addInitializer(function initializeSchemaMethod()\r\n {\r\n const Constructor = context.static ? this : this.constructor;\r\n defineMethodMetadata(Constructor, context.name, namespace, value);\r\n });\r\n return;\r\n }\r\n\r\n const Constructor = targetOrValue?.constructor;\r\n if (!Constructor || !contextOrMethodName)\r\n {\r\n throw new TypeError(\"CjsSchema method decorators require a class method target.\");\r\n }\r\n\r\n defineMethodMetadata(Constructor, contextOrMethodName, namespace, value);\r\n }, namespace, value);\r\n}\r\n\r\nfunction memberDecorator(namespace, value)\r\n{\r\n const forMethods = methodDecorator(namespace, value);\r\n const forFields = fieldDecorator(namespace, value);\r\n return describeDecorator(function schemaMemberDecorator(targetOrValue, contextOrMemberName)\r\n {\r\n if (contextOrMemberName && typeof contextOrMemberName === \"object\")\r\n {\r\n return contextOrMemberName.kind === \"field\"\r\n ? forFields(targetOrValue, contextOrMemberName)\r\n : forMethods(targetOrValue, contextOrMemberName);\r\n }\r\n\r\n // Legacy (non-2023-11) path: a method target resolves to a function\r\n // on the prototype; anything else is treated as a field.\r\n return targetOrValue && contextOrMemberName && typeof targetOrValue[contextOrMemberName] === \"function\"\r\n ? forMethods(targetOrValue, contextOrMemberName)\r\n : forFields(targetOrValue, contextOrMemberName);\r\n }, namespace, value);\r\n}\r\n\r\nfunction defineFieldMetadata(Constructor, fieldName, namespace, value)\r\n{\r\n defineMemberMetadata(Constructor, \"fields\", \"fieldsByName\", fieldName, namespace, value);\r\n}\r\n\r\nfunction defineClassMetadata(Constructor, definition)\r\n{\r\n const schema = getOrCreateClassSchema(Constructor);\r\n if (definition.className)\r\n {\r\n schema.className = definition.className;\r\n // Non-enumerable and own-property, so it neither pollutes exported\r\n // values nor is mistaken for an inherited name further down the chain.\r\n Object.defineProperty(Constructor, CJS_CLASS_NAME, {\r\n value: definition.className,\r\n configurable: true\r\n });\r\n }\r\n if (definition.family) schema.family = definition.family;\r\n if (definition.purpose) schema.purpose = definition.purpose;\r\n if (definition.sourceClass) schema.sourceClass = definition.sourceClass;\r\n if (definition.carbon) schema.carbon = definition.carbon;\r\n if (definition.modelledOn) schema.modelledOn = definition.modelledOn;\r\n if (definition.aliases) schema.aliases = [...definition.aliases];\r\n\r\n for (const field of definition.fields || [])\r\n {\r\n defineManualMemberMetadata(Constructor, \"fields\", field);\r\n }\r\n\r\n for (const method of definition.methods || [])\r\n {\r\n defineManualMemberMetadata(Constructor, \"methods\", method);\r\n }\r\n\r\n registerClassMetadata(Constructor, schema);\r\n}\r\n\r\nfunction defineManualMemberMetadata(Constructor, memberType, definition)\r\n{\r\n const define = memberType === \"methods\" ? defineMethodMetadata : defineFieldMetadata;\r\n for (const [namespace, value] of Object.entries(definition))\r\n {\r\n if (namespace === \"name\") continue;\r\n define(Constructor, definition.name, namespace, value);\r\n }\r\n}\r\n\r\nfunction defineMethodMetadata(Constructor, methodName, namespace, value)\r\n{\r\n defineMemberMetadata(Constructor, \"methods\", \"methodsByName\", methodName, namespace, value);\r\n}\r\n\r\nfunction defineMemberMetadata(Constructor, listKey, mapKey, name, namespace, value)\r\n{\r\n const schema = getOrCreateClassSchema(Constructor);\r\n let item = schema[mapKey].get(name);\r\n\r\n if (!item)\r\n {\r\n item = { name };\r\n schema[listKey].push(item);\r\n schema[mapKey].set(name, item);\r\n }\r\n\r\n item[namespace] = mergeNamespace(item[namespace], value);\r\n}\r\n\r\nfunction defineHiddenInheritedFields(Constructor, fieldNames)\r\n{\r\n if (typeof Constructor !== \"function\")\r\n {\r\n throw new TypeError(\"CjsSchema.hideInherited requires a class constructor.\");\r\n }\r\n\r\n const Parent = Object.getPrototypeOf(Constructor);\r\n const inheritedFields = new Set(getEffectiveFields(Parent).map(field => field.name));\r\n // Declared name only: Constructor.name does not survive minification, and a\r\n // mangled name in an error reads as a real one and sends you chasing it.\r\n const className = CLASS_SCHEMA.get(Constructor)?.className || \"<undeclared>\";\r\n\r\n for (const fieldName of fieldNames)\r\n {\r\n if (!inheritedFields.has(fieldName))\r\n {\r\n throw new TypeError(\r\n `CjsSchema.hideInherited cannot hide \"${fieldName}\" on ${className}: ` +\r\n \"the parent schema does not expose that field.\"\r\n );\r\n }\r\n }\r\n\r\n const schema = getOrCreateClassSchema(Constructor);\r\n for (const fieldName of fieldNames)\r\n {\r\n schema.hiddenInherited.add(fieldName);\r\n }\r\n}\r\n\r\n// The state-free transport's import. A declared REFERENCE field - model or\r\n// objectRef, or a list or Map of them - treats a non-plain object as the\r\n// reference itself and assigns it, Carbon's IRoot* member (operator ruling,\r\n// 2026-09-14). The DECLARED TYPE decides that the field holds references; the\r\n// value's class is never inspected. Plain bags, and every other field kind,\r\n// import by value exactly as before.\r\nfunction importDeclaredValue(value, field)\r\n{\r\n const type = field.type;\r\n switch (type?.kind)\r\n {\r\n case \"model\":\r\n case \"objectRef\":\r\n if (isObjectReference(value)) return value;\r\n break;\r\n case \"list\":\r\n case \"array\":\r\n if (Array.isArray(value) && isReferenceType(type.itemType))\r\n {\r\n return value.map(item => isObjectReference(item) ? item : cloneCarbonValue(item));\r\n }\r\n break;\r\n case \"map\":\r\n if (value instanceof Map && isReferenceType(type.valueType))\r\n {\r\n return new Map(Array.from(value, ([ key, item ]) =>\r\n [ key, isObjectReference(item) ? item : cloneCarbonValue(item) ]));\r\n }\r\n break;\r\n }\r\n return normalizeCarbonValue(value, type);\r\n}\r\n\r\n// A declared item type that holds references: a model or objectRef\r\n// descriptor, or a bare name registered as a class. \"string\" and \"unknown\"\r\n// are not registered, so they stay values.\r\nfunction isReferenceType(type)\r\n{\r\n if (typeof type === \"string\") return CjsSchema.GetConstructor(type) !== null;\r\n return type?.kind === \"model\" || type?.kind === \"objectRef\";\r\n}\r\n\r\n// Not a values bag: an object that is neither plain, an array nor a typed\r\n// array. Asks only what the value is made of, never which class built it.\r\nfunction isObjectReference(value)\r\n{\r\n return value !== null && typeof value === \"object\" && !isPlainObject(value)\r\n && !Array.isArray(value) && !ArrayBuffer.isView(value);\r\n}\r\n\r\nfunction getEffectiveFields(Constructor)\r\n{\r\n const ordered = [];\r\n const byName = new Map();\r\n const hidden = new Set();\r\n\r\n for (const current of getSchemaLineage(Constructor))\r\n {\r\n const schema = CLASS_SCHEMA.get(current);\r\n for (const field of schema?.fields || [])\r\n {\r\n const existing = byName.get(field.name);\r\n if (existing)\r\n {\r\n mergeMemberMetadata(existing, field);\r\n }\r\n else\r\n {\r\n const merged = mergeMemberMetadata({ name: field.name }, field);\r\n ordered.push(merged);\r\n byName.set(field.name, merged);\r\n }\r\n }\r\n\r\n for (const fieldName of schema?.hiddenInherited || [])\r\n {\r\n hidden.add(fieldName);\r\n }\r\n }\r\n\r\n // Enum chooser metadata carries the same ENUM fact as Blue's flag.\r\n // Keep it visible under edit for comparisons without duplicating annotations.\r\n for (const field of ordered)\r\n {\r\n if (field.enum) field.edit = { ...field.edit, enum: true };\r\n }\r\n return ordered.filter(field => !hidden.has(field.name));\r\n}\r\n\r\nfunction getHiddenInheritedFieldNames(Constructor)\r\n{\r\n const hidden = new Set();\r\n for (const current of getSchemaLineage(Constructor))\r\n {\r\n for (const fieldName of CLASS_SCHEMA.get(current)?.hiddenInherited || [])\r\n {\r\n hidden.add(fieldName);\r\n }\r\n }\r\n return hidden;\r\n}\r\n\r\nfunction getSchemaLineage(Constructor)\r\n{\r\n const lineage = [];\r\n let current = Constructor;\r\n while (typeof current === \"function\")\r\n {\r\n if (CLASS_SCHEMA.has(current)) lineage.push(current);\r\n current = Object.getPrototypeOf(current);\r\n }\r\n return lineage.reverse();\r\n}\r\n\r\nfunction mergeMemberMetadata(target, source)\r\n{\r\n for (const [namespace, value] of Object.entries(source))\r\n {\r\n if (namespace === \"name\") continue;\r\n target[namespace] = mergeNamespace(target[namespace], value);\r\n }\r\n return target;\r\n}\r\n\r\n/**\r\n * The per-class record `getSchema()` returns - the `Be::ClassInfo` analog,\r\n * named CjsClassInfo (audit ruling 8, 2026-09-05). A typedef rather than an\r\n * exported class: the record is shared read-only data consumed by tooling as\r\n * plain JSON; promote to a real class only if facade-era accessors earn it.\r\n *\r\n * @typedef {object} CjsClassInfo\r\n * @property {string|null} className Registered serialized class name.\r\n * @property {Array<object>} fields Resolved field metadata, declaration order.\r\n * @property {Array<object>} [methods] Method provenance metadata.\r\n * @property {string} [family] Registered schema family.\r\n */\r\nfunction buildClassInfo(Constructor, namespaces)\r\n{\r\n const schema = CLASS_SCHEMA.get(Constructor);\r\n const fields = [];\r\n const methods = [];\r\n\r\n for (const field of getEffectiveFields(Constructor))\r\n {\r\n fields.push(enrichEnumField(exportField(field, namespaces), Constructor));\r\n }\r\n\r\n // KNOWN DEFECT: methods are read from this class only, while fields resolve\r\n // through the whole lineage above. A subclass therefore reports no inherited\r\n // methods, and the decorated form hides that behind a second bug that\r\n // cancels it out: method decorators register through addInitializer, where\r\n // `this.constructor` is the *instance's* class, so constructing one\r\n // Tr2LightProfileRes writes CjsResource's methods onto Tr2LightProfileRes.\r\n // Which class owns which methods then depends on construction order, and\r\n // before any instance exists a class reports no methods at all.\r\n //\r\n // Declaring metadata as data (CjsSchema.define fields/methods) registers on\r\n // the declaring class at module load, so it is deterministic - and it makes\r\n // the missing inheritance visible rather than accidentally papered over.\r\n //\r\n // Left unfixed deliberately: nothing reads .methods off a runtime schema\r\n // today (tools-core classTool parses source documents, not these), and the\r\n // fix - walking the lineage here as getEffectiveFields does - changes\r\n // exported schemas for every decorator-using class in the org.\r\n for (const method of schema?.methods || [])\r\n {\r\n methods.push(exportField(method, namespaces));\r\n }\r\n\r\n const result = {\r\n className: CjsSchema.getClassName(Constructor),\r\n fields\r\n };\r\n\r\n const family = schema?.family || CjsSchema.getClassFamily(Constructor);\r\n if (family)\r\n {\r\n result.family = family;\r\n }\r\n\r\n if (schema?.purpose)\r\n {\r\n result.purpose = schema.purpose;\r\n }\r\n\r\n if (schema?.sourceClass && schema.sourceClass !== result.className)\r\n {\r\n result.sourceClass = schema.sourceClass;\r\n }\r\n\r\n if (schema?.carbon)\r\n {\r\n result.carbon = schema.carbon;\r\n }\r\n\r\n if (schema?.modelledOn)\r\n {\r\n result.modelledOn = schema.modelledOn;\r\n }\r\n\r\n if (schema?.aliases?.length)\r\n {\r\n result.aliases = [ ...schema.aliases ];\r\n }\r\n\r\n if (methods.length) result.methods = methods;\r\n\r\n addSchemaBuckets(result);\r\n return result;\r\n}\r\n\r\n\r\n// Kinds that hold many values rather than one. `map` and `set` are included\r\n// because they are iterable collections of the referenced class, same as a list.\r\nconst MANY_KINDS = new Set([ \"list\", \"array\", \"set\", \"map\" ]);\r\n\r\n// Kinds that can hold a child model. Bucketing on the KIND rather than on a\r\n// resolvable class reference keeps traversal conservative: `type.struct(Class)`\r\n// drops the reference during normalization, and a raw defineField may omit the\r\n// item type, so requiring a reference would silently stop visiting those.\r\n// Scalar and math kinds are excluded, which is where the saving comes from.\r\nconst MODEL_KINDS = new Set([\r\n \"struct\", \"model\", \"rawStruct\", \"objectRef\", \"unknown\",\r\n \"list\", \"array\", \"set\", \"map\"\r\n]);\r\n\r\n\r\n/**\r\n * Precompute the answers consumers would otherwise recompute per traversal.\r\n *\r\n * Graph walks ask the same two questions of every node - which fields hold\r\n * child models, which hold resources - and answering them by scanning the field\r\n * list and type-testing each value costs more than the walk itself. The class\r\n * cannot change without rebuilding its schema, so this is solved once.\r\n */\r\nfunction addSchemaBuckets(schema)\r\n{\r\n const byName = new Map();\r\n const children = [];\r\n const resources = [];\r\n\r\n for (const field of schema.fields)\r\n {\r\n byName.set(field.name, field);\r\n\r\n const type = field.type;\r\n // An undeclared field could hold anything, so it stays traversable.\r\n const kind = type?.kind;\r\n if (kind && !MODEL_KINDS.has(kind)) continue;\r\n\r\n const entry = { name: field.name, many: MANY_KINDS.has(kind) };\r\n\r\n if (type && resolveFieldClass(type)?.isResource === true)\r\n {\r\n resources.push(entry);\r\n continue;\r\n }\r\n\r\n entry.owned = field.lifecycle?.ownership === \"owned\";\r\n children.push(entry);\r\n }\r\n\r\n schema.byName = byName;\r\n schema.children = children;\r\n schema.resources = resources;\r\n}\r\n\r\n\r\n// Only string references survive normalization - type.struct(SomeClass) drops\r\n// the reference entirely - so a field can only be bucketed when it names a\r\n// class. The one field in the tree that named nothing was a missing\r\n// declaration, not a deliberate escape.\r\nfunction resolveFieldClass(type)\r\n{\r\n const ref = type.className || type.itemType || type.valueType;\r\n return typeof ref === \"string\" && ref ? CONSTRUCTOR_BY_NAME.get(ref) || null : null;\r\n}\r\n\r\n\r\nfunction getOrCreateClassSchema(Constructor)\r\n{\r\n // The only route by which class metadata is mutated, and therefore the only\r\n // place exported schemas can go stale. A single global counter rather than\r\n // per-class invalidation because a base class change invalidates every\r\n // subclass, and lineage is not tracked in reverse.\r\n SCHEMA_GENERATION += 1;\r\n\r\n let schema = CLASS_SCHEMA.get(Constructor);\r\n if (!schema)\r\n {\r\n schema = {\r\n className: null,\r\n family: null,\r\n purpose: null,\r\n sourceClass: null,\r\n carbon: null,\r\n modelledOn: null,\r\n aliases: null,\r\n fields: [],\r\n fieldsByName: new Map(),\r\n hiddenInherited: new Set(),\r\n methods: [],\r\n methodsByName: new Map()\r\n };\r\n CLASS_SCHEMA.set(Constructor, schema);\r\n }\r\n return schema;\r\n}\r\n\r\nfunction normalizeHiddenInheritedFields(fieldNames)\r\n{\r\n if (!Array.isArray(fieldNames) || !fieldNames.length)\r\n {\r\n throw new TypeError(\"CjsSchema.hideInherited requires a non-empty array of field names.\");\r\n }\r\n\r\n const normalized = fieldNames.map((fieldName, index) =>\r\n {\r\n if (typeof fieldName !== \"string\" || !fieldName.trim())\r\n {\r\n throw new TypeError(`CjsSchema.hideInherited fieldNames[${index}] must be a non-empty string.`);\r\n }\r\n return fieldName.trim();\r\n });\r\n\r\n return [...new Set(normalized)];\r\n}\r\n\r\nfunction recordStage3FieldMetadata(context, namespace, value)\r\n{\r\n const metadata = context?.metadata;\r\n if (!metadata || typeof metadata !== \"object\") return;\r\n\r\n let fields;\r\n if (Object.prototype.hasOwnProperty.call(metadata, STAGE3_FIELD_METADATA))\r\n {\r\n fields = metadata[STAGE3_FIELD_METADATA];\r\n }\r\n else\r\n {\r\n fields = [];\r\n Object.defineProperty(metadata, STAGE3_FIELD_METADATA, {\r\n configurable: false,\r\n enumerable: false,\r\n value: fields,\r\n writable: false\r\n });\r\n }\r\n\r\n fields.push({\r\n name: context.name,\r\n namespace,\r\n value\r\n });\r\n}\r\n\r\nfunction registerStage3FieldMetadata(Constructor, metadata)\r\n{\r\n if (!metadata || typeof metadata !== \"object\") return;\r\n if (!Object.prototype.hasOwnProperty.call(metadata, STAGE3_FIELD_METADATA)) return;\r\n\r\n let declarations = FIELD_DECLARATION_METADATA.get(Constructor);\r\n if (!declarations)\r\n {\r\n declarations = new Map();\r\n FIELD_DECLARATION_METADATA.set(Constructor, declarations);\r\n }\r\n for (const field of metadata[STAGE3_FIELD_METADATA])\r\n {\r\n declarations.set(field.name, metadata);\r\n defineFieldMetadata(Constructor, field.name, field.namespace, field.value);\r\n }\r\n}\r\n\r\nfunction normalizeClassDefinition(Constructor, definition)\r\n{\r\n if (typeof definition === \"string\")\r\n {\r\n definition = { className: definition };\r\n }\r\n\r\n const result = { ...(definition || {}) };\r\n if (typeof result.className !== \"string\" || !result.className.trim())\r\n {\r\n throw new TypeError(\"CjsSchema.define requires an explicit non-empty className.\");\r\n }\r\n result.className = result.className.trim();\r\n if (result.purpose !== undefined && result.purpose !== null)\r\n {\r\n if (typeof result.purpose !== \"string\" || !result.purpose.trim())\r\n {\r\n throw new TypeError(\"CjsSchema.define purpose must be a non-empty string when provided.\");\r\n }\r\n result.purpose = result.purpose.trim().replace(/\\s+/g, \" \");\r\n if (result.purpose.includes(\"*/\"))\r\n {\r\n throw new TypeError(\"CjsSchema.define purpose cannot close a JSDoc comment.\");\r\n }\r\n }\r\n // REPLICATES AND MODELLED ON ARE DIFFERENT CLAIMS, and only the first can\r\n // be checked. `carbon` names a class this one REPLICATES: same contract,\r\n // method for method, so a parity check may hold us to its whole surface.\r\n // `modelledOn` names a class this one TOOK ITS SHAPE FROM and does not\r\n // replicate - `CjsWebgpuWorkQueue` is modelled on `MetalWorkQueue`, whose\r\n // 113 methods are the entire command recorder against our 27, because the\r\n // rest of that surface lives on the pipeline, the resource set and the\r\n // render context here. Declaring the second as the first would report 101\r\n // absences as debt; declaring nothing leaves the class unchecked and its\r\n // provenance unrecorded.\r\n //\r\n // NEITHER IS `sourceClass`, which is SERIALIZATION identity - the name a\r\n // document calls this class on the wire (`CjsLightData`'s `\"LightData\"`).\r\n // A donor is not a wire name: writing `MetalWorkQueue` there would tell\r\n // dehydration the class serializes under that name.\r\n for (const [ key, what ] of [ [ \"carbon\", \"replicates\" ], [ \"modelledOn\", \"is modelled on\" ] ])\r\n {\r\n if (result[key] === undefined || result[key] === null) continue;\r\n\r\n if (typeof result[key] !== \"string\" || !result[key].trim())\r\n {\r\n throw new TypeError(`CjsSchema.define ${key} must be a non-empty Carbon class name when provided.`);\r\n }\r\n\r\n result[key] = result[key].trim();\r\n void what;\r\n }\r\n\r\n if (result.carbon && result.modelledOn)\r\n {\r\n throw new TypeError(\r\n \"CjsSchema.define takes carbon or modelledOn, not both: a class either replicates its \"\r\n + \"donor's contract or is modelled on it, and the two are different claims.\"\r\n );\r\n }\r\n\r\n if (!result.sourceClass && result.className) result.sourceClass = result.className;\r\n const aliases = [\r\n ...(result.aliases === undefined ? [] : Array.isArray(result.aliases) ? result.aliases : [result.aliases]),\r\n ...(result.alias === undefined ? [] : Array.isArray(result.alias) ? result.alias : [result.alias])\r\n ].filter(alias => typeof alias === \"string\" && alias.trim()).map(alias => alias.trim())\r\n .filter(alias => alias !== result.className);\r\n result.aliases = aliases.length ? [...new Set(aliases)] : null;\r\n result.fields = normalizeManualMembers(result.fields, \"fields\");\r\n result.methods = normalizeManualMembers(result.methods, \"methods\");\r\n delete result.alias;\r\n return result;\r\n}\r\n\r\n/**\r\n * Normalize a definition's `fields`/`methods` into internal member records.\r\n *\r\n * Two spellings are accepted. A name-keyed object is the one to write:\r\n * declaration order is key order, which is what drives GetValues() export\r\n * order, and the name appears once rather than as a property of its own record.\r\n * The array of `{name, ...}` records predates it and still parses, because it\r\n * is what the internal schema stores.\r\n *\r\n * @param {object|Array<object>|null} members Declared members.\r\n * @param {string} memberType Either \"fields\" or \"methods\", for messages.\r\n * @returns {Array<object>} Internal member records.\r\n */\r\nfunction normalizeManualMembers(members, memberType)\r\n{\r\n if (members === undefined || members === null) return [];\r\n\r\n if (Array.isArray(members))\r\n {\r\n return members.map((member, index) =>\r\n {\r\n if (!isPlainObject(member) || typeof member.name !== \"string\" || !member.name.trim())\r\n {\r\n throw new TypeError(`CjsSchema.define ${memberType}[${index}] requires a non-empty name.`);\r\n }\r\n const { name, ...namespaces } = member;\r\n return normalizeManualMember(name.trim(), namespaces, memberType);\r\n });\r\n }\r\n\r\n if (!isPlainObject(members))\r\n {\r\n throw new TypeError(\r\n `CjsSchema.define ${memberType} must be a name-keyed object or an array of named records.`\r\n );\r\n }\r\n\r\n return Object.entries(members).map(([ name, definition ]) =>\r\n {\r\n if (!name.trim())\r\n {\r\n throw new TypeError(`CjsSchema.define ${memberType} requires a non-empty name.`);\r\n }\r\n return normalizeManualMember(name.trim(), definition, memberType);\r\n });\r\n}\r\n\r\n/**\r\n * Collapse one member's declaration into a namespace map.\r\n *\r\n * A declaration is a decorator, a namespace object, or an array mixing both.\r\n * Decorators are accepted as data so the object form reuses the vocabulary the\r\n * decorators already define rather than restating it: `impl.adapted` written\r\n * twice in two spellings is two things that can disagree.\r\n *\r\n * @param {string} name Member name.\r\n * @param {*} definition Declared metadata.\r\n * @param {string} memberType Either \"fields\" or \"methods\", for messages.\r\n * @returns {object} Internal member record.\r\n */\r\nfunction normalizeManualMember(name, definition, memberType)\r\n{\r\n const member = { name };\r\n\r\n for (const entry of Array.isArray(definition) ? definition : [ definition ])\r\n {\r\n if (entry === undefined || entry === null) continue;\r\n\r\n const decorator = getDecoratorMetadata(entry);\r\n if (decorator)\r\n {\r\n member[decorator.namespace] = mergeNamespace(member[decorator.namespace], decorator.value);\r\n continue;\r\n }\r\n\r\n if (!isPlainObject(entry))\r\n {\r\n throw new TypeError(\r\n `CjsSchema.define ${memberType} \"${name}\" accepts schema decorators, ` +\r\n \"namespace objects, or an array of them.\"\r\n );\r\n }\r\n\r\n for (const [ namespace, value ] of Object.entries(entry))\r\n {\r\n member[namespace] = mergeNamespace(member[namespace], value);\r\n }\r\n }\r\n\r\n return member;\r\n}\r\n\r\nfunction registerClassMetadata(Constructor, schema)\r\n{\r\n if (!Constructor || !schema?.className) return;\r\n\r\n CjsSchema.SetConstructor(schema.className, Constructor);\r\n\r\n for (const alias of schema.aliases || [])\r\n {\r\n CjsSchema.SetConstructor(alias, Constructor);\r\n }\r\n}\r\n\r\nfunction defineEnumMetadata(values, schema)\r\n{\r\n if (!values || typeof values !== \"object\" || !schema?.name) return;\r\n blueEnums.RegisterEnum(schema.name, schema.type, schema);\r\n}\r\n\r\nfunction normalizeEnumSchema(values, definition)\r\n{\r\n const type = values?.Type || values;\r\n const members = Array.isArray(definition.members)\r\n ? definition.members.map(member => ({ ...member }))\r\n : [];\r\n const result = {\r\n name: definition.name || values?.[CJS_ENUM_NAME] || values?.Source?.name || values?.name || null,\r\n type,\r\n members\r\n };\r\n\r\n if (definition.source) result.source = definition.source;\r\n if (definition.family) result.family = definition.family;\r\n if (definition.line !== undefined && definition.line !== null) result.line = definition.line;\r\n if (definition.exposure !== undefined) result.exposure = definition.exposure;\r\n if (definition.exposedName !== undefined) result.exposedName = definition.exposedName;\r\n if (definition.chooserSource !== undefined) result.chooserSource = definition.chooserSource;\r\n if (definition.chooser !== undefined) result.chooser = definition.chooser;\r\n\r\n return result;\r\n}\r\n\r\nfunction normalizeEnumDefinition(values)\r\n{\r\n if (typeof values === \"string\")\r\n {\r\n return { enumType: values };\r\n }\r\n\r\n const type = values?.Type || (isPlainObject(values) ? values : null);\r\n if (type && typeof type === \"object\")\r\n {\r\n const result = {\r\n values: type\r\n };\r\n const enumType = CjsSchema.getEnumName(values);\r\n if (enumType) result.enumType = enumType;\r\n return result;\r\n }\r\n\r\n return { values };\r\n}\r\n\r\nfunction normalizeComponentDefinition(definition)\r\n{\r\n if (!isPlainObject(definition))\r\n {\r\n throw new TypeError(\"CjsSchema.components requires a plain object definition.\");\r\n }\r\n\r\n return Object.fromEntries(Object.entries(definition).map(([swizzle, value]) => [\r\n normalizeSwizzle(swizzle),\r\n normalizeComponentEntry(value)\r\n ]));\r\n}\r\n\r\nfunction normalizeComponentEntry(value)\r\n{\r\n if (typeof value === \"string\") return { name: value };\r\n if (isPlainObject(value)) return cloneSchemaValue(value);\r\n return value;\r\n}\r\n\r\nfunction getComponentValue(value, swizzle)\r\n{\r\n const indices = getComponentIndices(swizzle);\r\n if (indices.length === 1) return value?.[indices[0]];\r\n return indices.map(index => value?.[index]);\r\n}\r\n\r\nfunction setComponentValue(target, swizzle, value)\r\n{\r\n if (!target)\r\n {\r\n throw new TypeError(\"CjsSchema.components.set requires a target vector.\");\r\n }\r\n\r\n const indices = getComponentIndices(swizzle);\r\n if (indices.length === 1)\r\n {\r\n target[indices[0]] = value;\r\n return target;\r\n }\r\n\r\n if (!value || typeof value[Symbol.iterator] !== \"function\")\r\n {\r\n throw new TypeError(`CjsSchema.components.set requires an iterable value for '${swizzle}'.`);\r\n }\r\n\r\n let offset = 0;\r\n for (const item of value)\r\n {\r\n if (offset >= indices.length) break;\r\n target[indices[offset++]] = item;\r\n }\r\n\r\n if (offset !== indices.length)\r\n {\r\n throw new RangeError(`CjsSchema.components.set expected ${indices.length} values for '${swizzle}' but received ${offset}.`);\r\n }\r\n\r\n return target;\r\n}\r\n\r\nfunction getComponentIndices(swizzle)\r\n{\r\n return [...normalizeSwizzle(swizzle)].map(componentIndex);\r\n}\r\n\r\nfunction normalizeSwizzle(swizzle)\r\n{\r\n const text = String(swizzle || \"\").trim().toLowerCase();\r\n if (!text)\r\n {\r\n throw new TypeError(\"Component swizzle cannot be empty.\");\r\n }\r\n\r\n for (const char of text)\r\n {\r\n componentIndex(char);\r\n }\r\n\r\n return text;\r\n}\r\n\r\nfunction componentIndex(char)\r\n{\r\n switch (char)\r\n {\r\n case \"x\":\r\n case \"r\":\r\n case \"0\":\r\n return 0;\r\n case \"y\":\r\n case \"g\":\r\n case \"1\":\r\n return 1;\r\n case \"z\":\r\n case \"b\":\r\n case \"2\":\r\n return 2;\r\n case \"w\":\r\n case \"a\":\r\n case \"3\":\r\n return 3;\r\n default:\r\n throw new RangeError(`Unsupported component '${char}'.`);\r\n }\r\n}\r\n\r\nfunction mergeNamespace(existing, value)\r\n{\r\n if (isPlainObject(existing) && isPlainObject(value)) return { ...existing, ...value };\r\n return value;\r\n}\r\n\r\n// Resolves @schema.enum(\"X\") through the owning class's PascalCase static so\r\n// exported schemas are self-describing: adds the class-scoped identity and a\r\n// reference to the frozen member map when the static resolves.\r\nfunction enrichEnumField(exported, Constructor)\r\n{\r\n const enumType = exported?.enum?.enumType;\r\n if (!enumType) return exported;\r\n if (enumType.includes(\".\"))\r\n {\r\n const info = blueEnums.GetEnumInfo(enumType);\r\n return { ...exported, enum: {\r\n ...exported.enum, identity: info.name, members: info.type,\r\n ...(info.chooser === undefined ? {} : { chooser: info.chooser })\r\n } };\r\n }\r\n const members = Constructor?.[enumType];\r\n if (!members || typeof members !== \"object\") return exported;\r\n\r\n let owner = Constructor;\r\n let current = Constructor;\r\n while (typeof current === \"function\")\r\n {\r\n if (Object.prototype.hasOwnProperty.call(current, enumType))\r\n {\r\n owner = current;\r\n break;\r\n }\r\n current = Object.getPrototypeOf(current);\r\n }\r\n\r\n return {\r\n ...exported,\r\n enum: {\r\n ...exported.enum,\r\n identity: `${CjsSchema.getClassName(owner) || owner.name}.${enumType}`,\r\n members\r\n }\r\n };\r\n}\r\n\r\nfunction exportField(field, namespaces)\r\n{\r\n const result = {\r\n name: field.name\r\n };\r\n\r\n for (const [key, value] of Object.entries(field))\r\n {\r\n if (key === \"name\") continue;\r\n if (namespaces && !namespaces.has(key)) continue;\r\n result[key] = value;\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction normalizeNamespaces(namespaces)\r\n{\r\n if (!namespaces) return null;\r\n return new Set(Array.isArray(namespaces) ? namespaces : [namespaces]);\r\n}\r\n\r\nfunction cloneSchemaValue(value)\r\n{\r\n if (Array.isArray(value)) return value.map(cloneSchemaValue);\r\n if (isPlainObject(value)) return Object.fromEntries(Object.entries(value).map(([key, item]) => [key, cloneSchemaValue(item)]));\r\n return value;\r\n}\r\n\r\nfunction isPlainObject(value)\r\n{\r\n return Boolean(value) && typeof value === \"object\" && Object.getPrototypeOf(value) === Object.prototype;\r\n}\r\n\r\n// Names what arrived where a values bag was required, for assertValues' error.\r\nfunction describeValuesInput(value)\r\n{\r\n if (value === undefined) return \"undefined\";\r\n if (Array.isArray(value)) return \"an array\";\r\n if (typeof value !== \"object\") return `a ${typeof value}`;\r\n const name = value.constructor?.name;\r\n return name ? `an instance of ${name}` : \"an object without Object.prototype\";\r\n}\r\n\r\n// Install provenance here, after the schema exists. The registry core cannot\r\n// import schema: both Blue and schema need its storage during module loading.\r\nCjsSchema.define(CjsBlueEnumRegistry, {\r\n className: \"CjsBlueEnumRegistry\",\r\n modelledOn: \"BlueRegistration\",\r\n family: \"blue\",\r\n fields: {},\r\n methods: Object.fromEntries([\r\n \"RegisterEnum\", \"HasEnum\", \"GetEnum\", \"GetEnumInfo\", \"GetEnumName\",\r\n \"GetNameFromValue\", \"GetNameFromBitmask\"\r\n ].map(name => [name, [CjsSchema.impl.adapted, CjsSchema.impl.reason(\r\n \"Combines BlueRegistration enum storage, EnumRegistration/EnumTypeRegistration and PyBlueEnumObject exposure; JS module execution replaces static registrars, qualified names replace module tables, and JS errors replace Python exceptions.\"\r\n )]]))\r\n});\r\n"],"names":["CLASS_SCHEMA","WeakMap","SCHEMA_EXPORTS","DEFAULT_EXPORTS","FIELD_INITIAL_DEFAULTS","FIELD_DECLARATION_METADATA","SCHEMA_GENERATION","CONSTRUCTOR_BY_NAME","Map","STAGE3_FIELD_METADATA","Symbol","DECORATOR_METADATA","CJS_ENUM_NAME","for","CJS_CLASS_NAME","CJS_MODEL_BRAND","CjsSchema","define","Constructor","definition","defineClassMetadata","normalizeClassDefinition","enum","values","fieldDecorator","normalizeEnumDefinition","defineEnum","defineEnumMetadata","normalizeEnumSchema","decorateField","fieldName","decorators","decorator","prototype","cast","value","Contract","decorateMethod","methodName","defineField","namespace","defineFieldMetadata","defineMethod","defineMethodMetadata","getField","field","getEffectiveFields","find","name","enrichEnumField","hideInherited","fieldNames","hiddenInheritedFieldsDecorator","normalizeHiddenInheritedFields","isFieldHidden","getHiddenInheritedFieldNames","has","getMethod","schema","get","methodsByName","getClassName","current","local","className","Object","hasOwn","getPrototypeOf","getClassFamily","family","getClassPurpose","purpose","isModelInstance","getClassNames","names","includes","push","isInstanceOf","trim","constructor","SetConstructor","TypeError","set","DeleteConstructor","removed","delete","GetConstructor","registerValuesService","service","getValues","setValues","from","#requireValuesService","method","Error","target","out","options","getValuesFromSchema","assertValues","label","isPlainObject","describeValuesInput","copy","source","setValuesFromSchema","createValuesTransport","GetFields","Export","exportCarbonValue","type","Import","importDeclaredValue","CoerceInto","incoming","coerceCarbonMathInto","coerceCarbonTypedArrayInto","IsEquivalent","a","b","getEnumName","blueEnums","GetEnumName","Type","Source","getEnum","HasEnum","GetEnumInfo","getSchema","namespaces","normalizeNamespaces","buildClassInfo","memo","generation","getDefaults","ConstructorOrName","cloneDefaultValue","getDefaultsTemplate","applyDefaults","_type","expandDefaultValue","undefined","freeze","array","itemType","kind","boolean","color","classDefinitionDecorator","expression","js","float32","float64","int8","int16","int32","int64","list","mat3","mat4","map","valueType","model","objectRef","path","quat","rawStruct","string","struct","typedArray","arrayType","uint8","uint16","uint32","uint64","unknown","vec2","vec3","vec4","edit","none","read","write","readwrite","notify","hidden","persist","rpersist","flags","persistOnly","lifecycle","owned","ownership","reference","compose","abstract","composeAbstractDecorator","composeNotifyDecorator","composeValuesDecorator","jessica","group","readOnly","widget","impl","memberDecorator","status","adapted","custom","implemented","noop","notImplemented","notSupported","invalidates","members","note","text","String","reason","#inheritedImplDecorators","declared","base","carbon","inherit","Bases","carbonInheritDecorator","mapInterface","Interfaces","carbonMapInterfaceDecorator","methodDecorator","renamed","originalName","contextual","tiers","Array","isArray","normalized","tier","length","contextTiers","described","getDecoratorMetadata","describeDecorator","contextualMethodDecorator","targetOrValue","contextOrMethodName","assertContextFirstMethod","components","createComponentsNamespace","captureFieldInitialDefault","initialValue","declarationMetadata","fields","existing","ownDeclaration","replacesInheritedDefault","deepFreezeDefaultValue","snapshotSchemaDefault","err","error","message","resolveDefaultsConstructor","defaults","captured","instance","some","cause","entry","hasValue","defaultValueForCarbonField","frozen","active","WeakSet","toString","ArrayBuffer","isView","item","add","fromEntries","entries","key","Set","result","fieldValue","declaredType","defaultValue","index","expandSchemaObject","declaredClass","resolveDeclaredConstructor","mergePlainDefaults","byName","seen","normalizeComponentDefinition","defineProperties","getComponentValue","indices","getComponentIndices","setComponentValue","defineProperty","candidate","schemaFieldDecorator","contextOrFieldName","context","recordStage3FieldMetadata","addInitializer","initializeSchemaField","initializeSchemaFieldValue","metadata","schemaClassDefinitionDecorator","registerStage3FieldMetadata","schemaHiddenInheritedFieldsDecorator","defineHiddenInheritedFields","CONTEXT_FIRST_PARAMETER","hasReadableParameterNames","parameterList","close","indexOf","slice","test","fn","schemaMethodDecorator","initializeSchemaMethod","static","forMethods","forFields","schemaMemberDecorator","contextOrMemberName","defineMemberMetadata","getOrCreateClassSchema","configurable","sourceClass","modelledOn","aliases","defineManualMemberMetadata","methods","registerClassMetadata","memberType","listKey","mapKey","mergeNamespace","Parent","inheritedFields","hiddenInherited","isObjectReference","isReferenceType","cloneCarbonValue","normalizeCarbonValue","ordered","getSchemaLineage","mergeMemberMetadata","merged","filter","lineage","reverse","exportField","addSchemaBuckets","MANY_KINDS","MODEL_KINDS","children","resources","many","resolveFieldClass","isResource","ref","fieldsByName","hasOwnProperty","call","enumerable","writable","declarations","replace","what","alias","normalizeManualMembers","member","normalizeManualMember","RegisterEnum","line","exposure","exposedName","chooserSource","chooser","enumType","swizzle","normalizeSwizzle","normalizeComponentEntry","cloneSchemaValue","iterator","offset","RangeError","componentIndex","toLowerCase","char","exported","info","identity","owner","Boolean","CjsBlueEnumRegistry"],"mappings":"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"}
|