-
Nikitos создал
Находки финального аудита крупных модулей: nav, widgets, tilemap, tween, anim, prefab, pool. nav.js проверен property-тестами (A* против Дейкстры, pathOnMesh/pathOnGrid на сотнях случайных карт) — чисто. * pool: у свободных (предсозданных) узлов снимается физическое тело. Раньше каждый такой узел висел в мире в точке (0,0) и сталкивался, хотя его нет ни в ctx.nodes, ни в счётчиках. Проверено вживую: create(initial:3) не меняет engine.bodyCount(), spawn добавляет ровно одно тело. * tilemap: .tileSize() после первого рендера режет лист по новому размеру — вычисленные cols/rows больше не принимаются за явный override. * prefab: sanitize() охраняет и массивы: циклический массив в attrs больше не валит $.prefab.save() с RangeError. * anim: повторный .stateMachine() снимает слушателей прошлой машины, а eventsBetween() возвращает все повторы события из интервала — при лаге кадра события циклов больше не теряются. * widgets: циклический extends тем (a→b→a) рвётся пустой темой с предупреждением, а не уходит в бесконечную рекурсию. * tween: .delay() действует и на мгновенный property-твинер (значение откатывается и применяется после задержки); method-твинер больше не применяется мгновенно, потому что его нельзя откатить. * Тесты: по регрессионному кейсу в pool/tilemap/prefab/anim/widgets/tween; layerFrames экспортирован как tilemapLayerFrames для проверки срезки листа.
d41aa685
Чтобы узнать состояние репозитория этого проекта на момент создания любой из этих версий, посмотрите теги.