design コレクション
概要
import 済み Figma design 1 件の canonical current projection です。
design-import が strict document を replace し、Des2Code が screen/region/
concrete component-occurrence evidence として読みます。design import は
code_index readiness から独立し、index/profile pin を保存しません。
テーブル定義
| 論理名 | 物理名 | カラム名 | データ型 | 主キー | リレーション | ユニーク | NULL許容 | デフォルト値 | 備考 |
|---|---|---|---|---|---|---|---|---|---|
| デザイン | design | _id | string | ◯ | composite design ID: {project_id}_{file_id}_{node_id} |
||||
| organization_id | number | tenant owner、positive integer | |||||||
| project_id | number | project:id | project scope、positive integer | ||||||
| name | string | design name | |||||||
| type | enum | DesignType、default screen |
|||||||
| based_on | enum | DesignOrigin、default Figma import |
|||||||
| file_id | string | Figma file key | |||||||
| node_id | string | Figma node ID | |||||||
| figma_url | string | canonical source Figma URL | |||||||
| json_schema_url | string | imported Figma JSON の S3 URL | |||||||
| visual.metadata.name | string | display name | |||||||
| visual.metadata.image_url | string | rendered design image の S3 URL | |||||||
| visual.metadata.layout | string | generated layout description | |||||||
| visual.metadata.component_types | string[] | non-empty component category | |||||||
| visual.metadata.color_palette | string[] | non-empty extracted palette | |||||||
| visual.metadata.typography_style | string | typography description | |||||||
| semantics.metadata.words | string[] | non-empty domain/intent vocabulary | |||||||
| semantics.vector_embedding | float[512] | screen semantic vector | |||||||
| structure.metadata.visible_text | string[] | [] | Figma subtree の visible text | ||||||
| structure.metadata.generic_terms | string[] | [] | project-agnostic structural term | ||||||
| structure.metadata.text | string | deterministic screen structure text | |||||||
| structure.metadata.regions | object[] | [] | bounded region。各 item は metadata と vector_embedding |
||||||
| structure.metadata.component_instances | object[] | [] | concrete Figma component occurrence | ||||||
| structure.vector_embedding | float[512] | screen structure vector | |||||||
| processing.hash | string | 64-character SHA-256 idempotency fingerprint |
各 regions[] は metadata{node_id, role, query_terms, text, bounds, depth,
child/descendant count, type count, repeated signature, font weight/size} と
vector_embedding: float[512] を持ちます。
各 component_instances[] は node_id、display/component/component-set の
ID/key/name/description、properties、bounds、depth、parent、path、visible text、
summary を持ちます。optional Figma library identity は nullable ですが、
node_id と name は required です。
リレーション
project_id→ PostgreSQLproject.id(logical。backend/application scope check)- Des2Code SQS
design_id→ 同一 organization/project のdesign._id - DocumentDB 内で foreign key は enforcement しない。
インデックス
- PRIMARY KEY (
_id) - INDEX
design_scope_catalog(organization_id,project_id,name)
design vector index はありません。Des2Code は stored design vector を code/ variation index に対する query として使います。
ベクトルインデックスオプション
- persisted vector dimensions: 512
- query similarity: cosine
- design vector は query input。vector index は
code/code_variationにある。
注記
design-importが replacement を所有し canonical storage model を validate する。file_id,node_id,figma_url,json_schema_url, image metadata、semantic vector、screen structure vector、processing.hashは required。index_schema_version、generation context、viewport、visual vector、semantic component-functions、structuralblock、top-levelquery_terms、figma_node、localized_regions、model/encoder metadata、index pin、history field は存在しない。- Region/component-instance evidence は import 時に bound し、Des2Code は request ごとに最大 32 stored region vector を検索する。
- Des2Code は design term と current ready
code_indexから aligned term を memory 上で導出し、この document を mutate しない。 - Des2Code result は request scope の S3 artifact にだけ書く。backend webhook は scope validation/status log のみ行い result row は保存しない。