autodesk-platform-services/open-architecture-standards-2d-floor-plans

oas-program

Use when capturing OAS design intent — room requirements, area targets, adjacency rules, circulation rules, or global constraints — before any geometry has been resolved.

ソースを見る

使い方

  1. インストールコマンドをコピーし、自分の環境へ導入する前にソースを確認します。
  2. 必要なツール、認証情報、対応環境を原文で確認します。
  3. 入力と成果物を指定し、出力を資料と照合します。
npx skills add https://github.com/autodesk-platform-services/open-architecture-standards-2d-floor-plans --skill oas-program

開始前の確認

  • 導入にはモデル契約、API枠、ファイルへのアクセス許可は含まれません。
  • スター数や導入数は活動の指標であり、独立した品質・安全性試験ではありません。
リポジトリの原文

見出し、例、コード、表、リンク、参照画像を含む原文を表示しています。

OAS Program

When to use

Use this skill when the user is describing what they want rather than what exists: target areas, must-be-near rules, circulation preferences, count of rooms, hard limits. Program is the brief; Layout is the answer. If a polygon or wall coordinate is being emitted, you're in oas-layout territory, not here.

Key fields (the document is a flat JSON object, not typed classes)

  • oas_program, plan_id, title, description — metadata; plan_id links program → layout
  • design_goal — natural-language intent sentence (helps LLM context)
  • global_constraints — target_area_m2, max_area_m2, orientation_preference, climate, accessibility_level, etc.
  • rooms[] — each entry has id, usage, desired_area_m2, must_have, should_have, adjacency, avoid
  • adjacency — uses prefixed keys: must_touch, should_touch, avoid_touch, must_connect_via
  • circulation — primary_entry + free-form rules[]
  • rationale — optional reasoning string per room

Critical rules

  1. Intent only — no resolved geometry. Program documents must not contain boundary_polygon, walls, or coordinates. Resolved geometry lives in OAS-Layout.
  2. `desired_area_m2` accepts `{ "min": X, "max": Y }` or an exact number. Both are valid per the spec — don't reject a scalar.
  3. Constraint strength is encoded by the field prefix, not a flag. must_have/must_touch are hard; should_have/should_touch are soft; avoid_touch is a hard negative. There's no separate hard: true field.
  4. Refer to rooms by program `id`, not Layout ids. Layout ids don't exist yet — adjacency targets are program-level ids like "corridor" or "living_kitchen".
  5. Circulation `rules[]` are natural-language strings. Solvers parse them heuristically; keep them concise and declarative.

Full schema

See docs/program.md for the complete reference, including constraint composition and adjacency weighting.

Related skills

  • oas-layout — the resolved geometry derived from a program
  • oas-core — for the vocabulary of usage values shared with Layout

タスクに関連する項目

同じリポジトリから

関連する Skills

すべての Skills