LeroyProtoLIB — инвентарь shell.py¶
Раздел 4b документации LeroyProtoLIB (см.
01-families-map.md). Составлен агентом-документатором 2026-07-24; он же дописал вshell.pyмодульный докстринг-карту, докстринги классов/топ-функций и 10 TODO(АУДИТ) (исполняемый код не тронут, py_compile 3.7 OK). Строки — ПОСЛЕ правок.
Данные (dataclass-адаптеры параметров, база RSH)¶
107class RSH_Socle(RSH)— данные цоколя: габариты, SokleType, заглубления планок, материалы/опоры из «ЦВЕТ» (прежний докстринг «Терминал угловой» — копипаста, исправлен).164class RSH_TerminalAngle(RSH)— данные углового терминала: радиус полки (radius_std + ужатие), материалы, межсекционный крепёж fix_stjag_ms.240class RSH_ShellGS(RSH)— данные корпуса гардеробной (ГК): до 8 секций (w1..w8), индексируемые hpolktp/hpolkdp/ishpolkdp.345class RSH_ShellPivot(RSH)— данные распашного корпуса: материалы, весь крепёж fix_, полки по секциям, вешалки vesh_std, диапазоны, limit_size; валидатор validate_h_small_int_t (авто-исправление hpolktp с ErrMsgBox).656class RSH_ShellCupe(RSH)— данные купе-корпуса (МИНИ/ДУО/ТРИО): полки трёх секций, диапазоны ДУО, veshalo_type/veshalo_count по диапазонам.866class RSH_Vesh(RSH)— минимальные данные ниши вешалки (габарит+материал, h_dsp=0).
Корпуса (база Shell → uFurnObject.FurnObject)¶
1314class Shell(uFurnObject.FurnObject)— базовый корпус:_parent = self.1328class ShellMINI(Shell)— купе МИНИ, одна секция (furntype 110101).2089class ShellDUO(Shell)— купе ДУО, две секции со стойкой и постоянной нишей; его адаптеры — ДЕФОЛТ для Niche_shelves и др.3237class ShellTRIO(Shell)— купе ТРИО, три секции.6549class ShellPivotMono(Shell)— распашной MONO-1/2, одна секция, цельная ЗС BackWallsMaxsize, навесы, цоколь ShellSocle.7234class ShellPivotDuo(Shell)— распашной DUO-2/4, индекс ниши черезkwards["index"].8073class ShellPivotDuoThree(Shell)— распашной DUO-3 (L/R), w_small = ⅓ ширины.9030class ShellPivotTrio(Shell)— распашной TRIO, фасадов 3..6 (fascount).
Цоколь¶
956class Socle(uFurnObject.FurnObject)— база цоколя.1051class ShellSocle(Socle)— цоколь (furntype 110109): варианты COMMODE (планки + рёбра при width>899) и SHOEMAKER (одна скрытая планка); validate_cokle_height запрещает 1..39 мм.
Терминалы¶
4238class Terminal(uFurnObject.FurnObject)— база терминала.4333class TerminalAngle(Terminal)— угловой завершающий (furntype 110106): боковина, ЗС, радиусные полки count шт., стяжка make_fix_stjag_ms.
Ниши / наполнения (база Niche)¶
4581class Niche(uFurnObject.FurnObject)— база ниши.4716class NicheVesh(Niche)— поперечная (выдвижная) вешалка.4829class NicheBRHolder(Niche)— боковой держатель брюк.4920class NicheVeshProd(Niche)— продольная вешалка.5013class NichePantograf(Niche)— пантограф (Pantograf.mac; докстринг был копипастой «продольная вешалка» — исправлен).5116class NicheSideBruckHolder(Niche)— боковой держатель брюк (MotHangP.mac).5212class Niche_shelves(Niche)— равномерные полки (shelf_class по умолчанию HorizontalSmallRemovableWall).5391class Niche_Box(Niche)— ящики купе (Box_user.GroupBox).5587class Niche_Box_Pivot(Niche)— ящики распашных: блок + фальшпанели/ боковины, MIN_DEPTH=263.5921class Niche_SotKorGK(Niche)— сотовые корзины ГК.6057class Niche_SotShelf(Niche)— сотовые полки РШ/ГК (MIN_DEPTH=284).6237class Niche_ShoeShelfGK(Niche)— обувные полки ГК.6402class Niche_BoxGK(Niche)— ящики ГК.
Утилиты / валидация / лимиты¶
890class ExtWidth— предельная ширина, check() бросает TypeError/ValueError.910def factory_ext_width(diapason)— подменяет границы ExtWidth.919/934class ExtHeight/ExtDepth— аналоги.1293class ValidatePolkPosition— полка выше верхней пласти нижнего основания (nd_z_pos = h_cok + h_dsp).8040def limit_size_box_checker_width(...)— валидация ширины под ящики.8055def limit_size_box_checker_depth(...)— валидация глубины под ящики.10063def main_manual()— отладочный ручной запуск.10264…10468class LimitSize_PIVOT_MONO1/MONO2/DUO2/DUO3/DUO4/TRIO3/TRIO4/ TRIO5/TRIO6(Enum)— лимиты (мм) глубины/ширины.
TODO(АУДИТ) — потенциальные баги, помечены в коде¶
329(RSH_ShellGS.params_adapter) —hpolkdp{i}умножается сам на себя (в квадрате); по аналогии с RSH_ShellPivot ожидалось* ishpolkdp{i}— вероятный баг.337— prmater/bandtypereal присваиваются в цикле по секциям, хотя от i не зависят.389(RSH_ShellPivot) —h_cokобъявлено дважды, второе затирает первое.434,724—slotpars: RSH_Slot = RSH_Slot()— один изменяемый экземпляр общий для всех объектов dataclass (mutable default).442,732— опечатка аннотацииDict[int.int](→Dict[int, int]); не падает лишь из-заfrom __future__ import annotations.901(ExtWidth.check, и ExtHeight/ExtDepth) — аннотация-> bool, но при успехе возвращает None.1599(ShellMINI.gab_panel_adapter, ветка BackWallLarge) —lengthне используется; приh_small_int_d==0длина ЗС занижена (в ShellDUO стоитlength=length).2753(ShellDUO.symmetry_pan_position_adapter) —any([_isp(SideDown), _isp(SideTopWithEck)])— вероятно имелся в виду SideDownWithEck; условие с SideTopWithEck мёртвое.2868(WallStrong/BOTTOM) —h_cok + + h_dsp— двойной плюс (унарный), остаток правки.- Два NOTE(АУДИТ) об исправленных копипастных докстрингах: RSH_Socle и NichePantograf.