next lab / composition experiment
relationships before runtime
same model. explicit nodes. choose disabled, suggest, or apply. authored placement stays in charge.
image dominant
the recovered surface
the image leads. its caption stays attached to the edge.
{
"valid": true,
"issues": [],
"seed": "next-image-01",
"nodes": [
{
"id": "artifact",
"content": "Frame",
"role": "focal-point",
"capabilities": [
"bounded-variation",
"anchor-source"
],
"relationKinds": [
"anchor",
"frame"
],
"variation": 0.0748
},
{
"id": "caption",
"content": "Text",
"role": "counterweight",
"capabilities": [
"anchor-target"
],
"relationKinds": [
"anchor"
],
"variation": 0
},
{
"id": "edge-mark",
"content": "Glyph",
"role": "frame",
"capabilities": [
"edge-aware"
],
"relationKinds": [
"frame"
],
"variation": 0
}
],
"decisions": [
{
"relationId": "caption-follows-artifact",
"kind": "anchor",
"status": "rejected",
"reason": "adaptation is disabled for this composition",
"fallback": "keep the authored flow"
},
{
"relationId": "mark-frames-artifact",
"kind": "frame",
"status": "rejected",
"reason": "adaptation is disabled for this composition",
"fallback": "keep the authored flow"
}
]
} {
"authority": "bounded",
"gesture": "fracture",
"thesis": "the image is still holding after the axis broke",
"focalNodeId": "artifact",
"motif": "broken-axis",
"palette": "cold-to-warm-rupture",
"typography": "fragmented",
"depth": "near-far",
"interaction": "field-response",
"semanticOrder": [
"artifact",
"caption",
"edge-mark"
],
"nodePlanes": {
"artifact": "focal",
"caption": "midground",
"edge-mark": "foreground"
},
"nodePoses": {},
"layerOrder": [
"background",
"midground",
"focal",
"atmosphere",
"foreground"
],
"canAddAtmosphere": false,
"canRemoveRequiredContent": false
}