@plasius/asset-contracts 0.6.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/README.md +67 -1
- package/dist/index.cjs +213 -37
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +65 -2
- package/dist/index.d.ts +65 -2
- package/dist/index.js +210 -37
- package/dist/index.js.map +1 -1
- package/docs/adrs/adr-0011-reloadable-texture-resource-roles.md +92 -0
- package/docs/adrs/index.md +1 -0
- package/docs/tdrs/index.md +1 -0
- package/docs/tdrs/tdr-0006-reloadable-texture-resource-roles.md +91 -0
- package/package.json +1 -1
- package/src/index.ts +1 -0
- package/src/model-texture-resources.ts +215 -0
package/dist/index.d.cts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { GpuInterfaceRef, Sha256Hex, ShaderStyleProfileRef, GpuInterfaceManifest, ShaderVersionManifest, ShaderStyleProfileManifest, ShaderValidationEvidenceRef, ShaderVersionRef } from '@plasius/gpu-shader';
|
|
2
2
|
export { GPU_SHADER_STORE_FEATURE_FLAG, GPU_SHADER_STYLE_SELECTION_CAPABILITY, GpuInterfaceManifest, GpuInterfaceRef, ModelGpuCompatibilityDescriptor, Sha256Hex, ShaderStyleProfileManifest, ShaderStyleProfileRef, ShaderValidationEvidenceRef, ShaderVersionManifest, ShaderVersionRef } from '@plasius/gpu-shader';
|
|
3
|
-
import { ResourcePackageManifest, GpuModelDiagnosticInput, GpuModelDiagnosticStandard, GpuModelDiagnosticMode } from '@plasius/gpu-model-core';
|
|
3
|
+
import { ResourcePackageManifest, GpuModelResourceGraph, GpuModelResourceLocation, GpuModelTextureEmbeddingPolicy, GpuModelProvenance, GpuModelMaterial, GpuModelTexture, GpuModelDiagnosticInput, GpuModelDiagnosticStandard, GpuModelDiagnosticMode } from '@plasius/gpu-model-core';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Validates the legacy asset-version token grammar.
|
|
@@ -1888,6 +1888,69 @@ declare class ModelResourceManifestError extends TypeError {
|
|
|
1888
1888
|
*/
|
|
1889
1889
|
declare function qualifyModelResourceManifest(input: ModelResourceManifestQualificationInput): Promise<AssetManifest>;
|
|
1890
1890
|
|
|
1891
|
+
/** Hard ceilings for the additive package role boundary; callers cannot raise them. */
|
|
1892
|
+
declare const MODEL_TEXTURE_RESOURCE_LIMITS: Readonly<{
|
|
1893
|
+
resources: 16384;
|
|
1894
|
+
derived: 4096;
|
|
1895
|
+
nodes: 65536;
|
|
1896
|
+
values: 262144;
|
|
1897
|
+
characters: 2097152;
|
|
1898
|
+
depth: 16;
|
|
1899
|
+
timeoutMs: 60000;
|
|
1900
|
+
}>;
|
|
1901
|
+
/** An embedded resource names its owning entrypoint; external resources name their exact graph path. */
|
|
1902
|
+
interface ModelTextureResourceBinding {
|
|
1903
|
+
readonly resourceId: string;
|
|
1904
|
+
readonly filePath: string;
|
|
1905
|
+
}
|
|
1906
|
+
/** Declarative derived output; source identities remain independent of output hashes and paths. */
|
|
1907
|
+
interface ModelDerivedTextureResource {
|
|
1908
|
+
readonly role: "gpu-upload" | "texture-atlas";
|
|
1909
|
+
readonly filePath: string;
|
|
1910
|
+
readonly sourceResourceIds: readonly string[];
|
|
1911
|
+
}
|
|
1912
|
+
/** Existing exact-byte inventory plus a privately verified canonical graph and explicit export bindings. */
|
|
1913
|
+
interface ModelTextureResourceQualificationInput extends Omit<ModelResourceManifestQualificationInput, "signal" | "timeoutMs"> {
|
|
1914
|
+
readonly graph: GpuModelResourceGraph;
|
|
1915
|
+
readonly resources: readonly ModelTextureResourceBinding[];
|
|
1916
|
+
readonly derived: readonly ModelDerivedTextureResource[];
|
|
1917
|
+
}
|
|
1918
|
+
/** Deadline and cancellation cover hashing and bounded synchronous qualification. */
|
|
1919
|
+
interface ModelTextureResourceQualificationOptions {
|
|
1920
|
+
readonly signal?: AbortSignal;
|
|
1921
|
+
readonly timeoutMs?: number;
|
|
1922
|
+
}
|
|
1923
|
+
/** JSON resource identity without a Blob, renderer allocation or credential-bearing URL. */
|
|
1924
|
+
interface QualifiedModelTextureResource extends ModelTextureResourceBinding {
|
|
1925
|
+
readonly kind: "image" | "buffer";
|
|
1926
|
+
readonly contentHash: string;
|
|
1927
|
+
readonly byteLength: number;
|
|
1928
|
+
readonly mimeType: string;
|
|
1929
|
+
readonly location: GpuModelResourceLocation;
|
|
1930
|
+
readonly exportEmbeddingPolicy: GpuModelTextureEmbeddingPolicy;
|
|
1931
|
+
}
|
|
1932
|
+
/** Trusted package metadata, including authored sourceMetadata; not a public-safe diagnostic projection. */
|
|
1933
|
+
interface QualifiedModelTextureResources {
|
|
1934
|
+
readonly contractVersion: 1;
|
|
1935
|
+
readonly manifest: AssetManifest;
|
|
1936
|
+
readonly source: GpuModelProvenance;
|
|
1937
|
+
readonly resources: readonly QualifiedModelTextureResource[];
|
|
1938
|
+
readonly materials: readonly GpuModelMaterial[];
|
|
1939
|
+
readonly textures: readonly GpuModelTexture[];
|
|
1940
|
+
readonly derived: readonly ModelDerivedTextureResource[];
|
|
1941
|
+
}
|
|
1942
|
+
/** Fixed, value-free errors. No caller metadata or upstream exception text is exposed. */
|
|
1943
|
+
declare class ModelTextureResourceError extends TypeError {
|
|
1944
|
+
readonly code: "invalid-input" | "limit-exceeded" | "unverified-graph" | "package-mismatch" | "resource-mismatch" | "role-mismatch" | "aborted" | "deadline-exceeded";
|
|
1945
|
+
constructor(code: "invalid-input" | "limit-exceeded" | "unverified-graph" | "package-mismatch" | "resource-mismatch" | "role-mismatch" | "aborted" | "deadline-exceeded");
|
|
1946
|
+
}
|
|
1947
|
+
/**
|
|
1948
|
+
* Qualify reload metadata without parsing formats, allocating GPU objects or
|
|
1949
|
+
* replacing authored resource identities. Metadata is trusted package content;
|
|
1950
|
+
* adapters must sanitize it before public use. This is not promotion evidence.
|
|
1951
|
+
*/
|
|
1952
|
+
declare function qualifyModelTextureResources(input: ModelTextureResourceQualificationInput, options?: ModelTextureResourceQualificationOptions): Promise<QualifiedModelTextureResources>;
|
|
1953
|
+
|
|
1891
1954
|
/** Hard ceilings for public conversion evidence, including private input metadata. */
|
|
1892
1955
|
declare const MODEL_CONVERSION_DIAGNOSTIC_LIMITS: Readonly<{
|
|
1893
1956
|
issues: 100;
|
|
@@ -2149,4 +2212,4 @@ declare function createAssetPromotionRecord<TManifest extends AssetManifest>(inp
|
|
|
2149
2212
|
/** Digest-verifies and promotes a typed GPU asset without a generic-factory bypass. */
|
|
2150
2213
|
declare function createGpuAssetPromotionRecord<TManifest extends GpuAssetManifest>(input: AssetPromotionRecord<TManifest>, files: ReadonlyMap<string, Uint8Array>): Promise<AssetPromotionRecord<TManifest>>;
|
|
2151
2214
|
|
|
2152
|
-
export { ASSET_CONTRACTS_PACKAGE, ASSET_FILE_ROLES, ASSET_JOB_STATES, ASSET_JSON_CONTENT_TYPE, ASSET_KINDS, ASSET_PIPELINE_MCP_CAPABILITY, ASSET_PIPELINE_REVIEW_CAPABILITY, ASSET_PROMOTION_OUTCOMES, ASSET_REVIEW_SEVERITIES, ASSET_SCREENSHOT_KINDS, ASSET_SOURCE_ADAPTERS, ASSET_WGSL_CONTENT_TYPE, type AssetFileDescriptor, type AssetFileRole, type AssetJobRecord, type AssetJobState, type AssetKind, type AssetManifest, type AssetPromotionOutcome, type AssetPromotionRecord, type AssetReviewFinding, type AssetReviewReport, type AssetReviewSeverity, type AssetScreenshotKind, type AssetScreenshotPlanItem, type AssetSourceAdapter, type BudgetExceededModelGeneratorResult, CANONICAL_MODEL_COORDINATE_SYSTEM, type CancelledModelGeneratorResult, type ConfirmableModelCandidateV2, type DiagnosticModelCandidateV2, type DisabledModelGeneratorResult, type ExistingModelCandidateAssetRef, type FailedModelGeneratorResult, type GeneratedModelGeneratorResult, type GpuAssetFileValidationInput, type GpuAssetManifest, type GpuInterfaceAssetManifest, type GpuInterfaceRefInput, MODEL_ASSET_KINDS, MODEL_CANDIDATE_HARD_GATE_KINDS, MODEL_CONFIRMATION_VIEW_KINDS, MODEL_CONFIRMATION_VIEW_SIZE_PX, MODEL_CONVERSION_DIAGNOSTIC_LIMITS, MODEL_GENERATOR_DISABLED_REASON_CODE, MODEL_MATCH_ASSURANCE_BANDS, MODEL_MATCH_ASSURANCE_THRESHOLDS, MODEL_PROVENANCE_KINDS, MODEL_RANKER_ASSURANCE_CEILING_REASON_CODE, MODEL_RANKER_EVIDENCE_MODES, MODEL_REQUEST_MAX_REVISION, MODEL_RESOLUTION_CONTRACT_VERSION, MODEL_RESOLUTION_STATES, MODEL_RESOLUTION_V2_COMPATIBILITY_STATES, MODEL_RESOLUTION_V2_CONTRACT_VERSION, MODEL_RESOLUTION_V2_JSON_SCHEMAS, MODEL_RESOLUTION_V2_STATES, MODEL_RESOURCE_MANIFEST_LIMITS, MODEL_RIGHTS_STATUSES, MODEL_TEXT_ONLY_ASSURANCE_CEILING_REASON_CODE, type ModelAssemblyChild, type ModelAssemblyChildAssetRef, type ModelAssetKind, type ModelAssetManifest, type ModelAssetManifestInput, type ModelAssetRef, type ModelAttribution, type ModelBoundsMetres, type ModelBoundsMetresV2, type ModelCandidate, type ModelCandidateAssetRef, type ModelCandidateConfirmation, type ModelCandidateConfirmationBindingV2, type ModelCandidateConfirmationV2, type ModelCandidateHardGateEvidence, type ModelCandidateHardGateKind, type ModelCandidateV2, type ModelCollisionKind, type ModelCollisionPolicyEvidence, type ModelCollisionRecord, type ModelConfirmationView, type ModelConfirmationViewKind, type ModelConfirmationViews, type ModelConversionDiagnosticCode, ModelConversionDiagnosticsError, type ModelConversionDiagnosticsInput, type ModelConversionDiagnosticsOptions, type ModelConversionLoss, type ModelConversionResourceBinding, type ModelConverterDiagnostic, type ModelConverterEvidence, type ModelDiagnosticSeverity, type ModelDimensionsMetres, type ModelDimensionsMetresV2, type ModelFidelityAspect, type ModelFidelityEvidence, type ModelFidelityGateEvidence, type ModelFidelityOutcome, type ModelGeneratorArtifact, type ModelGeneratorArtifactRole, type ModelGeneratorBudgetName, type ModelGeneratorBudgetViolation, type ModelGeneratorBudgets, type ModelGeneratorCallOptions, type ModelGeneratorCancellationReason, type ModelGeneratorFailureReason, type ModelGeneratorIdentity, type ModelGeneratorPort, type ModelGeneratorRequest, type ModelGeneratorResult, type ModelGeneratorSourceBundle, type ModelGeneratorUnavailableReason, type ModelGeneratorUsage, type ModelHardConstraintEvaluation, type ModelHardConstraints, type ModelHardConstraintsV2, type ModelLodLevel, type ModelLodRecord, type ModelMatchAssessment, type ModelMatchAssurance, type ModelPartitionPolicy, type ModelProcessingManifest, type ModelProcessingManifestV2, type ModelPromotionReceipt, type ModelPromotionReceiptV2, type ModelProvenance, type ModelProvenanceKind, type ModelQuaternion, type ModelRankerEvidenceMode, type ModelRankerRef, type ModelRefinementQuestionV2, type ModelRenderEvidence, type ModelRequestSpec, type ModelRequestSpecV2, type ModelRequirementPolicy, type ModelResolution, type ModelResolutionState, type ModelResolutionStateV2, type ModelResolutionV2, type ModelResourceFileInput, ModelResourceManifestError, type ModelResourceManifestQualificationInput, type ModelResourceRef, type ModelRightsAssessment, type ModelRightsStatus, type ModelSoftPreferences, type ModelSourceIngestionLimitsV2, type ModelTechnicalProfile, type ModelTransform, type ModelVector3, PVOX_ASSEMBLY_CLOSURE_HASH_DOMAIN, PVOX_ASSET_MANIFEST_VERSION, PVOX_BINARY_CLOSURE_HASH_DOMAIN, PVOX_BOND_RECORD_BYTES, PVOX_BRICK_EDGE_VOXELS, PVOX_CANONICAL_UTF8_LENGTH_PREFIX_BYTES, PVOX_CAPABILITIES, PVOX_CAPABILITY_SET_HASH_DOMAIN, PVOX_COLLISION_BRICK_MASK_BYTES, PVOX_COLLISION_SECTION_COUNT, PVOX_CONFIRMATION_BINDING_HASH_DOMAIN, PVOX_CONTENT_TYPE, PVOX_DEFAULT_LIMITS, PVOX_DEFAULT_SOURCE_INGESTION_LIMITS, PVOX_DIRECTORY_ENTRY_BYTE_LENGTH, PVOX_DIRECTORY_HASH_DOMAIN, PVOX_EDIT_JOURNAL_GENESIS_HASH, PVOX_EDIT_JOURNAL_HASH_DOMAIN, PVOX_EDIT_JOURNAL_VERSION, PVOX_EDIT_OVERLAY_ROOT_HASH_DOMAIN, PVOX_EVALUATION_CLOSURE_HASH_DOMAIN, PVOX_FEATURE_FLAG_ID, PVOX_FIDELITY_PROFILE_IDS, PVOX_FIDELITY_PROFILE_VERSION, PVOX_FILE_EXTENSION, PVOX_FORMAT_VERSION, PVOX_HASH_DOMAINS, PVOX_HASH_PREIMAGE_LAYOUTS, PVOX_HEADER_BYTE_LENGTH, PVOX_HIERARCHY_NODE_RECORD_BYTES, PVOX_INTERIOR_LAYER_RECORD_BYTES, PVOX_LEVEL_SPAN_RECORD_BYTES, PVOX_LOD_RECORD_BYTES, PVOX_MAGIC, PVOX_MASS_PROPERTY_RECORD_BYTES, PVOX_MATERIAL_REGION_RECORD_BYTES, PVOX_MAX_ABSOLUTE_COORDINATE_METRES, PVOX_MAX_CANONICAL_HASH_UTF8_BYTES_V1, PVOX_MAX_EDIT_PATCHES, PVOX_MAX_ENCODED_BRICK_PAYLOAD_BYTES, PVOX_MAX_HASH_PREIMAGE_BYTES_V1, PVOX_MAX_HIERARCHY_NODES, PVOX_MAX_LOCAL_SAMPLES_PER_BRICK, PVOX_MAX_RUNS_PER_BRICK, PVOX_MAX_SECTIONS, PVOX_MIN_BRICK_DESCRIPTOR_BYTES, PVOX_MIN_ENCODED_COLLISION_SAMPLE_BYTES, PVOX_MIN_ENCODED_SURFACE_SAMPLE_BYTES, PVOX_MIN_STATIC_SECTION_COUNT, PVOX_MODEL_REQUEST_POLICY_ID, PVOX_NAMED_JSON_CLOSURE_SPECS_V1, PVOX_NATIVE_RENDERER_ID, PVOX_NATIVE_REVIEW_SETTINGS_ID, PVOX_NON_OVERRIDABLE_GATE_KINDS, PVOX_PAGE_KINDS, PVOX_PAGE_SET_HASH_DOMAIN, PVOX_PAGE_SIZE_BYTES, PVOX_PARTITION_RECORD_BYTES, PVOX_PHYSICAL_EVIDENCE_HASH_DOMAIN, PVOX_PHYSICAL_EVIDENCE_RECORD_BYTES, PVOX_PHYSICAL_INVENTORY_HASH_DOMAIN, PVOX_PHYSICAL_PROPERTIES, PVOX_PHYSICAL_PROPERTY_POLICIES, PVOX_PHYSICAL_PROPERTY_POLICY_ID, PVOX_PHYSICAL_PROPERTY_POLICY_VERSION, PVOX_PHYSICAL_PROPERTY_RECORD_BYTES, PVOX_PHYSICAL_REGION_INVENTORY_VERSION, PVOX_PROCESSING_CLOSURE_HASH_DOMAIN, PVOX_PUBLICATION_HASH_DOMAIN, PVOX_RENDER_BRICK_MASK_BYTES, PVOX_RENDER_EVIDENCE_HASH_DOMAIN, PVOX_REQUEST_SEMANTIC_PROFILE_HASH_DOMAIN, PVOX_REQUIRED_OAUTH_CAPABILITIES, PVOX_ROOT_HASH_DOMAIN, PVOX_ROOT_HEADER_COMPILATION_INPUT_HASH_OFFSET, PVOX_ROOT_HEADER_COORDINATE_BASIS_METRES_Y_UP_NEGATIVE_Z_FORWARD_CCW, PVOX_ROOT_HEADER_DIRECTORY_HASH_OFFSET, PVOX_ROOT_HEADER_FLAGS_V1, PVOX_ROOT_HEADER_GEOMETRY_MODE_CODES_V1, PVOX_ROOT_HEADER_HASH_RULE, PVOX_ROOT_HEADER_INLINE_RESERVED_BYTE_LENGTH, PVOX_ROOT_HEADER_INLINE_RESERVED_OFFSET, PVOX_ROOT_HEADER_LAYOUT_V1, PVOX_ROOT_HEADER_MAXIMUM_FIXED_POINT_FRACTION_BITS_V1, PVOX_ROOT_HEADER_MAXIMUM_HIERARCHY_DEPTH_V1, PVOX_ROOT_HEADER_MINIMUM_FIXED_POINT_FRACTION_BITS_V1, PVOX_ROOT_HEADER_RUNTIME_REQUEST_PROFILE_HASH_OFFSET, PVOX_ROOT_HEADER_TRAILING_RESERVED_BYTE_LENGTH, PVOX_ROOT_HEADER_TRAILING_RESERVED_OFFSET, PVOX_ROOT_RECORD_BYTES, PVOX_RUNTIME_CAPABILITY_PROFILE_IDS, PVOX_RUNTIME_REQUEST_PROFILE_HASH_DOMAIN, PVOX_SECTION_ALIGNMENT_BYTES, PVOX_SECTION_HASH_DOMAIN, PVOX_SECTION_REGISTRY, PVOX_SHA256_BYTE_LENGTH, PVOX_SHA256_HEX_LENGTH, PVOX_SURFACE_PROPERTY_RECORD_BYTES, type PhysicalPropertyEvidence, type PhysicalPropertyKind, type PhysicalPropertyProvenance, type ProposedModelCandidateAssetRef, type PvoxAssemblyChild, type PvoxAssemblyClosureHashInputV1, type PvoxAssetManifest, type PvoxAssetManifestV1, type PvoxAuthenticatedResourceMetadata, type PvoxBinaryClosureHashInputV1, type PvoxBrickPatchDescriptor, type PvoxCapability, type PvoxCapabilityStatus, type PvoxCatalogAssemblyChildRef, type PvoxCompilerEvidence, type PvoxEditJournal, type PvoxEditJournalCurrentState, type PvoxEditOperation, type PvoxEditOverlayPatchHashInputV1, type PvoxEditOverlayRootHashInputV1, type PvoxEvaluationClosureHashInputV1, type PvoxFidelityEvidence, type PvoxFidelityProfileId, type PvoxGateEvidence, type PvoxGeometryMode, type PvoxHashAttestation, type PvoxLodLevel, type PvoxLodRecord, type PvoxModelMatchAssessmentV2, type PvoxModelResolutionJsonSchema, type PvoxNamedJsonClosureV1, type PvoxNonOverridableGateKind, type PvoxPageHashRecordV1, type PvoxPageRecord, type PvoxPageSpatialKey, type PvoxPhysicalEvidenceHashInputV1, type PvoxPhysicalEvidenceRegionMaterialV1, type PvoxPhysicalInventoryHashInputV1, type PvoxPhysicalInventoryHashRecordV1, type PvoxPhysicalRegionInventoryEntry, type PvoxPhysicalRegionInventoryV1, type PvoxProcessingClosureHashInputV1, type PvoxRenderEvidence, type PvoxRequestedGeometryMode, type PvoxReviewedStructuralEvidence, type PvoxReviewedStructuralEvidenceKind, type PvoxRootHeaderGeometryModeV1, type PvoxRootHeaderInputV1, type PvoxRootSectionHashRecordV1, type PvoxRuntimeCapabilityProfileId, type PvoxRuntimeLimitsV1, type PvoxRuntimeRequestProfileV1, type PvoxStagedAssemblyChildRef, type QualifiedModelConversionDiagnostic, type QualifiedModelConversionDiagnostics, STATIC_WORLD_V1_MODEL_POLICY, type ShaderAssetManifest, type ShaderStyleProfileAssetManifest, type ShaderStyleProfileRefInput, type ShaderValidationEvidenceAssetManifest, type ShaderVersionRefInput, type StagedModelAssemblyChildRef, type TypedAssetManifest, UNIFIED_ASSET_PIPELINE_FEATURE_FLAG_ID, type UnavailableModelGeneratorResult, type VoxelCapabilityAssessment, type VoxelTechnicalProfile, assertAssetId, assertAssetVersion, assertImmutableAssetVersion, calculatePvoxMinimumArtifactByteLength, canonicalizeModelRequestSemanticProfileV1, canonicalizePvoxHashProjectionV1, canonicalizePvoxNamedJsonClosureV1, classifyModelMatchAssurance, createAssetFileDescriptor, createAssetJobRecord, createAssetManifest, createAssetPromotionRecord, createAssetReviewReport, createDisabledModelGeneratorPort, createGpuAssetManifest, createGpuAssetPromotionRecord, createGpuInterfaceAssetManifest, createGpuInterfaceRef, createModelAssetManifest, createModelAssetRef, createModelCandidate, createModelCandidateConfirmation, createModelCandidateConfirmationV2, createModelCandidateV2, createModelGeneratorRequest, createModelGeneratorResult, createModelMatchAssessment, createModelProcessingManifest, createModelProcessingManifestV2, createModelProvenance, createModelRequestSpec, createModelRequestSpecV2, createModelResolution, createModelResolutionV2, createModelResourceRef, createModelRightsAssessment, createModelTechnicalProfile, createPhysicalPropertyEvidence, createPvoxAssetManifest, createPvoxAssetManifestV1, createPvoxEditJournal, createPvoxEditJournalChain, createPvoxFidelityEvidence, createPvoxGateEvidence, createPvoxModelMatchAssessmentV2, createPvoxPhysicalRegionInventoryV1, createShaderAssetManifest, createShaderStyleProfileAssetManifest, createShaderStyleProfileRef, createShaderValidationEvidenceAssetManifest, createShaderValidationEvidenceRef, createShaderVersionRef, createStandardScreenshotPlan, createVoxelCapabilityAssessment, createVoxelTechnicalProfile, decodePvoxSha256HexV1, encodePvoxAssemblyClosureHashPreimageV1, encodePvoxBinaryClosureHashPreimageV1, encodePvoxCanonicalUtf8V1, encodePvoxCapabilitySetHashPreimageV1, encodePvoxDirectoryHashPreimageV1, encodePvoxEditOverlayRootHashPreimageV1, encodePvoxEvaluationClosureHashPreimageV1, encodePvoxI64LeV1, encodePvoxNamedJsonClosurePreimageV1, encodePvoxPageSetHashPreimageV1, encodePvoxPhysicalEvidenceHashPreimageV1, encodePvoxPhysicalInventoryHashPreimageV1, encodePvoxProcessingClosureHashPreimageV1, encodePvoxRootHashPreimageV1, encodePvoxRootHeaderV1, encodePvoxSectionHashPreimageV1, encodePvoxU16LeV1, encodePvoxU32LeV1, encodePvoxU64LeV1, evaluateModelHardConstraints, evaluateModelHardConstraintsForProfile, isAssetFileRole, isAssetId, isAssetJobState, isAssetKind, isAssetPromotionOutcome, isAssetSourceAdapter, isModelCandidateConfirmable, isModelCandidateV2Confirmable, isModelResolutionState, isModelResolutionStateV2, normalizeAssetId, normalizePvoxRootHeaderForHashV1, projectPvoxNamedJsonClosureV1, qualifyModelConversionDiagnostics, qualifyModelResourceManifest, toLegacyModelResolutionState, validateGpuAssetFiles };
|
|
2215
|
+
export { ASSET_CONTRACTS_PACKAGE, ASSET_FILE_ROLES, ASSET_JOB_STATES, ASSET_JSON_CONTENT_TYPE, ASSET_KINDS, ASSET_PIPELINE_MCP_CAPABILITY, ASSET_PIPELINE_REVIEW_CAPABILITY, ASSET_PROMOTION_OUTCOMES, ASSET_REVIEW_SEVERITIES, ASSET_SCREENSHOT_KINDS, ASSET_SOURCE_ADAPTERS, ASSET_WGSL_CONTENT_TYPE, type AssetFileDescriptor, type AssetFileRole, type AssetJobRecord, type AssetJobState, type AssetKind, type AssetManifest, type AssetPromotionOutcome, type AssetPromotionRecord, type AssetReviewFinding, type AssetReviewReport, type AssetReviewSeverity, type AssetScreenshotKind, type AssetScreenshotPlanItem, type AssetSourceAdapter, type BudgetExceededModelGeneratorResult, CANONICAL_MODEL_COORDINATE_SYSTEM, type CancelledModelGeneratorResult, type ConfirmableModelCandidateV2, type DiagnosticModelCandidateV2, type DisabledModelGeneratorResult, type ExistingModelCandidateAssetRef, type FailedModelGeneratorResult, type GeneratedModelGeneratorResult, type GpuAssetFileValidationInput, type GpuAssetManifest, type GpuInterfaceAssetManifest, type GpuInterfaceRefInput, MODEL_ASSET_KINDS, MODEL_CANDIDATE_HARD_GATE_KINDS, MODEL_CONFIRMATION_VIEW_KINDS, MODEL_CONFIRMATION_VIEW_SIZE_PX, MODEL_CONVERSION_DIAGNOSTIC_LIMITS, MODEL_GENERATOR_DISABLED_REASON_CODE, MODEL_MATCH_ASSURANCE_BANDS, MODEL_MATCH_ASSURANCE_THRESHOLDS, MODEL_PROVENANCE_KINDS, MODEL_RANKER_ASSURANCE_CEILING_REASON_CODE, MODEL_RANKER_EVIDENCE_MODES, MODEL_REQUEST_MAX_REVISION, MODEL_RESOLUTION_CONTRACT_VERSION, MODEL_RESOLUTION_STATES, MODEL_RESOLUTION_V2_COMPATIBILITY_STATES, MODEL_RESOLUTION_V2_CONTRACT_VERSION, MODEL_RESOLUTION_V2_JSON_SCHEMAS, MODEL_RESOLUTION_V2_STATES, MODEL_RESOURCE_MANIFEST_LIMITS, MODEL_RIGHTS_STATUSES, MODEL_TEXTURE_RESOURCE_LIMITS, MODEL_TEXT_ONLY_ASSURANCE_CEILING_REASON_CODE, type ModelAssemblyChild, type ModelAssemblyChildAssetRef, type ModelAssetKind, type ModelAssetManifest, type ModelAssetManifestInput, type ModelAssetRef, type ModelAttribution, type ModelBoundsMetres, type ModelBoundsMetresV2, type ModelCandidate, type ModelCandidateAssetRef, type ModelCandidateConfirmation, type ModelCandidateConfirmationBindingV2, type ModelCandidateConfirmationV2, type ModelCandidateHardGateEvidence, type ModelCandidateHardGateKind, type ModelCandidateV2, type ModelCollisionKind, type ModelCollisionPolicyEvidence, type ModelCollisionRecord, type ModelConfirmationView, type ModelConfirmationViewKind, type ModelConfirmationViews, type ModelConversionDiagnosticCode, ModelConversionDiagnosticsError, type ModelConversionDiagnosticsInput, type ModelConversionDiagnosticsOptions, type ModelConversionLoss, type ModelConversionResourceBinding, type ModelConverterDiagnostic, type ModelConverterEvidence, type ModelDerivedTextureResource, type ModelDiagnosticSeverity, type ModelDimensionsMetres, type ModelDimensionsMetresV2, type ModelFidelityAspect, type ModelFidelityEvidence, type ModelFidelityGateEvidence, type ModelFidelityOutcome, type ModelGeneratorArtifact, type ModelGeneratorArtifactRole, type ModelGeneratorBudgetName, type ModelGeneratorBudgetViolation, type ModelGeneratorBudgets, type ModelGeneratorCallOptions, type ModelGeneratorCancellationReason, type ModelGeneratorFailureReason, type ModelGeneratorIdentity, type ModelGeneratorPort, type ModelGeneratorRequest, type ModelGeneratorResult, type ModelGeneratorSourceBundle, type ModelGeneratorUnavailableReason, type ModelGeneratorUsage, type ModelHardConstraintEvaluation, type ModelHardConstraints, type ModelHardConstraintsV2, type ModelLodLevel, type ModelLodRecord, type ModelMatchAssessment, type ModelMatchAssurance, type ModelPartitionPolicy, type ModelProcessingManifest, type ModelProcessingManifestV2, type ModelPromotionReceipt, type ModelPromotionReceiptV2, type ModelProvenance, type ModelProvenanceKind, type ModelQuaternion, type ModelRankerEvidenceMode, type ModelRankerRef, type ModelRefinementQuestionV2, type ModelRenderEvidence, type ModelRequestSpec, type ModelRequestSpecV2, type ModelRequirementPolicy, type ModelResolution, type ModelResolutionState, type ModelResolutionStateV2, type ModelResolutionV2, type ModelResourceFileInput, ModelResourceManifestError, type ModelResourceManifestQualificationInput, type ModelResourceRef, type ModelRightsAssessment, type ModelRightsStatus, type ModelSoftPreferences, type ModelSourceIngestionLimitsV2, type ModelTechnicalProfile, type ModelTextureResourceBinding, ModelTextureResourceError, type ModelTextureResourceQualificationInput, type ModelTextureResourceQualificationOptions, type ModelTransform, type ModelVector3, PVOX_ASSEMBLY_CLOSURE_HASH_DOMAIN, PVOX_ASSET_MANIFEST_VERSION, PVOX_BINARY_CLOSURE_HASH_DOMAIN, PVOX_BOND_RECORD_BYTES, PVOX_BRICK_EDGE_VOXELS, PVOX_CANONICAL_UTF8_LENGTH_PREFIX_BYTES, PVOX_CAPABILITIES, PVOX_CAPABILITY_SET_HASH_DOMAIN, PVOX_COLLISION_BRICK_MASK_BYTES, PVOX_COLLISION_SECTION_COUNT, PVOX_CONFIRMATION_BINDING_HASH_DOMAIN, PVOX_CONTENT_TYPE, PVOX_DEFAULT_LIMITS, PVOX_DEFAULT_SOURCE_INGESTION_LIMITS, PVOX_DIRECTORY_ENTRY_BYTE_LENGTH, PVOX_DIRECTORY_HASH_DOMAIN, PVOX_EDIT_JOURNAL_GENESIS_HASH, PVOX_EDIT_JOURNAL_HASH_DOMAIN, PVOX_EDIT_JOURNAL_VERSION, PVOX_EDIT_OVERLAY_ROOT_HASH_DOMAIN, PVOX_EVALUATION_CLOSURE_HASH_DOMAIN, PVOX_FEATURE_FLAG_ID, PVOX_FIDELITY_PROFILE_IDS, PVOX_FIDELITY_PROFILE_VERSION, PVOX_FILE_EXTENSION, PVOX_FORMAT_VERSION, PVOX_HASH_DOMAINS, PVOX_HASH_PREIMAGE_LAYOUTS, PVOX_HEADER_BYTE_LENGTH, PVOX_HIERARCHY_NODE_RECORD_BYTES, PVOX_INTERIOR_LAYER_RECORD_BYTES, PVOX_LEVEL_SPAN_RECORD_BYTES, PVOX_LOD_RECORD_BYTES, PVOX_MAGIC, PVOX_MASS_PROPERTY_RECORD_BYTES, PVOX_MATERIAL_REGION_RECORD_BYTES, PVOX_MAX_ABSOLUTE_COORDINATE_METRES, PVOX_MAX_CANONICAL_HASH_UTF8_BYTES_V1, PVOX_MAX_EDIT_PATCHES, PVOX_MAX_ENCODED_BRICK_PAYLOAD_BYTES, PVOX_MAX_HASH_PREIMAGE_BYTES_V1, PVOX_MAX_HIERARCHY_NODES, PVOX_MAX_LOCAL_SAMPLES_PER_BRICK, PVOX_MAX_RUNS_PER_BRICK, PVOX_MAX_SECTIONS, PVOX_MIN_BRICK_DESCRIPTOR_BYTES, PVOX_MIN_ENCODED_COLLISION_SAMPLE_BYTES, PVOX_MIN_ENCODED_SURFACE_SAMPLE_BYTES, PVOX_MIN_STATIC_SECTION_COUNT, PVOX_MODEL_REQUEST_POLICY_ID, PVOX_NAMED_JSON_CLOSURE_SPECS_V1, PVOX_NATIVE_RENDERER_ID, PVOX_NATIVE_REVIEW_SETTINGS_ID, PVOX_NON_OVERRIDABLE_GATE_KINDS, PVOX_PAGE_KINDS, PVOX_PAGE_SET_HASH_DOMAIN, PVOX_PAGE_SIZE_BYTES, PVOX_PARTITION_RECORD_BYTES, PVOX_PHYSICAL_EVIDENCE_HASH_DOMAIN, PVOX_PHYSICAL_EVIDENCE_RECORD_BYTES, PVOX_PHYSICAL_INVENTORY_HASH_DOMAIN, PVOX_PHYSICAL_PROPERTIES, PVOX_PHYSICAL_PROPERTY_POLICIES, PVOX_PHYSICAL_PROPERTY_POLICY_ID, PVOX_PHYSICAL_PROPERTY_POLICY_VERSION, PVOX_PHYSICAL_PROPERTY_RECORD_BYTES, PVOX_PHYSICAL_REGION_INVENTORY_VERSION, PVOX_PROCESSING_CLOSURE_HASH_DOMAIN, PVOX_PUBLICATION_HASH_DOMAIN, PVOX_RENDER_BRICK_MASK_BYTES, PVOX_RENDER_EVIDENCE_HASH_DOMAIN, PVOX_REQUEST_SEMANTIC_PROFILE_HASH_DOMAIN, PVOX_REQUIRED_OAUTH_CAPABILITIES, PVOX_ROOT_HASH_DOMAIN, PVOX_ROOT_HEADER_COMPILATION_INPUT_HASH_OFFSET, PVOX_ROOT_HEADER_COORDINATE_BASIS_METRES_Y_UP_NEGATIVE_Z_FORWARD_CCW, PVOX_ROOT_HEADER_DIRECTORY_HASH_OFFSET, PVOX_ROOT_HEADER_FLAGS_V1, PVOX_ROOT_HEADER_GEOMETRY_MODE_CODES_V1, PVOX_ROOT_HEADER_HASH_RULE, PVOX_ROOT_HEADER_INLINE_RESERVED_BYTE_LENGTH, PVOX_ROOT_HEADER_INLINE_RESERVED_OFFSET, PVOX_ROOT_HEADER_LAYOUT_V1, PVOX_ROOT_HEADER_MAXIMUM_FIXED_POINT_FRACTION_BITS_V1, PVOX_ROOT_HEADER_MAXIMUM_HIERARCHY_DEPTH_V1, PVOX_ROOT_HEADER_MINIMUM_FIXED_POINT_FRACTION_BITS_V1, PVOX_ROOT_HEADER_RUNTIME_REQUEST_PROFILE_HASH_OFFSET, PVOX_ROOT_HEADER_TRAILING_RESERVED_BYTE_LENGTH, PVOX_ROOT_HEADER_TRAILING_RESERVED_OFFSET, PVOX_ROOT_RECORD_BYTES, PVOX_RUNTIME_CAPABILITY_PROFILE_IDS, PVOX_RUNTIME_REQUEST_PROFILE_HASH_DOMAIN, PVOX_SECTION_ALIGNMENT_BYTES, PVOX_SECTION_HASH_DOMAIN, PVOX_SECTION_REGISTRY, PVOX_SHA256_BYTE_LENGTH, PVOX_SHA256_HEX_LENGTH, PVOX_SURFACE_PROPERTY_RECORD_BYTES, type PhysicalPropertyEvidence, type PhysicalPropertyKind, type PhysicalPropertyProvenance, type ProposedModelCandidateAssetRef, type PvoxAssemblyChild, type PvoxAssemblyClosureHashInputV1, type PvoxAssetManifest, type PvoxAssetManifestV1, type PvoxAuthenticatedResourceMetadata, type PvoxBinaryClosureHashInputV1, type PvoxBrickPatchDescriptor, type PvoxCapability, type PvoxCapabilityStatus, type PvoxCatalogAssemblyChildRef, type PvoxCompilerEvidence, type PvoxEditJournal, type PvoxEditJournalCurrentState, type PvoxEditOperation, type PvoxEditOverlayPatchHashInputV1, type PvoxEditOverlayRootHashInputV1, type PvoxEvaluationClosureHashInputV1, type PvoxFidelityEvidence, type PvoxFidelityProfileId, type PvoxGateEvidence, type PvoxGeometryMode, type PvoxHashAttestation, type PvoxLodLevel, type PvoxLodRecord, type PvoxModelMatchAssessmentV2, type PvoxModelResolutionJsonSchema, type PvoxNamedJsonClosureV1, type PvoxNonOverridableGateKind, type PvoxPageHashRecordV1, type PvoxPageRecord, type PvoxPageSpatialKey, type PvoxPhysicalEvidenceHashInputV1, type PvoxPhysicalEvidenceRegionMaterialV1, type PvoxPhysicalInventoryHashInputV1, type PvoxPhysicalInventoryHashRecordV1, type PvoxPhysicalRegionInventoryEntry, type PvoxPhysicalRegionInventoryV1, type PvoxProcessingClosureHashInputV1, type PvoxRenderEvidence, type PvoxRequestedGeometryMode, type PvoxReviewedStructuralEvidence, type PvoxReviewedStructuralEvidenceKind, type PvoxRootHeaderGeometryModeV1, type PvoxRootHeaderInputV1, type PvoxRootSectionHashRecordV1, type PvoxRuntimeCapabilityProfileId, type PvoxRuntimeLimitsV1, type PvoxRuntimeRequestProfileV1, type PvoxStagedAssemblyChildRef, type QualifiedModelConversionDiagnostic, type QualifiedModelConversionDiagnostics, type QualifiedModelTextureResource, type QualifiedModelTextureResources, STATIC_WORLD_V1_MODEL_POLICY, type ShaderAssetManifest, type ShaderStyleProfileAssetManifest, type ShaderStyleProfileRefInput, type ShaderValidationEvidenceAssetManifest, type ShaderVersionRefInput, type StagedModelAssemblyChildRef, type TypedAssetManifest, UNIFIED_ASSET_PIPELINE_FEATURE_FLAG_ID, type UnavailableModelGeneratorResult, type VoxelCapabilityAssessment, type VoxelTechnicalProfile, assertAssetId, assertAssetVersion, assertImmutableAssetVersion, calculatePvoxMinimumArtifactByteLength, canonicalizeModelRequestSemanticProfileV1, canonicalizePvoxHashProjectionV1, canonicalizePvoxNamedJsonClosureV1, classifyModelMatchAssurance, createAssetFileDescriptor, createAssetJobRecord, createAssetManifest, createAssetPromotionRecord, createAssetReviewReport, createDisabledModelGeneratorPort, createGpuAssetManifest, createGpuAssetPromotionRecord, createGpuInterfaceAssetManifest, createGpuInterfaceRef, createModelAssetManifest, createModelAssetRef, createModelCandidate, createModelCandidateConfirmation, createModelCandidateConfirmationV2, createModelCandidateV2, createModelGeneratorRequest, createModelGeneratorResult, createModelMatchAssessment, createModelProcessingManifest, createModelProcessingManifestV2, createModelProvenance, createModelRequestSpec, createModelRequestSpecV2, createModelResolution, createModelResolutionV2, createModelResourceRef, createModelRightsAssessment, createModelTechnicalProfile, createPhysicalPropertyEvidence, createPvoxAssetManifest, createPvoxAssetManifestV1, createPvoxEditJournal, createPvoxEditJournalChain, createPvoxFidelityEvidence, createPvoxGateEvidence, createPvoxModelMatchAssessmentV2, createPvoxPhysicalRegionInventoryV1, createShaderAssetManifest, createShaderStyleProfileAssetManifest, createShaderStyleProfileRef, createShaderValidationEvidenceAssetManifest, createShaderValidationEvidenceRef, createShaderVersionRef, createStandardScreenshotPlan, createVoxelCapabilityAssessment, createVoxelTechnicalProfile, decodePvoxSha256HexV1, encodePvoxAssemblyClosureHashPreimageV1, encodePvoxBinaryClosureHashPreimageV1, encodePvoxCanonicalUtf8V1, encodePvoxCapabilitySetHashPreimageV1, encodePvoxDirectoryHashPreimageV1, encodePvoxEditOverlayRootHashPreimageV1, encodePvoxEvaluationClosureHashPreimageV1, encodePvoxI64LeV1, encodePvoxNamedJsonClosurePreimageV1, encodePvoxPageSetHashPreimageV1, encodePvoxPhysicalEvidenceHashPreimageV1, encodePvoxPhysicalInventoryHashPreimageV1, encodePvoxProcessingClosureHashPreimageV1, encodePvoxRootHashPreimageV1, encodePvoxRootHeaderV1, encodePvoxSectionHashPreimageV1, encodePvoxU16LeV1, encodePvoxU32LeV1, encodePvoxU64LeV1, evaluateModelHardConstraints, evaluateModelHardConstraintsForProfile, isAssetFileRole, isAssetId, isAssetJobState, isAssetKind, isAssetPromotionOutcome, isAssetSourceAdapter, isModelCandidateConfirmable, isModelCandidateV2Confirmable, isModelResolutionState, isModelResolutionStateV2, normalizeAssetId, normalizePvoxRootHeaderForHashV1, projectPvoxNamedJsonClosureV1, qualifyModelConversionDiagnostics, qualifyModelResourceManifest, qualifyModelTextureResources, toLegacyModelResolutionState, validateGpuAssetFiles };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { GpuInterfaceRef, Sha256Hex, ShaderStyleProfileRef, GpuInterfaceManifest, ShaderVersionManifest, ShaderStyleProfileManifest, ShaderValidationEvidenceRef, ShaderVersionRef } from '@plasius/gpu-shader';
|
|
2
2
|
export { GPU_SHADER_STORE_FEATURE_FLAG, GPU_SHADER_STYLE_SELECTION_CAPABILITY, GpuInterfaceManifest, GpuInterfaceRef, ModelGpuCompatibilityDescriptor, Sha256Hex, ShaderStyleProfileManifest, ShaderStyleProfileRef, ShaderValidationEvidenceRef, ShaderVersionManifest, ShaderVersionRef } from '@plasius/gpu-shader';
|
|
3
|
-
import { ResourcePackageManifest, GpuModelDiagnosticInput, GpuModelDiagnosticStandard, GpuModelDiagnosticMode } from '@plasius/gpu-model-core';
|
|
3
|
+
import { ResourcePackageManifest, GpuModelResourceGraph, GpuModelResourceLocation, GpuModelTextureEmbeddingPolicy, GpuModelProvenance, GpuModelMaterial, GpuModelTexture, GpuModelDiagnosticInput, GpuModelDiagnosticStandard, GpuModelDiagnosticMode } from '@plasius/gpu-model-core';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Validates the legacy asset-version token grammar.
|
|
@@ -1888,6 +1888,69 @@ declare class ModelResourceManifestError extends TypeError {
|
|
|
1888
1888
|
*/
|
|
1889
1889
|
declare function qualifyModelResourceManifest(input: ModelResourceManifestQualificationInput): Promise<AssetManifest>;
|
|
1890
1890
|
|
|
1891
|
+
/** Hard ceilings for the additive package role boundary; callers cannot raise them. */
|
|
1892
|
+
declare const MODEL_TEXTURE_RESOURCE_LIMITS: Readonly<{
|
|
1893
|
+
resources: 16384;
|
|
1894
|
+
derived: 4096;
|
|
1895
|
+
nodes: 65536;
|
|
1896
|
+
values: 262144;
|
|
1897
|
+
characters: 2097152;
|
|
1898
|
+
depth: 16;
|
|
1899
|
+
timeoutMs: 60000;
|
|
1900
|
+
}>;
|
|
1901
|
+
/** An embedded resource names its owning entrypoint; external resources name their exact graph path. */
|
|
1902
|
+
interface ModelTextureResourceBinding {
|
|
1903
|
+
readonly resourceId: string;
|
|
1904
|
+
readonly filePath: string;
|
|
1905
|
+
}
|
|
1906
|
+
/** Declarative derived output; source identities remain independent of output hashes and paths. */
|
|
1907
|
+
interface ModelDerivedTextureResource {
|
|
1908
|
+
readonly role: "gpu-upload" | "texture-atlas";
|
|
1909
|
+
readonly filePath: string;
|
|
1910
|
+
readonly sourceResourceIds: readonly string[];
|
|
1911
|
+
}
|
|
1912
|
+
/** Existing exact-byte inventory plus a privately verified canonical graph and explicit export bindings. */
|
|
1913
|
+
interface ModelTextureResourceQualificationInput extends Omit<ModelResourceManifestQualificationInput, "signal" | "timeoutMs"> {
|
|
1914
|
+
readonly graph: GpuModelResourceGraph;
|
|
1915
|
+
readonly resources: readonly ModelTextureResourceBinding[];
|
|
1916
|
+
readonly derived: readonly ModelDerivedTextureResource[];
|
|
1917
|
+
}
|
|
1918
|
+
/** Deadline and cancellation cover hashing and bounded synchronous qualification. */
|
|
1919
|
+
interface ModelTextureResourceQualificationOptions {
|
|
1920
|
+
readonly signal?: AbortSignal;
|
|
1921
|
+
readonly timeoutMs?: number;
|
|
1922
|
+
}
|
|
1923
|
+
/** JSON resource identity without a Blob, renderer allocation or credential-bearing URL. */
|
|
1924
|
+
interface QualifiedModelTextureResource extends ModelTextureResourceBinding {
|
|
1925
|
+
readonly kind: "image" | "buffer";
|
|
1926
|
+
readonly contentHash: string;
|
|
1927
|
+
readonly byteLength: number;
|
|
1928
|
+
readonly mimeType: string;
|
|
1929
|
+
readonly location: GpuModelResourceLocation;
|
|
1930
|
+
readonly exportEmbeddingPolicy: GpuModelTextureEmbeddingPolicy;
|
|
1931
|
+
}
|
|
1932
|
+
/** Trusted package metadata, including authored sourceMetadata; not a public-safe diagnostic projection. */
|
|
1933
|
+
interface QualifiedModelTextureResources {
|
|
1934
|
+
readonly contractVersion: 1;
|
|
1935
|
+
readonly manifest: AssetManifest;
|
|
1936
|
+
readonly source: GpuModelProvenance;
|
|
1937
|
+
readonly resources: readonly QualifiedModelTextureResource[];
|
|
1938
|
+
readonly materials: readonly GpuModelMaterial[];
|
|
1939
|
+
readonly textures: readonly GpuModelTexture[];
|
|
1940
|
+
readonly derived: readonly ModelDerivedTextureResource[];
|
|
1941
|
+
}
|
|
1942
|
+
/** Fixed, value-free errors. No caller metadata or upstream exception text is exposed. */
|
|
1943
|
+
declare class ModelTextureResourceError extends TypeError {
|
|
1944
|
+
readonly code: "invalid-input" | "limit-exceeded" | "unverified-graph" | "package-mismatch" | "resource-mismatch" | "role-mismatch" | "aborted" | "deadline-exceeded";
|
|
1945
|
+
constructor(code: "invalid-input" | "limit-exceeded" | "unverified-graph" | "package-mismatch" | "resource-mismatch" | "role-mismatch" | "aborted" | "deadline-exceeded");
|
|
1946
|
+
}
|
|
1947
|
+
/**
|
|
1948
|
+
* Qualify reload metadata without parsing formats, allocating GPU objects or
|
|
1949
|
+
* replacing authored resource identities. Metadata is trusted package content;
|
|
1950
|
+
* adapters must sanitize it before public use. This is not promotion evidence.
|
|
1951
|
+
*/
|
|
1952
|
+
declare function qualifyModelTextureResources(input: ModelTextureResourceQualificationInput, options?: ModelTextureResourceQualificationOptions): Promise<QualifiedModelTextureResources>;
|
|
1953
|
+
|
|
1891
1954
|
/** Hard ceilings for public conversion evidence, including private input metadata. */
|
|
1892
1955
|
declare const MODEL_CONVERSION_DIAGNOSTIC_LIMITS: Readonly<{
|
|
1893
1956
|
issues: 100;
|
|
@@ -2149,4 +2212,4 @@ declare function createAssetPromotionRecord<TManifest extends AssetManifest>(inp
|
|
|
2149
2212
|
/** Digest-verifies and promotes a typed GPU asset without a generic-factory bypass. */
|
|
2150
2213
|
declare function createGpuAssetPromotionRecord<TManifest extends GpuAssetManifest>(input: AssetPromotionRecord<TManifest>, files: ReadonlyMap<string, Uint8Array>): Promise<AssetPromotionRecord<TManifest>>;
|
|
2151
2214
|
|
|
2152
|
-
export { ASSET_CONTRACTS_PACKAGE, ASSET_FILE_ROLES, ASSET_JOB_STATES, ASSET_JSON_CONTENT_TYPE, ASSET_KINDS, ASSET_PIPELINE_MCP_CAPABILITY, ASSET_PIPELINE_REVIEW_CAPABILITY, ASSET_PROMOTION_OUTCOMES, ASSET_REVIEW_SEVERITIES, ASSET_SCREENSHOT_KINDS, ASSET_SOURCE_ADAPTERS, ASSET_WGSL_CONTENT_TYPE, type AssetFileDescriptor, type AssetFileRole, type AssetJobRecord, type AssetJobState, type AssetKind, type AssetManifest, type AssetPromotionOutcome, type AssetPromotionRecord, type AssetReviewFinding, type AssetReviewReport, type AssetReviewSeverity, type AssetScreenshotKind, type AssetScreenshotPlanItem, type AssetSourceAdapter, type BudgetExceededModelGeneratorResult, CANONICAL_MODEL_COORDINATE_SYSTEM, type CancelledModelGeneratorResult, type ConfirmableModelCandidateV2, type DiagnosticModelCandidateV2, type DisabledModelGeneratorResult, type ExistingModelCandidateAssetRef, type FailedModelGeneratorResult, type GeneratedModelGeneratorResult, type GpuAssetFileValidationInput, type GpuAssetManifest, type GpuInterfaceAssetManifest, type GpuInterfaceRefInput, MODEL_ASSET_KINDS, MODEL_CANDIDATE_HARD_GATE_KINDS, MODEL_CONFIRMATION_VIEW_KINDS, MODEL_CONFIRMATION_VIEW_SIZE_PX, MODEL_CONVERSION_DIAGNOSTIC_LIMITS, MODEL_GENERATOR_DISABLED_REASON_CODE, MODEL_MATCH_ASSURANCE_BANDS, MODEL_MATCH_ASSURANCE_THRESHOLDS, MODEL_PROVENANCE_KINDS, MODEL_RANKER_ASSURANCE_CEILING_REASON_CODE, MODEL_RANKER_EVIDENCE_MODES, MODEL_REQUEST_MAX_REVISION, MODEL_RESOLUTION_CONTRACT_VERSION, MODEL_RESOLUTION_STATES, MODEL_RESOLUTION_V2_COMPATIBILITY_STATES, MODEL_RESOLUTION_V2_CONTRACT_VERSION, MODEL_RESOLUTION_V2_JSON_SCHEMAS, MODEL_RESOLUTION_V2_STATES, MODEL_RESOURCE_MANIFEST_LIMITS, MODEL_RIGHTS_STATUSES, MODEL_TEXT_ONLY_ASSURANCE_CEILING_REASON_CODE, type ModelAssemblyChild, type ModelAssemblyChildAssetRef, type ModelAssetKind, type ModelAssetManifest, type ModelAssetManifestInput, type ModelAssetRef, type ModelAttribution, type ModelBoundsMetres, type ModelBoundsMetresV2, type ModelCandidate, type ModelCandidateAssetRef, type ModelCandidateConfirmation, type ModelCandidateConfirmationBindingV2, type ModelCandidateConfirmationV2, type ModelCandidateHardGateEvidence, type ModelCandidateHardGateKind, type ModelCandidateV2, type ModelCollisionKind, type ModelCollisionPolicyEvidence, type ModelCollisionRecord, type ModelConfirmationView, type ModelConfirmationViewKind, type ModelConfirmationViews, type ModelConversionDiagnosticCode, ModelConversionDiagnosticsError, type ModelConversionDiagnosticsInput, type ModelConversionDiagnosticsOptions, type ModelConversionLoss, type ModelConversionResourceBinding, type ModelConverterDiagnostic, type ModelConverterEvidence, type ModelDiagnosticSeverity, type ModelDimensionsMetres, type ModelDimensionsMetresV2, type ModelFidelityAspect, type ModelFidelityEvidence, type ModelFidelityGateEvidence, type ModelFidelityOutcome, type ModelGeneratorArtifact, type ModelGeneratorArtifactRole, type ModelGeneratorBudgetName, type ModelGeneratorBudgetViolation, type ModelGeneratorBudgets, type ModelGeneratorCallOptions, type ModelGeneratorCancellationReason, type ModelGeneratorFailureReason, type ModelGeneratorIdentity, type ModelGeneratorPort, type ModelGeneratorRequest, type ModelGeneratorResult, type ModelGeneratorSourceBundle, type ModelGeneratorUnavailableReason, type ModelGeneratorUsage, type ModelHardConstraintEvaluation, type ModelHardConstraints, type ModelHardConstraintsV2, type ModelLodLevel, type ModelLodRecord, type ModelMatchAssessment, type ModelMatchAssurance, type ModelPartitionPolicy, type ModelProcessingManifest, type ModelProcessingManifestV2, type ModelPromotionReceipt, type ModelPromotionReceiptV2, type ModelProvenance, type ModelProvenanceKind, type ModelQuaternion, type ModelRankerEvidenceMode, type ModelRankerRef, type ModelRefinementQuestionV2, type ModelRenderEvidence, type ModelRequestSpec, type ModelRequestSpecV2, type ModelRequirementPolicy, type ModelResolution, type ModelResolutionState, type ModelResolutionStateV2, type ModelResolutionV2, type ModelResourceFileInput, ModelResourceManifestError, type ModelResourceManifestQualificationInput, type ModelResourceRef, type ModelRightsAssessment, type ModelRightsStatus, type ModelSoftPreferences, type ModelSourceIngestionLimitsV2, type ModelTechnicalProfile, type ModelTransform, type ModelVector3, PVOX_ASSEMBLY_CLOSURE_HASH_DOMAIN, PVOX_ASSET_MANIFEST_VERSION, PVOX_BINARY_CLOSURE_HASH_DOMAIN, PVOX_BOND_RECORD_BYTES, PVOX_BRICK_EDGE_VOXELS, PVOX_CANONICAL_UTF8_LENGTH_PREFIX_BYTES, PVOX_CAPABILITIES, PVOX_CAPABILITY_SET_HASH_DOMAIN, PVOX_COLLISION_BRICK_MASK_BYTES, PVOX_COLLISION_SECTION_COUNT, PVOX_CONFIRMATION_BINDING_HASH_DOMAIN, PVOX_CONTENT_TYPE, PVOX_DEFAULT_LIMITS, PVOX_DEFAULT_SOURCE_INGESTION_LIMITS, PVOX_DIRECTORY_ENTRY_BYTE_LENGTH, PVOX_DIRECTORY_HASH_DOMAIN, PVOX_EDIT_JOURNAL_GENESIS_HASH, PVOX_EDIT_JOURNAL_HASH_DOMAIN, PVOX_EDIT_JOURNAL_VERSION, PVOX_EDIT_OVERLAY_ROOT_HASH_DOMAIN, PVOX_EVALUATION_CLOSURE_HASH_DOMAIN, PVOX_FEATURE_FLAG_ID, PVOX_FIDELITY_PROFILE_IDS, PVOX_FIDELITY_PROFILE_VERSION, PVOX_FILE_EXTENSION, PVOX_FORMAT_VERSION, PVOX_HASH_DOMAINS, PVOX_HASH_PREIMAGE_LAYOUTS, PVOX_HEADER_BYTE_LENGTH, PVOX_HIERARCHY_NODE_RECORD_BYTES, PVOX_INTERIOR_LAYER_RECORD_BYTES, PVOX_LEVEL_SPAN_RECORD_BYTES, PVOX_LOD_RECORD_BYTES, PVOX_MAGIC, PVOX_MASS_PROPERTY_RECORD_BYTES, PVOX_MATERIAL_REGION_RECORD_BYTES, PVOX_MAX_ABSOLUTE_COORDINATE_METRES, PVOX_MAX_CANONICAL_HASH_UTF8_BYTES_V1, PVOX_MAX_EDIT_PATCHES, PVOX_MAX_ENCODED_BRICK_PAYLOAD_BYTES, PVOX_MAX_HASH_PREIMAGE_BYTES_V1, PVOX_MAX_HIERARCHY_NODES, PVOX_MAX_LOCAL_SAMPLES_PER_BRICK, PVOX_MAX_RUNS_PER_BRICK, PVOX_MAX_SECTIONS, PVOX_MIN_BRICK_DESCRIPTOR_BYTES, PVOX_MIN_ENCODED_COLLISION_SAMPLE_BYTES, PVOX_MIN_ENCODED_SURFACE_SAMPLE_BYTES, PVOX_MIN_STATIC_SECTION_COUNT, PVOX_MODEL_REQUEST_POLICY_ID, PVOX_NAMED_JSON_CLOSURE_SPECS_V1, PVOX_NATIVE_RENDERER_ID, PVOX_NATIVE_REVIEW_SETTINGS_ID, PVOX_NON_OVERRIDABLE_GATE_KINDS, PVOX_PAGE_KINDS, PVOX_PAGE_SET_HASH_DOMAIN, PVOX_PAGE_SIZE_BYTES, PVOX_PARTITION_RECORD_BYTES, PVOX_PHYSICAL_EVIDENCE_HASH_DOMAIN, PVOX_PHYSICAL_EVIDENCE_RECORD_BYTES, PVOX_PHYSICAL_INVENTORY_HASH_DOMAIN, PVOX_PHYSICAL_PROPERTIES, PVOX_PHYSICAL_PROPERTY_POLICIES, PVOX_PHYSICAL_PROPERTY_POLICY_ID, PVOX_PHYSICAL_PROPERTY_POLICY_VERSION, PVOX_PHYSICAL_PROPERTY_RECORD_BYTES, PVOX_PHYSICAL_REGION_INVENTORY_VERSION, PVOX_PROCESSING_CLOSURE_HASH_DOMAIN, PVOX_PUBLICATION_HASH_DOMAIN, PVOX_RENDER_BRICK_MASK_BYTES, PVOX_RENDER_EVIDENCE_HASH_DOMAIN, PVOX_REQUEST_SEMANTIC_PROFILE_HASH_DOMAIN, PVOX_REQUIRED_OAUTH_CAPABILITIES, PVOX_ROOT_HASH_DOMAIN, PVOX_ROOT_HEADER_COMPILATION_INPUT_HASH_OFFSET, PVOX_ROOT_HEADER_COORDINATE_BASIS_METRES_Y_UP_NEGATIVE_Z_FORWARD_CCW, PVOX_ROOT_HEADER_DIRECTORY_HASH_OFFSET, PVOX_ROOT_HEADER_FLAGS_V1, PVOX_ROOT_HEADER_GEOMETRY_MODE_CODES_V1, PVOX_ROOT_HEADER_HASH_RULE, PVOX_ROOT_HEADER_INLINE_RESERVED_BYTE_LENGTH, PVOX_ROOT_HEADER_INLINE_RESERVED_OFFSET, PVOX_ROOT_HEADER_LAYOUT_V1, PVOX_ROOT_HEADER_MAXIMUM_FIXED_POINT_FRACTION_BITS_V1, PVOX_ROOT_HEADER_MAXIMUM_HIERARCHY_DEPTH_V1, PVOX_ROOT_HEADER_MINIMUM_FIXED_POINT_FRACTION_BITS_V1, PVOX_ROOT_HEADER_RUNTIME_REQUEST_PROFILE_HASH_OFFSET, PVOX_ROOT_HEADER_TRAILING_RESERVED_BYTE_LENGTH, PVOX_ROOT_HEADER_TRAILING_RESERVED_OFFSET, PVOX_ROOT_RECORD_BYTES, PVOX_RUNTIME_CAPABILITY_PROFILE_IDS, PVOX_RUNTIME_REQUEST_PROFILE_HASH_DOMAIN, PVOX_SECTION_ALIGNMENT_BYTES, PVOX_SECTION_HASH_DOMAIN, PVOX_SECTION_REGISTRY, PVOX_SHA256_BYTE_LENGTH, PVOX_SHA256_HEX_LENGTH, PVOX_SURFACE_PROPERTY_RECORD_BYTES, type PhysicalPropertyEvidence, type PhysicalPropertyKind, type PhysicalPropertyProvenance, type ProposedModelCandidateAssetRef, type PvoxAssemblyChild, type PvoxAssemblyClosureHashInputV1, type PvoxAssetManifest, type PvoxAssetManifestV1, type PvoxAuthenticatedResourceMetadata, type PvoxBinaryClosureHashInputV1, type PvoxBrickPatchDescriptor, type PvoxCapability, type PvoxCapabilityStatus, type PvoxCatalogAssemblyChildRef, type PvoxCompilerEvidence, type PvoxEditJournal, type PvoxEditJournalCurrentState, type PvoxEditOperation, type PvoxEditOverlayPatchHashInputV1, type PvoxEditOverlayRootHashInputV1, type PvoxEvaluationClosureHashInputV1, type PvoxFidelityEvidence, type PvoxFidelityProfileId, type PvoxGateEvidence, type PvoxGeometryMode, type PvoxHashAttestation, type PvoxLodLevel, type PvoxLodRecord, type PvoxModelMatchAssessmentV2, type PvoxModelResolutionJsonSchema, type PvoxNamedJsonClosureV1, type PvoxNonOverridableGateKind, type PvoxPageHashRecordV1, type PvoxPageRecord, type PvoxPageSpatialKey, type PvoxPhysicalEvidenceHashInputV1, type PvoxPhysicalEvidenceRegionMaterialV1, type PvoxPhysicalInventoryHashInputV1, type PvoxPhysicalInventoryHashRecordV1, type PvoxPhysicalRegionInventoryEntry, type PvoxPhysicalRegionInventoryV1, type PvoxProcessingClosureHashInputV1, type PvoxRenderEvidence, type PvoxRequestedGeometryMode, type PvoxReviewedStructuralEvidence, type PvoxReviewedStructuralEvidenceKind, type PvoxRootHeaderGeometryModeV1, type PvoxRootHeaderInputV1, type PvoxRootSectionHashRecordV1, type PvoxRuntimeCapabilityProfileId, type PvoxRuntimeLimitsV1, type PvoxRuntimeRequestProfileV1, type PvoxStagedAssemblyChildRef, type QualifiedModelConversionDiagnostic, type QualifiedModelConversionDiagnostics, STATIC_WORLD_V1_MODEL_POLICY, type ShaderAssetManifest, type ShaderStyleProfileAssetManifest, type ShaderStyleProfileRefInput, type ShaderValidationEvidenceAssetManifest, type ShaderVersionRefInput, type StagedModelAssemblyChildRef, type TypedAssetManifest, UNIFIED_ASSET_PIPELINE_FEATURE_FLAG_ID, type UnavailableModelGeneratorResult, type VoxelCapabilityAssessment, type VoxelTechnicalProfile, assertAssetId, assertAssetVersion, assertImmutableAssetVersion, calculatePvoxMinimumArtifactByteLength, canonicalizeModelRequestSemanticProfileV1, canonicalizePvoxHashProjectionV1, canonicalizePvoxNamedJsonClosureV1, classifyModelMatchAssurance, createAssetFileDescriptor, createAssetJobRecord, createAssetManifest, createAssetPromotionRecord, createAssetReviewReport, createDisabledModelGeneratorPort, createGpuAssetManifest, createGpuAssetPromotionRecord, createGpuInterfaceAssetManifest, createGpuInterfaceRef, createModelAssetManifest, createModelAssetRef, createModelCandidate, createModelCandidateConfirmation, createModelCandidateConfirmationV2, createModelCandidateV2, createModelGeneratorRequest, createModelGeneratorResult, createModelMatchAssessment, createModelProcessingManifest, createModelProcessingManifestV2, createModelProvenance, createModelRequestSpec, createModelRequestSpecV2, createModelResolution, createModelResolutionV2, createModelResourceRef, createModelRightsAssessment, createModelTechnicalProfile, createPhysicalPropertyEvidence, createPvoxAssetManifest, createPvoxAssetManifestV1, createPvoxEditJournal, createPvoxEditJournalChain, createPvoxFidelityEvidence, createPvoxGateEvidence, createPvoxModelMatchAssessmentV2, createPvoxPhysicalRegionInventoryV1, createShaderAssetManifest, createShaderStyleProfileAssetManifest, createShaderStyleProfileRef, createShaderValidationEvidenceAssetManifest, createShaderValidationEvidenceRef, createShaderVersionRef, createStandardScreenshotPlan, createVoxelCapabilityAssessment, createVoxelTechnicalProfile, decodePvoxSha256HexV1, encodePvoxAssemblyClosureHashPreimageV1, encodePvoxBinaryClosureHashPreimageV1, encodePvoxCanonicalUtf8V1, encodePvoxCapabilitySetHashPreimageV1, encodePvoxDirectoryHashPreimageV1, encodePvoxEditOverlayRootHashPreimageV1, encodePvoxEvaluationClosureHashPreimageV1, encodePvoxI64LeV1, encodePvoxNamedJsonClosurePreimageV1, encodePvoxPageSetHashPreimageV1, encodePvoxPhysicalEvidenceHashPreimageV1, encodePvoxPhysicalInventoryHashPreimageV1, encodePvoxProcessingClosureHashPreimageV1, encodePvoxRootHashPreimageV1, encodePvoxRootHeaderV1, encodePvoxSectionHashPreimageV1, encodePvoxU16LeV1, encodePvoxU32LeV1, encodePvoxU64LeV1, evaluateModelHardConstraints, evaluateModelHardConstraintsForProfile, isAssetFileRole, isAssetId, isAssetJobState, isAssetKind, isAssetPromotionOutcome, isAssetSourceAdapter, isModelCandidateConfirmable, isModelCandidateV2Confirmable, isModelResolutionState, isModelResolutionStateV2, normalizeAssetId, normalizePvoxRootHeaderForHashV1, projectPvoxNamedJsonClosureV1, qualifyModelConversionDiagnostics, qualifyModelResourceManifest, toLegacyModelResolutionState, validateGpuAssetFiles };
|
|
2215
|
+
export { ASSET_CONTRACTS_PACKAGE, ASSET_FILE_ROLES, ASSET_JOB_STATES, ASSET_JSON_CONTENT_TYPE, ASSET_KINDS, ASSET_PIPELINE_MCP_CAPABILITY, ASSET_PIPELINE_REVIEW_CAPABILITY, ASSET_PROMOTION_OUTCOMES, ASSET_REVIEW_SEVERITIES, ASSET_SCREENSHOT_KINDS, ASSET_SOURCE_ADAPTERS, ASSET_WGSL_CONTENT_TYPE, type AssetFileDescriptor, type AssetFileRole, type AssetJobRecord, type AssetJobState, type AssetKind, type AssetManifest, type AssetPromotionOutcome, type AssetPromotionRecord, type AssetReviewFinding, type AssetReviewReport, type AssetReviewSeverity, type AssetScreenshotKind, type AssetScreenshotPlanItem, type AssetSourceAdapter, type BudgetExceededModelGeneratorResult, CANONICAL_MODEL_COORDINATE_SYSTEM, type CancelledModelGeneratorResult, type ConfirmableModelCandidateV2, type DiagnosticModelCandidateV2, type DisabledModelGeneratorResult, type ExistingModelCandidateAssetRef, type FailedModelGeneratorResult, type GeneratedModelGeneratorResult, type GpuAssetFileValidationInput, type GpuAssetManifest, type GpuInterfaceAssetManifest, type GpuInterfaceRefInput, MODEL_ASSET_KINDS, MODEL_CANDIDATE_HARD_GATE_KINDS, MODEL_CONFIRMATION_VIEW_KINDS, MODEL_CONFIRMATION_VIEW_SIZE_PX, MODEL_CONVERSION_DIAGNOSTIC_LIMITS, MODEL_GENERATOR_DISABLED_REASON_CODE, MODEL_MATCH_ASSURANCE_BANDS, MODEL_MATCH_ASSURANCE_THRESHOLDS, MODEL_PROVENANCE_KINDS, MODEL_RANKER_ASSURANCE_CEILING_REASON_CODE, MODEL_RANKER_EVIDENCE_MODES, MODEL_REQUEST_MAX_REVISION, MODEL_RESOLUTION_CONTRACT_VERSION, MODEL_RESOLUTION_STATES, MODEL_RESOLUTION_V2_COMPATIBILITY_STATES, MODEL_RESOLUTION_V2_CONTRACT_VERSION, MODEL_RESOLUTION_V2_JSON_SCHEMAS, MODEL_RESOLUTION_V2_STATES, MODEL_RESOURCE_MANIFEST_LIMITS, MODEL_RIGHTS_STATUSES, MODEL_TEXTURE_RESOURCE_LIMITS, MODEL_TEXT_ONLY_ASSURANCE_CEILING_REASON_CODE, type ModelAssemblyChild, type ModelAssemblyChildAssetRef, type ModelAssetKind, type ModelAssetManifest, type ModelAssetManifestInput, type ModelAssetRef, type ModelAttribution, type ModelBoundsMetres, type ModelBoundsMetresV2, type ModelCandidate, type ModelCandidateAssetRef, type ModelCandidateConfirmation, type ModelCandidateConfirmationBindingV2, type ModelCandidateConfirmationV2, type ModelCandidateHardGateEvidence, type ModelCandidateHardGateKind, type ModelCandidateV2, type ModelCollisionKind, type ModelCollisionPolicyEvidence, type ModelCollisionRecord, type ModelConfirmationView, type ModelConfirmationViewKind, type ModelConfirmationViews, type ModelConversionDiagnosticCode, ModelConversionDiagnosticsError, type ModelConversionDiagnosticsInput, type ModelConversionDiagnosticsOptions, type ModelConversionLoss, type ModelConversionResourceBinding, type ModelConverterDiagnostic, type ModelConverterEvidence, type ModelDerivedTextureResource, type ModelDiagnosticSeverity, type ModelDimensionsMetres, type ModelDimensionsMetresV2, type ModelFidelityAspect, type ModelFidelityEvidence, type ModelFidelityGateEvidence, type ModelFidelityOutcome, type ModelGeneratorArtifact, type ModelGeneratorArtifactRole, type ModelGeneratorBudgetName, type ModelGeneratorBudgetViolation, type ModelGeneratorBudgets, type ModelGeneratorCallOptions, type ModelGeneratorCancellationReason, type ModelGeneratorFailureReason, type ModelGeneratorIdentity, type ModelGeneratorPort, type ModelGeneratorRequest, type ModelGeneratorResult, type ModelGeneratorSourceBundle, type ModelGeneratorUnavailableReason, type ModelGeneratorUsage, type ModelHardConstraintEvaluation, type ModelHardConstraints, type ModelHardConstraintsV2, type ModelLodLevel, type ModelLodRecord, type ModelMatchAssessment, type ModelMatchAssurance, type ModelPartitionPolicy, type ModelProcessingManifest, type ModelProcessingManifestV2, type ModelPromotionReceipt, type ModelPromotionReceiptV2, type ModelProvenance, type ModelProvenanceKind, type ModelQuaternion, type ModelRankerEvidenceMode, type ModelRankerRef, type ModelRefinementQuestionV2, type ModelRenderEvidence, type ModelRequestSpec, type ModelRequestSpecV2, type ModelRequirementPolicy, type ModelResolution, type ModelResolutionState, type ModelResolutionStateV2, type ModelResolutionV2, type ModelResourceFileInput, ModelResourceManifestError, type ModelResourceManifestQualificationInput, type ModelResourceRef, type ModelRightsAssessment, type ModelRightsStatus, type ModelSoftPreferences, type ModelSourceIngestionLimitsV2, type ModelTechnicalProfile, type ModelTextureResourceBinding, ModelTextureResourceError, type ModelTextureResourceQualificationInput, type ModelTextureResourceQualificationOptions, type ModelTransform, type ModelVector3, PVOX_ASSEMBLY_CLOSURE_HASH_DOMAIN, PVOX_ASSET_MANIFEST_VERSION, PVOX_BINARY_CLOSURE_HASH_DOMAIN, PVOX_BOND_RECORD_BYTES, PVOX_BRICK_EDGE_VOXELS, PVOX_CANONICAL_UTF8_LENGTH_PREFIX_BYTES, PVOX_CAPABILITIES, PVOX_CAPABILITY_SET_HASH_DOMAIN, PVOX_COLLISION_BRICK_MASK_BYTES, PVOX_COLLISION_SECTION_COUNT, PVOX_CONFIRMATION_BINDING_HASH_DOMAIN, PVOX_CONTENT_TYPE, PVOX_DEFAULT_LIMITS, PVOX_DEFAULT_SOURCE_INGESTION_LIMITS, PVOX_DIRECTORY_ENTRY_BYTE_LENGTH, PVOX_DIRECTORY_HASH_DOMAIN, PVOX_EDIT_JOURNAL_GENESIS_HASH, PVOX_EDIT_JOURNAL_HASH_DOMAIN, PVOX_EDIT_JOURNAL_VERSION, PVOX_EDIT_OVERLAY_ROOT_HASH_DOMAIN, PVOX_EVALUATION_CLOSURE_HASH_DOMAIN, PVOX_FEATURE_FLAG_ID, PVOX_FIDELITY_PROFILE_IDS, PVOX_FIDELITY_PROFILE_VERSION, PVOX_FILE_EXTENSION, PVOX_FORMAT_VERSION, PVOX_HASH_DOMAINS, PVOX_HASH_PREIMAGE_LAYOUTS, PVOX_HEADER_BYTE_LENGTH, PVOX_HIERARCHY_NODE_RECORD_BYTES, PVOX_INTERIOR_LAYER_RECORD_BYTES, PVOX_LEVEL_SPAN_RECORD_BYTES, PVOX_LOD_RECORD_BYTES, PVOX_MAGIC, PVOX_MASS_PROPERTY_RECORD_BYTES, PVOX_MATERIAL_REGION_RECORD_BYTES, PVOX_MAX_ABSOLUTE_COORDINATE_METRES, PVOX_MAX_CANONICAL_HASH_UTF8_BYTES_V1, PVOX_MAX_EDIT_PATCHES, PVOX_MAX_ENCODED_BRICK_PAYLOAD_BYTES, PVOX_MAX_HASH_PREIMAGE_BYTES_V1, PVOX_MAX_HIERARCHY_NODES, PVOX_MAX_LOCAL_SAMPLES_PER_BRICK, PVOX_MAX_RUNS_PER_BRICK, PVOX_MAX_SECTIONS, PVOX_MIN_BRICK_DESCRIPTOR_BYTES, PVOX_MIN_ENCODED_COLLISION_SAMPLE_BYTES, PVOX_MIN_ENCODED_SURFACE_SAMPLE_BYTES, PVOX_MIN_STATIC_SECTION_COUNT, PVOX_MODEL_REQUEST_POLICY_ID, PVOX_NAMED_JSON_CLOSURE_SPECS_V1, PVOX_NATIVE_RENDERER_ID, PVOX_NATIVE_REVIEW_SETTINGS_ID, PVOX_NON_OVERRIDABLE_GATE_KINDS, PVOX_PAGE_KINDS, PVOX_PAGE_SET_HASH_DOMAIN, PVOX_PAGE_SIZE_BYTES, PVOX_PARTITION_RECORD_BYTES, PVOX_PHYSICAL_EVIDENCE_HASH_DOMAIN, PVOX_PHYSICAL_EVIDENCE_RECORD_BYTES, PVOX_PHYSICAL_INVENTORY_HASH_DOMAIN, PVOX_PHYSICAL_PROPERTIES, PVOX_PHYSICAL_PROPERTY_POLICIES, PVOX_PHYSICAL_PROPERTY_POLICY_ID, PVOX_PHYSICAL_PROPERTY_POLICY_VERSION, PVOX_PHYSICAL_PROPERTY_RECORD_BYTES, PVOX_PHYSICAL_REGION_INVENTORY_VERSION, PVOX_PROCESSING_CLOSURE_HASH_DOMAIN, PVOX_PUBLICATION_HASH_DOMAIN, PVOX_RENDER_BRICK_MASK_BYTES, PVOX_RENDER_EVIDENCE_HASH_DOMAIN, PVOX_REQUEST_SEMANTIC_PROFILE_HASH_DOMAIN, PVOX_REQUIRED_OAUTH_CAPABILITIES, PVOX_ROOT_HASH_DOMAIN, PVOX_ROOT_HEADER_COMPILATION_INPUT_HASH_OFFSET, PVOX_ROOT_HEADER_COORDINATE_BASIS_METRES_Y_UP_NEGATIVE_Z_FORWARD_CCW, PVOX_ROOT_HEADER_DIRECTORY_HASH_OFFSET, PVOX_ROOT_HEADER_FLAGS_V1, PVOX_ROOT_HEADER_GEOMETRY_MODE_CODES_V1, PVOX_ROOT_HEADER_HASH_RULE, PVOX_ROOT_HEADER_INLINE_RESERVED_BYTE_LENGTH, PVOX_ROOT_HEADER_INLINE_RESERVED_OFFSET, PVOX_ROOT_HEADER_LAYOUT_V1, PVOX_ROOT_HEADER_MAXIMUM_FIXED_POINT_FRACTION_BITS_V1, PVOX_ROOT_HEADER_MAXIMUM_HIERARCHY_DEPTH_V1, PVOX_ROOT_HEADER_MINIMUM_FIXED_POINT_FRACTION_BITS_V1, PVOX_ROOT_HEADER_RUNTIME_REQUEST_PROFILE_HASH_OFFSET, PVOX_ROOT_HEADER_TRAILING_RESERVED_BYTE_LENGTH, PVOX_ROOT_HEADER_TRAILING_RESERVED_OFFSET, PVOX_ROOT_RECORD_BYTES, PVOX_RUNTIME_CAPABILITY_PROFILE_IDS, PVOX_RUNTIME_REQUEST_PROFILE_HASH_DOMAIN, PVOX_SECTION_ALIGNMENT_BYTES, PVOX_SECTION_HASH_DOMAIN, PVOX_SECTION_REGISTRY, PVOX_SHA256_BYTE_LENGTH, PVOX_SHA256_HEX_LENGTH, PVOX_SURFACE_PROPERTY_RECORD_BYTES, type PhysicalPropertyEvidence, type PhysicalPropertyKind, type PhysicalPropertyProvenance, type ProposedModelCandidateAssetRef, type PvoxAssemblyChild, type PvoxAssemblyClosureHashInputV1, type PvoxAssetManifest, type PvoxAssetManifestV1, type PvoxAuthenticatedResourceMetadata, type PvoxBinaryClosureHashInputV1, type PvoxBrickPatchDescriptor, type PvoxCapability, type PvoxCapabilityStatus, type PvoxCatalogAssemblyChildRef, type PvoxCompilerEvidence, type PvoxEditJournal, type PvoxEditJournalCurrentState, type PvoxEditOperation, type PvoxEditOverlayPatchHashInputV1, type PvoxEditOverlayRootHashInputV1, type PvoxEvaluationClosureHashInputV1, type PvoxFidelityEvidence, type PvoxFidelityProfileId, type PvoxGateEvidence, type PvoxGeometryMode, type PvoxHashAttestation, type PvoxLodLevel, type PvoxLodRecord, type PvoxModelMatchAssessmentV2, type PvoxModelResolutionJsonSchema, type PvoxNamedJsonClosureV1, type PvoxNonOverridableGateKind, type PvoxPageHashRecordV1, type PvoxPageRecord, type PvoxPageSpatialKey, type PvoxPhysicalEvidenceHashInputV1, type PvoxPhysicalEvidenceRegionMaterialV1, type PvoxPhysicalInventoryHashInputV1, type PvoxPhysicalInventoryHashRecordV1, type PvoxPhysicalRegionInventoryEntry, type PvoxPhysicalRegionInventoryV1, type PvoxProcessingClosureHashInputV1, type PvoxRenderEvidence, type PvoxRequestedGeometryMode, type PvoxReviewedStructuralEvidence, type PvoxReviewedStructuralEvidenceKind, type PvoxRootHeaderGeometryModeV1, type PvoxRootHeaderInputV1, type PvoxRootSectionHashRecordV1, type PvoxRuntimeCapabilityProfileId, type PvoxRuntimeLimitsV1, type PvoxRuntimeRequestProfileV1, type PvoxStagedAssemblyChildRef, type QualifiedModelConversionDiagnostic, type QualifiedModelConversionDiagnostics, type QualifiedModelTextureResource, type QualifiedModelTextureResources, STATIC_WORLD_V1_MODEL_POLICY, type ShaderAssetManifest, type ShaderStyleProfileAssetManifest, type ShaderStyleProfileRefInput, type ShaderValidationEvidenceAssetManifest, type ShaderVersionRefInput, type StagedModelAssemblyChildRef, type TypedAssetManifest, UNIFIED_ASSET_PIPELINE_FEATURE_FLAG_ID, type UnavailableModelGeneratorResult, type VoxelCapabilityAssessment, type VoxelTechnicalProfile, assertAssetId, assertAssetVersion, assertImmutableAssetVersion, calculatePvoxMinimumArtifactByteLength, canonicalizeModelRequestSemanticProfileV1, canonicalizePvoxHashProjectionV1, canonicalizePvoxNamedJsonClosureV1, classifyModelMatchAssurance, createAssetFileDescriptor, createAssetJobRecord, createAssetManifest, createAssetPromotionRecord, createAssetReviewReport, createDisabledModelGeneratorPort, createGpuAssetManifest, createGpuAssetPromotionRecord, createGpuInterfaceAssetManifest, createGpuInterfaceRef, createModelAssetManifest, createModelAssetRef, createModelCandidate, createModelCandidateConfirmation, createModelCandidateConfirmationV2, createModelCandidateV2, createModelGeneratorRequest, createModelGeneratorResult, createModelMatchAssessment, createModelProcessingManifest, createModelProcessingManifestV2, createModelProvenance, createModelRequestSpec, createModelRequestSpecV2, createModelResolution, createModelResolutionV2, createModelResourceRef, createModelRightsAssessment, createModelTechnicalProfile, createPhysicalPropertyEvidence, createPvoxAssetManifest, createPvoxAssetManifestV1, createPvoxEditJournal, createPvoxEditJournalChain, createPvoxFidelityEvidence, createPvoxGateEvidence, createPvoxModelMatchAssessmentV2, createPvoxPhysicalRegionInventoryV1, createShaderAssetManifest, createShaderStyleProfileAssetManifest, createShaderStyleProfileRef, createShaderValidationEvidenceAssetManifest, createShaderValidationEvidenceRef, createShaderVersionRef, createStandardScreenshotPlan, createVoxelCapabilityAssessment, createVoxelTechnicalProfile, decodePvoxSha256HexV1, encodePvoxAssemblyClosureHashPreimageV1, encodePvoxBinaryClosureHashPreimageV1, encodePvoxCanonicalUtf8V1, encodePvoxCapabilitySetHashPreimageV1, encodePvoxDirectoryHashPreimageV1, encodePvoxEditOverlayRootHashPreimageV1, encodePvoxEvaluationClosureHashPreimageV1, encodePvoxI64LeV1, encodePvoxNamedJsonClosurePreimageV1, encodePvoxPageSetHashPreimageV1, encodePvoxPhysicalEvidenceHashPreimageV1, encodePvoxPhysicalInventoryHashPreimageV1, encodePvoxProcessingClosureHashPreimageV1, encodePvoxRootHashPreimageV1, encodePvoxRootHeaderV1, encodePvoxSectionHashPreimageV1, encodePvoxU16LeV1, encodePvoxU32LeV1, encodePvoxU64LeV1, evaluateModelHardConstraints, evaluateModelHardConstraintsForProfile, isAssetFileRole, isAssetId, isAssetJobState, isAssetKind, isAssetPromotionOutcome, isAssetSourceAdapter, isModelCandidateConfirmable, isModelCandidateV2Confirmable, isModelResolutionState, isModelResolutionStateV2, normalizeAssetId, normalizePvoxRootHeaderForHashV1, projectPvoxNamedJsonClosureV1, qualifyModelConversionDiagnostics, qualifyModelResourceManifest, qualifyModelTextureResources, toLegacyModelResolutionState, validateGpuAssetFiles };
|
package/dist/index.js
CHANGED
|
@@ -196,11 +196,11 @@ function assertNoDirectUrl(value, fieldName) {
|
|
|
196
196
|
}
|
|
197
197
|
}
|
|
198
198
|
function requiredToken(value, fieldName) {
|
|
199
|
-
const
|
|
200
|
-
if (!TOKEN_PATTERN.test(
|
|
199
|
+
const token3 = requiredString(value, fieldName, 128);
|
|
200
|
+
if (!TOKEN_PATTERN.test(token3)) {
|
|
201
201
|
throw new Error(`${fieldName} must be a token up to 128 characters.`);
|
|
202
202
|
}
|
|
203
|
-
return
|
|
203
|
+
return token3;
|
|
204
204
|
}
|
|
205
205
|
function requiredModelPathSegment(value, fieldName) {
|
|
206
206
|
const segment = requiredString(value, fieldName, 128);
|
|
@@ -6701,9 +6701,9 @@ function snapshot(value, budget, depth = 0) {
|
|
|
6701
6701
|
return value;
|
|
6702
6702
|
}
|
|
6703
6703
|
if (Array.isArray(value)) return Object.freeze(list(value).map((item) => snapshot(item, budget, depth + 1)));
|
|
6704
|
-
const
|
|
6705
|
-
for (const key of Object.keys(
|
|
6706
|
-
return Object.freeze(
|
|
6704
|
+
const fields3 = record(value);
|
|
6705
|
+
for (const key of Object.keys(fields3)) fields3[key] = snapshot(fields3[key], budget, depth + 1);
|
|
6706
|
+
return Object.freeze(fields3);
|
|
6707
6707
|
}
|
|
6708
6708
|
function path(value) {
|
|
6709
6709
|
if (typeof value !== "string" || value.length > 1024 || !value.length) fail();
|
|
@@ -6812,6 +6812,176 @@ async function qualify(input) {
|
|
|
6812
6812
|
return Object.freeze({ ...manifest, files: Object.freeze([...manifest.files].sort((a, b) => a.path < b.path ? -1 : a.path > b.path ? 1 : 0)) });
|
|
6813
6813
|
}
|
|
6814
6814
|
|
|
6815
|
+
// src/model-texture-resources.ts
|
|
6816
|
+
import { isGpuModelResourceGraph } from "@plasius/gpu-model-core";
|
|
6817
|
+
var MODEL_TEXTURE_RESOURCE_LIMITS = Object.freeze({ resources: 16384, derived: 4096, nodes: 65536, values: 262144, characters: 2097152, depth: 16, timeoutMs: 6e4 });
|
|
6818
|
+
var ModelTextureResourceError = class extends TypeError {
|
|
6819
|
+
constructor(code) {
|
|
6820
|
+
super(`Invalid model texture resources: ${code}`);
|
|
6821
|
+
this.code = code;
|
|
6822
|
+
this.name = "ModelTextureResourceError";
|
|
6823
|
+
}
|
|
6824
|
+
code;
|
|
6825
|
+
};
|
|
6826
|
+
function fail2(code = "invalid-input") {
|
|
6827
|
+
throw new ModelTextureResourceError(code);
|
|
6828
|
+
}
|
|
6829
|
+
function fields(value, allowed) {
|
|
6830
|
+
if (!value || typeof value !== "object" || ![Object.prototype, null].includes(Object.getPrototypeOf(value))) fail2();
|
|
6831
|
+
const keys = Reflect.ownKeys(value);
|
|
6832
|
+
if (keys.length > 1024) fail2("limit-exceeded");
|
|
6833
|
+
const result = /* @__PURE__ */ Object.create(null);
|
|
6834
|
+
for (const key of keys) {
|
|
6835
|
+
if (typeof key !== "string" || key.length > 128 || ["__proto__", "prototype", "constructor"].includes(key) || allowed && !allowed.includes(key)) fail2();
|
|
6836
|
+
const property = Object.getOwnPropertyDescriptor(value, key);
|
|
6837
|
+
if (!("value" in property) || !property.enumerable) fail2();
|
|
6838
|
+
result[key] = property.value;
|
|
6839
|
+
}
|
|
6840
|
+
return result;
|
|
6841
|
+
}
|
|
6842
|
+
function array(value, maximum) {
|
|
6843
|
+
if (!Array.isArray(value) || Object.getPrototypeOf(value) !== Array.prototype) fail2();
|
|
6844
|
+
if (value.length > maximum) fail2("limit-exceeded");
|
|
6845
|
+
if (Reflect.ownKeys(value).length !== value.length + 1) fail2();
|
|
6846
|
+
const result = [];
|
|
6847
|
+
for (let i = 0; i < value.length; i++) {
|
|
6848
|
+
const property = Object.getOwnPropertyDescriptor(value, String(i));
|
|
6849
|
+
if (!property || !("value" in property) || !property.enumerable) fail2();
|
|
6850
|
+
result.push(property.value);
|
|
6851
|
+
}
|
|
6852
|
+
return result;
|
|
6853
|
+
}
|
|
6854
|
+
function snapshot2(value, budget, depth = 0) {
|
|
6855
|
+
if (--budget.values < 0 || depth > MODEL_TEXTURE_RESOURCE_LIMITS.depth) fail2("limit-exceeded");
|
|
6856
|
+
if (value === null || value === void 0 || typeof value === "boolean") return value;
|
|
6857
|
+
if (typeof value === "number" && Number.isFinite(value)) return value;
|
|
6858
|
+
if (typeof value === "string") {
|
|
6859
|
+
budget.characters -= value.length;
|
|
6860
|
+
if (value.length > 2048 || budget.characters < 0) fail2("limit-exceeded");
|
|
6861
|
+
return value;
|
|
6862
|
+
}
|
|
6863
|
+
if (Array.isArray(value)) return Object.freeze(array(value, MODEL_TEXTURE_RESOURCE_LIMITS.resources).map((v) => snapshot2(v, budget, depth + 1)));
|
|
6864
|
+
const result = fields(value);
|
|
6865
|
+
for (const key of Object.keys(result)) {
|
|
6866
|
+
budget.characters -= key.length;
|
|
6867
|
+
if (budget.characters < 0) fail2("limit-exceeded");
|
|
6868
|
+
result[key] = snapshot2(result[key], budget, depth + 1);
|
|
6869
|
+
}
|
|
6870
|
+
return Object.freeze(result);
|
|
6871
|
+
}
|
|
6872
|
+
function token2(value) {
|
|
6873
|
+
if (typeof value !== "string" || !/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/u.test(value)) fail2();
|
|
6874
|
+
return value;
|
|
6875
|
+
}
|
|
6876
|
+
var compare = (a, b) => a < b ? -1 : a > b ? 1 : 0;
|
|
6877
|
+
var imageMime = (value) => ["image/png", "image/jpeg", "image/webp", "image/ktx2"].includes(value);
|
|
6878
|
+
var bufferMime = (value) => ["application/octet-stream", "application/vnd.plasius.gpu-buffer"].includes(value);
|
|
6879
|
+
function storageRole(role, file) {
|
|
6880
|
+
const valid = role === "texture" ? file.role === "texture" && imageMime(file.contentType) : role === "material" || role === "animation" ? file.role === "metadata" && file.contentType === "application/json" : role === "mesh" ? file.role === "binary" && bufferMime(file.contentType) || file.role === "model" && (file.contentType.startsWith("model/") || ["application/json", "application/octet-stream", "text/plain"].includes(file.contentType)) : role === "auxiliary" && (file.role === "binary" && bufferMime(file.contentType) || file.role === "metadata" && file.contentType === "application/json");
|
|
6881
|
+
if (!valid) fail2("role-mismatch");
|
|
6882
|
+
}
|
|
6883
|
+
async function qualifyModelTextureResources(input, options = {}) {
|
|
6884
|
+
let timer;
|
|
6885
|
+
let signal;
|
|
6886
|
+
let onAbort;
|
|
6887
|
+
try {
|
|
6888
|
+
const started = performance.now();
|
|
6889
|
+
const controls = fields(options, ["signal", "timeoutMs"]);
|
|
6890
|
+
const timeoutMs = controls.timeoutMs === void 0 ? 1e4 : controls.timeoutMs;
|
|
6891
|
+
if (typeof timeoutMs !== "number" || !Number.isSafeInteger(timeoutMs) || timeoutMs < 1 || timeoutMs > MODEL_TEXTURE_RESOURCE_LIMITS.timeoutMs) fail2();
|
|
6892
|
+
signal = controls.signal;
|
|
6893
|
+
const aborted = Object.getOwnPropertyDescriptor(AbortSignal.prototype, "aborted").get;
|
|
6894
|
+
const check = () => {
|
|
6895
|
+
if (signal !== void 0 && aborted.call(signal)) fail2("aborted");
|
|
6896
|
+
if (performance.now() - started >= timeoutMs) fail2("deadline-exceeded");
|
|
6897
|
+
};
|
|
6898
|
+
check();
|
|
6899
|
+
const root = fields(input, ["manifest", "packageManifest", "files", "graph", "resources", "derived"]);
|
|
6900
|
+
const graph = root.graph;
|
|
6901
|
+
if (!isGpuModelResourceGraph(graph)) fail2("unverified-graph");
|
|
6902
|
+
if (graph.nodes.length > MODEL_TEXTURE_RESOURCE_LIMITS.nodes) fail2("limit-exceeded");
|
|
6903
|
+
const budget = { values: MODEL_TEXTURE_RESOURCE_LIMITS.values, characters: MODEL_TEXTURE_RESOURCE_LIMITS.characters };
|
|
6904
|
+
const inventory = snapshot2(root.packageManifest, budget);
|
|
6905
|
+
const bindings = array(snapshot2(root.resources, budget), MODEL_TEXTURE_RESOURCE_LIMITS.resources).map((value) => {
|
|
6906
|
+
const binding = fields(value, ["resourceId", "filePath"]);
|
|
6907
|
+
return Object.freeze({ resourceId: token2(binding.resourceId), filePath: tokenPath(binding.filePath) });
|
|
6908
|
+
});
|
|
6909
|
+
const derived = array(snapshot2(root.derived, budget), MODEL_TEXTURE_RESOURCE_LIMITS.derived).map((value) => {
|
|
6910
|
+
const record2 = fields(value, ["role", "filePath", "sourceResourceIds"]);
|
|
6911
|
+
if (record2.role !== "gpu-upload" && record2.role !== "texture-atlas") fail2("role-mismatch");
|
|
6912
|
+
const ids = array(record2.sourceResourceIds, MODEL_TEXTURE_RESOURCE_LIMITS.resources).map(token2);
|
|
6913
|
+
if (!ids.length || new Set(ids).size !== ids.length) fail2("resource-mismatch");
|
|
6914
|
+
return Object.freeze({ role: record2.role, filePath: tokenPath(record2.filePath), sourceResourceIds: Object.freeze(ids.sort(compare)) });
|
|
6915
|
+
});
|
|
6916
|
+
check();
|
|
6917
|
+
const interrupted = new Promise((_resolve, reject) => {
|
|
6918
|
+
timer = setTimeout(() => reject(new ModelTextureResourceError("deadline-exceeded")), Math.max(1, timeoutMs - (performance.now() - started)));
|
|
6919
|
+
onAbort = () => reject(new ModelTextureResourceError("aborted"));
|
|
6920
|
+
if (signal) AbortSignal.prototype.addEventListener.call(signal, "abort", onAbort, { once: true });
|
|
6921
|
+
});
|
|
6922
|
+
const manifest = await Promise.race([
|
|
6923
|
+
qualifyModelResourceManifest({ manifest: root.manifest, files: root.files, packageManifest: inventory, signal, timeoutMs }),
|
|
6924
|
+
interrupted
|
|
6925
|
+
]);
|
|
6926
|
+
check();
|
|
6927
|
+
const files = new Map(manifest.files.map((file) => [file.path, file]));
|
|
6928
|
+
const roles = new Map(inventory.entries.map((entry) => [entry.path, entry.role]));
|
|
6929
|
+
for (const entry of inventory.entries) storageRole(entry.role, files.get(entry.path));
|
|
6930
|
+
const resources = new Map(graph.nodes.filter((node) => node.kind === "resource").map((node) => [node.id, node.value]));
|
|
6931
|
+
if (bindings.length !== resources.size || new Set(bindings.map((b) => b.resourceId)).size !== bindings.length) fail2("resource-mismatch");
|
|
6932
|
+
const resourceFiles = /* @__PURE__ */ new Set();
|
|
6933
|
+
const qualified = bindings.map((binding) => {
|
|
6934
|
+
const value = resources.get(binding.resourceId);
|
|
6935
|
+
const file = files.get(binding.filePath);
|
|
6936
|
+
if (!value || !file) fail2("resource-mismatch");
|
|
6937
|
+
const { resource, location, exportEmbeddingPolicy } = value;
|
|
6938
|
+
if (location.kind === "external") {
|
|
6939
|
+
if (binding.filePath !== location.relativePath || file.sha256 !== resource.contentHash || file.byteLength !== resource.byteLength || file.contentType !== resource.mimeType) fail2("resource-mismatch");
|
|
6940
|
+
if (resource.kind === "image" ? roles.get(file.path) !== "texture" : file.role !== "binary") fail2("role-mismatch");
|
|
6941
|
+
} else if (binding.filePath !== manifest.entrypoint || file.role !== "model") fail2("resource-mismatch");
|
|
6942
|
+
resourceFiles.add(binding.filePath);
|
|
6943
|
+
return Object.freeze({ ...binding, kind: resource.kind, contentHash: resource.contentHash, byteLength: resource.byteLength, mimeType: resource.mimeType, location, exportEmbeddingPolicy });
|
|
6944
|
+
});
|
|
6945
|
+
const outputFiles = /* @__PURE__ */ new Set();
|
|
6946
|
+
for (const output of derived) {
|
|
6947
|
+
const file = files.get(output.filePath);
|
|
6948
|
+
if (!file || outputFiles.has(output.filePath) || resourceFiles.has(output.filePath)) fail2("resource-mismatch");
|
|
6949
|
+
outputFiles.add(output.filePath);
|
|
6950
|
+
for (const id of output.sourceResourceIds) {
|
|
6951
|
+
const source2 = resources.get(id);
|
|
6952
|
+
if (!source2 || output.role === "texture-atlas" && source2.resource.kind !== "image") fail2("resource-mismatch");
|
|
6953
|
+
}
|
|
6954
|
+
if (output.role === "gpu-upload" ? file.role !== "binary" || !bufferMime(file.contentType) || roles.get(file.path) !== "auxiliary" : file.role !== "texture" || !imageMime(file.contentType) || roles.get(file.path) !== "texture") fail2("role-mismatch");
|
|
6955
|
+
}
|
|
6956
|
+
const materials = graph.nodes.filter((node) => node.kind === "material").map((node) => node.value);
|
|
6957
|
+
const textures = graph.nodes.filter((node) => node.kind === "texture").map((node) => node.value);
|
|
6958
|
+
const source = graph.nodes.find((node) => node.kind === "provenance");
|
|
6959
|
+
if (source.kind !== "provenance") fail2();
|
|
6960
|
+
snapshot2({ materials, textures, source: source.value }, budget);
|
|
6961
|
+
check();
|
|
6962
|
+
return Object.freeze({
|
|
6963
|
+
contractVersion: 1,
|
|
6964
|
+
manifest,
|
|
6965
|
+
source: source.value,
|
|
6966
|
+
resources: Object.freeze(qualified.sort((a, b) => compare(a.resourceId, b.resourceId))),
|
|
6967
|
+
materials: Object.freeze(materials),
|
|
6968
|
+
textures: Object.freeze(textures),
|
|
6969
|
+
derived: Object.freeze(derived.sort((a, b) => compare(a.filePath, b.filePath)))
|
|
6970
|
+
});
|
|
6971
|
+
} catch (error) {
|
|
6972
|
+
if (error instanceof ModelTextureResourceError) throw error;
|
|
6973
|
+
if (error instanceof ModelResourceManifestError) return fail2(error.code === "aborted" || error.code === "deadline-exceeded" || error.code === "limit-exceeded" ? error.code : "package-mismatch");
|
|
6974
|
+
return fail2();
|
|
6975
|
+
} finally {
|
|
6976
|
+
if (timer !== void 0) clearTimeout(timer);
|
|
6977
|
+
if (signal && onAbort) AbortSignal.prototype.removeEventListener.call(signal, "abort", onAbort);
|
|
6978
|
+
}
|
|
6979
|
+
}
|
|
6980
|
+
function tokenPath(value) {
|
|
6981
|
+
if (typeof value !== "string" || !value.length || value.length > 1024) fail2();
|
|
6982
|
+
return value;
|
|
6983
|
+
}
|
|
6984
|
+
|
|
6815
6985
|
// src/model-conversion-diagnostics.ts
|
|
6816
6986
|
var MODEL_CONVERSION_DIAGNOSTIC_LIMITS = Object.freeze({ issues: 100, resources: 100, values: 16384, depth: 12, string: 2048, characters: 262144, timeoutMs: 6e4 });
|
|
6817
6987
|
var ModelConversionDiagnosticsError = class extends TypeError {
|
|
@@ -6822,50 +6992,50 @@ var ModelConversionDiagnosticsError = class extends TypeError {
|
|
|
6822
6992
|
}
|
|
6823
6993
|
code;
|
|
6824
6994
|
};
|
|
6825
|
-
function
|
|
6995
|
+
function fail3(code = "invalid-input") {
|
|
6826
6996
|
throw new ModelConversionDiagnosticsError(code);
|
|
6827
6997
|
}
|
|
6828
|
-
function
|
|
6829
|
-
if (!value || typeof value !== "object" || ![Object.prototype, null].includes(Object.getPrototypeOf(value)))
|
|
6998
|
+
function fields2(value) {
|
|
6999
|
+
if (!value || typeof value !== "object" || ![Object.prototype, null].includes(Object.getPrototypeOf(value))) fail3();
|
|
6830
7000
|
const result = /* @__PURE__ */ Object.create(null);
|
|
6831
7001
|
const keys = Reflect.ownKeys(value);
|
|
6832
|
-
if (keys.length > 1024)
|
|
7002
|
+
if (keys.length > 1024) fail3("limit-exceeded");
|
|
6833
7003
|
for (const key of keys) {
|
|
6834
|
-
if (typeof key !== "string" || key.length > 128 || ["__proto__", "prototype", "constructor"].includes(key))
|
|
7004
|
+
if (typeof key !== "string" || key.length > 128 || ["__proto__", "prototype", "constructor"].includes(key)) fail3();
|
|
6835
7005
|
const descriptor = Object.getOwnPropertyDescriptor(value, key);
|
|
6836
|
-
if (!("value" in descriptor) || !descriptor.enumerable)
|
|
7006
|
+
if (!("value" in descriptor) || !descriptor.enumerable) fail3();
|
|
6837
7007
|
result[key] = descriptor.value;
|
|
6838
7008
|
}
|
|
6839
7009
|
return result;
|
|
6840
7010
|
}
|
|
6841
7011
|
function only(record2, keys) {
|
|
6842
|
-
if (Object.keys(record2).some((key) => !keys.includes(key)))
|
|
7012
|
+
if (Object.keys(record2).some((key) => !keys.includes(key))) fail3();
|
|
6843
7013
|
}
|
|
6844
|
-
function
|
|
6845
|
-
if (--budget.values < 0 || depth > MODEL_CONVERSION_DIAGNOSTIC_LIMITS.depth)
|
|
7014
|
+
function snapshot3(value, budget, depth = 0) {
|
|
7015
|
+
if (--budget.values < 0 || depth > MODEL_CONVERSION_DIAGNOSTIC_LIMITS.depth) fail3("limit-exceeded");
|
|
6846
7016
|
if (value === null || typeof value === "boolean") return value;
|
|
6847
7017
|
if (typeof value === "string") {
|
|
6848
7018
|
budget.characters -= value.length;
|
|
6849
|
-
if (value.length > MODEL_CONVERSION_DIAGNOSTIC_LIMITS.string || budget.characters < 0)
|
|
7019
|
+
if (value.length > MODEL_CONVERSION_DIAGNOSTIC_LIMITS.string || budget.characters < 0) fail3("limit-exceeded");
|
|
6850
7020
|
return value;
|
|
6851
7021
|
}
|
|
6852
7022
|
if (typeof value === "number" && Number.isFinite(value)) return value;
|
|
6853
7023
|
if (Array.isArray(value)) {
|
|
6854
|
-
if (Object.getPrototypeOf(value) !== Array.prototype || value.length > 1024)
|
|
6855
|
-
if (Reflect.ownKeys(value).length !== value.length + 1)
|
|
7024
|
+
if (Object.getPrototypeOf(value) !== Array.prototype || value.length > 1024) fail3("limit-exceeded");
|
|
7025
|
+
if (Reflect.ownKeys(value).length !== value.length + 1) fail3();
|
|
6856
7026
|
const result = [];
|
|
6857
7027
|
for (let i = 0; i < value.length; i++) {
|
|
6858
7028
|
const descriptor = Object.getOwnPropertyDescriptor(value, String(i));
|
|
6859
|
-
if (!descriptor || !("value" in descriptor) || !descriptor.enumerable)
|
|
6860
|
-
result.push(
|
|
7029
|
+
if (!descriptor || !("value" in descriptor) || !descriptor.enumerable) fail3();
|
|
7030
|
+
result.push(snapshot3(descriptor.value, budget, depth + 1));
|
|
6861
7031
|
}
|
|
6862
7032
|
return Object.freeze(result);
|
|
6863
7033
|
}
|
|
6864
|
-
const record2 =
|
|
7034
|
+
const record2 = fields2(value);
|
|
6865
7035
|
for (const key of Object.keys(record2)) {
|
|
6866
7036
|
budget.characters -= key.length;
|
|
6867
|
-
if (budget.characters < 0)
|
|
6868
|
-
record2[key] =
|
|
7037
|
+
if (budget.characters < 0) fail3("limit-exceeded");
|
|
7038
|
+
record2[key] = snapshot3(record2[key], budget, depth + 1);
|
|
6869
7039
|
}
|
|
6870
7040
|
return Object.freeze(record2);
|
|
6871
7041
|
}
|
|
@@ -6878,34 +7048,34 @@ async function qualifyModelConversionDiagnostics(input, options = {}) {
|
|
|
6878
7048
|
let onAbort;
|
|
6879
7049
|
try {
|
|
6880
7050
|
const start = performance.now();
|
|
6881
|
-
const controls =
|
|
7051
|
+
const controls = fields2(options);
|
|
6882
7052
|
only(controls, ["signal", "timeoutMs"]);
|
|
6883
7053
|
const timeoutMs = controls.timeoutMs === void 0 ? 1e4 : controls.timeoutMs;
|
|
6884
|
-
if (typeof timeoutMs !== "number" || !Number.isSafeInteger(timeoutMs) || timeoutMs < 1 || timeoutMs > MODEL_CONVERSION_DIAGNOSTIC_LIMITS.timeoutMs)
|
|
7054
|
+
if (typeof timeoutMs !== "number" || !Number.isSafeInteger(timeoutMs) || timeoutMs < 1 || timeoutMs > MODEL_CONVERSION_DIAGNOSTIC_LIMITS.timeoutMs) fail3();
|
|
6885
7055
|
signal = controls.signal;
|
|
6886
7056
|
const aborted = Object.getOwnPropertyDescriptor(AbortSignal.prototype, "aborted").get;
|
|
6887
7057
|
const check = () => {
|
|
6888
|
-
if (signal !== void 0 && aborted.call(signal))
|
|
6889
|
-
if (performance.now() - start >= timeoutMs)
|
|
7058
|
+
if (signal !== void 0 && aborted.call(signal)) fail3("aborted");
|
|
7059
|
+
if (performance.now() - start >= timeoutMs) fail3("deadline-exceeded");
|
|
6890
7060
|
};
|
|
6891
7061
|
check();
|
|
6892
|
-
const args =
|
|
7062
|
+
const args = fields2(snapshot3(input, { values: MODEL_CONVERSION_DIAGNOSTIC_LIMITS.values, characters: MODEL_CONVERSION_DIAGNOSTIC_LIMITS.characters }));
|
|
6893
7063
|
only(args, ["outcome", "source", "report", "resources"]);
|
|
6894
|
-
if (!["completed", "unsupported", "failed"].includes(args.outcome))
|
|
7064
|
+
if (!["completed", "unsupported", "failed"].includes(args.outcome)) fail3();
|
|
6895
7065
|
const source = createModelProvenance(args.source);
|
|
6896
|
-
const reportInput =
|
|
7066
|
+
const reportInput = fields2(args.report);
|
|
6897
7067
|
const maximumIssues = MODEL_CONVERSION_DIAGNOSTIC_LIMITS.issues - (args.outcome === "completed" ? 0 : 1);
|
|
6898
|
-
if (!Array.isArray(reportInput.issues) || reportInput.issues.length > maximumIssues)
|
|
6899
|
-
if (!Array.isArray(args.resources) || args.resources.length > MODEL_CONVERSION_DIAGNOSTIC_LIMITS.resources)
|
|
7068
|
+
if (!Array.isArray(reportInput.issues) || reportInput.issues.length > maximumIssues) fail3("limit-exceeded");
|
|
7069
|
+
if (!Array.isArray(args.resources) || args.resources.length > MODEL_CONVERSION_DIAGNOSTIC_LIMITS.resources) fail3("limit-exceeded");
|
|
6900
7070
|
const resources = /* @__PURE__ */ new Map();
|
|
6901
7071
|
const identities = /* @__PURE__ */ new Map();
|
|
6902
7072
|
for (const value of args.resources) {
|
|
6903
|
-
const binding =
|
|
7073
|
+
const binding = fields2(value);
|
|
6904
7074
|
only(binding, ["path", "resource"]);
|
|
6905
|
-
if (typeof binding.path !== "string" || !binding.path.startsWith("/") || binding.path === "/" || resources.has(binding.path))
|
|
7075
|
+
if (typeof binding.path !== "string" || !binding.path.startsWith("/") || binding.path === "/" || resources.has(binding.path)) fail3();
|
|
6906
7076
|
const resource = createModelResourceRef(binding.resource);
|
|
6907
7077
|
const identity = JSON.stringify(resource);
|
|
6908
|
-
if (identities.has(resource.uri) && identities.get(resource.uri) !== identity)
|
|
7078
|
+
if (identities.has(resource.uri) && identities.get(resource.uri) !== identity) fail3();
|
|
6909
7079
|
identities.set(resource.uri, identity);
|
|
6910
7080
|
resources.set(binding.path, resource);
|
|
6911
7081
|
}
|
|
@@ -6920,7 +7090,7 @@ async function qualifyModelConversionDiagnostics(input, options = {}) {
|
|
|
6920
7090
|
const report = core.evaluateGpuModelDiagnostics(reportInput);
|
|
6921
7091
|
const diagnostics = report.diagnostics.map((diagnostic) => {
|
|
6922
7092
|
const resource = resources.get(diagnostic.path);
|
|
6923
|
-
if (diagnostic.path !== "/" && !resource)
|
|
7093
|
+
if (diagnostic.path !== "/" && !resource) fail3("unbound-resource");
|
|
6924
7094
|
const base = resource ? { resource } : {};
|
|
6925
7095
|
switch (diagnostic.kind) {
|
|
6926
7096
|
case "warning":
|
|
@@ -6952,7 +7122,7 @@ async function qualifyModelConversionDiagnostics(input, options = {}) {
|
|
|
6952
7122
|
});
|
|
6953
7123
|
} catch (error) {
|
|
6954
7124
|
if (error instanceof ModelConversionDiagnosticsError) throw error;
|
|
6955
|
-
return
|
|
7125
|
+
return fail3();
|
|
6956
7126
|
} finally {
|
|
6957
7127
|
if (timer !== void 0) clearTimeout(timer);
|
|
6958
7128
|
if (signal && onAbort) AbortSignal.prototype.removeEventListener.call(signal, "abort", onAbort);
|
|
@@ -7762,9 +7932,11 @@ export {
|
|
|
7762
7932
|
MODEL_RESOLUTION_V2_STATES,
|
|
7763
7933
|
MODEL_RESOURCE_MANIFEST_LIMITS,
|
|
7764
7934
|
MODEL_RIGHTS_STATUSES,
|
|
7935
|
+
MODEL_TEXTURE_RESOURCE_LIMITS,
|
|
7765
7936
|
MODEL_TEXT_ONLY_ASSURANCE_CEILING_REASON_CODE,
|
|
7766
7937
|
ModelConversionDiagnosticsError,
|
|
7767
7938
|
ModelResourceManifestError,
|
|
7939
|
+
ModelTextureResourceError,
|
|
7768
7940
|
PVOX_ASSEMBLY_CLOSURE_HASH_DOMAIN,
|
|
7769
7941
|
PVOX_ASSET_MANIFEST_VERSION,
|
|
7770
7942
|
PVOX_BINARY_CLOSURE_HASH_DOMAIN,
|
|
@@ -7957,6 +8129,7 @@ export {
|
|
|
7957
8129
|
projectPvoxNamedJsonClosureV1,
|
|
7958
8130
|
qualifyModelConversionDiagnostics,
|
|
7959
8131
|
qualifyModelResourceManifest,
|
|
8132
|
+
qualifyModelTextureResources,
|
|
7960
8133
|
toLegacyModelResolutionState,
|
|
7961
8134
|
validateGpuAssetFiles
|
|
7962
8135
|
};
|