Карта репозитория
Перед изменением поведения читайте соответствующий тест. Для модели особенно важны testthroughputinvariants.py, testdessimulation.py и testmontecarlo.py: о
| Путь | Что находится внутри |
|---|---|
scenarios/ |
Готовые JSON-конфигурации расчётов. |
src/robozon/analytics.py |
ScenarioConfig, загрузка сценариев и номинальные формулы. |
src/robozon/simulation.py |
Общие структуры результата и выбор движка. |
src/robozon/des/engine.py |
Событийный поток КТЯ, палет и ресурсов SimPy. |
src/robozon/des/metrics.py |
Метрики зон, временные ряды, окно измерения и хвост. |
src/robozon/des/policies.py |
Решения политик внутри DES. |
src/robozon/des/routing.py |
Направления и распределение Парето. |
src/robozon/des/area.py |
Нормы зон и расчёт площади. |
src/robozon/equipment.py |
Паспортные характеристики референсного оборудования и допущения компоновки. |
src/robozon/runner.py |
Запуск одного сценария и сравнение политик. |
src/robozon/monte_carlo.py |
Серия прогонов и диапазоны результатов. |
src/robozon/sensitivity.py |
Анализ чувствительности одного параметра. |
src/robozon/web.py |
HTTP-сервер и API дашборда. |
web/ |
HTML, CSS, JavaScript, графики и 3D-визуализация. |
web/static/models/ |
GLB, контрольный WebP и публичный JSON расчётного плана. |
assets/blender/ |
Исходный .blend и floor-plan.json с точной геометрией. |
scripts/blender/ |
Экспорт плана, сборка Blender-сцены и проверка совпадения 2D/3D. |
tests/unit/ |
Проверки формул, DES, метрик и инвариантов. |
tests/integration/ |
Проверки CLI и веб-сервера. |
submission/report/data/canonical-kpis.json |
Краткий контракт контрольных чисел релизного сценария. |
submission/report/ |
Отчёт, воспроизводимые данные, таблицы, рисунки и PDF. |
submission/presentation/ |
Презентация для защиты. |
docs/ |
Исходные проектные документы, требования и инженерные заметки. |
knowledge-base/ |
Понятная навигационная документация по проекту. |
Где искать ответ на типовой вопрос
| Вопрос | Сначала открыть |
|---|---|
| Почему выход меньше входа? | src/robozon/des/engine.py, затем des/metrics.py. |
| Как исключён хвост расчёта? | src/robozon/des/metrics.py и tests/unit/test_throughput_invariants.py. |
| Откуда площадь? | src/robozon/des/area.py. |
| Откуда характеристики сортировщика? | src/robozon/equipment.py и docs/equipment/sorters.md. |
| Что меняет политика? | src/robozon/des/policies.py и src/robozon/policies.py. |
| Как проверяется сохранение товаров? | src/robozon/des/engine.py и tests/unit/test_throughput_invariants.py. |
| Какие значения допустимы в URL? | src/robozon/analytics.py, SCENARIO_OVERRIDE_PARSERS. |
| Что именно видит пользователь? | web/index.html и web/static/app.js. |
| Как устроен и пересобирается 3D-план? | assets/blender/README.md, scripts/blender/export_layout.py и create_sorting_center.py. |
| Как доказать совпадение 2D и 3D? | scripts/blender/verify_model.py и assets/blender/floor-plan.json. |
Перед изменением поведения читайте соответствующий тест. Для модели особенно
важны test_throughput_invariants.py, test_des_simulation.py и
test_monte_carlo.py: они фиксируют смысл метрик, который нельзя сломать
визуально незаметной правкой.