Repository navigation
TuneWizard: этап 1 — каркас, проверки лога, шаг 0 - #2
Merged
Merged
Conversation
Утверждённый дизайн инструмента, объединяющего FilterReview и PIDReview в пошаговый мастер настройки Copter: структура, ядро без DOM, шаги, правила предложений с источниками, тесты и этапы реализации. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Пошаговый план с кодом ядра log.js/checks.js, тестами под Node, страницей index.html и wizard.js. Папка TuneWizard/logs/ добавлена в .gitignore для локальных логов. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Чистые функции без DOM с тестами под Node: история параметров, флаги сообщений, окно полёта по газу, сводка VIBE, log_info. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Настоящий парсер отдаёт сообщения с экземплярами (VIBE, ESC, IMU, GYR) только через get_instance; get() на них падает. Поддельный лог в тестах повторяет это поведение. Максимум по длинным рядам считается циклом, а не через spread в Math.max (переполнение стека). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…, отступы тестов max_of вместо array_max: имя совпадало с поэлементным array_max(A, B) из Libraries/Array_Math.js. IMU пишется по экземплярам, log.get() на нём падает — убран из списка для длительности. Тесты — 4 пробела, как в tests/. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…ки по ревью vibe_summary не падает на логах без Clip (суммирует Clip0..Clip2) и без экземпляров; throttle_series проверяет наличие полей; log_info отдаёт time_start/time_end; percentile сортирует типизированным массивом. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Аппарат, бит PID, данные гироскопа, pre/post, источник трекинга, длительность полёта, VIBE и clipping, газ висения с учётом предела обучения 0.125. Пороги в одном блоке check_rules с указанием источника. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…в обучения Подсказки по INS_RAW_LOG_OPT/INS_LOG_BAT_OPT добавляют биты, а не перезаписывают значение. Расхождение газа висения считается к достижимому обученному значению (0.125…0.6875). Тексты полёта и VIBE уточнены, добавлены тесты на набор проверок и граничные случаи. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Страница мастера с токенами двух тем и переключателем, навигация по шести шагам, шаг 0: загрузка лога, карточка сведений, список проверок, график полёта в цветах темы с выбором интервала анализа. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Правило [hidden]{display:none!important}: секции других шагов и пустые
блоки шага 0 перекрывались display:flex/grid. Добавлена иконка страницы,
как у остальных инструментов (убирает 404 в консоли).
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…ки по ревью Ошибка парсера показывается в вердикте, а не вешает оверлей; интервал зажимается до проверки и не инвертируется; пустые сообщения лога не роняют график; ползунок диапазона и печать в тёмной теме; экранирование строк из лога; сброс экрана при повторной загрузке; доступ к выбору файла с клавиатуры; убраны неиспользуемые библиотеки. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Тест tests/tunewizard-browser.cjs гоняет шаг 0 в настоящем Chrome (CHROME_PATH) на локальном логе и пропускается без лога; скрипт npm run test:tunewizard. Ошибка загрузки сбрасывает состояние и называет файл в вердикте. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Сервер и браузер поднимаются внутри try и всегда закрываются; ошибка запуска python видна; число проверок не привязано к одному логу. Все три пути ошибки загрузки сбрасывают состояние, называют файл и очищают поле выбора. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Этап 1 уже влит в
main(fast-forward, 24.10.2026), поэтому PR открыт не вmain, а в веткуtune-wizard-stage1-base. Она указывает на исходный upstream05d6177, с которого начиналась работа. В PR видны ровно изменения этапа 1, PR служит записью этапа. Слияние ничего не меняет вmain.Что сделано
docs/plans/2026-10-23-tune-wizard-design.md— мастер из шести шагов, ядроcore/без DOM, правила с источниками, шесть этапов;docs/plans/2026-10-23-tune-wizard-stage1.md— план этапа.core/log.js: сведения о логе, история параметров, окно полёта по газу, средний газ висения, сводка VIBE по экземплярам (включая старый формат VIBE).core/checks.js: проверки пригодности лога — вибрации, клиппинг, время висения, газ висения с учётом пределов обучения, биты логирования гироскопов и PID.TuneWizard/: каркас, полоса шагов, шаг 0 — загрузка лога, сведения, проверки, график полёта с интервалом, ошибки загрузки.tests/tunewizard.test.cjsпод Node; браузерный smoke-тест шага 0tests/tunewizard-browser.cjs(npm run test:tunewizard, Chrome черезCHROME_PATH, лог изTuneWizard/logs/).Светлая тема и переключатель тем этапа 1 позже убраны на этапе 2: осталась одна тёмная «Графит» (87eaef3, PR #1).
13 файлов, +3340 / −1.
🤖 Generated with Claude Code