task_illustrations__indoor_room__furniture_side_count¶
Summary¶
- Domain:
illustrations - Scene id:
indoor_room - Implementation source scene:
indoor_room - Implementation source:
src/trace_tasks/tasks/illustrations/indoor_room/furniture_side_count.py
Task Contract¶
Counts visible small indoor objects of a sampled object type that lie to the left or right of the table.
Program Contract¶
Program: count(filter(visible_room_objects, object_type(object)=target_object_type and side_relation(object, target_furniture)=query_side)); scene=indoor_room; scope=furniture_side_count
Candidate set: the visible illustrated scene objects, people, regions, tiles, patches, labels, and option panels inside the furniture_side_count objective scope.
Operands: visible scene state and prompt-bound operands named by filter, visible_room_objects, object_type, object, target_object_type, side_relation, target_furniture, query_side, indoor_room, furniture_side_count plus the active query_id branch.
Operation: evaluate count over the candidate set using the visible illustrated objects, regions, layout relationships, counts, patch/tile transforms, or option-selection constraints encoded in the program expression; generation enforces a unique final answer.
Output binding: answer uses the integer schema; a non-negative integer derived from the same execution trace as the annotation.
Annotation witnesses: annotation uses the bbox_set schema; the prompt/annotation contract defines the minimal visual witnesses.
Query ids: left_side, right_side.
Reasoning Operations¶
Families: filtering, counting, logical_composition, spatial_relations
Query Branches¶
| Query id | Program schema |
|---|---|
left_side |
count(filter(visible_room_objects, object_type(object)=target_object_type and left_of(object, target_furniture))); scene=indoor_room; scope=furniture_side_count |
right_side |
count(filter(visible_room_objects, object_type(object)=target_object_type and right_of(object, target_furniture))); scene=indoor_room; scope=furniture_side_count |
Program Metadata¶
- Program signatures:
count.spatial_relation_attribute - Base program contract:
count(filter(visible_room_objects, object_type(object)=target_object_type and side_relation(object, target_furniture)=query_side)); scene=indoor_room; scope=furniture_side_count - Parameter axes:
query_side,target_object_type - Arguments:
visible_room_objects: semantic_role; allowedvisible_room_objects; sourceprogram_schema_concretequery_side: relation; allowedleft_side|right_side; sourcequery_idtarget_object_type: object_type; allowedsampled_indoor_object_type; sourcetrace_metadatatarget_furniture: furniture_type; allowedtable; sourceprogram_schema_concrete- Argument metadata status:
curated - Supported query ids:
left_side,right_side
Answer Contract¶
- Answer schema:
integer_count - Generator
answer_gt.type:integer - The answer value is a non-negative integer derived from the same execution trace as the annotation.
Annotation Contract¶
- Annotation schema:
bbox_set - Generator
annotation_gt.type:bbox_set - Annotation is an unordered set of final-image pixel boxes, one around each counted object satisfying the target type and side relation.
- Annotation excludes the reference furniture, labels, numeric annotations, and distractor/context objects.
Prompt And Trace Requirements¶
- Prompt text must come from the indoor-room prompt bundle, with scene and task/query layers selected deterministically and recorded in metadata.
- Render randomness, sampled styles, query side, target furniture, target object type, and verifier payloads must be explicit in the instance trace.
- Answer and annotation must be projected from the same generated scene trace, not inferred from pixels or prompt text.