Клип жидкости был прямоугольник на всю ширину + полукруг — вместе они
шире трубки в зоне закруглённого дна, и заливка торчала за стеклом.
Заменён на путь по внутреннему контуру пробирки (прямые стенки +
дугообразное дно, тем же радиусом w/2-4, что и обводка стекла).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Пробирки «Качественных реакций» масштабируются по высоте канваса
(190..340px вместо фикс. 150, шире), а вертикальная позиция ty
клампится (≤210) — даже при некорректно большой высоте канваса
колбы всегда остаются в верхней видимой части, а не уезжают за экран.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Canvas был прямым flex-ребёнком (flex:1). _drawQual выставляет
c.height = rect.height*dpr → intrinsic-высота канваса росла, а при
min-height:auto flex-элемент не сжимался ниже неё → разгон высоты
(×dpr на каждую перерисовку). Пробирки центрировались по H/2 и
оказывались далеко ниже видимой области.
Канвас обёрнут в position:relative;flex:1;overflow:hidden и сам стал
position:absolute (как рабочий канвас конструктора молекул) —
intrinsic-размер больше не влияет на раскладку.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>