@@ -12,61 +12,61 @@
## Задачи
- [ ] Новый проект `HSchool.Ai` рядом с `People` и `Schedule` : зависит на `Content` , `People` и
- [x ] Новый проект `HSchool.Ai` рядом с `People` и `Schedule` : зависит на `Content` , `People` и
`Schedule` , без Arch и ASP.NET. Рядом — `tests/HSchool.Ai.Tests`
- [ ] `travelMinutes` на `RoomDef` и `TerritoryDef` ; в `core` проставлены кабинет 0.5, коридор
- [x ] `travelMinutes` на `RoomDef` и `TerritoryDef` ; в `core` проставлены кабинет 0.5, коридор
1.5, лестница 1.5, вестибюль 1, двор 3
- [ ] Маршрутизация по `MapLayout.Links` — в библиотеке: матрица следующих шагов считается
- [x ] Маршрутизация по `MapLayout.Links` — в библиотеке: матрица следующих шагов считается
**один раз ** при загрузке школы, не на каждом шаге
- [ ] План дня человека — тоже в библиотеке: во сколько выходить, чтобы успеть, и когда уходить.
- [x ] План дня человека — тоже в библиотеке: во сколько выходить, чтобы успеть, и когда уходить.
Часы, компоненты и мир туда не проникают
- [ ] Место человека — компонент в `World` : узел, остаток пути, минуты до выхода из узла.
- [x ] Место человека — компонент в `World` : узел, остаток пути, минуты до выхода из узла.
Человек всегда в узле; рёбер как состояний нет
- [ ] Состояние «вне школы» — не удаление сущности: человек остаётся в списке и в карточке
- [ ] Приход и уход: у кого сегодня нет уроков, тот не приходит вовсе. Ученик и учитель — по
- [x ] Состояние «вне школы» — не удаление сущности: человек остаётся в списке и в карточке
- [x ] Приход и уход: у кого сегодня нет уроков, тот не приходит вовсе. Ученик и учитель — по
своим урокам, прочий штат — по дню школы
- [ ] Запас на дорогу свой у каждого: путь от двора плюс несколько минут из своего потока
- [x ] Запас на дорогу свой у каждого: путь от двора плюс несколько минут из своего потока
случайности, с поправкой на черты
- [ ] Обязанность как место назначения: урок — кабинет из расписания, должность — комната из
- [x ] Обязанность как место назначения: урок — кабинет из расписания, должность — комната из
`RoomDef.works` . Выбора действий пока нет
- [ ] Движение по тику: остаток минут в узле уменьшается, при нуле человек переходит в следующий
- [x ] Движение по тику: остаток минут в узле уменьшается, при нуле человек переходит в следующий
узел пути
- [ ] Стабильный порядок обхода людей — собственный список, а не порядок сущностей в Arch
- [ ] Адаптер в `HSchool.Simulation` : собирает значения из компонентов, зовёт библиотеку,
- [x ] Стабильный порядок обхода людей — собственный список, а не порядок сущностей в Arch
- [x ] Адаптер в `HSchool.Simulation` : собирает значения из компонентов, зовёт библиотеку,
записывает ответ обратно. Горячий путь — движение — границу не пересекает
- [ ] Ориентир в `AGENTS.md` , `docs/architecture.md` и `docs/design/projects.md` знает про новый
- [x ] Ориентир в `AGENTS.md` , `docs/architecture.md` и `docs/design/projects.md` знает про новый
проект
- [ ] Место, путь и назначение едут в файл часов; кого в файле нет, тот расставляется по
- [x ] Место, путь и назначение едут в файл часов; кого в файле нет, тот расставляется по
обязанности
- [ ] Потолок решений за тик — в `SimulationOptions` , как очередь, а не как отсечка
- [ ] Предикат «школа пуста»: в здании и во дворе нет никого
- [ ] Рабочее окно дня — от шести утра до последнего звонка по **каркасу дня ** , а не по
- [x ] Потолок решений за тик — в `SimulationOptions` , как очередь, а не как отсечка
- [x ] Предикат «школа пуста»: в здании и во дворе нет никого
- [x ] Рабочее окно дня — от шести утра до последнего звонка по **каркасу дня ** , а не по
фактическому расписанию
- [ ] «Ближайшее шесть утра рабочего дня впереди»: ночь ведёт в то же утро, вечер — в следующее,
- [x ] «Ближайшее шесть утра рабочего дня впереди»: ночь ведёт в то же утро, вечер — в следующее,
выходные, праздники и каникулы пропускаются. Поиск ограничен разумным числом дней и
честно отвечает «нет такого»
- [ ] Прыжок часов туда одним шагом: разрешён только при пустой школе и вне рабочего окна,
- [x ] Прыжок часов туда одним шагом: разрешён только при пустой школе и вне рабочего окна,
отрабатывает первое сентября и обновление пула за весь пропуск, после себя пишет сейв
## Тесты, без которых фаза не закрыта
- [ ] Путь из кабинета 201 в санузел первого этажа идёт через лестницу и коридор, а не напрямую
- [ ] Сумма `travelMinutes` совпадает с временем, за которое человек реально доходит
- [ ] В воскресенье и в каникулы школа пуста: все вне школы
- [ ] Класс без уроков сегодня не приходит, а его учитель с уроками у другого класса — приходит
- [ ] К началу первого урока ученик находится в своём кабинете
- [ ] Физкультура после урока в главном корпусе: класс доходит до спортзала, и видно, что
- [x ] Путь из кабинета 201 в санузел первого этажа идёт через лестницу и коридор, а не напрямую
- [x ] Сумма `travelMinutes` совпадает с временем, за которое человек реально доходит
- [x ] В воскресенье и в каникулы школа пуста: все вне школы
- [x ] Класс без уроков сегодня не приходит, а его учитель с уроками у другого класса — приходит
- [x ] К началу первого урока ученик находится в своём кабинете
- [x ] Физкультура после урока в главном корпусе: класс доходит до спортзала, и видно, что
перемены на это едва хватает
- [ ] Тот же сид и та же карта дают то же расположение людей на тот же момент
- [ ] Сохранение и загрузка посреди перемены не телепортируют людей
- [ ] Прыжок с субботы попадает в понедельник, 6:00; с трёх ночи вторника — в утро того же
- [x ] Тот же сид и та же карта дают то же расположение людей на тот же момент
- [x ] Сохранение и загрузка посреди перемены не телепортируют людей
- [x ] Прыжок с субботы попадает в понедельник, 6:00; с трёх ночи вторника — в утро того же
вторника; с десяти вечера — в утро среды
- [ ] Прыжок в учебное время отклоняется. В семь утра рабочего дня, когда школа ещё пуста, —
- [x ] Прыжок в учебное время отклоняется. В семь утра рабочего дня, когда школа ещё пуста, —
тоже: это уже рабочее окно
- [ ] У школы без единого учителя рабочий день не пропускается
- [ ] Прыжок через летние каникулы проводит первое сентября: классы перешли, выпуск состоялся,
- [x ] У школы без единого учителя рабочий день не пропускается
- [x ] Прыжок через летние каникулы проводит первое сентября: классы перешли, выпуск состоялся,
набор пришёл
- [ ] Промотанная неделя и прожитая неделя дают одно состояние школы
- [x ] Промотанная неделя и прожитая неделя дают одно состояние школы
## Критерий готовности