This repository has been archived on 2026-10-29. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
EveUnity/packages/org.gamecult.eve.unity-uitoolkit/eve-runtime-capability.json

230 lines
10 KiB
JSON

{
"schema": "gamecult.eve.runtime_capability.v1",
"runtimeId": "unity-uitoolkit",
"title": "Unity / UI Toolkit",
"owner": "EveUnity",
"incubation": {
"ownerRepo": "EveUnity",
"currentHostRepo": "EveUnity",
"splitTarget": "EveUnity",
"graduationTrigger": "Graduated: EveUnity owns the UI Toolkit package, plugin projection adapters, package build, and Unity tests."
},
"supportedFeatures": [
"embeddedDocuments"
],
"supportedPlugins": [
{
"pluginId": "sai.vn",
"capabilities": [
"vn.stage",
"story.choose",
"story.continue",
"story.jump"
],
"projectionAdapter": "SaiVisualNovelUiToolkitProjectionAdapter"
},
{
"pluginId": "norn.graph",
"capabilities": [
"embed.norn"
],
"projectionAdapter": "NornGraphUiToolkitProjectionAdapter"
},
{
"pluginId": "tex.math",
"capabilities": [
"embed.tex",
"tex.inline",
"tex.block"
],
"projectionAdapter": "TeXMathUiToolkitProjectionAdapter"
}
],
"unsupportedPlugins": [],
"commandTransport": {
"schema": "gamecult.eve.command_invocation.v1",
"emitter": "EveUiToolkitSurfaceLowerer.EmitCommand",
"clientId": "unity-uitoolkit"
},
"worldSurfaceLowering": [
{
"targetId": "unity-uitoolkit",
"surfaceKinds": ["interactive-world", "interactive-world-editor"],
"projectionKinds": ["provider-authored-world-surface", "provider-authored-world-editor-surface"],
"supportLevel": "ui-toolkit-semantic-command-surface",
"ownership": "runtime-lowers-provider-world-surface-without-owning-world-state",
"evidencePaths": [
"packages/org.gamecult.eve.unity-uitoolkit/Runtime/EveUiToolkitSurfaceLowerer.cs",
"packages/org.gamecult.eve.unity-uitoolkit/Runtime/TeXMathUiToolkitProjectionAdapter.cs",
"packages/org.gamecult.eve.unity-uitoolkit/Tests/Editor/EveUiToolkitSurfaceLowererTests.cs",
"../Aetheria/conformance/eve/aetheria.provider-advertisement.json",
"../Eve/web/fixtures/eve-world-smoke.provider-advertisement.json"
]
}
],
"lifecycle": {
"release": {
"ownerRepo": "EveUnity",
"status": "tagged-upm-release",
"packageName": "org.gamecult.eve.unity-uitoolkit",
"packageManifest": "packages/org.gamecult.eve.unity-uitoolkit/package.json",
"releaseContract": {
"ownerRepo": "EveUnity",
"packageName": "org.gamecult.eve.unity-uitoolkit",
"packageRoot": "packages/org.gamecult.eve.unity-uitoolkit",
"versionSource": "packages/org.gamecult.eve.unity-uitoolkit/package.json",
"tagPattern": "eveunity-uitoolkit-v{version}",
"artifactKind": "upm-package",
"requestSchema": "gamecult.eve.runtime_release_request.v1",
"requestBuilder": "scripts/pack-uitoolkit.ps1",
"artifactBuilder": "scripts/pack-uitoolkit.ps1",
"artifactPattern": "artifacts/eveunity-uitoolkit-release/{version}/org.gamecult.eve.unity-uitoolkit-{version}.tgz",
"publishProof": "Tagged UPM release is created from the EveUnity repo and references this package root.",
"requiredPackageDependencies": [
{
"packageName": "org.gamecult.eve.surface",
"version": "0.1.0",
"packageManager": "upm",
"ownerRepo": "EveUnity",
"purpose": "Shared Unity DTOs for gamecult.eve.surface.v1 documents."
}
]
},
"evidencePaths": [
"packages/org.gamecult.eve.unity-uitoolkit/package.json",
"packages/org.gamecult.eve.unity-uitoolkit/README.md",
"scripts/pack-uitoolkit.ps1"
],
"pendingProofs": []
},
"test": {
"ownerRepo": "EveUnity",
"status": "released-package-editmode-batchmode",
"command": "powershell -ExecutionPolicy Bypass -File .\\scripts\\run-uitoolkit-tests.ps1",
"testContract": {
"ownerRepo": "EveUnity",
"runnerKind": "unity-editmode-batchmode",
"runnerScript": "scripts/run-uitoolkit-tests.ps1",
"consumerProject": "TestProject",
"unityExeDefault": "C:\\Program Files\\Unity\\Hub\\Editor\\6000.4.2f1\\Editor\\Unity.exe",
"packageName": "org.gamecult.eve.unity-uitoolkit",
"testAssembly": "GameCult.Eve.UnityUIToolkit.Tests",
"testPlatform": "EditMode",
"resultsArtifact": "artifacts/uitoolkit-tests/{stamp}/unity-editmode-results.xml",
"logArtifact": "artifacts/uitoolkit-tests/{stamp}/unity-editmode.log",
"manifestMutation": "none",
"managedAssemblyDependencies": [
{
"assemblyName": "GameCult.Caching.dll",
"packageId": "GameCult.Caching",
"packageManager": "nuget",
"ownerRepo": "CultLib",
"resolutionMode": "Unity precompiled reference during EveUnity incubation.",
"dependencyContract": {
"sourceAuthority": "CultLib",
"packageSource": "nuget",
"packageId": "GameCult.Caching",
"assemblyName": "GameCult.Caching.dll",
"versionPolicy": "CultLib-owned package version stream.",
"unityResolution": "EveUnity consumes this as a Unity precompiled reference during incubation.",
"handoffRequirement": "EveUnity split must resolve this through CultLib's NuGet/package feed or a documented Unity import without vendoring CultLib ownership into Eve."
}
},
{
"assemblyName": "GameCult.Mesh.dll",
"packageId": "GameCult.Mesh",
"packageManager": "nuget",
"ownerRepo": "CultLib",
"resolutionMode": "Unity precompiled reference during EveUnity incubation.",
"dependencyContract": {
"sourceAuthority": "CultLib",
"packageSource": "nuget",
"packageId": "GameCult.Mesh",
"assemblyName": "GameCult.Mesh.dll",
"versionPolicy": "CultLib-owned package version stream.",
"unityResolution": "EveUnity consumes this as a Unity precompiled reference during incubation.",
"handoffRequirement": "EveUnity split must resolve this through CultLib's NuGet/package feed or a documented Unity import without vendoring CultLib ownership into Eve."
}
},
{
"assemblyName": "MessagePack.Annotations.dll",
"packageId": "MessagePack.Annotations",
"packageManager": "nuget",
"ownerRepo": "CultLib",
"resolutionMode": "Unity precompiled reference during EveUnity incubation.",
"dependencyContract": {
"sourceAuthority": "CultLib",
"packageSource": "nuget",
"packageId": "MessagePack.Annotations",
"assemblyName": "MessagePack.Annotations.dll",
"versionPolicy": "CultLib-owned transitive package version stream.",
"unityResolution": "EveUnity consumes this as a Unity precompiled reference during incubation.",
"handoffRequirement": "EveUnity split must resolve this through CultLib's NuGet/package feed or a documented Unity import without vendoring CultLib ownership into Eve."
}
}
]
},
"evidencePaths": [
"packages/org.gamecult.eve.unity-uitoolkit/Tests/Editor/GameCult.Eve.UnityUIToolkit.Tests.asmdef",
"packages/org.gamecult.eve.unity-uitoolkit/Tests/Editor/EveUiToolkitSurfaceLowererTests.cs",
"scripts/run-uitoolkit-tests.ps1"
],
"pendingProofs": []
},
"capture": {
"ownerRepo": "EveUnity",
"status": "pending-editor-capture",
"captureContract": {
"ownerRepo": "EveUnity",
"runtimeId": "unity-uitoolkit",
"targetId": "unity-uitoolkit",
"requestSchema": "gamecult.eve.runtime_capture_request.v1",
"requestBuilder": "scripts/build-uitoolkit-capture-request.ps1",
"advertisementPath": "../Aetheria/conformance/eve/aetheria.provider-advertisement.json",
"captureKind": "unity-editor-or-batchmode-png",
"artifactKind": "png",
"artifactPattern": "artifacts/eveunity-uitoolkit-capture/{stamp}/unity-uitoolkit.png",
"conformanceAttachment": "runtime.captureArtifacts[]",
"requiredProvider": "aetheria",
"requiredSurface": "aetheria.daemon.game",
"additionalProviderSurfaces": [
{
"providerId": "eve.world-smoke",
"surfaceId": "eve.world-smoke.surface",
"purpose": "Generic non-product interactive-world capture control."
},
{
"providerId": "aetheria",
"surfaceId": "aetheria.daemon.editor",
"purpose": "Aetheria interactive-world-editor capture control."
}
],
"authority": "Capture observes runtime projection only; provider state, command acceptance, and receipts stay provider-owned.",
"publishProof": "Unity editor or batchmode capture artifact is attached to the runtime conformance report from EveUnity."
},
"evidencePaths": [
"packages/org.gamecult.eve.unity-uitoolkit/eve-runtime-capability.json",
"scripts/build-uitoolkit-capture-request.ps1"
],
"pendingProofs": [
"Unity batchmode or editor capture artifact attached to the runtime conformance report."
]
}
},
"capture": {
"status": "json-projection",
"note": "Unity UI Toolkit attaches a provider-advertisement-backed gamecult.eve.unity_uitoolkit_projection.v1 JSON projection artifact; Unity editor or batchmode PNG capture remains an EveUnity split blocker.",
"artifacts": [
{
"kind": "json-projection",
"schema": "gamecult.eve.unity_uitoolkit_projection.v1",
"path": "artifacts/eveunity-uitoolkit-capture/latest/unity-uitoolkit-projection.json",
"runtimeId": "unity-uitoolkit",
"providerId": "aetheria",
"surfaceId": "aetheria.daemon.game",
"sourceSurfacePath": "../Aetheria/conformance/eve/aetheria-world-surface.json",
"requestPath": "artifacts/eveunity-uitoolkit-capture/latest/capture-request.json"
}
]
}
}