/** An authoring protocol description, not a Runtime capability-availability claim. */ export declare function getSceneFragmentInformation(): { readonly schema: "skenora.scene.fragment"; readonly version: 1; readonly supportedVersions: readonly [1, 2]; readonly coordinateSpace: "source-parent-local"; readonly owner: "@skenora/scene-plan"; readonly functions: readonly ["extractSceneFragment", "validateSceneFragment", "planSceneFragmentInsertion", "getSceneFragmentExamples", "expandSceneFragmentTemplate", "planSceneFragmentReexpansion", "convertSceneFragmentVersion", "planSceneFragmentInstanceInsertion", "planSceneFragmentInstanceUpgrade", "planSceneFragmentInstanceAdoption", "planSceneFragmentInstanceDetach", "planSceneFragmentRepetition"]; readonly editorEntry: "@skenora/sdk/editor: SkenoraEditor.insertFragment"; readonly budgets: { readonly maxBytes: number; readonly maxDepth: 64; readonly maxSourceBytes: number; readonly entities: 1000; readonly resources: 256; readonly materials: 256; readonly materialBindings: 2000; readonly textureAnimations: 256; readonly cameraPaths: 64; readonly flows: 64; readonly flowNodes: 2000; readonly flowEdges: 4000; readonly variablesAndEvents: 512; readonly operations: 5000; readonly animationTracks: 1024; readonly animationClips: 128; }; readonly rules: readonly ["Native scene records are authoritative; this container is not a second scene schema. validateSceneFragment enforces the bounded closed subset.", "SceneFragment V1 cannot carry scene animationTracks or animationClips. Extraction rejects relevant entity/material targets, clip camera paths and Flow references, and counts unrelated excluded domains; insertion preserves existing target animations.", "V2 is explicit: it carries supported scene tracks, complete synchronized clips, camera paths, static Flow references and typed extensions. Ordered animation arrays merge atomically. Conversion to V1 rejects data loss.", "Managed V2 instances persist source mappings, a bounded baseline and local overrides. Explicit upgrades use baseline/current/template comparison, advance baseline and overrides in one Patch, and reject unresolved conflicts. Ordinary Editor edits refresh overrides in the same history entry.", "Template content hashes use FNV-1a for deterministic change detection, not cryptographic authentication. Instance content remains ordinary scene records; no template runtime or automatic update service is required.", "Adoption requires an exact reproducible old baseline and ID map. Detach preserves content. Added objects outside a managed baseline remain independent and cannot be silently deleted by an upgrade.", "Select complete authored subtrees with one source parent. Flow IDs are explicit; no implicit external-reference expansion.", "Use an explicit namespace for every copy. Variables and namespaces must be dot-free when variables are present.", "Map every logical resource ID to an existing compatible target asset. Resource locators never belong in fragment resources.", "Copy material definitions by default. Explicit equality-checked reuse may affect existing bound entities.", "Reference metadata belongs to the actual Flow node definition. Dynamic identity inputs and opaque custom nodes are rejected.", "Camera behavior requires preserve-world opt-in; world camera paths do not move with the inserted group.", "The pure result is one revision/hash-guarded ordinary ScenePatch, typed mappings and warnings. It does not acquire resources or mutate an editor.", "SDK insertion checks preview twice, preflights actual candidate assets, rechecks definitions and revision, and commits through one history entry.", "Fragment templates V1 preserve bounded single-axis position/scaling parameters. V2 additionally accepts bindings on a numeric parameter: 1–16 transform/programNumber targets, 256 bindings total, each with optional finite multiplier and offset. No arbitrary paths or executable expressions. Both versions permit 64 parameters, 32 color/visibility variants and 256 variant overrides.", "Each V2 programNumber binding names an owned materialId and its declared numeric parameter. Transform bindings name entityId, property position/scaling and axis x/y/z. Mapped endpoints must satisfy the destination range; duplicate destinations reject. Expansion writes ordinary fragment records, and re-expansion preserves revision and shared-material conflict checks.", "Explicit re-expansion returns before/after previews and a revision-bound Patch. Managed-field conflicts and materials shared outside the insertion reject; no automatic updates or executable expressions.", "Execution permits only signal, modelLoadPolicy, label and explicit allowVariables. Planned mappings do not prove a commit; committed does not prove ready projection."]; readonly excluded: readonly ["nested or automatically synchronized template instances", "automatic live variant propagation", "automatic asset import", "behavior startup", "rendered verification"]; readonly diagnosticRepairs: { readonly "fragment-animation-tracks-unsupported": "Explicitly choose V2 with complete animation closure or use a native scene document. V1 cannot carry these tracks; do not strip them to retry automatically."; readonly "fragment-invalid": "Use supported native records and complete finite JSON values."; readonly "fragment-budget-exceeded": "Reduce input bytes, depth, selected records or operations; host budgets may only tighten defaults."; readonly "fragment-root-space-mismatch": "Select roots with a common source parent or extract separate fragments."; readonly "fragment-external-reference": "Include the referenced owner in the selection or remove the behavior."; readonly "fragment-dynamic-reference": "Disconnect identity value inputs and provide static config targets."; readonly "fragment-opaque-data": "Remove unsupported fields or register precise reference metadata on the owning node definition."; readonly "fragment-slot-identity-unsupported": "Use a supported generated selector or the model's asset-local source selector."; readonly "fragment-id-conflict": "Choose another explicit namespace; keep the original Patch for an idempotent retry."; readonly "fragment-resource-binding-invalid": "Supply every existing compatible target asset ID, including declared integrity and media type."; readonly "fragment-material-reuse-conflict": "Copy the material or select a normalized equal definition without competing texture tracks."; readonly "fragment-shared-material": "Inspect sharedMaterialImpacts before deliberately sharing behavior with existing entities."; readonly "fragment-variable-default-missing": "Include defaults for every selected variable reference."; readonly "fragment-preview-active": "Stop manual preview before insertion; do not restart it during resource waiting."; readonly "flow-registry-changed": "Capture the current registry and revision and plan again."; }; }; //# sourceMappingURL=information.d.ts.map