Scope: This is a generic background place grouping experiment. The L05 rooftop interior here is only the sample fixture. Generic contract = PlaceGroup / SetGroup / SpaceNode / containment / boundary / StateLayer / StructuralVersion / evidence relation. 일반화된 방법론 검증이며 sample fixture 의 값을 production rule 로 승격 금지.
| id | label | member_location_ids | physical_place_key | continuity_scope |
|---|---|---|---|---|
| pg_rooftop_villa | 옥탑 빌라 (수리영/민숙 거주지) | L04,L05 | rooftop_villa@incheon_pyeongdong | single_building |
| id | label | parent | continuity_policy | member_space_nodes | structural_versions |
|---|---|---|---|---|---|
| sg_rooftop_interior | 옥탑방 내부 세트 | pg_rooftop_villa | geometry_locked | 거실,주방코너,현관,수리영의_방,민숙의_방_안방,욕실 | sv_initial |
| node_id | label | node_type | set_group_id | contained_in | connected_to | active_status |
|---|---|---|---|---|---|---|
| 거실 | 거실 (living kitchen) | room | sg_rooftop_interior | 주방코너,현관,수리영의_방,민숙의_방_안방,욕실 | active | |
| 주방코너 | 주방 영역 (sink + stove) | zone | sg_rooftop_interior | 거실 | 거실 | active |
| 현관 | 현관 (entry) | boundary | sg_rooftop_interior | 거실 | 거실 | active |
| 수리영의_방 | 수리영의 방 | room | sg_rooftop_interior | 거실 | active | |
| 민숙의_방_안방 | 민숙의 방 (안방) | room | sg_rooftop_interior | 거실 | needs_decision | |
| 욕실 | 욕실 | room | sg_rooftop_interior | 거실 | active |
| variant_id | primary_space | visible_secondary_nodes | has_secondary_spaces | state_layer | camera_view | reject? | reason |
|---|---|---|---|---|---|---|---|
| L05B01 | 거실 | 주방코너 | YES | normal | eye_level_table_close@low_eye_level | ||
| L05B02 | 수리영의_방 | vandalized | macro_close@floor_close | ||||
| L05B03 | 거실 | 수리영의_방,욕실 | YES | normal | eye_level_table_close@standing_eye_level | ||
| L05B04 | 거실 | 수리영의_방 | YES | dusk_night | eye_level_wide@standing_eye_level | ||
| L05B05 | 거실 | 수리영의_방 | YES | cleaned | eye_level_table_close@standing_eye_level | ||
| L05B06 | 거실 | 주방코너,현관,욕실 | YES | normal | standing_eye_level | ||
| L05B07 | 수리영의_방 | vandalized | doorway_wide@standing_eye_level | ||||
| L05B08 | 수리영의_방 | 거실,주방코너 | YES | cleaned | eye_level_wide@standing_eye_level |
| shot_id | space_node_candidates | chosen_policy | state_layers | camera | unresolved_reason (rollup_id) |
|---|---|---|---|---|---|
| S5_S2 | 거실 | resolved | sl_normal | eye_level_wide | |
| S5_S6 | 거실 | resolved | sl_normal | eye_level_wide | |
| S12_S4 | 수리영의_방,민숙의_방_안방 | both_plates_needed | sl_vandalized | eye_level_wide | bedroom_unresolved |
| S12_S6 | 수리영의_방,민숙의_방_안방 | both_plates_needed | sl_vandalized | bedroom_unresolved | |
| S12_S14 | 수리영의_방,민숙의_방_안방 | both_plates_needed | sl_vandalized | bedroom_unresolved | |
| S14_S4 | 수리영의_방,거실 | both_plates_needed | sl_cleaned | eye_level_wide | multi_space_wide_policy |
| S14_S5 | 거실 | resolved | sl_cleaned | eye_level_wide | |
| S14_S9 | 거실 | resolved | sl_cleaned | eye_level_wide | |
| S18_S5 | 거실,욕실 | both_plates_needed | sl_normal | eye_level_table_close | multi_space_wide_policy |
| S18_S9 | 거실,욕실 | both_plates_needed | sl_vandalized | eye_level_table_close | multi_space_wide_policy |
| S25_S3 | 수리영의_방,민숙의_방_안방 | both_plates_needed | sl_vandalized | eye_level_wide | bedroom_unresolved |
| S25_S7 | 수리영의_방,민숙의_방_안방 | both_plates_needed | sl_vandalized | eye_level_wide | bedroom_unresolved |
| S27_S1 | 거실 | resolved | sl_vandalized | eye_level_wide | |
| S27_S4 | 거실 | resolved | sl_vandalized | eye_level_wide |
set_group_id=sg_rooftop_interior / structural_version=sv_initial
| unit_id | space_node | camera_view | state_layer |
|---|---|---|---|
| master_거실_eye_level_wide_standing_eye_level | 거실 | eye_level_wide@standing_eye_level | normal |
| master_수리영의_방_doorway_wide_standing_eye_level | 수리영의_방 | doorway_wide@standing_eye_level | normal |
| master_욕실_mirror_close_standing_eye_level | 욕실 | mirror_close@standing_eye_level | normal |
| unit_id | based_on_master | state_layer |
|---|---|---|
| derived_수리영의_방_state_vandalized | master_수리영의_방_doorway_wide_standing_eye_level | vandalized |
| derived_거실_state_dusk_night | master_거실_eye_level_wide_standing_eye_level | dusk_night |
| derived_수리영의_방_state_dusk_night | master_수리영의_방_doorway_wide_standing_eye_level | dusk_night |
| derived_거실_state_cleaned | master_거실_eye_level_wide_standing_eye_level | cleaned |
| derived_수리영의_방_state_cleaned | master_수리영의_방_doorway_wide_standing_eye_level | cleaned |
| unit_id | based_on_master | camera_view |
|---|---|---|
| derived_거실_camera_eye_level_table_close_low_eye_level | master_거실_eye_level_wide_standing_eye_level | eye_level_table_close@low_eye_level |
| derived_수리영의_방_camera_macro_close_floor_close | master_수리영의_방_doorway_wide_standing_eye_level | macro_close@floor_close |
| derived_거실_camera_eye_level_table_close_standing_eye_level | master_거실_eye_level_wide_standing_eye_level | eye_level_table_close@standing_eye_level |
| derived_거실_camera_standing_eye_level | master_거실_eye_level_wide_standing_eye_level | standing_eye_level |
| derived_수리영의_방_camera_eye_level_wide_standing_eye_level | master_수리영의_방_doorway_wide_standing_eye_level | eye_level_wide@standing_eye_level |
shot 별 18개 question 대신 2~5개의 큰 결정으로 rollup. 사용자 결정 1번에 binding 전체 해소됨.
| rollup_id | decision question | applies_to_shots |
|---|---|---|
bedroom_unresolved | 수리영의_방 vs 민숙의_방_안방 분류 — 14 shots 의 bedroom 구분이 keyword 만으로 결정 안 되는 그룹. 사용자 결정 또는 plan_v3 룰 확장. | S12_S4,S12_S6,S12_S14,S25_S3,S25_S7 |
minsook_active_decision | 민숙의_방_안방 SpaceNode 를 active 로 승격할지 사용자 결정 필요. | (structural) |
multi_space_wide_policy | L05B05 같은 두 공간 한 wide 프레임 variant 허용/금지 정책 결정. | S14_S4,S18_S5,S18_S9 |