Thing/tools/parity/parity-manifest.json
2026-06-05 22:07:43 +01:00

196 lines
5.3 KiB
JSON

{
"schema": "gamecult.eve.parity_manifest.v1",
"responsiveCases": [
{
"id": "phone",
"width": 390,
"height": 844,
"orientation": "portrait",
"deviceScale": 1
},
{
"id": "tablet",
"width": 768,
"height": 1024,
"orientation": "portrait",
"deviceScale": 1
},
{
"id": "desktop",
"width": 1280,
"height": 720,
"orientation": "landscape",
"deviceScale": 1
}
],
"androidNativeCases": [
{
"id": "native-portrait",
"orientation": "portrait"
},
{
"id": "native-landscape",
"orientation": "landscape"
}
],
"fixtures": [
{
"id": "cultui-inspector",
"title": "CultUI Inspector",
"surface": {
"transport": "local-eve-dsl",
"path": "web/fixtures/cultui-slider-inspector.eve"
},
"expect": {
"providerId": "eve.cultui.inspector",
"componentKinds": ["surface", "partition", "pane", "label", "control.slider"],
"minimumCounts": {
"partition": 8,
"control.slider": 3,
"label": 3
},
"controlSkins": ["inspector.orangeSlider"],
"controlParts": ["track", "fill", "thumb"],
"bindings": ["tester.fov", "tester.throttleDecay", "tester.flowSpeed"]
}
},
{
"id": "repixelizer",
"title": "Repixelizer",
"surface": {
"transport": "local-json",
"path": "web/fixtures/repixelizer.eve-surface.json"
},
"expect": {
"providerId": "repixelizer",
"componentKinds": ["surface", "pane", "card", "text"],
"styleTokens": [
"colorBackgroundTop",
"colorPanel",
"colorAccent",
"fontTitle",
"fontBody",
"imageRendering"
]
}
},
{
"id": "sai-vn",
"title": "Sai VN",
"surface": {
"transport": "local-json",
"path": "web/fixtures/sai-vn-surface.json"
},
"expect": {
"providerId": "gamecult.home.vn",
"componentKinds": [
"vn.stage",
"image.background",
"embed.norn",
"embed.tex",
"panel.dialogue",
"rail.actions",
"control.button"
],
"styleTokens": [
"colorBackground",
"colorPanel",
"colorPanelAlt",
"colorText",
"colorAccent",
"fontBody",
"fontTitle",
"pixelArt"
]
}
},
{
"id": "reactive-dsl",
"title": "Reactive DSL",
"surface": {
"transport": "local-eve-dsl",
"path": "web/fixtures/reactive-composition.eve"
},
"expect": {
"providerId": "gamecult.eve.reactive-demo",
"componentKinds": ["surface", "card", "text", "metric", "list", "control.button"],
"bindings": ["face.name", "face.body", "swarm.heat", "swarm.eventCount", "swarm.latestEvent"]
}
},
{
"id": "huginn-cc",
"title": "Huginn .cc",
"surface": {
"transport": "local-eve-dsl",
"path": "web/fixtures/huginn-cc-surface.eve"
},
"expect": {
"providerId": "cultcache.huginn.inspector",
"componentKinds": ["surface", "card", "text", "list"],
"bindings": ["huginn.catalog.entries", "huginn.records.entries"]
}
}
],
"runtimes": [
{
"id": "web",
"title": "Web reference",
"kind": "active",
"semanticHarness": true,
"capture": {
"status": "chrome-headless",
"note": "Chrome headless captures phone, tablet, and desktop PNGs through the provider query parameter."
}
},
{
"id": "windows-flutter",
"title": "Windows / Flutter",
"kind": "active",
"expectedPaths": ["flutter/eve_parity/lib/main.dart", "scripts/capture-flutter-parity.ps1"],
"capture": {
"status": "golden",
"note": "Uses the Flutter parity golden smoke on the Windows host."
}
},
{
"id": "linux-flutter",
"title": "Linux / Flutter",
"kind": "active",
"expectedPaths": ["flutter/eve_parity/linux", "scripts/capture-flutter-parity.ps1"],
"capture": {
"status": "ssh-golden",
"note": "Runs the Flutter parity golden smoke on Nightwing over SSH and pulls back phone, tablet, and desktop PNGs."
}
},
{
"id": "ios-uikit",
"title": "iOS / UIKit",
"kind": "active",
"expectedPaths": ["Sources/EVEViewController.mm", "scripts/capture-eve-screenshot.ps1"],
"capture": {
"status": "ssh-png",
"note": "SSH capture script foregrounds EveCanvas and requests latest-screenshot.png."
}
},
{
"id": "android-kotlin",
"title": "Android / Kotlin",
"kind": "active",
"expectedPaths": ["android/app/src/main/java/org/gamecult/eve/MainActivity.kt", "scripts/build-android.ps1"],
"capture": {
"status": "adb-png",
"note": "adb capture installs the current APK, launches MainActivity, and pulls a screencap from Periwinkle."
}
},
{
"id": "direct2d",
"title": "Fensalir Direct2D",
"kind": "pending",
"expectedPaths": ["web/fixtures/fensalir-client-surface.json"],
"capture": {
"status": "missing",
"note": "Needs Eve surface to AquariumUiDocument adapter and Direct2D frame capture."
}
}
]
}