yfan1997/room-layout-planning-curated-v1
Room Layout Planning — curated pilot v1 39 个逐条检查并编写需求的房间布局任务,供实验流程验证与人工抽查。所有最终设计需求均为 AI 编写;没有人工标注或人工复核声明。 Split 条数 独立房屋 几何来源 train 26 26 InstructScene / 3D-FRONT val_seen 7 7 InstructScene / 3D-FRONT val_unseen 6 5 M3DLayout / Matterport3D 输入:英文使用需求 + 可用地板多边形 + 4–10 件家具及固定宽深尺寸。输出:所有家具的二维位置与旋转角度。家具清单和尺寸不可修改。参考摆放已通过几何检查,但没有被认证为满足全部语言偏好的标准答案。 下载后打开 review.html 可以逐条浏览需求、尺寸、空房轮廓、参考图和修订理由。原文与 46 条逐条审核记录见 individual_reviews.jsonl,其中 39 条保留、7 条排除。此次规模适合跑通… See the full description on the dataset page: https://huggingface.co/datasets/yfan1997/room-layout-planning-curated-v1.
Room Layout Planning — curated pilot v1
39 个逐条检查并编写需求的房间布局任务,供实验流程验证与人工抽查。所有最终设计需求均为 AI 编写;没有人工标注或人工复核声明。
输入:英文使用需求 + 可用地板多边形 + 4–10 件家具及固定宽深尺寸。输出:所有家具的二维位置与旋转角度。家具清单和尺寸不可修改。参考摆放已通过几何检查,但没有被认证为满足全部语言偏好的标准答案。
下载后打开 review.html 可以逐条浏览需求、尺寸、空房轮廓、参考图和修订理由。原文与 46 条逐条审核记录见 individual_reviews.jsonl,其中 39 条保留、7 条排除。此次规模适合跑通 specialist/orchestrator 和评估流程,不足以支撑规模化 RL 训练或统计稳健的泛化结论。
What this dataset is
One top-down layout task: place all supplied major floor-furniture instances within the supplied usable-floor polygon while satisfying a free-form design brief. Rooms include living rooms and combined living/dining rooms. Furniture count, identity, width and depth are fixed per task. A system may generate or refine drafts internally; the evaluator receives one complete final layout.
This is a new task construction over existing geometry. The language is newly, individually authored by OpenAI Codex, using each selected inventory, dimensions, footprint preview and available source prose. No sentence-template slot-filling script generated the briefs. The original structured M3DLayout descriptions are retained verbatim as provenance, not passed as the final instruction. No original text was extracted from the selected InstructScene numeric geometry records; this does not imply that InstructScene as a whole has no language or semantic annotations.
The task text emphasizes activities, grouping, access and trade-offs. It is not a list of exact target coordinates or precompiled binary spatial relations. That design choice does not establish that the task is difficult, immune to search, or suitable for a novel method. Packing/search baselines, language ablations and semantic evaluation are still needed. There are deliberately simple four-object controls as well as denser or more irregular cases.
Loading
from datasets import load_dataset
import json
ds = load_dataset("yfan1997/room-layout-planning-curated-v1")
example = ds["train"][0]
model_input = json.loads(example["input_json"])
# model_input contains the brief, polygon and fixed-size inventory, but no poses.
reference = json.loads(example["reference_json"])
# reference is for geometry checks / inspection, not part of the model input.Parquet contains convenient scalar columns plus input_json, reference_json, annotation_json, and provenance_json. The equivalent nested records are in jsonl/{train,val_seen,val_unseen}.jsonl; no remote loading code is required. tools/requirements.txt lists the small local validation dependencies.
Output contract
Return one JSON list, with exactly one item for each input ID:
[
{"id": "ID_FROM_THE_INPUT", "x_m": 1.2, "y_m": 2.1, "yaw_rad": 0.0}
]The one-item snippet illustrates the schema only; actual tasks require all 4–10 items. Coordinates are in meters; x points right and y up in previews. Rotation is counterclockwise, in radians, about the footprint centre. At zero yaw, width lies along x and depth along y. A room polygon is GeoJSON Polygon: the first ring is its exterior, following rings are excluded interior regions. The polygon's bounding-box minimum is translated to (0, 0); it is not replaced by its bounding rectangle. Heights and stacking are outside this task. All furniture is represented by its full oriented rectangle, including L-shaped sofas whose empty corner is not available floor in this representation.
What is checked and what is not
Checked for every included reference: exact inventory, positive finite dimensions, finite poses, valid polygons, furniture within the usable-floor boundary, and pairwise rectangle non-overlap. Numerical tolerance is 1 cm: room buffered by 1 cm and each rectangle eroded by 5 mm for collision checks, with a residual area threshold of 1e-5 m². These are numeric tolerances, not a comfort or safety standard.
python tools/evaluate_geometry.py --self-check .For a model output, import evaluate from that file or pass a single nested example and a JSON pose list using --example and --layout. The checker rejects missing/duplicate IDs, altered output fields, non-finite poses, collisions and boundary violations. It does not score natural-language satisfaction.
Each annotation has three qualitative semantic_criteria and an individual review note. Use the evaluation guide for a separate semantic review. Access, connected open space and functional grouping in the briefs are soft goals, not certified navigation labels. There are no reliable door/window locations, human body models, furniture fronts, cabinet-opening sweeps or code-compliant clearance annotations. “Media use” does not carry a certified screen-viewing angle.
The reference is a geometric feasibility witness, not a unique correct plan or a language-optimal demonstration. It must not be used as ground-truth SFT output or exact-position gold without an additional language/layout review. Reference images, source descriptions, source positions and review criteria are outside input_json and should not be silently given to a model in the proposed task.
Source collection and filtering
InstructScene / 3D-FRONT
Source: InstructScene dataset, pinned revision c8cf0bd282699d56a7940ac588ea5e961b1260cb.
400 living-room numeric records were downloaded, deterministically selected from distinct source buildings by the hash of the archive-entry path. Of these, 175 passed the inventory/floor scope filter and 38 passed the source-reference rectangle checks. After individual review, 33 were retained. Five cases with incomplete ordinary dining sets or ambiguous duplicate-table roles were excluded.
Floors come from the union of the original floor-plan triangles, aligned by the stored centroid and simplified at 0.5 mm. Concavity and meaningful interior excluded rings are retained; degenerate rings below 1e-10 m² that collapse under coordinate translation are removed and logged. Stored size half-extents are multiplied by two. Original x/z positions become dataset x/y; original yaw is negated for the projected convention. Ceiling/pendant objects and objects with a source bottom above 0.22 m are excluded from this reduced floor-furniture task. The source reference furniture poses are preserved except for the shared coordinate translation.
M3DLayout / Matterport3D
Source: M3DLayout dataset, pinned revision 72a2a80c3b96788635b9192b64853e1428d59cb4.
Building metadata was collected for 79 buildings referenced by 270 text-matched living-room candidates. Category/inventory screening then selected 45 rooms with one floor segment. All 45 floor meshes were downloaded. 42 yielded usable polygons; only 2 source layouts immediately passed the full rectangle check. A bounded position-only repair yielded 8 geometrically accepted candidates in total. Individual review retained 6; 2 were excluded for unresolved segment/object identity concerns. Two retained rooms share one source building, entirely inside val_unseen.
Floor triangles are projected into XY and unioned on a 1 mm precision grid. The largest component must contain at least 95% of observed area; internal scan holes are filled and the exterior simplified at 15 mm. These are inferred usable-floor boundaries, not surveyed architectural floor plans. External scan occlusions remain and can resemble architectural recesses. Do not use the nonrectangularity statistic as a count of genuinely irregular architectural rooms. Filling scan holes is an explicit assumption, not a recovered annotation.
Object footprints are minimum-area rectangles of projected source oriented boxes; dimensions are observations/estimates from segmented scans, not verified manufacturer dimensions. Source categories sofa, chair, table, cabinet, shelving, seating, stool, and chest_of_drawers were eligible; floor proximity and plausible footprint size filters were applied. Four of the 6 retained references were repaired by moving positions only, with maximum per-object movements of approximately 0.107–0.433 m. No furniture dimensions, orientations, or floor polygons were changed to pass repair. The predeclared acceptance cap was 0.75 m; original poses and repair details remain in provenance.
The resulting task is over the retained input inventory and derived floor; it is not reconstruction of every object in the original scanned interior. Source prose sometimes mentions omitted fireplaces, pianos, curtains or windows; these do not silently become input obstacles or language requirements.
Language and review provenance
- All 39 final briefs:
instruction_origin = ai_authored_individually. - All records:
human_reviewed = false,semantic_gold_certified = false. - All 46 individual review decisions include the observed inventory/geometry concern and inclusion/exclusion rationale.
- Original M3DLayout descriptions remain structured and uncorrected in the audit. Unsupported details are identified in the new review note rather than silently overwritten.
audit/authored_annotations_*.jsonstores the actual per-case authored text. Packaging code only joins these records; it does not generate the language.- Exact duplicates and five-word phrase-overlap diagnostics are in
audit/validation_report.json. They are diagnostics, not a proof of linguistic diversity or task difficulty. Shared living-room themes, one AI author, and repeated concepts are material limitations.
Splits and leakage limits
Train and valseen are disjoint by source building. Seven of the 33 InstructScene buildings were assigned to valseen by deterministic SHA-256 order of pilot-v1:<building_id>; the remaining 26 form train. M3DLayout/Matterport3D supplies all 6 val_unseen examples, from 5 buildings. No source building crosses splits.
“Unseen” means geometry source unseen by this pilot's orchestrator training split. It does not mean unseen by an underlying specialist, pretrained model, or foundation model. Existing specialists may have trained on 3D-FRONT or Matterport3D. All briefs have the same AI author, so this is not independent human-language generalization. Furniture counts, scanning quality and category granularity also differ across sources; performance differences cannot automatically be attributed to room shape alone.
No specialist inference, orchestrator training, strong/weak-tool comparison, or baseline difficulty experiment has been performed as part of this release. The small validation sets should be used for debugging and case analysis, not statistically strong benchmark claims.
Files
Full source furniture meshes, textures and scans are not mirrored in this release. Hash manifests preserve the exact downloaded inputs. This repository is publicly accessible; public access does not remove the source-specific non-commercial and other applicable terms described in LICENSE.md.
Attribution
This independent pilot is not an official benchmark or release from the source authors. Credit InstructScene, 3D-FRONT, M3DLayout and Matterport3D when using the corresponding geometry. New task language and review notes were authored by OpenAI Codex on 2026-09-22 at the dataset owner's request.
