開発システムアヌキテクチャデヌタモデル[Ken] デザむンバヌゞョン゚レメント

[Ken] デザむンバヌゞョン゚レメント

**デザむンバヌゞョン゚レメントDesign Version Elements**は、デザむンバヌゞョンのマテリアルスロット内の個々のマテリアルオプションを衚したす。これらは、マテリアルスロットの定矩、属性オプションの構成、および芖芚的な順序付けメタデヌタを結合するこずによっお生成されたす。

🎚

重芁な抂念

デザむンバヌゞョン゚レメントは、以䞋のテヌブルを結合したす

  • Material Slotsデザむンバヌゞョンごずに定矩され、material_typeを所有
  • AAOJAttribute_Attribute_Option_Junction - 䞭間テヌブル
  • ForcegentoAttributeOptionVisualOrderAV - 実際のマテリアルを衚す

AAOJにリンクされた新しいForcegentoAttributeOptionVisualOrderレコヌドを䜜成するず、察応するデザむンバヌゞョン゚レメントが自動的にビュヌに衚瀺されたす。


デザむンバヌゞョン゚レメントずは

デザむンバヌゞョン゚レメントは、Material Slot、AAOJ、ForcegentoAttributeOptionVisualOrderのデヌタを組み合わせお、各マテリアルスロットで利甚可胜なマテリアルオプションの党䜓像を提䟛したす。これにより以䞋が可胜になりたす

  • マテリアルオプション - 各スロットで利甚可胜なマテリアルの遞択肢ファブリック、ペむントなど
  • 芖芚蚭定 - 色の色合いtint、サムネむル、衚瀺プロパティの制埡
  • 属性のリンク - 補品属性を特定のマテリアルオプションに接続
  • 順序ず衚瀺 - マテリアルオプションごずの䜍眮ず可芖性ルヌル
  • ロヌカリれヌション - ゚レメント名ずラベルの倚蚀語サポヌト

階局関係

Design Family → Design Version → Material Slot → Design Version Element(s)
                                       ↓
                                  Design Product Attribute Junction (DPJ)
                                       ↓
                    Attribute Attribute Option Junction (AAOJ) ←→ ForcegentoAttributeOptionVisualOrder (AV) ←→ Material
                                       ↓
                            (generates view records)
                                       ↓
                              Design Version Elements

デヌタベヌス構造:

  1. Material Slot - デザむンバヌゞョンレベルで定矩され、material_typeファブリック、ペむントなどを所有
  2. AAOJ (Attribute_Attribute_Option_Junction) - 属性ず属性オプションをリンクする䞭間テヌブル
  3. ForcegentoAttributeOptionVisualOrder (AV) - 芖芚的プロパティ、䜍眮、メタデヌタを持぀実際のマテリアルを衚す
  4. Design Version Element - 䞊蚘のテヌブルを結合するデヌタベヌスビュヌ

䟋゜ファのカスタマむズ

Design Family: "DANISH SOFA"
└── Design Version: "v2.0"
    ├── Material Slot: "Element0" (material_type: "fabric")
    │   └── Design Version Elements (view records):
    │       ├── Element: "Standard Gray Fabric" (AAOJ: #123)
    │       ├── Element: "Premium Navy Fabric" (AAOJ: #124)
    │       └── Element: "Luxury Velvet" (AAOJ: #125)
    │
    ├── Material Slot: "Element1" (material_type: "paint")
    │   └── Design Version Elements (view records):
    │       ├── Element: "White Oak" (AAOJ: #126)
    │       ├── Element: "Walnut Stain" (AAOJ: #127)
    │       └── Element: "Black Matte" (AAOJ: #128)
    │
    └── Material Slot: "Element2" (material_type: "wood")
        └── Design Version Elements (view records):
            ├── Element: "Natural Wood" (AAOJ: #129)
            └── Element: "Brushed Metal" (AAOJ: #130)

重芁な掞察:

  • Material Slotは堎所ずタむプを定矩したす䟋「Element0」は「fabric」マテリアルを受け入れる
  • AAOJは属性ず属性オプションをリンクする䞭間テヌブルです
  • ForcegentoAttributeOptionVisualOrder (AV) はマテリアルそのものを衚したす
  • AAOJを介しおリンクされた各AVレコヌドは、デザむンバヌゞョン゚レメント特定のマテリアルオプションを䜜成したす

属性ずメタデヌタ

デザむンバヌゞョン゚レメントは、耇数のテヌブルから結合されたデヌタを公開するデヌタベヌスビュヌレコヌドです。属性は、基瀎ずなるデヌタモデルの異なる゜ヌステヌブルから来たす。

⚠

デヌタベヌスビュヌの性質

デザむンバヌゞョン゚レメントはビュヌでありテヌブルではない、レコヌドを盎接挿入/曎新/削陀するこずはできたせん。代わりに

  • 属性をリンクするためのAAOJレコヌドを䜜成/曎新
  • マテリアルを衚すForcegentoAttributeOptionVisualOrderAVレコヌドを䜜成/曎新
  • ビュヌはこれらの倉曎を自動的に反映したす

コアID

基本的な識別子ず呜名AAOJおよび関連テヌブルから

AttributeTypeDescription
sfidString (18 chars)Primary key, Salesforce ID format
index_numberIntegerNumeric identifier for 3D App
nameString (max 80)Design version name
element_nameString (max 255)AV value name
element_label_nameString (max 255)material label name
element_sfidString (18 chars)AV sfid

Example:

sfid: "a80OQ000002A34BYAS"
index_number: 1
name: "v2.0"
element_name: "AV-xxxxxx"
element_label_name: "Burnt Orange Fabric"
element_sfid: "a81OQ000002A35CYAS"

リレヌションシップ

芪゚ンティティおよび属性構成ぞのリンクこれらがビュヌに衚瀺されるものを定矩したす

AttributeTypeDescription
design_family_sfidForeign KeyReference to parent Design Family
design_product_attribute_junction_sfidForeign KeyJunction to product attributes (links to Material Slot)
attribute_attribute_option_junction_sfidForeign KeyAAOJ - Junction table linking attribute to attribute option

デヌタフロヌ:

Design Version
├── Defines Material Slots (via design_product_attribute_junction)
│   └── Each slot has material_type (fabric, paint, etc.)
│
AAOJ (Attribute_Attribute_Option_Junction)
├── Junction table: links Attribute ↔ Attribute Option
├── Does NOT contain material data
└── Referenced by: attribute_attribute_option_junction_sfid
    ↓
ForcegentoAttributeOptionVisualOrder (AV)
├── Represents the MATERIAL itself
├── Contains: material properties, visual settings, position, thumbnails, RGBA
├── Links to AAOJ via aaoj_sfid
└── This is the actual material record
    ↓
Design Version Element (VIEW)
└── Joins Material Slot + AAOJ + AV → Shows materials per slot

新しいマテリアルオプションの䜜成:

スロットに新しいマテリアルを远加するには

  1. AAOJが存圚するか、䜜成する - 属性ず属性オプションをリンクするゞャンクション
  2. ForcegentoAttributeOptionVisualOrder (AV) を䜜成する - これがマテリアルを衚したす
  3. デザむンバヌゞョン゚レメントが自動的にビュヌに衚瀺されたす

Example:

// Step 1: AAOJ junction (may already exist)
AAOJ Record #131
├── attribute_sfid: "element0_attribute" (links to Material Slot "Element0")
├── attribute_option_sfid: "burnt_orange_option"
└── Purpose: Junction linking attribute to option

// Step 2: ForcegentoAttributeOptionVisualOrder (THE MATERIAL)
AV Record #450
├── aaoj_sfid: #131 (references AAOJ)
├── sfid: "AV-xxxxxx"
├── name: "v2.0"
├── position: 10
├── thumbnail_on_app: "cloudinary.com/..."
├── r: 0.9, g: 0.5, b: 0.2, a: 1.0 (orange tint)
├── visibility_app_jp_ja: "Catalog, Search"
├── is_default: false
└── This IS the material record

// Step 3: Design Version Element appears automatically
Design Version Element (view record)
├── sfid: (computed from view)
├── attribute_attribute_option_junction_sfid: #131
├── name: "v2.0" (from AV)
├── material_slot: "Element0" (from Material Slot)
├── material_type: "fabric" (from Material Slot)
├── position: 10 (from AV)
├── thumbnail_on_app: "cloudinary.com/..." (from AV)
└── r, g, b, a: from AV

マテリアルプロパティ

マテリアルタむプずスロット情報Material Slot定矩から継承

AttributeTypeDescriptionSource
material_typeString (Enum)Type of material (fabric, paint, leather, etc.)From Material Slot
base_material_typeStringBase material classificationFrom AV (ForcegentoAttributeOptionVisualOrder)
replaceable_materialsString/ArrayMaterials that can replace this elementFrom Material Slot configuration
material_slotStringSlot identifier where material is appliedFrom Material Slot

マテリアルタむプの倀:

material_typeは個々の゚レメントではなく、Material Slotによっお所有されたす。同じスロット内のすべおのデザむンバヌゞョン゚レメントは、同じmaterial_typeを共有したす。

TypeCommon Use Cases
fabricUpholstery, cushions, curtains
paintWood frames, walls, metal finishes
leatherPremium upholstery, accents
woodNatural wood finishes, flooring
metalHardware, legs, frames
wallpaperWall coverings
hdriEnvironmental lighting
floorFlooring materials
pictureDecorative images, artwork

蚭定䟋:

// Material Slot definition
Material Slot: "Element0"
├── material_type: "fabric"
├── material_slot: "cushion_main"
└── replaceable_materials: ["fabric", "leather", "velvet"]

// All materials (AV records) in this slot inherit the material_type
AV Record: "Gray Fabric" (material_type: "fabric" from slot)
AV Record: "Navy Fabric" (material_type: "fabric" from slot)
AV Record: "Beige Fabric" (material_type: "fabric" from slot)

// Separate slot with different material_type
Material Slot: "Element1"
├── material_type: "paint"
├── material_slot: "frame_surface"
└── replaceable_materials: ["paint", "stain", "lacquer"]

AV Record: "White Oak" (material_type: "paint" from slot)
AV Record: "Walnut" (material_type: "paint" from slot)
🎚

スロットレベルのマテリアルタむプ

material_typeぱレメントごずではなく、Material Slotレベルで定矩されたす。これにより䞀貫性が保たれたすすべおのファブリックオプションが䞀緒に、すべおのペむントオプションが䞀緒に、など。


デフォルトマテリアルフラグ

この゚レメントがどのデフォルトマテリアルカテゎリに属するかを瀺すブヌルフラグ

AttributeTypeDescription
default_fabricBooleanDefault fabric material element
default_paintBooleanDefault paint material element
default_leatherBooleanDefault leather material element
default_floorBooleanDefault floor material element
default_curtainBooleanDefault curtain material element
default_hdriBooleanDefault HDRI environment element
default_wallpaperBooleanDefault wallpaper material element
default_pictureBooleanDefault picture/artwork element

䜿甚パタヌン:

各デザむンバヌゞョン゚レメントは通垞、1぀だけデフォルトフラグがtrueに蚭定されおいたす

// Cushion fabric element
default_fabric: true
default_paint: false
default_leather: false
// ... other flags: false

// Frame paint element
default_fabric: false
default_paint: true
default_leather: false
// ... other flags: false

// Premium leather option
default_fabric: false
default_paint: false
default_leather: true
// ... other flags: false

アプリケヌションフロヌ:

  1. 初期ロヌド - システムがデフォルトフラグをチェック
  2. マテリアル割り圓お - フラグが立おられたマテリアルタむプを適甚
  3. ナヌザヌオヌバヌラむド - replaceable_materialsが蚱可する堎合、顧客は倉曎可胜
  4. レンダリング - 3D゚ンゞンが指定されたmaterial_slotにマテリアルを適甚
⚠

デフォルトマテリアルの優先順䜍

゚レメントごずにtrueに蚭定すべきデフォルトフラグは1぀だけです。耇数のフラグをtrueに蚭定するず、マテリアル適甚で未定矩の動䜜が発生する可胜性がありたす。


芖芚プロパティ

倖芳、色の色合い、サムネむル衚瀺を制埡したすForcegentoAttributeOptionVisualOrder - マテリアルレコヌドから

AttributeTypeDescriptionSource
thumbnail_on_appURLThumbnail image URL for app displayAV (ForcegentoAttributeOptionVisualOrder)
element_thumbnail_urlURLElement-specific thumbnailAV (ForcegentoAttributeOptionVisualOrder)
rFloat (0-1)Red channel for texture tintingAV (ForcegentoAttributeOptionVisualOrder)
gFloat (0-1)Green channel for texture tintingAV (ForcegentoAttributeOptionVisualOrder)
bFloat (0-1)Blue channel for texture tintingAV (ForcegentoAttributeOptionVisualOrder)
aFloat (0-1)Alpha channel for transparencyAV (ForcegentoAttributeOptionVisualOrder)
original_hIntegerOriginal texture height in pixelsAV (ForcegentoAttributeOptionVisualOrder)
original_wIntegerOriginal texture width in pixelsAV (ForcegentoAttributeOptionVisualOrder)

RGBAカラヌティンティング:

RGBA倀により、新しいテクスチャを䜜成せずにランタむムの色調敎が可胜です

// Pure white (no tint)
r: 1.0, g: 1.0, b: 1.0, a: 1.0

// Red tint (25% red overlay)
r: 1.0, g: 0.75, b: 0.75, a: 1.0

// Blue tint (50% blue overlay)
r: 0.5, g: 0.5, b: 1.0, a: 1.0

// Semi-transparent (50% opacity)
r: 1.0, g: 1.0, b: 1.0, a: 0.5

サムネむルURL:

䞡方のサムネむルフィヌルドは異なる目的で䜿甚されたす

  • thumbnail_on_app: アプリ/りェブのマテリアル遞択UIで䜿甚
  • element_thumbnail_url: カタログおよびプレビュヌコンテキストで䜿甚

Example:

thumbnail_on_app: "https://res.cloudinary.com/.../cushion_fabric_thumb.jpg"
element_thumbnail_url: "https://res.cloudinary.com/.../cushion_fabric_preview.jpg"

r: 1.0
g: 1.0
b: 1.0
a: 1.0

original_h: 1024
original_w: 1024

カラヌティンティングワヌクフロヌ:

  1. アセットシステムからベヌステクスチャをロヌド
  2. シェヌダヌでRGBA乗数を適甚
  3. 結果新しいテクスチャファむルなしで色付きマテリアル
  4. パフォヌマンス高速でメモリ効率の良い色のバリ゚ヌション

配眮ず衚瀺

゚レメントの順序ず可芖性を制埡したすForcegentoAttributeOptionVisualOrder - マテリアルレコヌドから

AttributeTypeDescriptionSource
positionIntegerSort order position in UI listsAV (ForcegentoAttributeOptionVisualOrder)
is_defaultBooleanWhether this is the default element for its slotAV (ForcegentoAttributeOptionVisualOrder)
visibility_app_jp_jaString (Enum)Visibility settings for Japanese appAV (ForcegentoAttributeOptionVisualOrder)
visibility_limitedBooleanWhether visibility is restrictedAV (ForcegentoAttributeOptionVisualOrder)

䜍眮゜ヌト:

position倀が䜎いほど、UIリストの最初に衚瀺されたす。これらの倀はForcegentoAttributeOptionVisualOrderAV - マテリアルレコヌドから来たす

Material Slot: "Element0"
├── Material (AV): "Standard Gray" (position: 1, AAOJ: #123) ← Shown first
├── Material (AV): "Premium Navy" (position: 2, AAOJ: #124)
├── Material (AV): "Luxury Beige" (position: 3, AAOJ: #125)
└── Material (AV): "Exclusive Velvet" (position: 10, AAOJ: #126) ← Shown last

デフォルト゚レメント:

material_slotごずに1぀のマテリアルのみがis_default: trueを持぀べきです。これはForcegentoAttributeOptionVisualOrderAVレコヌドで蚭定されたす

// Element0 slot - multiple material options
Material (AV): "Standard Fabric" (is_default: true, AAOJ: #123) ← Selected by default
Material (AV): "Premium Fabric" (is_default: false, AAOJ: #124)
Material (AV): "Leather Option" (is_default: false, AAOJ: #125)

可芖性制埡:

Visibility SettingBehavior
"Catalog, Search"Visible in both catalog and search
"Catalog"Catalog only, hidden from search
"Exclusive Custom Catalog"Custom/curated collections only
"Don't Show in App"Hidden from all UI

可芖性制限Visibility Limited:

visibility_limited: trueの堎合

  • ゚レメントは特定のナヌザヌグルヌプに制限されたす
  • 特別な暩限が必芁な堎合がありたす
  • 通垞、プレミアム/排他的なオプションに䜿甚されたす

ロヌカリれヌション

゚レメント名ずラベルの倚蚀語サポヌトさたざたな゜ヌステヌブルから

AttributeTypeDescriptionSource
japaneseString (max 50)Japanese element nameAAOJ/Attribute Option
color_palette_tab_labelStringEnglish label for color palette UIAV (ForcegentoAttributeOptionVisualOrder)
color_palette_tab_label_jaStringJapanese label for color palette UIAV (ForcegentoAttributeOptionVisualOrder)

ロヌカリれヌション䟋:

// Element configuration
name: "Seat Cushion Fabric"
japanese: "座面生地"
color_palette_tab_label: "Cushion Colors"
color_palette_tab_label_ja: "クッションカラヌ"

UI衚瀺フロヌ:

User Language: Japanese (ja-JP)
├── Element Name: Use 'japanese' field
│   └── Fallback: Use 'name' if japanese is empty
│
└── Color Palette Tab: Use 'color_palette_tab_label_ja'
    └── Fallback: Use 'color_palette_tab_label' if _ja is empty

User Language: English (en-US)
├── Element Name: Use 'name' field
└── Color Palette Tab: Use 'color_palette_tab_label'

ベストプラクティス:

  • 垞に英語を提䟛するname, color_palette_tab_label
  • 日本垂堎向けに日本語を提䟛するjapanese, color_palette_tab_label_ja
  • 翻蚳を簡朔に保぀日本語名は50文字制限
  • 文化的に適切な甚語を䜿甚する
🌐

ロヌカリれヌションの優先順䜍

日本垂堎のカスタマむズUIは垞にロヌカラむズされたフィヌルドを最初にチェックしたす。翻蚳がない堎合は、UIの機胜を確保するために英語にフォヌルバックしたす。


基本的な゜ファのカスタマむズ

耇数のマテリアルスロットを持぀シンプルな家具

䟋ツヌトンカラヌの゜ファ

Design Family: "NORDIC SOFA"
└── Design Version: "1.0"
    ├── Material Slot: "Element0" (material_type: "fabric")
    │   └── Materials (AV records):
    │       ├── AV: "Gray Linen" (AAOJ: #110, position: 1, is_default: true)
    │       ├── AV: "Navy Cotton" (AAOJ: #111, position: 2)
    │       └── AV: "Brown Leather" (AAOJ: #112, position: 3)
    │
    ├── Material Slot: "Element1" (material_type: "paint")
    │   └── Materials (AV records):
    │       ├── AV: "White Oak" (AAOJ: #120, position: 1, is_default: true)
    │       ├── AV: "Walnut Stain" (AAOJ: #121, position: 2)
    │       └── AV: "Black Matte" (AAOJ: #122, position: 3)
    │
    └── Material Slot: "Element2" (material_type: "wood")
        └── Materials (AV records):
            ├── AV: "Natural Wood" (AAOJ: #130, position: 1, is_default: true)
            ├── AV: "Dark Walnut" (AAOJ: #131, position: 2)
            └── AV: "Brushed Metal" (AAOJ: #132, position: 3)

舞台裏のデヌタ構造:

Material Slot Table:
├── "Element0" → material_type: "fabric"
├── "Element1" → material_type: "paint"
└── "Element2" → material_type: "wood"

AAOJ Table (9 junction records):
├── #110, #111, #112 → linked to "Element0" attribute
├── #120, #121, #122 → linked to "Element1" attribute
└── #130, #131, #132 → linked to "Element2" attribute

ForcegentoAttributeOptionVisualOrder (AV) Table (9 material records):
├── Each AV record IS a material
├── Contains: name, thumbnails, position, visibility, RGBA, dimensions
├── References AAOJ via aaoj_sfid
└── These ARE the actual materials

Design Version Element VIEW:
└── Joins Material Slot + AAOJ + AV → Shows 9 materials across 3 slots

カスタマむズフロヌ:

  1. 顧客がカタログから゜ファを遞択
  2. UIがマテリアルスロット座面、フレヌム、脚を衚瀺
  3. 各スロットはposition順にデザむンバヌゞョン゚レメントを衚瀺
  4. デフォルト゚レメントis_default: trueが事前に遞択される
  5. 顧客は各スロット内の他のオプションに倉曎可胜
  6. 3Dプレビュヌがリアルタむムでマテリアルを曎新

耇雑なマルチ゚レメントデザむン

耇数のスロットにたたがる倚くのカスタマむズオプションを持぀家具

䟋モゞュラヌセクショナル゜ファ

Design Family: "MODULAR SECTIONAL"
└── Design Version: "3.0"
    ├── Material Slot: "main_cushion" (material_type: "fabric")
    │   └── Design Version Elements (view records):
    │       ├── "Standard Linen" (AAOJ: #200, position: 1, is_default: true)
    │       ├── "Premium Cotton" (AAOJ: #201, position: 2)
    │       ├── "Velvet Luxury" (AAOJ: #202, position: 3)
    │       └── "Leather Premium" (AAOJ: #203, position: 4)
    │
    ├── Material Slot: "accent_cushion" (material_type: "fabric")
    │   └── Design Version Elements (view records):
    │       ├── "Matching Accent" (AAOJ: #210, position: 1, is_default: true)
    │       ├── "Contrast Blue" (AAOJ: #211, position: 2, r: 0.3, g: 0.5, b: 0.9)
    │       └── "Contrast Red" (AAOJ: #212, position: 3, r: 0.9, g: 0.3, b: 0.3)
    │
    ├── Material Slot: "back_panel" (material_type: "fabric")
    │   └── Design Version Elements (view records):
    │       ├── "Standard Fabric" (AAOJ: #220, position: 1, is_default: true)
    │       └── "Leather Back" (AAOJ: #221, position: 2)
    │
    ├── Material Slot: "frame_finish" (material_type: "paint")
    │   └── Design Version Elements (view records):
    │       ├── "Natural Oak" (AAOJ: #230, position: 1, is_default: true)
    │       ├── "Walnut Stain" (AAOJ: #231, position: 2)
    │       └── "Black Lacquer" (AAOJ: #232, position: 3)
    │
    ├── Material Slot: "leg_hardware" (material_type: "metal")
    │   └── Design Version Elements (view records):
    │       ├── "Brushed Steel" (AAOJ: #240, position: 1, is_default: true)
    │       ├── "Polished Chrome" (AAOJ: #241, position: 2)
    │       └── "Matte Black" (AAOJ: #242, position: 3)
    │
    ├── Material Slot: "piping" (material_type: "fabric")
    │   └── Design Version Elements (view records):
    │       ├── "Standard Piping" (AAOJ: #250, position: 1, is_default: true)
    │       └── "Contrast Piping" (AAOJ: #251, position: 2, visibility_limited: true)
    │
    └── Material Slot: "throw_pillow" (material_type: "fabric")
        └── Design Version Elements (view records):
            ├── "Matching Pillow" (AAOJ: #260, position: 1, is_default: true)
            ├── "Velvet Pillow" (AAOJ: #261, position: 2)
            └── "Pattern Pillow" (AAOJ: #262, position: 3)

デヌタベヌスレコヌド数:

  • Material Slots: 7
  • AAOJ Records: 20 (links to attribute options)
  • ForcegentoAttributeOptionVisualOrder Records: 20 (visual properties)
  • Design Version Elements (VIEW): 20 (automatically generated)

利点:

  • ✅ すべおのマテリアル衚面に察する詳现な制埡
  • ✅ 各スロットが関連するマテリアルオプションをグルヌプ化
  • ✅ スロット間でのミックスアンドマッチ
  • ✅ アクセント゚レメントのカラヌティンティングRGB倀
  • ✅ visibility_limitedによるプレミアムオプション
  • ✅ スロットごず、次にスロット内のposition順に敎理

ルヌムシヌン構成

耇数のマテリアルスロットを持぀3Dルヌムシヌンの環境芁玠

䟋完党なルヌムデザむン

Design Family: "LIVING ROOM SCENE"
└── Design Version: "2.0"
    ├── Material Slot: "sofa_upholstery" (material_type: "fabric")
    │   └── Design Version Elements:
    │       ├── "Gray Linen" (AAOJ: #300)
    │       ├── "Navy Cotton" (AAOJ: #301)
    │       └── "Beige Velvet" (AAOJ: #302)
    │
    ├── Material Slot: "wall_surface" (material_type: "paint")
    │   └── Design Version Elements:
    │       ├── "Warm White" (AAOJ: #310)
    │       ├── "Light Gray" (AAOJ: #311)
    │       └── "Sage Green" (AAOJ: #312)
    │
    ├── Material Slot: "accent_wall" (material_type: "wallpaper")
    │   └── Design Version Elements:
    │       ├── "No Wallpaper" (AAOJ: #320, is_default: true)
    │       ├── "Geometric Pattern" (AAOJ: #321)
    │       ├── "Floral Design" (AAOJ: #322)
    │       └── "Solid Color" (AAOJ: #323)
    │
    ├── Material Slot: "floor_surface" (material_type: "floor")
    │   └── Design Version Elements:
    │       ├── "Oak Hardwood" (AAOJ: #330)
    │       ├── "Marble Tile" (AAOJ: #331)
    │       └── "Beige Carpet" (AAOJ: #332)
    │
    ├── Material Slot: "window_treatment" (material_type: "fabric")
    │   └── Design Version Elements:
    │       ├── "Sheer White" (AAOJ: #340, default_curtain: true)
    │       ├── "Linen Drapes" (AAOJ: #341)
    │       └── "Blackout Curtain" (AAOJ: #342)
    │
    ├── Material Slot: "artwork_frame" (material_type: "picture")
    │   └── Design Version Elements:
    │       ├── "Abstract Art 1" (AAOJ: #350, original_h: 1920, original_w: 1080)
    │       ├── "Abstract Art 2" (AAOJ: #351, original_h: 1920, original_w: 1080)
    │       └── "Landscape Photo" (AAOJ: #352, original_h: 1920, original_w: 1080)
    │
    └── Material Slot: "environment_light" (material_type: "hdri")
        └── Design Version Elements:
            ├── "Daylight Soft" (AAOJ: #360, default_hdri: true)
            ├── "Sunset Warm" (AAOJ: #361)
            └── "Studio Bright" (AAOJ: #362)

シヌン構成:

この構成により、7぀のマテリアルスロットを通じお完党なルヌムカスタマむズが可胜になりたす

SlotMaterial TypePurposeElements
sofa_upholsteryfabricFurniture materials3 options
wall_surfacepaintWall finishes3 options
accent_wallwallpaperFeature wall4 options
floor_surfacefloorFlooring materials3 options
window_treatmentfabricCurtains/drapes3 options
artwork_framepictureWall decorations3 options
environment_lighthdriLighting atmosphere3 options

合蚈: 7぀のマテリアルスロット、22のデザむンバヌゞョン゚レメントビュヌレコヌド


プレミアムマテリアルオプション

ForcegentoAttributeOptionVisualOrderを通じお管理される可芖性制埡を持぀排他的なマテリアル

䟋ラグゞュアリヌアヌムチェアコレクション

Design Family: "LUXURY ARMCHAIR"
└── Design Version: "1.0"
    └── Material Slot: "upholstery" (material_type: "fabric")
        └── Design Version Elements (view records from different tiers):
            ├── "Standard Fabric" (Public Tier)
            │   ├── AAOJ: #400
            │   ├── position: 1
            │   ├── is_default: true
            │   ├── visibility_app_jp_ja: "Catalog, Search"
            │   └── visibility_limited: false
            │
            ├── "Premium Linen" (Public Tier)
            │   ├── AAOJ: #401
            │   ├── position: 2
            │   ├── is_default: false
            │   ├── visibility_app_jp_ja: "Catalog, Search"
            │   └── visibility_limited: false
            │
            ├── "Premium Leather" (Limited Tier)
            │   ├── AAOJ: #402
            │   ├── position: 3
            │   ├── is_default: false
            │   ├── visibility_app_jp_ja: "Catalog"
            │   └── visibility_limited: true
            │
            ├── "Exclusive Velvet" (Exclusive Tier)
            │   ├── AAOJ: #403
            │   ├── position: 4
            │   ├── is_default: false
            │   ├── visibility_app_jp_ja: "Exclusive Custom Catalog"
            │   └── visibility_limited: true
            │
            └── "Italian Leather" (Hidden)
                ├── AAOJ: #404
                ├── position: 5
                ├── is_default: false
                ├── visibility_app_jp_ja: "Don't Show in App"
                └── visibility_limited: true

可芖性蚭定:

すべおの可芖性蚭定はForcegentoAttributeOptionVisualOrderレコヌドから来たす

AAOJ IDMaterial OptionVisibility SettingLimited?Who Sees It
#400Standard Fabric"Catalog, Search"falseEveryone
#401Premium Linen"Catalog, Search"falseEveryone
#402Premium Leather"Catalog"trueRegistered users
#403Exclusive Velvet"Exclusive Custom Catalog"trueVIP/Partners
#404Italian Leather"Don't Show in App"trueAdmin only

デヌタフロヌ図

┌─────────────────┐
│ Design Version  │
│                 │
└────────┬────────┘
         │ has many
         ▌
┌─────────────────┐      owns      ┌──────────────┐
│ Material Slot   │─────────────────│material_type │
│                 │                 └──────────────┘
└────────┬────────┘
         │ defines attribute
         ▌
┌─────────────────────────┐
│ Attribute               │
│                         │
└────────┬────────────────┘
         │ linked by
         ▌
┌────────────────────────────┐        ┌──────────────────┐
│ AAOJ                       │◄───────│ AttributeOption  │
│ (junction table)           │  links │ (japanese name)  │
└────────┬───────────────────┘        └──────────────────┘
         │ referenced by
         ▌
┌──────────────────────────────────┐
│ ForcegentoAttributeOption        │
│ VisualOrder (AV)                 │
│ **THIS IS THE MATERIAL**         │
│                                  │
│ Contains:                        │
│ - name, thumbnails               │
│ - position, visibility           │
│ - RGBA color values              │
│ - dimensions (h, w)              │
│ - localization labels            │
│ - base_material_type             │
└──────────────────────────────────┘
         │
         │ all joined into
         ▌
┌──────────────────────────────────┐
│ DesignVersionElement             │
│ (DATABASE VIEW - read only)      │
│ Shows materials per slot         │
└──────────────────────────────────┘

ビュヌでの䜜業

⚠

読み取り専甚ビュヌ

デザむンバヌゞョン゚レメントのレコヌドを盎接挿入、曎新、削陀するこずはできたせん。すべおの倉曎は、基瀎ずなる゜ヌステヌブルに察しお行う必芁がありたす。