scenesmith / blender_rebuild

articraft_articulation_demo

A laundry corner with a front-loading washing machine (door open) and a second appliance beside it.

1.000
score
coverage 83.33%
effective pass 100.00%
pass 5 unknown 1

Overview Gallery

4 images

Scene Summary

Total 6
Pass 5
Degraded 0
Fail 0
Unknown 1
Coverage 83.33%
Eff. Pass 100.00%
Score 1.000

Judgement
frontload washing machine · openable, containable, drawable, graspable, turn VLM
Question
Task: A laundry corner with a front-loading washing machine (door open) and a second appliance beside it. Evaluate only the `interaction_clearance` metric for `appliance_neighbor_0` with affordance `openable`. Relevant context: the surrounding scene. First infer the most likely operating side from door panels, handles, hinges, or the side that faces into the room. Then check only that side for a normal standing zone and immediate hand/door operating clearance. Do not assume a large hinged swing arc unless the render clearly shows hinged doors needing that arc. Do not require the entire front face to be empty; a nearby bench or seat off to one side is acceptable when the floor directly before the door/handle area remains usable. A narrow diagonal side gap or a squeeze-by path does not count as clear operating space. If you choose `degraded` or `fail`, name the blocker or the blocked standing/opening zone directly in front of the operating side. If at least one practical front-facing or slightly offset standing position remains and can still reach the operating side normally, prefer `pass`. Do not fail an openable object merely because a nearby seat or small furniture item is offset near one part of the front; require evidence that the usable operating side is actually occupied or pinched. If the operating side cannot be identified from the evidence, return `unknown` instead of guessing.
Reason: In the local operating zone and local operating zone context renders, the subject washing machine (red) has open floor directly in front of its front face, with the neighboring washer's open door offset to the right rather than occupying the subject's main standing zone. The local plan context also shows a practical front-left standing/reach position remains in front of the subject, so its front opening interface can still be operated normally now. Overviews support that this is a two-appliance corner, but the deciding local views do not show a direct blocker spanning the subject's operating side.
Blocking Objects: none
Prompt
Show prompt
You are an affordance-aware functional critic for 3D indoor scenes.

Core principle: judge whether the task CAN be done in the current scene, without assuming it has already been pre-solved.

Workflow:
1. Read the task instruction and target metric.
2. Inspect the local check renders first and treat them as the primary evidence for the requested interaction.
3. Local render order and intended use: 1. `local_operating_zone` is the clean RGB view for the most likely door-facing standing and opening zone. 2. `local_operating_zone_context` is a slightly wider highlighted context view of the same operating side. 3. `local_depth_probe` is an oblique RGB view meant to clarify depth and whether a blocker sits in front of the operating zone. 4. `local_plan_context` is a high local layout view used to check whether a nearby object actually spans or occupies the operating/approach zone rather than merely overlapping in perspective.
4. Then inspect the 4 attached overview renders for room-scale layout and approach context. These overviews are captured from a slightly elevated height and are not meant to mimic adult eye level.
5. Evaluate ONLY the requested metric and return a JSON object matching the schema.

Scene summary: scenesmith scene with 2 objects. Room type: laundry. Planned checks: 6. Room shell: 3.38m x 2.54m x 2.70m.
Task instruction: A laundry corner with a front-loading washing machine (door open) and a second appliance beside it.
Metric: interaction_clearance
Subject object: appliance_neighbor_0
Target objects: none

Verified asset facts:
- subject `appliance_neighbor_0`: category `frontload washing machine`, affordances [openable, containable, drawable, graspable, turn], usable face `front`, benchmark relevance `functional`, confidence `0.80`, source `asset_annotation`
- interaction facts: placement class `floor_furniture`, access type `none`, interaction height `none`, surface map `front: [open, access_contents, open, grasp]`
- low-confidence candidates: `none`
- articulation facts: 4 movable part(s): drum (revolute, axis [1.0, 0.0, 0.0], limits None); door (revolute, axis [0.999718, 0.023758, -0.0], limits None); detergent_drawer (prismatic, axis [1.0, 0.0, 0.0], limits None); knob (revolute, axis [1.0, 0.0, 0.0], limits None); no precomputed swept volume
Use these as converter-side asset facts. Do not reclassify the subject; judge only whether the listed affordance remains usable in the current scene. If the image clearly contradicts these facts, return unknown and explain the conflict.

Scene evidence object hints:
- subject `appliance_neighbor_0`: category `frontload washing machine`, group `unknown`, keywords [frontload washing machine], affordances [openable, containable, drawable, graspable, turn], task targets [table, desk, nightstand, coffee_table, shelf, cabinet]
- targets: none

Auxiliary scene cues (coarse geometry only; use these cues just to identify rough scale and nearby context):
- subject `appliance_neighbor_0`: category `frontload washing machine`, room `laundry`, placement `floor`, footprint `medium`, height `mid`, elevation `raised`
Target cues:
- none
Nearby same-room context objects that may affect access or clearance:
- `washer_open_0`: category `frontload washing machine`, placement `floor`, proximity `mid`, bbox_relation `overlapping_or_touching`, footprint `medium`
Do not estimate exact centimeter clearance from these coarse cues. They are only for object identity, rough scale, and coarse proximity; the local renders remain the deciding evidence.

Metric-specific rule:
Task: A laundry corner with a front-loading washing machine (door open) and a second appliance beside it.
Evaluate only the `interaction_clearance` metric for `appliance_neighbor_0` with affordance `openable`.
Relevant context: the surrounding scene.
First infer the most likely operating side from door panels, handles, hinges, or the side that faces into the room. Then check only that side for a normal standing zone and immediate hand/door operating clearance. Do not assume a large hinged swing arc unless the render clearly shows hinged doors needing that arc. Do not require the entire front face to be empty; a nearby bench or seat off to one side is acceptable when the floor directly before the door/handle area remains usable. A narrow diagonal side gap or a squeeze-by path does not count as clear operating space.
If you choose `degraded` or `fail`, name the blocker or the blocked standing/opening zone directly in front of the operating side. If at least one practical front-facing or slightly offset standing position remains and can still reach the operating side normally, prefer `pass`. Do not fail an openable object merely because a nearby seat or small furniture item is offset near one part of the front; require evidence that the usable operating side is actually occupied or pinched. If the operating side cannot be identified from the evidence, return `unknown` instead of guessing.

Image order is fixed: local check renders always come first, followed by the overview renders. If a local render is highlighted, the subject is red and the targets are green.
Evidence guardrails:
- Treat the local renders as the deciding evidence for direct blockage, operating-side clearance, and immediate approach space.
- Use overview renders only to understand room-scale layout or to break ties when the local evidence is incomplete.
- To output `degraded` or `fail`, the local evidence should explicitly show a directly constrained operating/approach zone, not just a nearby object or a single perspective overlap.
- When a `local_plan_context` view is present, use it to verify whether the suspected blocker really spans the usable operating/approach zone; if it shows a normal nearby standing/reach position remains, prefer `pass`.
- If the overview render suggests a blockage but the local evidence does not clearly show that blockage, prefer `pass` or `unknown`, not `degraded` or `fail`.
Output JSON with keys: check_id, metric, label, asset_fact_used, asset_fact_confidence, evidence_conflict, reason, blocking_objects, confidence.
Allowed labels: pass, degraded, fail, unknown.
2D perspective overlap alone is not enough evidence of a blocker.
Normal adjacency priors should not override direct evidence in the local renders. Nightstands beside beds, benches touching bed ends, corner wardrobes, and wall decor are acceptable only when they do not directly intrude into the required functional region.
If you choose degraded or fail, the reason must name a direct blocker or directly constrained functional region.
If evidence is insufficient, use unknown instead of guessing.
Raw JSON
Request JSON
{
  "check_id": "interaction_clearance__appliance_neighbor_0",
  "metric": "interaction_clearance",
  "subject_id": "appliance_neighbor_0",
  "target_ids": [],
  "prompt_text": "You are an affordance-aware functional critic for 3D indoor scenes.\n\nCore principle: judge whether the task CAN be done in the current scene, without assuming it has already been pre-solved.\n\nWorkflow:\n1. Read the task instruction and target metric.\n2. Inspect the local check renders first and treat them as the primary evidence for the requested interaction.\n3. Local render order and intended use: 1. `local_operating_zone` is the clean RGB view for the most likely door-facing standing and opening zone. 2. `local_operating_zone_context` is a slightly wider highlighted context view of the same operating side. 3. `local_depth_probe` is an oblique RGB view meant to clarify depth and whether a blocker sits in front of the operating zone. 4. `local_plan_context` is a high local layout view used to check whether a nearby object actually spans or occupies the operating/approach zone rather than merely overlapping in perspective.\n4. Then inspect the 4 attached overview renders for room-scale layout and approach context. These overviews are captured from a slightly elevated height and are not meant to mimic adult eye level.\n5. Evaluate ONLY the requested metric and return a JSON object matching the schema.\n\nScene summary: scenesmith scene with 2 objects. Room type: laundry. Planned checks: 6. Room shell: 3.38m x 2.54m x 2.70m.\nTask instruction: A laundry corner with a front-loading washing machine (door open) and a second appliance beside it.\nMetric: interaction_clearance\nSubject object: appliance_neighbor_0\nTarget objects: none\n\nVerified asset facts:\n- subject `appliance_neighbor_0`: category `frontload washing machine`, affordances [openable, containable, drawable, graspable, turn], usable face `front`, benchmark relevance `functional`, confidence `0.80`, source `asset_annotation`\n- interaction facts: placement class `floor_furniture`, access type `none`, interaction height `none`, surface map `front: [open, access_contents, open, grasp]`\n- low-confidence candidates: `none`\n- articulation facts: 4 movable part(s): drum (revolute, axis [1.0, 0.0, 0.0], limits None); door (revolute, axis [0.999718, 0.023758, -0.0], limits None); detergent_drawer (prismatic, axis [1.0, 0.0, 0.0], limits None); knob (revolute, axis [1.0, 0.0, 0.0], limits None); no precomputed swept volume\nUse these as converter-side asset facts. Do not reclassify the subject; judge only whether the listed affordance remains usable in the current scene. If the image clearly contradicts these facts, return unknown and explain the conflict.\n\nScene evidence object hints:\n- subject `appliance_neighbor_0`: category `frontload washing machine`, group `unknown`, keywords [frontload washing machine], affordances [openable, containable, drawable, graspable, turn], task targets [table, desk, nightstand, coffee_table, shelf, cabinet]\n- targets: none\n\nAuxiliary scene cues (coarse geometry only; use these cues just to identify rough scale and nearby context):\n- subject `appliance_neighbor_0`: category `frontload washing machine`, room `laundry`, placement `floor`, footprint `medium`, height `mid`, elevation `raised`\nTarget cues:\n- none\nNearby same-room context objects that may affect access or clearance:\n- `washer_open_0`: category `frontload washing machine`, placement `floor`, proximity `mid`, bbox_relation `overlapping_or_touching`, footprint `medium`\nDo not estimate exact centimeter clearance from these coarse cues. They are only for object identity, rough scale, and coarse proximity; the local renders remain the deciding evidence.\n\nMetric-specific rule:\nTask: A laundry corner with a front-loading washing machine (door open) and a second appliance beside it.\nEvaluate only the `interaction_clearance` metric for `appliance_neighbor_0` with affordance `openable`.\nRelevant context: the surrounding scene.\nFirst infer the most likely operating side from door panels, handles, hinges, or the side that faces into the room. Then check only that side for a normal standing zone and immediate hand/door operating clearance. Do not assume a large hinged swing arc unless the render clearly shows hinged doors needing that arc. Do not require the entire front face to be empty; a nearby bench or seat off to one side is acceptable when the floor directly before the door/handle area remains usable. A narrow diagonal side gap or a squeeze-by path does not count as clear operating space.\nIf you choose `degraded` or `fail`, name the blocker or the blocked standing/opening zone directly in front of the operating side. If at least one practical front-facing or slightly offset standing position remains and can still reach the operating side normally, prefer `pass`. Do not fail an openable object merely because a nearby seat or small furniture item is offset near one part of the front; require evidence that the usable operating side is actually occupied or pinched. If the operating side cannot be identified from the evidence, return `unknown` instead of guessing.\n\nImage order is fixed: local check renders always come first, followed by the overview renders. If a local render is highlighted, the subject is red and the targets are green.\nEvidence guardrails:\n- Treat the local renders as the deciding evidence for direct blockage, operating-side clearance, and immediate approach space.\n- Use overview renders only to understand room-scale layout or to break ties when the local evidence is incomplete.\n- To output `degraded` or `fail`, the local evidence should explicitly show a directly constrained operating/approach zone, not just a nearby object or a single perspective overlap.\n- When a `local_plan_context` view is present, use it to verify whether the suspected blocker really spans the usable operating/approach zone; if it shows a normal nearby standing/reach position remains, prefer `pass`.\n- If the overview render suggests a blockage but the local evidence does not clearly show that blockage, prefer `pass` or `unknown`, not `degraded` or `fail`.\nOutput JSON with keys: check_id, metric, label, asset_fact_used, asset_fact_confidence, evidence_conflict, reason, blocking_objects, confidence.\nAllowed labels: pass, degraded, fail, unknown.\n2D perspective overlap alone is not enough evidence of a blocker.\nNormal adjacency priors should not override direct evidence in the local renders. Nightstands beside beds, benches touching bed ends, corner wardrobes, and wall decor are acceptable only when they do not directly intrude into the required functional region.\nIf you choose degraded or fail, the reason must name a direct blocker or directly constrained functional region.\nIf evidence is insufficient, use unknown instead of guessing.",
  "files": {
    "render_check_image": "/data/250010098/SceneBenchmark/res/vlm_runs/scenesmith_ud4/articraft_articulation_demo/render_bundle/checks/interaction_clearance__appliance_neighbor_0_local_operating_zone.png",
    "render_check_image_01": "/data/250010098/SceneBenchmark/res/vlm_runs/scenesmith_ud4/articraft_articulation_demo/render_bundle/checks/interaction_clearance__appliance_neighbor_0_local_operating_zone_context.png",
    "render_check_image_02": "/data/250010098/SceneBenchmark/res/vlm_runs/scenesmith_ud4/articraft_articulation_demo/render_bundle/checks/interaction_clearance__appliance_neighbor_0_local_depth_probe.png",
    "render_check_image_03": "/data/250010098/SceneBenchmark/res/vlm_runs/scenesmith_ud4/articraft_articulation_demo/render_bundle/checks/interaction_clearance__appliance_neighbor_0_local_plan_context.png",
    "render_overview_image": "/data/250010098/SceneBenchmark/res/vlm_runs/scenesmith_ud4/articraft_articulation_demo/render_bundle/views/view_00_rgb.png",
    "render_overview_image_01": "/data/250010098/SceneBenchmark/res/vlm_runs/scenesmith_ud4/articraft_articulation_demo/render_bundle/views/view_01_rgb.png",
    "render_overview_image_02": "/data/250010098/SceneBenchmark/res/vlm_runs/scenesmith_ud4/articraft_articulation_demo/render_bundle/views/view_02_rgb.png",
    "render_overview_image_03": "/data/250010098/SceneBenchmark/res/vlm_runs/scenesmith_ud4/articraft_articulation_demo/render_bundle/views/view_03_rgb.png"
  }
}
Result JSON
{
  "check_id": "interaction_clearance__appliance_neighbor_0",
  "metric": "interaction_clearance",
  "label": "pass",
  "asset_fact_used": true,
  "asset_fact_confidence": 0.8,
  "evidence_conflict": false,
  "reason": "In the local operating zone and local operating zone context renders, the subject washing machine (red) has open floor directly in front of its front face, with the neighboring washer's open door offset to the right rather than occupying the subject's main standing zone. The local plan context also shows a practical front-left standing/reach position remains in front of the subject, so its front opening interface can still be operated normally now. Overviews support that this is a two-appliance corner, but the deciding local views do not show a direct blocker spanning the subject's operating side.",
  "blocking_objects": [],
  "confidence": 0.89
}
Evidence
interaction_clearance__appliance_neighbor_0

Judgement
frontload washing machine · openable, containable, drawable, graspable, turn VLM
Question
Task: A laundry corner with a front-loading washing machine (door open) and a second appliance beside it. Evaluate only the `interaction_clearance` metric for `washer_open_0` with affordance `openable`. Relevant context: the surrounding scene. First infer the most likely operating side from door panels, handles, hinges, or the side that faces into the room. Then check only that side for a normal standing zone and immediate hand/door operating clearance. Do not assume a large hinged swing arc unless the render clearly shows hinged doors needing that arc. Do not require the entire front face to be empty; a nearby bench or seat off to one side is acceptable when the floor directly before the door/handle area remains usable. A narrow diagonal side gap or a squeeze-by path does not count as clear operating space. If you choose `degraded` or `fail`, name the blocker or the blocked standing/opening zone directly in front of the operating side. If at least one practical front-facing or slightly offset standing position remains and can still reach the operating side normally, prefer `pass`. Do not fail an openable object merely because a nearby seat or small furniture item is offset near one part of the front; require evidence that the usable operating side is actually occupied or pinched. If the operating side cannot be identified from the evidence, return `unknown` instead of guessing.
Reason: In the local operating zone render and the local depth-probe render, the washer’s front side is identifiable and the floor area directly in front of the door/handle region remains open. In the local plan context and overview renders, the neighboring appliance sits beside the washer rather than occupying the standing zone in front of it, so a practical front-facing or slightly offset operating position is still available now.
Blocking Objects: none
Prompt
Show prompt
You are an affordance-aware functional critic for 3D indoor scenes.

Core principle: judge whether the task CAN be done in the current scene, without assuming it has already been pre-solved.

Workflow:
1. Read the task instruction and target metric.
2. Inspect the local check renders first and treat them as the primary evidence for the requested interaction.
3. Local render order and intended use: 1. `local_operating_zone` is the clean RGB view for the most likely door-facing standing and opening zone. 2. `local_operating_zone_context` is a slightly wider highlighted context view of the same operating side. 3. `local_depth_probe` is an oblique RGB view meant to clarify depth and whether a blocker sits in front of the operating zone. 4. `local_plan_context` is a high local layout view used to check whether a nearby object actually spans or occupies the operating/approach zone rather than merely overlapping in perspective.
4. Then inspect the 4 attached overview renders for room-scale layout and approach context. These overviews are captured from a slightly elevated height and are not meant to mimic adult eye level.
5. Evaluate ONLY the requested metric and return a JSON object matching the schema.

Scene summary: scenesmith scene with 2 objects. Room type: laundry. Planned checks: 6. Room shell: 3.38m x 2.54m x 2.70m.
Task instruction: A laundry corner with a front-loading washing machine (door open) and a second appliance beside it.
Metric: interaction_clearance
Subject object: washer_open_0
Target objects: none

Verified asset facts:
- subject `washer_open_0`: category `frontload washing machine`, affordances [openable, containable, drawable, graspable, turn], usable face `front`, benchmark relevance `functional`, confidence `0.80`, source `asset_annotation`
- interaction facts: placement class `floor_furniture`, access type `none`, interaction height `none`, surface map `front: [open, access_contents, open, grasp]`
- low-confidence candidates: `none`
- articulation facts: 4 movable part(s): drum (revolute, axis [1.0, 0.0, 0.0], limits None); door (revolute, axis [0.999718, 0.023758, -0.0], limits None); detergent_drawer (prismatic, axis [1.0, 0.0, 0.0], limits None); knob (revolute, axis [1.0, 0.0, 0.0], limits None); no precomputed swept volume
Use these as converter-side asset facts. Do not reclassify the subject; judge only whether the listed affordance remains usable in the current scene. If the image clearly contradicts these facts, return unknown and explain the conflict.

Scene evidence object hints:
- subject `washer_open_0`: category `frontload washing machine`, group `unknown`, keywords [frontload washing machine], affordances [openable, containable, drawable, graspable, turn], task targets [table, desk, nightstand, coffee_table, shelf, cabinet]
- targets: none

Auxiliary scene cues (coarse geometry only; use these cues just to identify rough scale and nearby context):
- subject `washer_open_0`: category `frontload washing machine`, room `laundry`, placement `floor`, footprint `medium`, height `mid`, elevation `raised`
Target cues:
- none
Nearby same-room context objects that may affect access or clearance:
- `appliance_neighbor_0`: category `frontload washing machine`, placement `floor`, proximity `mid`, bbox_relation `overlapping_or_touching`, footprint `medium`
Do not estimate exact centimeter clearance from these coarse cues. They are only for object identity, rough scale, and coarse proximity; the local renders remain the deciding evidence.

Metric-specific rule:
Task: A laundry corner with a front-loading washing machine (door open) and a second appliance beside it.
Evaluate only the `interaction_clearance` metric for `washer_open_0` with affordance `openable`.
Relevant context: the surrounding scene.
First infer the most likely operating side from door panels, handles, hinges, or the side that faces into the room. Then check only that side for a normal standing zone and immediate hand/door operating clearance. Do not assume a large hinged swing arc unless the render clearly shows hinged doors needing that arc. Do not require the entire front face to be empty; a nearby bench or seat off to one side is acceptable when the floor directly before the door/handle area remains usable. A narrow diagonal side gap or a squeeze-by path does not count as clear operating space.
If you choose `degraded` or `fail`, name the blocker or the blocked standing/opening zone directly in front of the operating side. If at least one practical front-facing or slightly offset standing position remains and can still reach the operating side normally, prefer `pass`. Do not fail an openable object merely because a nearby seat or small furniture item is offset near one part of the front; require evidence that the usable operating side is actually occupied or pinched. If the operating side cannot be identified from the evidence, return `unknown` instead of guessing.

Image order is fixed: local check renders always come first, followed by the overview renders. If a local render is highlighted, the subject is red and the targets are green.
Evidence guardrails:
- Treat the local renders as the deciding evidence for direct blockage, operating-side clearance, and immediate approach space.
- Use overview renders only to understand room-scale layout or to break ties when the local evidence is incomplete.
- To output `degraded` or `fail`, the local evidence should explicitly show a directly constrained operating/approach zone, not just a nearby object or a single perspective overlap.
- When a `local_plan_context` view is present, use it to verify whether the suspected blocker really spans the usable operating/approach zone; if it shows a normal nearby standing/reach position remains, prefer `pass`.
- If the overview render suggests a blockage but the local evidence does not clearly show that blockage, prefer `pass` or `unknown`, not `degraded` or `fail`.
Output JSON with keys: check_id, metric, label, asset_fact_used, asset_fact_confidence, evidence_conflict, reason, blocking_objects, confidence.
Allowed labels: pass, degraded, fail, unknown.
2D perspective overlap alone is not enough evidence of a blocker.
Normal adjacency priors should not override direct evidence in the local renders. Nightstands beside beds, benches touching bed ends, corner wardrobes, and wall decor are acceptable only when they do not directly intrude into the required functional region.
If you choose degraded or fail, the reason must name a direct blocker or directly constrained functional region.
If evidence is insufficient, use unknown instead of guessing.
Raw JSON
Request JSON
{
  "check_id": "interaction_clearance__washer_open_0",
  "metric": "interaction_clearance",
  "subject_id": "washer_open_0",
  "target_ids": [],
  "prompt_text": "You are an affordance-aware functional critic for 3D indoor scenes.\n\nCore principle: judge whether the task CAN be done in the current scene, without assuming it has already been pre-solved.\n\nWorkflow:\n1. Read the task instruction and target metric.\n2. Inspect the local check renders first and treat them as the primary evidence for the requested interaction.\n3. Local render order and intended use: 1. `local_operating_zone` is the clean RGB view for the most likely door-facing standing and opening zone. 2. `local_operating_zone_context` is a slightly wider highlighted context view of the same operating side. 3. `local_depth_probe` is an oblique RGB view meant to clarify depth and whether a blocker sits in front of the operating zone. 4. `local_plan_context` is a high local layout view used to check whether a nearby object actually spans or occupies the operating/approach zone rather than merely overlapping in perspective.\n4. Then inspect the 4 attached overview renders for room-scale layout and approach context. These overviews are captured from a slightly elevated height and are not meant to mimic adult eye level.\n5. Evaluate ONLY the requested metric and return a JSON object matching the schema.\n\nScene summary: scenesmith scene with 2 objects. Room type: laundry. Planned checks: 6. Room shell: 3.38m x 2.54m x 2.70m.\nTask instruction: A laundry corner with a front-loading washing machine (door open) and a second appliance beside it.\nMetric: interaction_clearance\nSubject object: washer_open_0\nTarget objects: none\n\nVerified asset facts:\n- subject `washer_open_0`: category `frontload washing machine`, affordances [openable, containable, drawable, graspable, turn], usable face `front`, benchmark relevance `functional`, confidence `0.80`, source `asset_annotation`\n- interaction facts: placement class `floor_furniture`, access type `none`, interaction height `none`, surface map `front: [open, access_contents, open, grasp]`\n- low-confidence candidates: `none`\n- articulation facts: 4 movable part(s): drum (revolute, axis [1.0, 0.0, 0.0], limits None); door (revolute, axis [0.999718, 0.023758, -0.0], limits None); detergent_drawer (prismatic, axis [1.0, 0.0, 0.0], limits None); knob (revolute, axis [1.0, 0.0, 0.0], limits None); no precomputed swept volume\nUse these as converter-side asset facts. Do not reclassify the subject; judge only whether the listed affordance remains usable in the current scene. If the image clearly contradicts these facts, return unknown and explain the conflict.\n\nScene evidence object hints:\n- subject `washer_open_0`: category `frontload washing machine`, group `unknown`, keywords [frontload washing machine], affordances [openable, containable, drawable, graspable, turn], task targets [table, desk, nightstand, coffee_table, shelf, cabinet]\n- targets: none\n\nAuxiliary scene cues (coarse geometry only; use these cues just to identify rough scale and nearby context):\n- subject `washer_open_0`: category `frontload washing machine`, room `laundry`, placement `floor`, footprint `medium`, height `mid`, elevation `raised`\nTarget cues:\n- none\nNearby same-room context objects that may affect access or clearance:\n- `appliance_neighbor_0`: category `frontload washing machine`, placement `floor`, proximity `mid`, bbox_relation `overlapping_or_touching`, footprint `medium`\nDo not estimate exact centimeter clearance from these coarse cues. They are only for object identity, rough scale, and coarse proximity; the local renders remain the deciding evidence.\n\nMetric-specific rule:\nTask: A laundry corner with a front-loading washing machine (door open) and a second appliance beside it.\nEvaluate only the `interaction_clearance` metric for `washer_open_0` with affordance `openable`.\nRelevant context: the surrounding scene.\nFirst infer the most likely operating side from door panels, handles, hinges, or the side that faces into the room. Then check only that side for a normal standing zone and immediate hand/door operating clearance. Do not assume a large hinged swing arc unless the render clearly shows hinged doors needing that arc. Do not require the entire front face to be empty; a nearby bench or seat off to one side is acceptable when the floor directly before the door/handle area remains usable. A narrow diagonal side gap or a squeeze-by path does not count as clear operating space.\nIf you choose `degraded` or `fail`, name the blocker or the blocked standing/opening zone directly in front of the operating side. If at least one practical front-facing or slightly offset standing position remains and can still reach the operating side normally, prefer `pass`. Do not fail an openable object merely because a nearby seat or small furniture item is offset near one part of the front; require evidence that the usable operating side is actually occupied or pinched. If the operating side cannot be identified from the evidence, return `unknown` instead of guessing.\n\nImage order is fixed: local check renders always come first, followed by the overview renders. If a local render is highlighted, the subject is red and the targets are green.\nEvidence guardrails:\n- Treat the local renders as the deciding evidence for direct blockage, operating-side clearance, and immediate approach space.\n- Use overview renders only to understand room-scale layout or to break ties when the local evidence is incomplete.\n- To output `degraded` or `fail`, the local evidence should explicitly show a directly constrained operating/approach zone, not just a nearby object or a single perspective overlap.\n- When a `local_plan_context` view is present, use it to verify whether the suspected blocker really spans the usable operating/approach zone; if it shows a normal nearby standing/reach position remains, prefer `pass`.\n- If the overview render suggests a blockage but the local evidence does not clearly show that blockage, prefer `pass` or `unknown`, not `degraded` or `fail`.\nOutput JSON with keys: check_id, metric, label, asset_fact_used, asset_fact_confidence, evidence_conflict, reason, blocking_objects, confidence.\nAllowed labels: pass, degraded, fail, unknown.\n2D perspective overlap alone is not enough evidence of a blocker.\nNormal adjacency priors should not override direct evidence in the local renders. Nightstands beside beds, benches touching bed ends, corner wardrobes, and wall decor are acceptable only when they do not directly intrude into the required functional region.\nIf you choose degraded or fail, the reason must name a direct blocker or directly constrained functional region.\nIf evidence is insufficient, use unknown instead of guessing.",
  "files": {
    "render_check_image": "/data/250010098/SceneBenchmark/res/vlm_runs/scenesmith_ud4/articraft_articulation_demo/render_bundle/checks/interaction_clearance__washer_open_0_local_operating_zone.png",
    "render_check_image_01": "/data/250010098/SceneBenchmark/res/vlm_runs/scenesmith_ud4/articraft_articulation_demo/render_bundle/checks/interaction_clearance__washer_open_0_local_operating_zone_context.png",
    "render_check_image_02": "/data/250010098/SceneBenchmark/res/vlm_runs/scenesmith_ud4/articraft_articulation_demo/render_bundle/checks/interaction_clearance__washer_open_0_local_depth_probe.png",
    "render_check_image_03": "/data/250010098/SceneBenchmark/res/vlm_runs/scenesmith_ud4/articraft_articulation_demo/render_bundle/checks/interaction_clearance__washer_open_0_local_plan_context.png",
    "render_overview_image": "/data/250010098/SceneBenchmark/res/vlm_runs/scenesmith_ud4/articraft_articulation_demo/render_bundle/views/view_00_rgb.png",
    "render_overview_image_01": "/data/250010098/SceneBenchmark/res/vlm_runs/scenesmith_ud4/articraft_articulation_demo/render_bundle/views/view_01_rgb.png",
    "render_overview_image_02": "/data/250010098/SceneBenchmark/res/vlm_runs/scenesmith_ud4/articraft_articulation_demo/render_bundle/views/view_02_rgb.png",
    "render_overview_image_03": "/data/250010098/SceneBenchmark/res/vlm_runs/scenesmith_ud4/articraft_articulation_demo/render_bundle/views/view_03_rgb.png"
  }
}
Result JSON
{
  "check_id": "interaction_clearance__washer_open_0",
  "metric": "interaction_clearance",
  "label": "pass",
  "asset_fact_used": true,
  "asset_fact_confidence": 0.8,
  "evidence_conflict": false,
  "reason": "In the local operating zone render and the local depth-probe render, the washer’s front side is identifiable and the floor area directly in front of the door/handle region remains open. In the local plan context and overview renders, the neighboring appliance sits beside the washer rather than occupying the standing zone in front of it, so a practical front-facing or slightly offset operating position is still available now.",
  "blocking_objects": [],
  "confidence": 0.89
}
Evidence
interaction_clearance__washer_open_0

Judgement
frontload washing machine · openable, containable, drawable, graspable, turn VLM
Question
Task: A laundry corner with a front-loading washing machine (door open) and a second appliance beside it. Evaluate only the `spatial_accessibility` metric for `appliance_neighbor_0` with affordance `openable`. Relevant context: the surrounding scene. Check whether at least one practical front-facing or slightly offset standing position can reach the operating side so the object can be opened. A nearby bed corner or bench should not cause degraded by itself if a normal reach from the front region is still possible. Use degraded only when that front-region approach is directly pinched, occupied, or effectively unusable across the usable operating side. Do not count a cramped diagonal squeeze, shoulder-turned sidestep, or tiny side sliver as a valid approach path. If you choose `degraded` or `fail`, name the blocker or the blocked standing/opening zone directly in front of the operating side. If at least one practical front-facing or slightly offset standing position remains and can still reach the operating side normally, prefer `pass`. Do not fail an openable object merely because a nearby seat or small furniture item is offset near one part of the front; require evidence that the usable operating side is actually occupied or pinched. If the operating side cannot be identified from the evidence, return `unknown` instead of guessing.
Reason: In the local_plan_context render, the red-highlighted washing machine has a clear front-facing standing area on the open floor directly in front of it, with the neighboring washer and its open door offset to the right rather than occupying the subject’s usable front approach zone. The local_operating_zone and overview renders also show open floor space in front of the subject, so at least one practical approach position remains for reaching and opening the front side normally.
Blocking Objects: none
Prompt
Show prompt
You are an affordance-aware functional critic for 3D indoor scenes.

Core principle: judge whether the task CAN be done in the current scene, without assuming it has already been pre-solved.

Workflow:
1. Read the task instruction and target metric.
2. Inspect the local check renders first and treat them as the primary evidence for the requested interaction.
3. Local render order and intended use: 1. `local_operating_zone` is the clean RGB view for the most likely door-facing standing and opening zone. 2. `local_operating_zone_context` is a slightly wider highlighted context view of the same operating side. 3. `local_depth_probe` is an oblique RGB view meant to clarify depth and whether a blocker sits in front of the operating zone. 4. `local_plan_context` is a high local layout view used to check whether a nearby object actually spans or occupies the operating/approach zone rather than merely overlapping in perspective.
4. Then inspect the 4 attached overview renders for room-scale layout and approach context. These overviews are captured from a slightly elevated height and are not meant to mimic adult eye level.
5. Evaluate ONLY the requested metric and return a JSON object matching the schema.

Scene summary: scenesmith scene with 2 objects. Room type: laundry. Planned checks: 6. Room shell: 3.38m x 2.54m x 2.70m.
Task instruction: A laundry corner with a front-loading washing machine (door open) and a second appliance beside it.
Metric: spatial_accessibility
Subject object: appliance_neighbor_0
Target objects: none

Verified asset facts:
- subject `appliance_neighbor_0`: category `frontload washing machine`, affordances [openable, containable, drawable, graspable, turn], usable face `front`, benchmark relevance `functional`, confidence `0.80`, source `asset_annotation`
- interaction facts: placement class `floor_furniture`, access type `none`, interaction height `none`, surface map `front: [open, access_contents, open, grasp]`
- low-confidence candidates: `none`
- articulation facts: 4 movable part(s): drum (revolute, axis [1.0, 0.0, 0.0], limits None); door (revolute, axis [0.999718, 0.023758, -0.0], limits None); detergent_drawer (prismatic, axis [1.0, 0.0, 0.0], limits None); knob (revolute, axis [1.0, 0.0, 0.0], limits None); no precomputed swept volume
Use these as converter-side asset facts. Do not reclassify the subject; judge only whether the listed affordance remains usable in the current scene. If the image clearly contradicts these facts, return unknown and explain the conflict.

Scene evidence object hints:
- subject `appliance_neighbor_0`: category `frontload washing machine`, group `unknown`, keywords [frontload washing machine], affordances [openable, containable, drawable, graspable, turn], task targets [table, desk, nightstand, coffee_table, shelf, cabinet]
- targets: none

Auxiliary scene cues (coarse geometry only; use these cues just to identify rough scale and nearby context):
- subject `appliance_neighbor_0`: category `frontload washing machine`, room `laundry`, placement `floor`, footprint `medium`, height `mid`, elevation `raised`
Target cues:
- none
Nearby same-room context objects that may affect access or clearance:
- `washer_open_0`: category `frontload washing machine`, placement `floor`, proximity `mid`, bbox_relation `overlapping_or_touching`, footprint `medium`
Do not estimate exact centimeter clearance from these coarse cues. They are only for object identity, rough scale, and coarse proximity; the local renders remain the deciding evidence.

Metric-specific rule:
Task: A laundry corner with a front-loading washing machine (door open) and a second appliance beside it.
Evaluate only the `spatial_accessibility` metric for `appliance_neighbor_0` with affordance `openable`.
Relevant context: the surrounding scene.
Check whether at least one practical front-facing or slightly offset standing position can reach the operating side so the object can be opened. A nearby bed corner or bench should not cause degraded by itself if a normal reach from the front region is still possible. Use degraded only when that front-region approach is directly pinched, occupied, or effectively unusable across the usable operating side. Do not count a cramped diagonal squeeze, shoulder-turned sidestep, or tiny side sliver as a valid approach path.
If you choose `degraded` or `fail`, name the blocker or the blocked standing/opening zone directly in front of the operating side. If at least one practical front-facing or slightly offset standing position remains and can still reach the operating side normally, prefer `pass`. Do not fail an openable object merely because a nearby seat or small furniture item is offset near one part of the front; require evidence that the usable operating side is actually occupied or pinched. If the operating side cannot be identified from the evidence, return `unknown` instead of guessing.

Image order is fixed: local check renders always come first, followed by the overview renders. If a local render is highlighted, the subject is red and the targets are green.
Evidence guardrails:
- Treat the local renders as the deciding evidence for direct blockage, operating-side clearance, and immediate approach space.
- Use overview renders only to understand room-scale layout or to break ties when the local evidence is incomplete.
- To output `degraded` or `fail`, the local evidence should explicitly show a directly constrained operating/approach zone, not just a nearby object or a single perspective overlap.
- When a `local_plan_context` view is present, use it to verify whether the suspected blocker really spans the usable operating/approach zone; if it shows a normal nearby standing/reach position remains, prefer `pass`.
- If the overview render suggests a blockage but the local evidence does not clearly show that blockage, prefer `pass` or `unknown`, not `degraded` or `fail`.
Output JSON with keys: check_id, metric, label, asset_fact_used, asset_fact_confidence, evidence_conflict, reason, blocking_objects, confidence.
Allowed labels: pass, degraded, fail, unknown.
2D perspective overlap alone is not enough evidence of a blocker.
Normal adjacency priors should not override direct evidence in the local renders. Nightstands beside beds, benches touching bed ends, corner wardrobes, and wall decor are acceptable only when they do not directly intrude into the required functional region.
If you choose degraded or fail, the reason must name a direct blocker or directly constrained functional region.
If evidence is insufficient, use unknown instead of guessing.
Raw JSON
Request JSON
{
  "check_id": "spatial_accessibility__appliance_neighbor_0",
  "metric": "spatial_accessibility",
  "subject_id": "appliance_neighbor_0",
  "target_ids": [],
  "prompt_text": "You are an affordance-aware functional critic for 3D indoor scenes.\n\nCore principle: judge whether the task CAN be done in the current scene, without assuming it has already been pre-solved.\n\nWorkflow:\n1. Read the task instruction and target metric.\n2. Inspect the local check renders first and treat them as the primary evidence for the requested interaction.\n3. Local render order and intended use: 1. `local_operating_zone` is the clean RGB view for the most likely door-facing standing and opening zone. 2. `local_operating_zone_context` is a slightly wider highlighted context view of the same operating side. 3. `local_depth_probe` is an oblique RGB view meant to clarify depth and whether a blocker sits in front of the operating zone. 4. `local_plan_context` is a high local layout view used to check whether a nearby object actually spans or occupies the operating/approach zone rather than merely overlapping in perspective.\n4. Then inspect the 4 attached overview renders for room-scale layout and approach context. These overviews are captured from a slightly elevated height and are not meant to mimic adult eye level.\n5. Evaluate ONLY the requested metric and return a JSON object matching the schema.\n\nScene summary: scenesmith scene with 2 objects. Room type: laundry. Planned checks: 6. Room shell: 3.38m x 2.54m x 2.70m.\nTask instruction: A laundry corner with a front-loading washing machine (door open) and a second appliance beside it.\nMetric: spatial_accessibility\nSubject object: appliance_neighbor_0\nTarget objects: none\n\nVerified asset facts:\n- subject `appliance_neighbor_0`: category `frontload washing machine`, affordances [openable, containable, drawable, graspable, turn], usable face `front`, benchmark relevance `functional`, confidence `0.80`, source `asset_annotation`\n- interaction facts: placement class `floor_furniture`, access type `none`, interaction height `none`, surface map `front: [open, access_contents, open, grasp]`\n- low-confidence candidates: `none`\n- articulation facts: 4 movable part(s): drum (revolute, axis [1.0, 0.0, 0.0], limits None); door (revolute, axis [0.999718, 0.023758, -0.0], limits None); detergent_drawer (prismatic, axis [1.0, 0.0, 0.0], limits None); knob (revolute, axis [1.0, 0.0, 0.0], limits None); no precomputed swept volume\nUse these as converter-side asset facts. Do not reclassify the subject; judge only whether the listed affordance remains usable in the current scene. If the image clearly contradicts these facts, return unknown and explain the conflict.\n\nScene evidence object hints:\n- subject `appliance_neighbor_0`: category `frontload washing machine`, group `unknown`, keywords [frontload washing machine], affordances [openable, containable, drawable, graspable, turn], task targets [table, desk, nightstand, coffee_table, shelf, cabinet]\n- targets: none\n\nAuxiliary scene cues (coarse geometry only; use these cues just to identify rough scale and nearby context):\n- subject `appliance_neighbor_0`: category `frontload washing machine`, room `laundry`, placement `floor`, footprint `medium`, height `mid`, elevation `raised`\nTarget cues:\n- none\nNearby same-room context objects that may affect access or clearance:\n- `washer_open_0`: category `frontload washing machine`, placement `floor`, proximity `mid`, bbox_relation `overlapping_or_touching`, footprint `medium`\nDo not estimate exact centimeter clearance from these coarse cues. They are only for object identity, rough scale, and coarse proximity; the local renders remain the deciding evidence.\n\nMetric-specific rule:\nTask: A laundry corner with a front-loading washing machine (door open) and a second appliance beside it.\nEvaluate only the `spatial_accessibility` metric for `appliance_neighbor_0` with affordance `openable`.\nRelevant context: the surrounding scene.\nCheck whether at least one practical front-facing or slightly offset standing position can reach the operating side so the object can be opened. A nearby bed corner or bench should not cause degraded by itself if a normal reach from the front region is still possible. Use degraded only when that front-region approach is directly pinched, occupied, or effectively unusable across the usable operating side. Do not count a cramped diagonal squeeze, shoulder-turned sidestep, or tiny side sliver as a valid approach path.\nIf you choose `degraded` or `fail`, name the blocker or the blocked standing/opening zone directly in front of the operating side. If at least one practical front-facing or slightly offset standing position remains and can still reach the operating side normally, prefer `pass`. Do not fail an openable object merely because a nearby seat or small furniture item is offset near one part of the front; require evidence that the usable operating side is actually occupied or pinched. If the operating side cannot be identified from the evidence, return `unknown` instead of guessing.\n\nImage order is fixed: local check renders always come first, followed by the overview renders. If a local render is highlighted, the subject is red and the targets are green.\nEvidence guardrails:\n- Treat the local renders as the deciding evidence for direct blockage, operating-side clearance, and immediate approach space.\n- Use overview renders only to understand room-scale layout or to break ties when the local evidence is incomplete.\n- To output `degraded` or `fail`, the local evidence should explicitly show a directly constrained operating/approach zone, not just a nearby object or a single perspective overlap.\n- When a `local_plan_context` view is present, use it to verify whether the suspected blocker really spans the usable operating/approach zone; if it shows a normal nearby standing/reach position remains, prefer `pass`.\n- If the overview render suggests a blockage but the local evidence does not clearly show that blockage, prefer `pass` or `unknown`, not `degraded` or `fail`.\nOutput JSON with keys: check_id, metric, label, asset_fact_used, asset_fact_confidence, evidence_conflict, reason, blocking_objects, confidence.\nAllowed labels: pass, degraded, fail, unknown.\n2D perspective overlap alone is not enough evidence of a blocker.\nNormal adjacency priors should not override direct evidence in the local renders. Nightstands beside beds, benches touching bed ends, corner wardrobes, and wall decor are acceptable only when they do not directly intrude into the required functional region.\nIf you choose degraded or fail, the reason must name a direct blocker or directly constrained functional region.\nIf evidence is insufficient, use unknown instead of guessing.",
  "files": {
    "render_check_image": "/data/250010098/SceneBenchmark/res/vlm_runs/scenesmith_ud4/articraft_articulation_demo/render_bundle/checks/spatial_accessibility__appliance_neighbor_0_local_operating_zone.png",
    "render_check_image_01": "/data/250010098/SceneBenchmark/res/vlm_runs/scenesmith_ud4/articraft_articulation_demo/render_bundle/checks/spatial_accessibility__appliance_neighbor_0_local_operating_zone_context.png",
    "render_check_image_02": "/data/250010098/SceneBenchmark/res/vlm_runs/scenesmith_ud4/articraft_articulation_demo/render_bundle/checks/spatial_accessibility__appliance_neighbor_0_local_depth_probe.png",
    "render_check_image_03": "/data/250010098/SceneBenchmark/res/vlm_runs/scenesmith_ud4/articraft_articulation_demo/render_bundle/checks/spatial_accessibility__appliance_neighbor_0_local_plan_context.png",
    "render_overview_image": "/data/250010098/SceneBenchmark/res/vlm_runs/scenesmith_ud4/articraft_articulation_demo/render_bundle/views/view_00_rgb.png",
    "render_overview_image_01": "/data/250010098/SceneBenchmark/res/vlm_runs/scenesmith_ud4/articraft_articulation_demo/render_bundle/views/view_01_rgb.png",
    "render_overview_image_02": "/data/250010098/SceneBenchmark/res/vlm_runs/scenesmith_ud4/articraft_articulation_demo/render_bundle/views/view_02_rgb.png",
    "render_overview_image_03": "/data/250010098/SceneBenchmark/res/vlm_runs/scenesmith_ud4/articraft_articulation_demo/render_bundle/views/view_03_rgb.png"
  }
}
Result JSON
{
  "check_id": "spatial_accessibility__appliance_neighbor_0",
  "metric": "spatial_accessibility",
  "label": "pass",
  "asset_fact_used": true,
  "asset_fact_confidence": 0.8,
  "evidence_conflict": false,
  "reason": "In the local_plan_context render, the red-highlighted washing machine has a clear front-facing standing area on the open floor directly in front of it, with the neighboring washer and its open door offset to the right rather than occupying the subject’s usable front approach zone. The local_operating_zone and overview renders also show open floor space in front of the subject, so at least one practical approach position remains for reaching and opening the front side normally.",
  "blocking_objects": [],
  "confidence": 0.91
}
Evidence
spatial_accessibility__appliance_neighbor_0

Judgement
frontload washing machine · openable, containable, drawable, graspable, turn VLM
Question
Task: A laundry corner with a front-loading washing machine (door open) and a second appliance beside it. Evaluate only the `spatial_accessibility` metric for `washer_open_0` with affordance `openable`. Relevant context: the surrounding scene. Check whether at least one practical front-facing or slightly offset standing position can reach the operating side so the object can be opened. A nearby bed corner or bench should not cause degraded by itself if a normal reach from the front region is still possible. Use degraded only when that front-region approach is directly pinched, occupied, or effectively unusable across the usable operating side. Do not count a cramped diagonal squeeze, shoulder-turned sidestep, or tiny side sliver as a valid approach path. If you choose `degraded` or `fail`, name the blocker or the blocked standing/opening zone directly in front of the operating side. If at least one practical front-facing or slightly offset standing position remains and can still reach the operating side normally, prefer `pass`. Do not fail an openable object merely because a nearby seat or small furniture item is offset near one part of the front; require evidence that the usable operating side is actually occupied or pinched. If the operating side cannot be identified from the evidence, return `unknown` instead of guessing.
Reason: In the local operating zone and local depth-probe renders, the floor area directly in front of washer_open_0 is open, leaving a practical front-facing standing position to reach the washer’s front. In the local plan context and overview renders, the second appliance sits beside the washer rather than occupying the front approach zone, so the usable operating side remains normally accessible now.
Blocking Objects: none
Prompt
Show prompt
You are an affordance-aware functional critic for 3D indoor scenes.

Core principle: judge whether the task CAN be done in the current scene, without assuming it has already been pre-solved.

Workflow:
1. Read the task instruction and target metric.
2. Inspect the local check renders first and treat them as the primary evidence for the requested interaction.
3. Local render order and intended use: 1. `local_operating_zone` is the clean RGB view for the most likely door-facing standing and opening zone. 2. `local_operating_zone_context` is a slightly wider highlighted context view of the same operating side. 3. `local_depth_probe` is an oblique RGB view meant to clarify depth and whether a blocker sits in front of the operating zone. 4. `local_plan_context` is a high local layout view used to check whether a nearby object actually spans or occupies the operating/approach zone rather than merely overlapping in perspective.
4. Then inspect the 4 attached overview renders for room-scale layout and approach context. These overviews are captured from a slightly elevated height and are not meant to mimic adult eye level.
5. Evaluate ONLY the requested metric and return a JSON object matching the schema.

Scene summary: scenesmith scene with 2 objects. Room type: laundry. Planned checks: 6. Room shell: 3.38m x 2.54m x 2.70m.
Task instruction: A laundry corner with a front-loading washing machine (door open) and a second appliance beside it.
Metric: spatial_accessibility
Subject object: washer_open_0
Target objects: none

Verified asset facts:
- subject `washer_open_0`: category `frontload washing machine`, affordances [openable, containable, drawable, graspable, turn], usable face `front`, benchmark relevance `functional`, confidence `0.80`, source `asset_annotation`
- interaction facts: placement class `floor_furniture`, access type `none`, interaction height `none`, surface map `front: [open, access_contents, open, grasp]`
- low-confidence candidates: `none`
- articulation facts: 4 movable part(s): drum (revolute, axis [1.0, 0.0, 0.0], limits None); door (revolute, axis [0.999718, 0.023758, -0.0], limits None); detergent_drawer (prismatic, axis [1.0, 0.0, 0.0], limits None); knob (revolute, axis [1.0, 0.0, 0.0], limits None); no precomputed swept volume
Use these as converter-side asset facts. Do not reclassify the subject; judge only whether the listed affordance remains usable in the current scene. If the image clearly contradicts these facts, return unknown and explain the conflict.

Scene evidence object hints:
- subject `washer_open_0`: category `frontload washing machine`, group `unknown`, keywords [frontload washing machine], affordances [openable, containable, drawable, graspable, turn], task targets [table, desk, nightstand, coffee_table, shelf, cabinet]
- targets: none

Auxiliary scene cues (coarse geometry only; use these cues just to identify rough scale and nearby context):
- subject `washer_open_0`: category `frontload washing machine`, room `laundry`, placement `floor`, footprint `medium`, height `mid`, elevation `raised`
Target cues:
- none
Nearby same-room context objects that may affect access or clearance:
- `appliance_neighbor_0`: category `frontload washing machine`, placement `floor`, proximity `mid`, bbox_relation `overlapping_or_touching`, footprint `medium`
Do not estimate exact centimeter clearance from these coarse cues. They are only for object identity, rough scale, and coarse proximity; the local renders remain the deciding evidence.

Metric-specific rule:
Task: A laundry corner with a front-loading washing machine (door open) and a second appliance beside it.
Evaluate only the `spatial_accessibility` metric for `washer_open_0` with affordance `openable`.
Relevant context: the surrounding scene.
Check whether at least one practical front-facing or slightly offset standing position can reach the operating side so the object can be opened. A nearby bed corner or bench should not cause degraded by itself if a normal reach from the front region is still possible. Use degraded only when that front-region approach is directly pinched, occupied, or effectively unusable across the usable operating side. Do not count a cramped diagonal squeeze, shoulder-turned sidestep, or tiny side sliver as a valid approach path.
If you choose `degraded` or `fail`, name the blocker or the blocked standing/opening zone directly in front of the operating side. If at least one practical front-facing or slightly offset standing position remains and can still reach the operating side normally, prefer `pass`. Do not fail an openable object merely because a nearby seat or small furniture item is offset near one part of the front; require evidence that the usable operating side is actually occupied or pinched. If the operating side cannot be identified from the evidence, return `unknown` instead of guessing.

Image order is fixed: local check renders always come first, followed by the overview renders. If a local render is highlighted, the subject is red and the targets are green.
Evidence guardrails:
- Treat the local renders as the deciding evidence for direct blockage, operating-side clearance, and immediate approach space.
- Use overview renders only to understand room-scale layout or to break ties when the local evidence is incomplete.
- To output `degraded` or `fail`, the local evidence should explicitly show a directly constrained operating/approach zone, not just a nearby object or a single perspective overlap.
- When a `local_plan_context` view is present, use it to verify whether the suspected blocker really spans the usable operating/approach zone; if it shows a normal nearby standing/reach position remains, prefer `pass`.
- If the overview render suggests a blockage but the local evidence does not clearly show that blockage, prefer `pass` or `unknown`, not `degraded` or `fail`.
Output JSON with keys: check_id, metric, label, asset_fact_used, asset_fact_confidence, evidence_conflict, reason, blocking_objects, confidence.
Allowed labels: pass, degraded, fail, unknown.
2D perspective overlap alone is not enough evidence of a blocker.
Normal adjacency priors should not override direct evidence in the local renders. Nightstands beside beds, benches touching bed ends, corner wardrobes, and wall decor are acceptable only when they do not directly intrude into the required functional region.
If you choose degraded or fail, the reason must name a direct blocker or directly constrained functional region.
If evidence is insufficient, use unknown instead of guessing.
Raw JSON
Request JSON
{
  "check_id": "spatial_accessibility__washer_open_0",
  "metric": "spatial_accessibility",
  "subject_id": "washer_open_0",
  "target_ids": [],
  "prompt_text": "You are an affordance-aware functional critic for 3D indoor scenes.\n\nCore principle: judge whether the task CAN be done in the current scene, without assuming it has already been pre-solved.\n\nWorkflow:\n1. Read the task instruction and target metric.\n2. Inspect the local check renders first and treat them as the primary evidence for the requested interaction.\n3. Local render order and intended use: 1. `local_operating_zone` is the clean RGB view for the most likely door-facing standing and opening zone. 2. `local_operating_zone_context` is a slightly wider highlighted context view of the same operating side. 3. `local_depth_probe` is an oblique RGB view meant to clarify depth and whether a blocker sits in front of the operating zone. 4. `local_plan_context` is a high local layout view used to check whether a nearby object actually spans or occupies the operating/approach zone rather than merely overlapping in perspective.\n4. Then inspect the 4 attached overview renders for room-scale layout and approach context. These overviews are captured from a slightly elevated height and are not meant to mimic adult eye level.\n5. Evaluate ONLY the requested metric and return a JSON object matching the schema.\n\nScene summary: scenesmith scene with 2 objects. Room type: laundry. Planned checks: 6. Room shell: 3.38m x 2.54m x 2.70m.\nTask instruction: A laundry corner with a front-loading washing machine (door open) and a second appliance beside it.\nMetric: spatial_accessibility\nSubject object: washer_open_0\nTarget objects: none\n\nVerified asset facts:\n- subject `washer_open_0`: category `frontload washing machine`, affordances [openable, containable, drawable, graspable, turn], usable face `front`, benchmark relevance `functional`, confidence `0.80`, source `asset_annotation`\n- interaction facts: placement class `floor_furniture`, access type `none`, interaction height `none`, surface map `front: [open, access_contents, open, grasp]`\n- low-confidence candidates: `none`\n- articulation facts: 4 movable part(s): drum (revolute, axis [1.0, 0.0, 0.0], limits None); door (revolute, axis [0.999718, 0.023758, -0.0], limits None); detergent_drawer (prismatic, axis [1.0, 0.0, 0.0], limits None); knob (revolute, axis [1.0, 0.0, 0.0], limits None); no precomputed swept volume\nUse these as converter-side asset facts. Do not reclassify the subject; judge only whether the listed affordance remains usable in the current scene. If the image clearly contradicts these facts, return unknown and explain the conflict.\n\nScene evidence object hints:\n- subject `washer_open_0`: category `frontload washing machine`, group `unknown`, keywords [frontload washing machine], affordances [openable, containable, drawable, graspable, turn], task targets [table, desk, nightstand, coffee_table, shelf, cabinet]\n- targets: none\n\nAuxiliary scene cues (coarse geometry only; use these cues just to identify rough scale and nearby context):\n- subject `washer_open_0`: category `frontload washing machine`, room `laundry`, placement `floor`, footprint `medium`, height `mid`, elevation `raised`\nTarget cues:\n- none\nNearby same-room context objects that may affect access or clearance:\n- `appliance_neighbor_0`: category `frontload washing machine`, placement `floor`, proximity `mid`, bbox_relation `overlapping_or_touching`, footprint `medium`\nDo not estimate exact centimeter clearance from these coarse cues. They are only for object identity, rough scale, and coarse proximity; the local renders remain the deciding evidence.\n\nMetric-specific rule:\nTask: A laundry corner with a front-loading washing machine (door open) and a second appliance beside it.\nEvaluate only the `spatial_accessibility` metric for `washer_open_0` with affordance `openable`.\nRelevant context: the surrounding scene.\nCheck whether at least one practical front-facing or slightly offset standing position can reach the operating side so the object can be opened. A nearby bed corner or bench should not cause degraded by itself if a normal reach from the front region is still possible. Use degraded only when that front-region approach is directly pinched, occupied, or effectively unusable across the usable operating side. Do not count a cramped diagonal squeeze, shoulder-turned sidestep, or tiny side sliver as a valid approach path.\nIf you choose `degraded` or `fail`, name the blocker or the blocked standing/opening zone directly in front of the operating side. If at least one practical front-facing or slightly offset standing position remains and can still reach the operating side normally, prefer `pass`. Do not fail an openable object merely because a nearby seat or small furniture item is offset near one part of the front; require evidence that the usable operating side is actually occupied or pinched. If the operating side cannot be identified from the evidence, return `unknown` instead of guessing.\n\nImage order is fixed: local check renders always come first, followed by the overview renders. If a local render is highlighted, the subject is red and the targets are green.\nEvidence guardrails:\n- Treat the local renders as the deciding evidence for direct blockage, operating-side clearance, and immediate approach space.\n- Use overview renders only to understand room-scale layout or to break ties when the local evidence is incomplete.\n- To output `degraded` or `fail`, the local evidence should explicitly show a directly constrained operating/approach zone, not just a nearby object or a single perspective overlap.\n- When a `local_plan_context` view is present, use it to verify whether the suspected blocker really spans the usable operating/approach zone; if it shows a normal nearby standing/reach position remains, prefer `pass`.\n- If the overview render suggests a blockage but the local evidence does not clearly show that blockage, prefer `pass` or `unknown`, not `degraded` or `fail`.\nOutput JSON with keys: check_id, metric, label, asset_fact_used, asset_fact_confidence, evidence_conflict, reason, blocking_objects, confidence.\nAllowed labels: pass, degraded, fail, unknown.\n2D perspective overlap alone is not enough evidence of a blocker.\nNormal adjacency priors should not override direct evidence in the local renders. Nightstands beside beds, benches touching bed ends, corner wardrobes, and wall decor are acceptable only when they do not directly intrude into the required functional region.\nIf you choose degraded or fail, the reason must name a direct blocker or directly constrained functional region.\nIf evidence is insufficient, use unknown instead of guessing.",
  "files": {
    "render_check_image": "/data/250010098/SceneBenchmark/res/vlm_runs/scenesmith_ud4/articraft_articulation_demo/render_bundle/checks/spatial_accessibility__washer_open_0_local_operating_zone.png",
    "render_check_image_01": "/data/250010098/SceneBenchmark/res/vlm_runs/scenesmith_ud4/articraft_articulation_demo/render_bundle/checks/spatial_accessibility__washer_open_0_local_operating_zone_context.png",
    "render_check_image_02": "/data/250010098/SceneBenchmark/res/vlm_runs/scenesmith_ud4/articraft_articulation_demo/render_bundle/checks/spatial_accessibility__washer_open_0_local_depth_probe.png",
    "render_check_image_03": "/data/250010098/SceneBenchmark/res/vlm_runs/scenesmith_ud4/articraft_articulation_demo/render_bundle/checks/spatial_accessibility__washer_open_0_local_plan_context.png",
    "render_overview_image": "/data/250010098/SceneBenchmark/res/vlm_runs/scenesmith_ud4/articraft_articulation_demo/render_bundle/views/view_00_rgb.png",
    "render_overview_image_01": "/data/250010098/SceneBenchmark/res/vlm_runs/scenesmith_ud4/articraft_articulation_demo/render_bundle/views/view_01_rgb.png",
    "render_overview_image_02": "/data/250010098/SceneBenchmark/res/vlm_runs/scenesmith_ud4/articraft_articulation_demo/render_bundle/views/view_02_rgb.png",
    "render_overview_image_03": "/data/250010098/SceneBenchmark/res/vlm_runs/scenesmith_ud4/articraft_articulation_demo/render_bundle/views/view_03_rgb.png"
  }
}
Result JSON
{
  "check_id": "spatial_accessibility__washer_open_0",
  "metric": "spatial_accessibility",
  "label": "pass",
  "asset_fact_used": true,
  "asset_fact_confidence": 0.8,
  "evidence_conflict": false,
  "reason": "In the local operating zone and local depth-probe renders, the floor area directly in front of washer_open_0 is open, leaving a practical front-facing standing position to reach the washer’s front. In the local plan context and overview renders, the second appliance sits beside the washer rather than occupying the front approach zone, so the usable operating side remains normally accessible now.",
  "blocking_objects": [],
  "confidence": 0.91
}
Evidence
spatial_accessibility__washer_open_0

Judgement
frontload washing machine · openable, containable, drawable, graspable, turn VLM
Question
Task: A laundry corner with a front-loading washing machine (door open) and a second appliance beside it. Evaluate only the `articulation_clearance` metric for `washer_open_0` with affordance `openable`. Relevant context: the surrounding scene. The object is rendered in its OPEN state. Judge whether its moving part (door/lid/drawer) can complete its full actuation — the swing arc of a revolute hinge or the pull-out travel of a prismatic drawer — without colliding with a neighboring object or wall. Use the supplied joint asset_fact (joint type, axis, range, swept operation_space) to reason about the motion envelope and cross-check it against the open-state geometry. If you choose `degraded` or `fail`, name the blocker or the blocked standing/opening zone directly in front of the operating side. If at least one practical front-facing or slightly offset standing position remains and can still reach the operating side normally, prefer `pass`. Do not fail an openable object merely because a nearby seat or small furniture item is offset near one part of the front; require evidence that the usable operating side is actually occupied or pinched. If the operating side cannot be identified from the evidence, return `unknown` instead of guessing.
Reason: In the local_plan_context render, the washer door is shown fully open with visible free space between the open door edge/swing area and the neighboring appliance to the left. The local_depth_probe and overview renders also do not show the open door intersecting either the adjacent appliance or the wall, so the door appears able to complete its open articulation without collision in the current scene.
Blocking Objects: none
Prompt
Show prompt
You are an affordance-aware functional critic for 3D indoor scenes.

Core principle: judge whether the task CAN be done in the current scene, without assuming it has already been pre-solved.

Workflow:
1. Read the task instruction and target metric.
2. Inspect the local check renders first and treat them as the primary evidence for the requested interaction.
3. Local render order and intended use: 1. `local_operating_zone` is the clean RGB view for the most likely door-facing standing and opening zone. 2. `local_operating_zone_context` is a slightly wider highlighted context view of the same operating side. 3. `local_depth_probe` is an oblique RGB view meant to clarify depth and whether a blocker sits in front of the operating zone. 4. `local_plan_context` is a high local layout view used to check whether a nearby object actually spans or occupies the operating/approach zone rather than merely overlapping in perspective.
4. Then inspect the 4 attached overview renders for room-scale layout and approach context. These overviews are captured from a slightly elevated height and are not meant to mimic adult eye level.
5. Evaluate ONLY the requested metric and return a JSON object matching the schema.

Scene summary: scenesmith scene with 2 objects. Room type: laundry. Planned checks: 6. Room shell: 3.38m x 2.54m x 2.70m.
Task instruction: A laundry corner with a front-loading washing machine (door open) and a second appliance beside it.
Metric: articulation_clearance
Subject object: washer_open_0
Target objects: none

Verified asset facts:
- subject `washer_open_0`: category `frontload washing machine`, affordances [openable, containable, drawable, graspable, turn], usable face `front`, benchmark relevance `functional`, confidence `0.80`, source `asset_annotation`
- interaction facts: placement class `floor_furniture`, access type `none`, interaction height `none`, surface map `front: [open, access_contents, open, grasp]`
- low-confidence candidates: `none`
- articulation facts: 4 movable part(s): drum (revolute, axis [1.0, 0.0, 0.0], limits None); door (revolute, axis [0.999718, 0.023758, -0.0], limits None); detergent_drawer (prismatic, axis [1.0, 0.0, 0.0], limits None); knob (revolute, axis [1.0, 0.0, 0.0], limits None); no precomputed swept volume
Use these as converter-side asset facts. Do not reclassify the subject; judge only whether the listed affordance remains usable in the current scene. If the image clearly contradicts these facts, return unknown and explain the conflict.

Scene evidence object hints:
- subject `washer_open_0`: category `frontload washing machine`, group `unknown`, keywords [frontload washing machine], affordances [openable, containable, drawable, graspable, turn], task targets [table, desk, nightstand, coffee_table, shelf, cabinet]
- targets: none

Auxiliary scene cues (coarse geometry only; use these cues just to identify rough scale and nearby context):
- subject `washer_open_0`: category `frontload washing machine`, room `laundry`, placement `floor`, footprint `medium`, height `mid`, elevation `raised`
Target cues:
- none
Nearby same-room context objects that may affect access or clearance:
- `appliance_neighbor_0`: category `frontload washing machine`, placement `floor`, proximity `mid`, bbox_relation `overlapping_or_touching`, footprint `medium`
Do not estimate exact centimeter clearance from these coarse cues. They are only for object identity, rough scale, and coarse proximity; the local renders remain the deciding evidence.

Metric-specific rule:
Task: A laundry corner with a front-loading washing machine (door open) and a second appliance beside it.
Evaluate only the `articulation_clearance` metric for `washer_open_0` with affordance `openable`.
Relevant context: the surrounding scene.
The object is rendered in its OPEN state. Judge whether its moving part (door/lid/drawer) can complete its full actuation — the swing arc of a revolute hinge or the pull-out travel of a prismatic drawer — without colliding with a neighboring object or wall. Use the supplied joint asset_fact (joint type, axis, range, swept operation_space) to reason about the motion envelope and cross-check it against the open-state geometry.
If you choose `degraded` or `fail`, name the blocker or the blocked standing/opening zone directly in front of the operating side. If at least one practical front-facing or slightly offset standing position remains and can still reach the operating side normally, prefer `pass`. Do not fail an openable object merely because a nearby seat or small furniture item is offset near one part of the front; require evidence that the usable operating side is actually occupied or pinched. If the operating side cannot be identified from the evidence, return `unknown` instead of guessing.

Image order is fixed: local check renders always come first, followed by the overview renders. If a local render is highlighted, the subject is red and the targets are green.
Evidence guardrails:
- Treat the local renders as the deciding evidence for direct blockage, operating-side clearance, and immediate approach space.
- Use overview renders only to understand room-scale layout or to break ties when the local evidence is incomplete.
- To output `degraded` or `fail`, the local evidence should explicitly show a directly constrained operating/approach zone, not just a nearby object or a single perspective overlap.
- When a `local_plan_context` view is present, use it to verify whether the suspected blocker really spans the usable operating/approach zone; if it shows a normal nearby standing/reach position remains, prefer `pass`.
- If the overview render suggests a blockage but the local evidence does not clearly show that blockage, prefer `pass` or `unknown`, not `degraded` or `fail`.
Output JSON with keys: check_id, metric, label, asset_fact_used, asset_fact_confidence, evidence_conflict, reason, blocking_objects, confidence.
Allowed labels: pass, degraded, fail, unknown.
2D perspective overlap alone is not enough evidence of a blocker.
Normal adjacency priors should not override direct evidence in the local renders. Nightstands beside beds, benches touching bed ends, corner wardrobes, and wall decor are acceptable only when they do not directly intrude into the required functional region.
If you choose degraded or fail, the reason must name a direct blocker or directly constrained functional region.
If evidence is insufficient, use unknown instead of guessing.
Raw JSON
Request JSON
{
  "check_id": "articulation_clearance__washer_open_0",
  "metric": "articulation_clearance",
  "subject_id": "washer_open_0",
  "target_ids": [],
  "prompt_text": "You are an affordance-aware functional critic for 3D indoor scenes.\n\nCore principle: judge whether the task CAN be done in the current scene, without assuming it has already been pre-solved.\n\nWorkflow:\n1. Read the task instruction and target metric.\n2. Inspect the local check renders first and treat them as the primary evidence for the requested interaction.\n3. Local render order and intended use: 1. `local_operating_zone` is the clean RGB view for the most likely door-facing standing and opening zone. 2. `local_operating_zone_context` is a slightly wider highlighted context view of the same operating side. 3. `local_depth_probe` is an oblique RGB view meant to clarify depth and whether a blocker sits in front of the operating zone. 4. `local_plan_context` is a high local layout view used to check whether a nearby object actually spans or occupies the operating/approach zone rather than merely overlapping in perspective.\n4. Then inspect the 4 attached overview renders for room-scale layout and approach context. These overviews are captured from a slightly elevated height and are not meant to mimic adult eye level.\n5. Evaluate ONLY the requested metric and return a JSON object matching the schema.\n\nScene summary: scenesmith scene with 2 objects. Room type: laundry. Planned checks: 6. Room shell: 3.38m x 2.54m x 2.70m.\nTask instruction: A laundry corner with a front-loading washing machine (door open) and a second appliance beside it.\nMetric: articulation_clearance\nSubject object: washer_open_0\nTarget objects: none\n\nVerified asset facts:\n- subject `washer_open_0`: category `frontload washing machine`, affordances [openable, containable, drawable, graspable, turn], usable face `front`, benchmark relevance `functional`, confidence `0.80`, source `asset_annotation`\n- interaction facts: placement class `floor_furniture`, access type `none`, interaction height `none`, surface map `front: [open, access_contents, open, grasp]`\n- low-confidence candidates: `none`\n- articulation facts: 4 movable part(s): drum (revolute, axis [1.0, 0.0, 0.0], limits None); door (revolute, axis [0.999718, 0.023758, -0.0], limits None); detergent_drawer (prismatic, axis [1.0, 0.0, 0.0], limits None); knob (revolute, axis [1.0, 0.0, 0.0], limits None); no precomputed swept volume\nUse these as converter-side asset facts. Do not reclassify the subject; judge only whether the listed affordance remains usable in the current scene. If the image clearly contradicts these facts, return unknown and explain the conflict.\n\nScene evidence object hints:\n- subject `washer_open_0`: category `frontload washing machine`, group `unknown`, keywords [frontload washing machine], affordances [openable, containable, drawable, graspable, turn], task targets [table, desk, nightstand, coffee_table, shelf, cabinet]\n- targets: none\n\nAuxiliary scene cues (coarse geometry only; use these cues just to identify rough scale and nearby context):\n- subject `washer_open_0`: category `frontload washing machine`, room `laundry`, placement `floor`, footprint `medium`, height `mid`, elevation `raised`\nTarget cues:\n- none\nNearby same-room context objects that may affect access or clearance:\n- `appliance_neighbor_0`: category `frontload washing machine`, placement `floor`, proximity `mid`, bbox_relation `overlapping_or_touching`, footprint `medium`\nDo not estimate exact centimeter clearance from these coarse cues. They are only for object identity, rough scale, and coarse proximity; the local renders remain the deciding evidence.\n\nMetric-specific rule:\nTask: A laundry corner with a front-loading washing machine (door open) and a second appliance beside it.\nEvaluate only the `articulation_clearance` metric for `washer_open_0` with affordance `openable`.\nRelevant context: the surrounding scene.\nThe object is rendered in its OPEN state. Judge whether its moving part (door/lid/drawer) can complete its full actuation — the swing arc of a revolute hinge or the pull-out travel of a prismatic drawer — without colliding with a neighboring object or wall. Use the supplied joint asset_fact (joint type, axis, range, swept operation_space) to reason about the motion envelope and cross-check it against the open-state geometry.\nIf you choose `degraded` or `fail`, name the blocker or the blocked standing/opening zone directly in front of the operating side. If at least one practical front-facing or slightly offset standing position remains and can still reach the operating side normally, prefer `pass`. Do not fail an openable object merely because a nearby seat or small furniture item is offset near one part of the front; require evidence that the usable operating side is actually occupied or pinched. If the operating side cannot be identified from the evidence, return `unknown` instead of guessing.\n\nImage order is fixed: local check renders always come first, followed by the overview renders. If a local render is highlighted, the subject is red and the targets are green.\nEvidence guardrails:\n- Treat the local renders as the deciding evidence for direct blockage, operating-side clearance, and immediate approach space.\n- Use overview renders only to understand room-scale layout or to break ties when the local evidence is incomplete.\n- To output `degraded` or `fail`, the local evidence should explicitly show a directly constrained operating/approach zone, not just a nearby object or a single perspective overlap.\n- When a `local_plan_context` view is present, use it to verify whether the suspected blocker really spans the usable operating/approach zone; if it shows a normal nearby standing/reach position remains, prefer `pass`.\n- If the overview render suggests a blockage but the local evidence does not clearly show that blockage, prefer `pass` or `unknown`, not `degraded` or `fail`.\nOutput JSON with keys: check_id, metric, label, asset_fact_used, asset_fact_confidence, evidence_conflict, reason, blocking_objects, confidence.\nAllowed labels: pass, degraded, fail, unknown.\n2D perspective overlap alone is not enough evidence of a blocker.\nNormal adjacency priors should not override direct evidence in the local renders. Nightstands beside beds, benches touching bed ends, corner wardrobes, and wall decor are acceptable only when they do not directly intrude into the required functional region.\nIf you choose degraded or fail, the reason must name a direct blocker or directly constrained functional region.\nIf evidence is insufficient, use unknown instead of guessing.",
  "files": {
    "render_check_image": "/data/250010098/SceneBenchmark/res/vlm_runs/scenesmith_ud4/articraft_articulation_demo/render_bundle/checks/articulation_clearance__washer_open_0_local_operating_zone.png",
    "render_check_image_01": "/data/250010098/SceneBenchmark/res/vlm_runs/scenesmith_ud4/articraft_articulation_demo/render_bundle/checks/articulation_clearance__washer_open_0_local_operating_zone_context.png",
    "render_check_image_02": "/data/250010098/SceneBenchmark/res/vlm_runs/scenesmith_ud4/articraft_articulation_demo/render_bundle/checks/articulation_clearance__washer_open_0_local_depth_probe.png",
    "render_check_image_03": "/data/250010098/SceneBenchmark/res/vlm_runs/scenesmith_ud4/articraft_articulation_demo/render_bundle/checks/articulation_clearance__washer_open_0_local_plan_context.png",
    "render_overview_image": "/data/250010098/SceneBenchmark/res/vlm_runs/scenesmith_ud4/articraft_articulation_demo/render_bundle/views/view_00_rgb.png",
    "render_overview_image_01": "/data/250010098/SceneBenchmark/res/vlm_runs/scenesmith_ud4/articraft_articulation_demo/render_bundle/views/view_01_rgb.png",
    "render_overview_image_02": "/data/250010098/SceneBenchmark/res/vlm_runs/scenesmith_ud4/articraft_articulation_demo/render_bundle/views/view_02_rgb.png",
    "render_overview_image_03": "/data/250010098/SceneBenchmark/res/vlm_runs/scenesmith_ud4/articraft_articulation_demo/render_bundle/views/view_03_rgb.png"
  }
}
Result JSON
{
  "check_id": "articulation_clearance__washer_open_0",
  "metric": "articulation_clearance",
  "label": "pass",
  "asset_fact_used": true,
  "asset_fact_confidence": 0.8,
  "evidence_conflict": false,
  "reason": "In the local_plan_context render, the washer door is shown fully open with visible free space between the open door edge/swing area and the neighboring appliance to the left. The local_depth_probe and overview renders also do not show the open door intersecting either the adjacent appliance or the wall, so the door appears able to complete its open articulation without collision in the current scene.",
  "blocking_objects": [],
  "confidence": 0.83
}
Evidence
articulation_clearance__washer_open_0

Judgement
frontload washing machine · openable, containable, drawable, graspable, turn VLM
Question
Task: A laundry corner with a front-loading washing machine (door open) and a second appliance beside it. Evaluate only the `articulation_clearance` metric for `appliance_neighbor_0` with affordance `openable`. Relevant context: the surrounding scene. The object is rendered in its OPEN state. Judge whether its moving part (door/lid/drawer) can complete its full actuation — the swing arc of a revolute hinge or the pull-out travel of a prismatic drawer — without colliding with a neighboring object or wall. Use the supplied joint asset_fact (joint type, axis, range, swept operation_space) to reason about the motion envelope and cross-check it against the open-state geometry. If you choose `degraded` or `fail`, name the blocker or the blocked standing/opening zone directly in front of the operating side. If at least one practical front-facing or slightly offset standing position remains and can still reach the operating side normally, prefer `pass`. Do not fail an openable object merely because a nearby seat or small furniture item is offset near one part of the front; require evidence that the usable operating side is actually occupied or pinched. If the operating side cannot be identified from the evidence, return `unknown` instead of guessing.
Reason: In the local_operating_zone_context and local_plan_context renders, the red-highlighted subject appliance_neighbor_0 appears as a closed rectangular appliance, while the only clearly visible open front-loading door belongs to the adjacent gray washer on the right in the overview renders. Because the metric requires judging the subject in its OPEN state, the images conflict with the supplied asset fact/open-state instruction, so the subject's actual door swing envelope cannot be verified reliably from the provided evidence. No definite collision for the subject's own moving door is directly visible in the local renders.
Blocking Objects: none
Prompt
Show prompt
You are an affordance-aware functional critic for 3D indoor scenes.

Core principle: judge whether the task CAN be done in the current scene, without assuming it has already been pre-solved.

Workflow:
1. Read the task instruction and target metric.
2. Inspect the local check renders first and treat them as the primary evidence for the requested interaction.
3. Local render order and intended use: 1. `local_operating_zone` is the clean RGB view for the most likely door-facing standing and opening zone. 2. `local_operating_zone_context` is a slightly wider highlighted context view of the same operating side. 3. `local_depth_probe` is an oblique RGB view meant to clarify depth and whether a blocker sits in front of the operating zone. 4. `local_plan_context` is a high local layout view used to check whether a nearby object actually spans or occupies the operating/approach zone rather than merely overlapping in perspective.
4. Then inspect the 4 attached overview renders for room-scale layout and approach context. These overviews are captured from a slightly elevated height and are not meant to mimic adult eye level.
5. Evaluate ONLY the requested metric and return a JSON object matching the schema.

Scene summary: scenesmith scene with 2 objects. Room type: laundry. Planned checks: 6. Room shell: 3.38m x 2.54m x 2.70m.
Task instruction: A laundry corner with a front-loading washing machine (door open) and a second appliance beside it.
Metric: articulation_clearance
Subject object: appliance_neighbor_0
Target objects: none

Verified asset facts:
- subject `appliance_neighbor_0`: category `frontload washing machine`, affordances [openable, containable, drawable, graspable, turn], usable face `front`, benchmark relevance `functional`, confidence `0.80`, source `asset_annotation`
- interaction facts: placement class `floor_furniture`, access type `none`, interaction height `none`, surface map `front: [open, access_contents, open, grasp]`
- low-confidence candidates: `none`
- articulation facts: 4 movable part(s): drum (revolute, axis [1.0, 0.0, 0.0], limits None); door (revolute, axis [0.999718, 0.023758, -0.0], limits None); detergent_drawer (prismatic, axis [1.0, 0.0, 0.0], limits None); knob (revolute, axis [1.0, 0.0, 0.0], limits None); no precomputed swept volume
Use these as converter-side asset facts. Do not reclassify the subject; judge only whether the listed affordance remains usable in the current scene. If the image clearly contradicts these facts, return unknown and explain the conflict.

Scene evidence object hints:
- subject `appliance_neighbor_0`: category `frontload washing machine`, group `unknown`, keywords [frontload washing machine], affordances [openable, containable, drawable, graspable, turn], task targets [table, desk, nightstand, coffee_table, shelf, cabinet]
- targets: none

Auxiliary scene cues (coarse geometry only; use these cues just to identify rough scale and nearby context):
- subject `appliance_neighbor_0`: category `frontload washing machine`, room `laundry`, placement `floor`, footprint `medium`, height `mid`, elevation `raised`
Target cues:
- none
Nearby same-room context objects that may affect access or clearance:
- `washer_open_0`: category `frontload washing machine`, placement `floor`, proximity `mid`, bbox_relation `overlapping_or_touching`, footprint `medium`
Do not estimate exact centimeter clearance from these coarse cues. They are only for object identity, rough scale, and coarse proximity; the local renders remain the deciding evidence.

Metric-specific rule:
Task: A laundry corner with a front-loading washing machine (door open) and a second appliance beside it.
Evaluate only the `articulation_clearance` metric for `appliance_neighbor_0` with affordance `openable`.
Relevant context: the surrounding scene.
The object is rendered in its OPEN state. Judge whether its moving part (door/lid/drawer) can complete its full actuation — the swing arc of a revolute hinge or the pull-out travel of a prismatic drawer — without colliding with a neighboring object or wall. Use the supplied joint asset_fact (joint type, axis, range, swept operation_space) to reason about the motion envelope and cross-check it against the open-state geometry.
If you choose `degraded` or `fail`, name the blocker or the blocked standing/opening zone directly in front of the operating side. If at least one practical front-facing or slightly offset standing position remains and can still reach the operating side normally, prefer `pass`. Do not fail an openable object merely because a nearby seat or small furniture item is offset near one part of the front; require evidence that the usable operating side is actually occupied or pinched. If the operating side cannot be identified from the evidence, return `unknown` instead of guessing.

Image order is fixed: local check renders always come first, followed by the overview renders. If a local render is highlighted, the subject is red and the targets are green.
Evidence guardrails:
- Treat the local renders as the deciding evidence for direct blockage, operating-side clearance, and immediate approach space.
- Use overview renders only to understand room-scale layout or to break ties when the local evidence is incomplete.
- To output `degraded` or `fail`, the local evidence should explicitly show a directly constrained operating/approach zone, not just a nearby object or a single perspective overlap.
- When a `local_plan_context` view is present, use it to verify whether the suspected blocker really spans the usable operating/approach zone; if it shows a normal nearby standing/reach position remains, prefer `pass`.
- If the overview render suggests a blockage but the local evidence does not clearly show that blockage, prefer `pass` or `unknown`, not `degraded` or `fail`.
Output JSON with keys: check_id, metric, label, asset_fact_used, asset_fact_confidence, evidence_conflict, reason, blocking_objects, confidence.
Allowed labels: pass, degraded, fail, unknown.
2D perspective overlap alone is not enough evidence of a blocker.
Normal adjacency priors should not override direct evidence in the local renders. Nightstands beside beds, benches touching bed ends, corner wardrobes, and wall decor are acceptable only when they do not directly intrude into the required functional region.
If you choose degraded or fail, the reason must name a direct blocker or directly constrained functional region.
If evidence is insufficient, use unknown instead of guessing.
Raw JSON
Request JSON
{
  "check_id": "articulation_clearance__appliance_neighbor_0",
  "metric": "articulation_clearance",
  "subject_id": "appliance_neighbor_0",
  "target_ids": [],
  "prompt_text": "You are an affordance-aware functional critic for 3D indoor scenes.\n\nCore principle: judge whether the task CAN be done in the current scene, without assuming it has already been pre-solved.\n\nWorkflow:\n1. Read the task instruction and target metric.\n2. Inspect the local check renders first and treat them as the primary evidence for the requested interaction.\n3. Local render order and intended use: 1. `local_operating_zone` is the clean RGB view for the most likely door-facing standing and opening zone. 2. `local_operating_zone_context` is a slightly wider highlighted context view of the same operating side. 3. `local_depth_probe` is an oblique RGB view meant to clarify depth and whether a blocker sits in front of the operating zone. 4. `local_plan_context` is a high local layout view used to check whether a nearby object actually spans or occupies the operating/approach zone rather than merely overlapping in perspective.\n4. Then inspect the 4 attached overview renders for room-scale layout and approach context. These overviews are captured from a slightly elevated height and are not meant to mimic adult eye level.\n5. Evaluate ONLY the requested metric and return a JSON object matching the schema.\n\nScene summary: scenesmith scene with 2 objects. Room type: laundry. Planned checks: 6. Room shell: 3.38m x 2.54m x 2.70m.\nTask instruction: A laundry corner with a front-loading washing machine (door open) and a second appliance beside it.\nMetric: articulation_clearance\nSubject object: appliance_neighbor_0\nTarget objects: none\n\nVerified asset facts:\n- subject `appliance_neighbor_0`: category `frontload washing machine`, affordances [openable, containable, drawable, graspable, turn], usable face `front`, benchmark relevance `functional`, confidence `0.80`, source `asset_annotation`\n- interaction facts: placement class `floor_furniture`, access type `none`, interaction height `none`, surface map `front: [open, access_contents, open, grasp]`\n- low-confidence candidates: `none`\n- articulation facts: 4 movable part(s): drum (revolute, axis [1.0, 0.0, 0.0], limits None); door (revolute, axis [0.999718, 0.023758, -0.0], limits None); detergent_drawer (prismatic, axis [1.0, 0.0, 0.0], limits None); knob (revolute, axis [1.0, 0.0, 0.0], limits None); no precomputed swept volume\nUse these as converter-side asset facts. Do not reclassify the subject; judge only whether the listed affordance remains usable in the current scene. If the image clearly contradicts these facts, return unknown and explain the conflict.\n\nScene evidence object hints:\n- subject `appliance_neighbor_0`: category `frontload washing machine`, group `unknown`, keywords [frontload washing machine], affordances [openable, containable, drawable, graspable, turn], task targets [table, desk, nightstand, coffee_table, shelf, cabinet]\n- targets: none\n\nAuxiliary scene cues (coarse geometry only; use these cues just to identify rough scale and nearby context):\n- subject `appliance_neighbor_0`: category `frontload washing machine`, room `laundry`, placement `floor`, footprint `medium`, height `mid`, elevation `raised`\nTarget cues:\n- none\nNearby same-room context objects that may affect access or clearance:\n- `washer_open_0`: category `frontload washing machine`, placement `floor`, proximity `mid`, bbox_relation `overlapping_or_touching`, footprint `medium`\nDo not estimate exact centimeter clearance from these coarse cues. They are only for object identity, rough scale, and coarse proximity; the local renders remain the deciding evidence.\n\nMetric-specific rule:\nTask: A laundry corner with a front-loading washing machine (door open) and a second appliance beside it.\nEvaluate only the `articulation_clearance` metric for `appliance_neighbor_0` with affordance `openable`.\nRelevant context: the surrounding scene.\nThe object is rendered in its OPEN state. Judge whether its moving part (door/lid/drawer) can complete its full actuation — the swing arc of a revolute hinge or the pull-out travel of a prismatic drawer — without colliding with a neighboring object or wall. Use the supplied joint asset_fact (joint type, axis, range, swept operation_space) to reason about the motion envelope and cross-check it against the open-state geometry.\nIf you choose `degraded` or `fail`, name the blocker or the blocked standing/opening zone directly in front of the operating side. If at least one practical front-facing or slightly offset standing position remains and can still reach the operating side normally, prefer `pass`. Do not fail an openable object merely because a nearby seat or small furniture item is offset near one part of the front; require evidence that the usable operating side is actually occupied or pinched. If the operating side cannot be identified from the evidence, return `unknown` instead of guessing.\n\nImage order is fixed: local check renders always come first, followed by the overview renders. If a local render is highlighted, the subject is red and the targets are green.\nEvidence guardrails:\n- Treat the local renders as the deciding evidence for direct blockage, operating-side clearance, and immediate approach space.\n- Use overview renders only to understand room-scale layout or to break ties when the local evidence is incomplete.\n- To output `degraded` or `fail`, the local evidence should explicitly show a directly constrained operating/approach zone, not just a nearby object or a single perspective overlap.\n- When a `local_plan_context` view is present, use it to verify whether the suspected blocker really spans the usable operating/approach zone; if it shows a normal nearby standing/reach position remains, prefer `pass`.\n- If the overview render suggests a blockage but the local evidence does not clearly show that blockage, prefer `pass` or `unknown`, not `degraded` or `fail`.\nOutput JSON with keys: check_id, metric, label, asset_fact_used, asset_fact_confidence, evidence_conflict, reason, blocking_objects, confidence.\nAllowed labels: pass, degraded, fail, unknown.\n2D perspective overlap alone is not enough evidence of a blocker.\nNormal adjacency priors should not override direct evidence in the local renders. Nightstands beside beds, benches touching bed ends, corner wardrobes, and wall decor are acceptable only when they do not directly intrude into the required functional region.\nIf you choose degraded or fail, the reason must name a direct blocker or directly constrained functional region.\nIf evidence is insufficient, use unknown instead of guessing.",
  "files": {
    "render_check_image": "/data/250010098/SceneBenchmark/res/vlm_runs/scenesmith_ud4/articraft_articulation_demo/render_bundle/checks/articulation_clearance__appliance_neighbor_0_local_operating_zone.png",
    "render_check_image_01": "/data/250010098/SceneBenchmark/res/vlm_runs/scenesmith_ud4/articraft_articulation_demo/render_bundle/checks/articulation_clearance__appliance_neighbor_0_local_operating_zone_context.png",
    "render_check_image_02": "/data/250010098/SceneBenchmark/res/vlm_runs/scenesmith_ud4/articraft_articulation_demo/render_bundle/checks/articulation_clearance__appliance_neighbor_0_local_depth_probe.png",
    "render_check_image_03": "/data/250010098/SceneBenchmark/res/vlm_runs/scenesmith_ud4/articraft_articulation_demo/render_bundle/checks/articulation_clearance__appliance_neighbor_0_local_plan_context.png",
    "render_overview_image": "/data/250010098/SceneBenchmark/res/vlm_runs/scenesmith_ud4/articraft_articulation_demo/render_bundle/views/view_00_rgb.png",
    "render_overview_image_01": "/data/250010098/SceneBenchmark/res/vlm_runs/scenesmith_ud4/articraft_articulation_demo/render_bundle/views/view_01_rgb.png",
    "render_overview_image_02": "/data/250010098/SceneBenchmark/res/vlm_runs/scenesmith_ud4/articraft_articulation_demo/render_bundle/views/view_02_rgb.png",
    "render_overview_image_03": "/data/250010098/SceneBenchmark/res/vlm_runs/scenesmith_ud4/articraft_articulation_demo/render_bundle/views/view_03_rgb.png"
  }
}
Result JSON
{
  "check_id": "articulation_clearance__appliance_neighbor_0",
  "metric": "articulation_clearance",
  "label": "unknown",
  "asset_fact_used": true,
  "asset_fact_confidence": 0.8,
  "evidence_conflict": true,
  "reason": "In the local_operating_zone_context and local_plan_context renders, the red-highlighted subject appliance_neighbor_0 appears as a closed rectangular appliance, while the only clearly visible open front-loading door belongs to the adjacent gray washer on the right in the overview renders. Because the metric requires judging the subject in its OPEN state, the images conflict with the supplied asset fact/open-state instruction, so the subject's actual door swing envelope cannot be verified reliably from the provided evidence. No definite collision for the subject's own moving door is directly visible in the local renders.",
  "blocking_objects": [],
  "confidence": 0.88
}
Evidence
articulation_clearance__appliance_neighbor_0