squad-proto/CLAUDE.md
z.kirill 7880f275bd Прототип боевого ядра: отряд, хоррор-слой, ближний бой
Тактический отряд с автоматическим огнём в изометрии, собственный
софтверный растеризатор (raylib только окно, ввод и финальный блит).

Ядро (спек, раздел 6):
- LaneClear: проверка линии огня по своим, стенам и дальности;
- решатель огневых позиций с гистерезисом и коммитом;
- резервирование линий огня и расступание из чужих секторов;
- пули-снаряды, дружественный урон физически возможен.

Хоррор-слой (render-only): свет и туман войны с памятью карты,
светящиеся трассеры, кровь, виньетка, зерно, напряжение.

Ближний бой: сектор удара, три фазы, связка из трёх ударов,
своя дисциплина «не бить сквозь своего».

Проверка: squad_proto.exe --accept прогоняет критерии приёмки
раздела 11 плюс блок M7 по ближнему бою — все PASS,
FRIENDLY_HITS = 0 за 3 минуты боя.

Сборка: cmake -S . -B build && cmake --build build --config Release
raylib 6.0 подтягивается через FetchContent.

Документация — CLAUDE.md как оглавление, содержание в docs/.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-03 13:00:49 +03:00

3.5 KiB
Raw Blame History

CLAUDE.md — оглавление

Этот файл — только навигация. Содержание живёт в docs/, по одному файлу на тему. Читай нужный раздел, а не весь проект.

Документация

Файл О чём Когда открывать
docs/00-overview.md что это за прототип, границы задачи первое знакомство
docs/01-build-and-run.md сборка, запуск, управление, dev-режимы CLI собрать и потыкать
docs/02-architecture.md карта модулей, порядок шага симуляции, правила зависимостей перед любой правкой кода
docs/03-rendering.md софтверный фреймбуфер, изометрия, сортировка, спрайты рендер, камера, спрайты
docs/04-world.md тайлмап, планировка уровня, DDA-рейкаст, коллизии, мишени карта, LOS, коллизии
docs/05-squad-ai.md ядро: LaneClear, решатель огневых позиций, резерв линий, стрельба поведение отряда
docs/06-debug-and-tuning.md оверлей F1F4, метрики, runtime-тюнинг, --set отладка и балансировка
docs/07-milestones.md журнал вех M0M6: что сделано и чем проверено история и статус
docs/08-decisions.md отклонения от спека и почему, с замерами «почему тут не как в ТЗ»
docs/09-acceptance.md критерии приёмки (спек 11) и их текущие цифры приёмка
docs/10-atmosphere.md хоррор-слой: свет, туман войны, трассеры, напряжение картинка и атмосфера
docs/11-melee.md ближний бой: сектор удара, три фазы, свой круг, дуга клинки, классы оружия

Быстрые факты

  • Исходный спек: SQUAD_PROTOTYPE_SPEC.md — источник истины по правилам.
  • Сборка: cmake -S . -B build && cmake --build build --config Releasebuild/bin/squad_proto.exe.
  • Самопроверка: squad_proto.exe --accept печатает PASS/FAIL по всем измеримым критериям.
  • Все числа — в src/tuning.h. Магических констант по коду быть не должно.
  • src/ai/ не знает про рендер, изометрию и ввод. Это правило не нарушать.
  • Правило «не бить своих» одно на все классы оружия: у ствола это отрезок, у клинка — сектор. Ослаблять его нельзя нигде.
  • RenderGame принимает const Game& — эффекты физически не могут влиять на симуляцию.