Владелец: «в аквариуме такая маленькая рыба». Диагноз — наложение двух причин: (1) размер считался по водной кривой fishSizeFromW() (якорь — лодка 64 px), умноженной на AQ_FISH_SCALE=0.7, при банке во весь экран (якоря нет); (2) бинарный десктоп-множитель k=2 включался только при min(W,H)>=600, поэтому телефон 360x640 и ландшафт 800x450 жили с k=1 при самой «пустой» банке, а нижний кламп MIN=7 прятал мелочь (золотая 0.8 кг = 14 px). (1) Константы: AQ_FISH_SCALE 0.7 -> 2.1, AQ_FISH_SIZE_MIN 7 -> 10, AQ_FISH_SIZE_REL 0.16 -> 0.30. (2) Бинарный AQ_DESKTOP_MIN/AQ_DESKTOP_SCALE удалён -> плавный масштаб k=clamp(min(W,H)/AQ_TANK_REF, 1, AQ_MAX_K), AQ_TANK_REF=360 (k=1), AQ_MAX_K=2.4: телефон 360 -> k=1, ландшафт 450 -> 1.25, десктоп 720 -> 2. Верхний кап больше НЕ умножается на k (доля min(W,H)*0.30 одинакова на всех экранах, раньше min*REL*k давал квадратичный рост). Имена aqFishSize/AQ_FISH_* сохранены (глобалы AGENTS/тестов). (3) Приёмка: у щуки 7.4 кг (size 57.7, DOM ~120 px) центр на нижней границе потока давал верх портрета ровно под баром #aqBar — введено per-fish поле rise=aqFishSize(w)*0.65 (полувысота портрета) в initAquarium/updateAquarium: top+rise … bot-rise, крупная рыба не заходит в бар и не садится на грунт. (4) clip-path DOM-слоя заменён на circle(calc(100% - 16px) at center): прямоугольник банки с 18px-скруглением слой обрезал слабее (рыба выглядывала за угол). (5) Размеры после правки (headless DOM): 2-8 кг на телефоне = 21-36% ширины банки (цель 25-35%), мелочь/золотая 14 -> 21 px, щука-десктоп 79 -> 231 px. (6) Не тронуто: FISH_SIZE_KNOTS/fishSizeFromW/drawHookedFish (вода), wMin/wMax, формат/миграция save.aqFish, экономика/баланс/роллы/физика. (7) Проверено: tests 222/222 PASS exit 0 (размер не пинится, имена сохранены), check.mjs OK, balance.mjs — пины без изменений, таблицы локаций без пересечений, 37 видов достигаемы. (8) Скриншоты: оба набора перегенерированы (45 RU + 45 EN) — жильцы крупнее, бар не заезжают. (9) Доки: AGENTS.md (формула + AQ_FISH_SCALE/MIN/REL/TANK_REF/MAX_K + rise), README.md (масштаб одинаков на телефоне и десктопе), DEVLOG (Этап 49 с таблицей размеров).
81 KiB
1280x720px
81 KiB
1280x720px