Files

9.8 KiB
Raw Permalink Blame History

Учёба и журнал

Договорённость на срез после кабинета и классного, не текущий код. Урок: lesson-consequences.md. Расписание: schedule.md. ИИ: ai.md. Кабинет: office.md. Общение: social.md. Одежда: inventory.md. Здоровье (следующий): health.md.

Урок перестаёт быть только ростом навыка: появляется оценка 25 и посещаемость. Игрок их не ставит — считает мир. Карточка и класс показывают журнал. Плохой след сам тянет внимание классного / авто-вызов из среза 12.

Роль игрока: менеджер / симулятор бога

Тот же жест, что в office.md: рамка школы (учителя, расписание, классный, правила), не ручной журнал и не «поставь пятёрку». Оценок от игрока нет.

Что увидит игрок

  • На карточке ученика — журнал: недавние оценки по предметам (2–5) и отметки явки.
  • У класса — сводка (средний след / кто часто отсутствует), без таблицы на весь год в одной простыне.
  • Тост или авто-следствие, когда след совсем плохой (данные BehaviorDef), без кнопки «поставить двойку».

На какие вопросы отвечает

  • Как из уже живого роста навыка на уроке получить школьную оценку 2–5.
  • Как посещаемость берётся из присутствия (узел = кабинет урока), а не из отдельного чекбокса.
  • Как журнал пишется в сейв и отдаётся по HTTP, не по сокету 20 Гц.
  • Какие уже существующие множители (учитель, тепло, учебник, шёпот, голод) входят в оценку.
  • Как плохой журнал стыкуется с классным и кабинетом директора без приказов игрока.

Чего нет

  • Ручных оценок и правок журнала игроком.
  • Приказов «вызови Иванова» / «исправь оценку».
  • Электронного дневника родителя и облачной выгрузки.
  • Четвертных/годовых аттестаций как отдельной кампании (можно средний след, не «аттестация»).
  • Болезней — срез 14; здесь только шов «отсутствие → прогул», который 14 заполнит причиной.

Что меняется в уже принятом

Было Стало Почему
Урок пишет рост навыка и лог Плюс оценка 2–5 по правилам Иначе учёба не видна как школа
«Кто в кабинете» видно Плюс явка/прогул/опоздание в журнале Присутствие уже есть
Оценок нет (lesson-consequences) Журнал есть Этот срез
Классный только для собраний (12) Плюс реакция на плохой след (авто) Связность систем
Уместность одежды → тема разговора (9) Может слегка двигать оценку / лог, если урок «на виду» — по данным Связность без отдельного среза weave

Этап A — оценка с урока

После осмысленного куска урока (не каждый тик): из тех же входов, что LessonLearning.Gain, мир пишет одну оценку 2–5 за урок (или за день-предмет — правило в BehaviorDef, ваниль: за слот урока, если ученик хотя бы частично присутствовал и рост мог бы идти).

Шкала классическая: 2, 3, 4, 5. Пороги от нормализованного «качества урока» — данные, не UI. Нет учителя в кабинете → ваниль пишет 2 (BehaviorDef.lessonMarkWhenNoTeacher; null — пропуск оценки). Множитель 0 (например учебник) → качество 0 → оценка 2 по порогам.

Сейв — на ученике, разреженно (последние N по предмету / общий потолок).

После этапа школа целая: оценки пишутся, журнала на карточке может ещё не быть.

Этап B — посещаемость

На каждый слот урока класса: присутствовал (в узле кабинета, не идёт), опоздал (пришёл после начала — порог минут в данных), отсутствовал. Источник — присутствие и обязанность, не чекбокс.

Пишется рядом с журналом оценок. Прогул без уважительной причины (здоровье — срез 14) может добавлять проступок / вес к авто-вызову, если 12 уже в мире — пороги в данных.

После этапа явка есть даже без красивой сводки класса.

Этап C — экран журнала

Вкладка или блок на карточке: оценки и явка. Сводка класса в Управлении или у классного — коротко. HTTP через мейлбокс. Список людей журнал не раздувает.

Локали RU/EN.

Этап D — связность и реакция

Явно в этом срезе, не «потом»:

Уже есть Влияние на журнал
Учитель в кабинете, навык, тепло, учебник, голод, шёпот Качество → оценка
Уместность формы (7/9) Лёгкий модификатор или только лог — число в BehaviorDef
Плохие оценки / прогулы Info-тост; вес к авто-вызову (12); классный «замечает» в логе

Игрок по-прежнему не ставит отметок.

После этапа срез 13 закрыт; болезни подключат причину отсутствия в 14.

Поток данных

Оценки и явка — состояние человека / класса, считает симуляция + HSchool.Ai (качество урока). Карточка — HTTP. Тосты — EventDef (срез 11). Сокет присутствия не несёт весь журнал.

Инварианты 1, 3, 4, 7: клиент не считает пятёрки; воркер пишет; симуляция без ASP.NET.

Где живёт код

Нового проекта нет.

Что Куда
Пороги 2–5, потолки журнала BehaviorDef / JSONC core
Качество урока → оценка HSchool.Ai (+ уже существующий LessonLearning)
Явка из присутствия HSchool.Simulation адаптер
Сейв журнала ростер / people рядом с человеком
Карточка, сводка Server + Client
Тосты / стык с вызовом EventDef + хуки среза 12

Советы, которые стоит принять сразу

  • Не давать игроку редактировать оценку.
  • Не слать журнал по WS 20 Гц.
  • Одна оценка за урок (или явное правило), не спам каждую минуту.
  • Связность — таблица в этапе D, не размазанные «заодно» по фазам без тестов.
  • Уважительный пропуск (болезнь) — контракт для 14: вид явки или флаг причины.

Заведомо не сейчас

  • Приказы игрока, ручной журнал.
  • ЕГЭ, олимпиады, переводные экзамены, родительский дневник онлайн.
  • Больной учитель как дыра в дне, точечный вызов родителя — fallout.md.
  • Болезни как система — health.md (уже соседний срез).

Зафиксировано этим разговором

Тема Решение
Шкала Классические 25
Приказы Нет; менеджер / симулятор бога
Weave Отдельного среза нет; этап D внутри 13
Болезнь Срез 14
Стоп После A/B/C школа целая
Ваниль core