Tổng quan & Cây cấu trúc
LIB
├── LIB_DYNAMIC
└── CHARMS_TEMPLATE | PRINT_1_SIDE
Layer 1
├── print
│ └── LAYER_1_AREA
├── cut
└── guide_production
├── area_desc_production
└── <Rectangle>
Layer 2
├── print
│ └── CHARM_AREA
├── cut
└── guide_production
├── guide_production
└── <Rectangle>
Layer 3
├── print
│ └── <Compound Path> (phần đồ họa chính)
├── cut
└── guide_production
├── area_desc_production
└── <Rectangle>
LIB_DYNAMIC — Quy tắc lõi
- Mỗi biến thể phải có
printvàcut. - cut = một
Pathhoặc mộtCompound Path, stroke đỏ #FF0000, no fill, không có nhóm con. - print = toàn bộ thiết kế đầy đủ của biến thể (text/icon/họa tiết/màu sắc...).
- Field chung nên dùng HOA_SNAKE_CASE:
TEAM_NAME,CUSTOM_NAME,QUOTE_TEXT,EST_YEAR.
LIB_DYNAMIC | SHAPE
Chọn một field chung cho tên (ví dụ TEAM_NAME hoặc CUSTOM_NAME) và dùng xuyên suốt mọi biến thể.
LIB_DYNAMIC | SHAPE
├── round
│ ├── print
│ │ ├── TEAM_NAME
│ │ ├── <Compound Path> → khung tròn
│ │ └── <Group> → móc treo/nơ
│ └── cut → <Compound Path> (stroke: #FF0000, no fill)
│
├── heart
│ ├── print
│ │ ├── TEAM_NAME
│ │ ├── <Compound Path> → viền trái tim
│ │ └── <Group> → họa tiết ren
│ └── cut → <Path> (stroke: #FF0000, no fill)
│
└── star
├── print
│ ├── TEAM_NAME
│ ├── <Compound Path> → ngôi sao 5 cánh
│ └── <Group> → ánh sáng trung tâm
└── cut → <Path> (stroke: #FF0000, no fill)
LIB_DYNAMIC | QUOTE
Có 2 mô hình: Static quote (không Text Object) và Custom quote (có QUOTE_TEXT).
A) Static quote (không text field)
LIB_DYNAMIC | QUOTE
├── q_static_merry_christmas
│ ├── print
│ │ ├── <Compound Path> → chữ “Merry Christmas” (outline)
│ │ └── <Group> → vòng nguyệt quế/đồ họa
│ └── cut → <Path> (stroke: #FF0000, no fill)
│
└── q_static_love_is_home
├── print
│ ├── <Compound Path> → chữ “Love is Home” (outline)
│ └── <Group> → icon nhà/hoa văn
└── cut → <Compound Path> (stroke: #FF0000, no fill)
B) Custom quote (có text field)
LIB_DYNAMIC | QUOTE
├── q_custom_script
│ ├── print
│ │ ├── QUOTE_TEXT
│ │ ├── <Compound Path> → khung script mềm
│ │ └── <Group> → tia sáng/hoa văn
│ └── cut → <Path> (stroke: #FF0000, no fill)
│
└── q_custom_serif
├── print
│ ├── QUOTE_TEXT
│ ├── <Compound Path> → khung oval cổ điển
│ └── <Group> → họa tiết viền
└── cut → <Compound Path> (stroke: #FF0000, no fill)
LIB_DYNAMIC | COLOR
LIB_DYNAMIC | COLOR
├── gold
│ ├── print
│ │ ├── TEAM_NAME
│ │ ├── <Compound Path> → viền ánh kim
│ │ └── <Group> → họa tiết kim tuyến
│ └── cut → <Path> (stroke: #FF0000, no fill)
│
└── silver
├── print
│ ├── TEAM_NAME
│ ├── <Compound Path> → viền bạc
│ └── <Group> → chi tiết tông lạnh
└── cut → <Compound Path> (stroke: #FF0000, no fill)
CHARMS_TEMPLATE | PRINT_1_SIDE
CHARMS_TEMPLATE | PRINT_1_SIDE
├── DEFAULT
│ ├── turtle → (print đầy đủ) + cut (đỏ, 1 đối tượng)
│ ├── kid → (print đầy đủ) + cut (đỏ, 1 đối tượng)
│ └── ...
└── puzzle / lights → các charm tương tự
Rule: Mỗi charm độc lập, text Align Center; khi đưa vào khoang lắc, đặt ở Layer 2.
Layers — Quy ước
Layer X
├── print → phần in/khắc
├── cut → đường cắt (đỏ, 1 đối tượng)
└── guide_production → hướng dẫn sản xuất (không in)
Tổng quan & Cây cấu trúc
LIB
├── LIB_DYNAMIC
└── CHARMS_TEMPLATE | PRINT_1_SIDE
Layer 1
├── print
│ └── LAYER_1_AREA
├── cut
└── guide_production
├── area_desc_production
└── <Rectangle>
Layer 2
├── print
│ └── CHARM_AREA
├── cut
└── guide_production
├── guide_production
└── <Rectangle>
Layer 3
├── print
│ └── <Compound Path> (phần đồ họa chính)
├── cut
└── guide_production
├── area_desc_production
└── <Rectangle>
LIB_DYNAMIC — Quy tắc lõi
- Mỗi biến thể phải có
printvàcut. - cut = một
Pathhoặc mộtCompound Path, stroke đỏ #FF0000, no fill, không có nhóm con. - print = toàn bộ thiết kế đầy đủ của biến thể (text/icon/họa tiết/màu sắc...).
- Field chung nên dùng HOA_SNAKE_CASE:
TEAM_NAME,CUSTOM_NAME,QUOTE_TEXT,EST_YEAR.
LIB_DYNAMIC | SHAPE
Chọn một field chung cho tên (ví dụ TEAM_NAME hoặc CUSTOM_NAME) và dùng xuyên suốt mọi biến thể.
LIB_DYNAMIC | SHAPE
├── round
│ ├── print
│ │ ├── TEAM_NAME
│ │ ├── <Compound Path> → khung tròn
│ │ └── <Group> → móc treo/nơ
│ └── cut → <Compound Path> (stroke: #FF0000, no fill)
│
├── heart
│ ├── print
│ │ ├── TEAM_NAME
│ │ ├── <Compound Path> → viền trái tim
│ │ └── <Group> → họa tiết ren
│ └── cut → <Path> (stroke: #FF0000, no fill)
│
└── star
├── print
│ ├── TEAM_NAME
│ ├── <Compound Path> → ngôi sao 5 cánh
│ └── <Group> → ánh sáng trung tâm
└── cut → <Path> (stroke: #FF0000, no fill)
LIB_DYNAMIC | QUOTE
Có 2 mô hình: Static quote (không Text Object) và Custom quote (có QUOTE_TEXT).
A) Static quote (không text field)
LIB_DYNAMIC | QUOTE
├── q_static_merry_christmas
│ ├── print
│ │ ├── <Compound Path> → chữ “Merry Christmas” (outline)
│ │ └── <Group> → vòng nguyệt quế/đồ họa
│ └── cut → <Path> (stroke: #FF0000, no fill)
│
└── q_static_love_is_home
├── print
│ ├── <Compound Path> → chữ “Love is Home” (outline)
│ └── <Group> → icon nhà/hoa văn
└── cut → <Compound Path> (stroke: #FF0000, no fill)
B) Custom quote (có text field)
LIB_DYNAMIC | QUOTE
├── q_custom_script
│ ├── print
│ │ ├── QUOTE_TEXT
│ │ ├── <Compound Path> → khung script mềm
│ │ └── <Group> → tia sáng/hoa văn
│ └── cut → <Path> (stroke: #FF0000, no fill)
│
└── q_custom_serif
├── print
│ ├── QUOTE_TEXT
│ ├── <Compound Path> → khung oval cổ điển
│ └── <Group> → họa tiết viền
└── cut → <Compound Path> (stroke: #FF0000, no fill)
LIB_DYNAMIC | COLOR
LIB_DYNAMIC | COLOR
├── gold
│ ├── print
│ │ ├── TEAM_NAME
│ │ ├── <Compound Path> → viền ánh kim
│ │ └── <Group> → họa tiết kim tuyến
│ └── cut → <Path> (stroke: #FF0000, no fill)
│
└── silver
├── print
│ ├── TEAM_NAME
│ ├── <Compound Path> → viền bạc
│ └── <Group> → chi tiết tông lạnh
└── cut → <Compound Path> (stroke: #FF0000, no fill)
CHARMS_TEMPLATE | PRINT_1_SIDE
CHARMS_TEMPLATE | PRINT_1_SIDE
├── DEFAULT
│ ├── turtle → (print đầy đủ) + cut (đỏ, 1 đối tượng)
│ ├── kid → (print đầy đủ) + cut (đỏ, 1 đối tượng)
│ └── ...
└── puzzle / lights → các charm tương tự
Rule: Mỗi charm độc lập, text Align Center; khi đưa vào khoang lắc, đặt ở Layer 2.
Layers — Quy ước
Layer X
├── print → phần in/khắc
├── cut → đường cắt (đỏ, 1 đối tượng)
└── guide_production → hướng dẫn sản xuất (không in)
Start writing here...