u23-27gurkin 1 mese fa
parent
commit
f9152e76d4
1 ha cambiato i file con 49 aggiunte e 48 eliminazioni
  1. 49 48
      docs/issues.md

+ 49 - 48
docs/issues.md

@@ -1,63 +1,64 @@
-# Проект PWA: Интерактивная модель «Механические волны и спектр Фурье»
+# Проект PWA: Интерактивная модель «Механические волны и спектр Фурье»# Отчет по тестированию и Журнал разработки (Issues & History)
+## ✅ Реализовано в последних коммитах
+- [x] Плавное включение звука (fade-in) через `gain.setTargetAtTime`.
+- [x] Кнопка сброса всех параметров "Сбросить все".
+- [x] Шкала частот (5кГц, 10кГц, 15кГц) на графике спектрограммы.
+## ✅ Исправлено в v2.0
+- [x] **Загрузка изображений на фон:** Устранен синтаксический баг в JavaScript, из-за которого Data URI не парсился браузером. Теперь фон успешно устанавливается. Обработчик `onchange` сбрасывается для повторных загрузок.
+- [x] **Прозрачность UI:** Информационные панели `panel` сделаны полупрозрачными (70% opacity) и дополнены эффектом матового стекла (`backdrop-filter: blur(10px)`). Это позволяет видеть загруженные обои сквозь блоки, сохраняя читаемость текста.
+- [x] **Оптимизация фильтров:** Фильтры (ч/б, сепия, инверсия) применяются только к слою `bg-layer` и не искажают элементы интерфейса.
+## ✅ Исправлено в v2.1
+- [x] **Управление размером элементов UI:** Внедрен `ResizeObserver` и CSS `resize`. Теперь пользователь может вручную изменять ширину и высоту каждого графика, потянув за его угол, что позволяет самостоятельно выравнивать сетку (Grid).
+- [x] **Редизайн логотипа:** Унылый черный логотип заменен на яркий анимированный градиент.
+- [x] **Баг прозрачности при экспорте PNG:** При скачивании графика (кнопка "Скачать") фон больше не прозрачный — он предварительно заливается белым цветом на виртуальном холсте.
+## 🐛 Выявленные баги (Требуют исправления в будущем)
+1. **Адаптивность (Mobile):** На устройствах с шириной экрана менее 768px верхняя панель (Top Bar) ломает верстку. Требуется перевести меню в "бургер".
+2. **Экспорт в PNG на мобильных:** Кнопка скачивания может не срабатывать во встроенных браузерах Telegram/VK.
 
-## Журнал разработки (История запросов к нейросети)
+## ✅ Исправлено в v2.2
+- [x] Восстановлен модуль тестирования (Сцена 5) в виде модального окна.
+- [x] Внедрен `ResizeObserver` для ручного изменения размеров графиков.
+- [x] Редизайн логотипа (анимированный градиент).
 
-Ниже задокументирован процесс работы с ИИ-ассистентом при создании данного проекта.
+---
 
-**Запрос 1:** В чем ошибка? [Прикреплен скриншот терминала Git с ошибкой 'src refspec master does not match any']
-**Ответ:** Главная ошибка заключается в попытке отправить ветку `master` без созданных коммитов. Дана инструкция: создать файл, добавить его в индекс (`git add .`) и сделать первый коммит (`git commit -m "first commit"`).
+## 📓 Журнал разработки: Запросы и Ответы (ИИ-ассистент)
 
-**Запрос 2:** Ну вот нам говорили вот делать по этому сценарию формат вот: и что мне делать [Прикреплены фото конспекта по физике и требования к PWA на экране]
-**Ответ:** Разработан черновик текстового сценария на 5 сцен: базовое колебание, сумма Фурье, спектр, нелинейные преобразования и итоговое тестирование.
+**Запрос 1:** В чем ошибка? [Скриншот терминала Git 'src refspec master does not match any']
+**Ответ:** Ошибка в отправке ветки `master` без коммитов. Дана инструкция: создать файл, сделать `git add .` и `git commit -m`.
 
-**Запрос 3:** [Прикреплены фото тетради со сценарием про преподавателя и дротик]
-**Ответ:** Ошибочно составлен код для игры с дротиком (Сцена 1 - загрузка фото, Сцена 2 - преподаватель, Сцена 4 - бросок дротика). 
+**Запрос 2:** Ну вот нам говорили вот делать по этому сценарию формат вот: и что мне делать [Фото конспекта]
+**Ответ:** Разработан черновик текстового сценария на 5 сцен.
 
-**Запрос 4:** Откуда ты взял такой сценарий если у меня вообще про механические волны звук и тп, я же фото присылала интерактивного сценария по нему надо
-**Ответ:** Ошибка признана. Код и файлы полностью переписаны под физическую модель колебаний и спектр Фурье, в соответствии с первыми фотографиями конспекта.
+**Запрос 3:** [Фото тетради со сценарием про преподавателя и дротик]
+**Ответ:** Ошибочно составлен код для игры с дротиком.
 
-**Запрос 5:** Оформи как у мен в точь и полноценный рабочий код чтобы работа до приложение по этому сценарию
-**Ответ:** Код переписан со строгим разделением экрана на 4 блока (как в тетради). Добавлена генерация реального звука через Web Audio API, математический расчет суммы волн и визуализация паразитных гармоник при клиппинге.
+**Запрос 4:** Откуда ты взял такой сценарий если у меня вообще про механические волны звук...
+**Ответ:** Код переписан под физическую модель колебаний и спектр Фурье по первым фото.
 
-**Запрос 6:** Сдеоай какие-то улучшения в коде (приложении) и отобрази это в других файлах чтобы я сделал коммит типо изменения
-**Ответ:** Выпущено обновление (v1.1). Исправлен резкий щелчок при включении звука (добавлено плавное нарастание fade-in). На график спектра добавлена координатная шкала частот. Добавлена кнопка «Сбросить все». Файлы обновлены для создания коммита.
+**Запрос 5:** Оформи как у мен в точь и полноценный рабочий код...
+**Ответ:** Код переписан с разделением экрана на 4 блока. Добавлен Web Audio API, расчет суммы волн и клиппинг.
 
-**Запрос 7:** Более подробное техническое задание и в файлике issues.md и изменения и напиши в отдельном файле мои запросы и свои ответы и их запиши в этот файлик, под названием README.md
-**Ответ:** ТЗ вынесено в отдельный файл. В файл `issues.md` добавлены новые баги для исправления. В файл `README.md` начата запись истории запросов.
+**Запрос 6:** Сдеоай какие-то улучшения в коде...
+**Ответ:** Выпущено обновление (v1.1). Исправлен щелчок звука, добавлена шкала частот и кнопка сброса.
 
-**Запрос 8:** Можешь в коде приложения изменить или его улучшить в плане чтобы были звуковые эффекты по нажатии на кнопки и при взаимодействиями с ползунками... сменить тему на другие, загрузить фон...
-**Ответ:** Выпущено обновление (v1.2). Написан отдельный аудио-движок для звукового отклика кнопок интерфейса. Тональность звука ползунков привязана к их значениям. Добавлено меню настройки тем (Светлая, Темная, Неон) и возможность загружать свои обои с наложением графических фильтров (blur, sepia, invert).
+**Запрос 7:** Более подробное техническое задание и в файлике issues.md...
+**Ответ:** ТЗ вынесено отдельно. Добавлен лог запросов.
 
-**Запрос 10:** Почему в этом коде приложения не работают загруженные фоны... исправь это и сделай соответствующие изменения в файлах.
-**Ответ:** Исправлена ошибка загрузки фонов. Добавлены строковые кавычки в функцию `url('')` для корректной обработки данных Base64. Снижена непрозрачность панелей (с 95% до 70-75%) и добавлено размытие фона под ними (`backdrop-filter`), чтобы загруженная картинка была четко видна, а интерфейс приложения оставался легко читаемым. Алгоритм инпута очищается после загрузки, позволяя выбирать тот же файл повторно.
+**Запрос 8:** Можешь в коде приложения изменить или его улучшить в плане чтобы были звуковые эффекты...
+**Ответ:** Выпущено обновление (v1.2). Написан UI аудио-движок, добавлены темы и пользовательские обои.
 
-**Запрос 11:** Сделай так чтобы я мог вручную менять размер в длину этих графиков... и для логотипа сделай какие-то цвета а то черный логотип какой-то скучный...
-**Ответ:** Выпущено обновление (v2.1). 
-1. **Ручное изменение размеров графиков:** Элементы `<canvas>` обернуты в специальные контейнеры `.canvas-wrapper` с CSS-свойством `resize: both; overflow: hidden;`. За обработку размеров теперь отвечает `ResizeObserver`, благодаря чему вы можете потянуть за нижний правый угол любого графика и растянуть его на нужную ширину/высоту без визуальных искажений. Это решает проблему разной высоты панелей в сетке.
-2. **Анимированный логотип:** Логотипам (на стартовом экране и в навигации) присвоен класс `.gradient-text`, который создает переливающийся градиент (розовый-синий-бирюзовый) за счет CSS-свойства `background-clip` и бесконечной анимации `@keyframes`.
+**Запрос 9:** ...приложение начало пролагивать исправь... сделай главную страницу...
+**Ответ:** Выпущено обновление (v2.0). Добавлен Welcome Screen, оптимизирован FPS, починены фильтры.
 
-## 🐛 Выявленные баги (Требуют исправления)
-1. **Проблема с масштабированием Canvas:** При изменении размера окна браузера (resize), графики перерисовываются с микрозадержкой. Из-за этого при сужении экрана волна может на долю секунды выходить за границы блока.
-   * *Возможное решение:* Использовать `ResizeObserver` вместо события `window.addEventListener('resize')`.
-2. **Блокировка AudioContext:** В некоторых строгих браузерах (Safari, новые версии Chrome) звук не воспроизводится, если пользователь не кликнул по странице перед нажатием кнопки "Вывод на динамике".
-   * *Возможное решение:* Добавить стартовый экран-заглушку с кнопкой "Начать работу", чтобы инициализировать AudioContext по первому клику.
-3. **Наложение текста в спектре:** Если частоты на вкладках V1 и V2 выставлены слишком близко друг к другу (например, 440 Гц и 450 Гц), текстовые подписи над столбиками спектра накладываются друг на друга и становятся нечитаемыми.
+**Запрос 10:** Почему в этом коде приложения не работают загруженные фоны...
+**Ответ:** Исправлена ошибка загрузки фонов (добавлены кавычки в `url()`), настроена полупрозрачность панелей.
 
-## ✨ Запланированные улучшения (Бэклог / Фичи)
-- [ ] **Итоговое тестирование (Сцена 5):** Реализовать полноценный модуль тестирования (5-10 вопросов) во всплывающем модальном окне с подсчетом процента правильных ответов.
-- [ ] **Визуализация осей:** Добавить разметку по оси Y на график "Сумма колебаний", чтобы наглядно демонстрировать уровень среза при активации нелинейного преобразования (клиппинга).
-- [ ] **Управление фазой:** Вернуть в интерфейс ползунок управления сдвигом фазы (θ), который был в черновиках, чтобы показывать влияние фазы на форму итоговой суммы Фурье.
-- [ ] **Экспорт данных:** Добавить возможность скачать получившийся график суммы колебаний в формате PNG.
+**Запрос 11:** Сделай так чтобы я мог вручную менять размер в длину этих графиков...
+**Ответ:** Выпущено обновление (v2.1). Внедрен `ResizeObserver` и градиентный логотип.
 
-## ✅ Реализовано в последних коммитах
-- [x] Плавное включение звука (fade-in) через `gain.setTargetAtTime`.
-- [x] Кнопка сброса всех параметров "Сбросить все".
-- [x] Шкала частот (5кГц, 10кГц, 15кГц) на графике спектрограммы.
-## ✅ Исправлено в v2.0
-- [x] **Загрузка изображений на фон:** Устранен синтаксический баг в JavaScript, из-за которого Data URI не парсился браузером. Теперь фон успешно устанавливается. Обработчик `onchange` сбрасывается для повторных загрузок.
-- [x] **Прозрачность UI:** Информационные панели `panel` сделаны полупрозрачными (70% opacity) и дополнены эффектом матового стекла (`backdrop-filter: blur(10px)`). Это позволяет видеть загруженные обои сквозь блоки, сохраняя читаемость текста.
-- [x] **Оптимизация фильтров:** Фильтры (ч/б, сепия, инверсия) применяются только к слою `bg-layer` и не искажают элементы интерфейса.
-## ✅ Исправлено в текущем коммите (v2.1)
-- [x] **Управление размером элементов UI:** Внедрен `ResizeObserver` и CSS `resize`. Теперь пользователь может вручную изменять ширину и высоту каждого графика, потянув за его угол, что позволяет самостоятельно выравнивать сетку (Grid).
-- [x] **Редизайн логотипа:** Унылый черный логотип заменен на яркий анимированный градиент.
-- [x] **Баг прозрачности при экспорте PNG:** При скачивании графика (кнопка "Скачать") фон больше не прозрачный — он предварительно заливается белым цветом на виртуальном холсте.
+**Запрос 12:** А где 5 сцена?
+**Ответ:** Выпущено обновление (v2.2). Восстановлено Итоговое тестирование в виде модального окна.
+
+**Запрос 13:** Запросы ответы и ответ в одном файлике должны быть в issue.md
+**Ответ:** Лог разработки полностью перенесен из `README.md` в `issues.md`.