feat(furniture): nightstand legs, bookcase columns/drawers, AC unit LG style, soundbars, wood-cube sconce

- NIGHTSTAND: optional legs with adjustable height (capped at 60% of total height)
- BOOKCASE: shelfColumns with vertical dividers, per-cell drawer fronts with handles,
  z-fighting fix between dividers and back panel, stale drawerCells pruned on grid shrink
- AC_UNIT: new 'lg' style with dark vent, grille lines, deflector flap, LG accent
- SPEAKER: new 'soundbar' variant (90/110/140cm) with grille, driver cones, LED strip;
  SpeakerMesh split into dispatcher + SpeakerCabinetMesh to keep hook order stable
- Wall light: new 'wood-cube' style (wooden block sconce with top/bottom glow)
- PropertiesPanel: tf() helper replaces repeated i18n.exists fallbacks; inline checkbox
  styles consolidated into styles.checkboxLabel
- Translations: en/ru entries for new property keys
This commit is contained in:
2026-04-16 03:06:08 +03:00
parent 5fbd382120
commit c808bf1add
10 changed files with 523 additions and 18 deletions
@@ -237,6 +237,13 @@
"properties.windowSlopeDepth": "Reveal depth",
"properties.openingFrameThickness": "Frame thickness",
"properties.shelfRows": "Shelf rows",
"properties.shelfColumns": "Shelf columns",
"properties.drawerCells": "Drawers",
"properties.legs": "Legs",
"properties.legHeight": "Leg height",
"properties.acUnitStyleLabel": "Style",
"properties.acUnitStyle.generic": "Generic",
"properties.acUnitStyle.lg": "LG",
"properties.hasBackPanel": "Back panel",
"properties.curtainOpen": "Open",
"properties.curtainLeftOpen": "Left open",
@@ -240,6 +240,13 @@
"properties.windowSlopeDepth": "Глубина откоса",
"properties.openingFrameThickness": "Толщина рамы",
"properties.shelfRows": "Количество полок",
"properties.shelfColumns": "Количество колонок",
"properties.drawerCells": "Ящики",
"properties.legs": "Ножки",
"properties.legHeight": "Высота ножек",
"properties.acUnitStyleLabel": "Стиль",
"properties.acUnitStyle.generic": "Обычный",
"properties.acUnitStyle.lg": "LG",
"properties.hasBackPanel": "Задняя стенка",
"properties.curtainOpen": "Раскрытие",
"properties.curtainLeftOpen": "Левая створка",