Часть эпика #315. Зависит от endpoint /api/code-terms.
Задача
В режимах 1 и 2 показать «Функции в коде»: мини-карточки (название + однострочное описание) всех функций/конструкций, задействованных в текущем коде; клик открывает полную карточку (синтаксис, примеры) в разделе «Глоссарий».
Scope
- Заменить мёртвый виджет «Связанные термины» (
static/index.html:93-100; сейчас его бейдж показывает размер всей базы и обновляется только при заходе в раздел «Глоссарий» — app.js:1083-1090) настоящей панелью «Функции в коде».
- Режим 1: обновление по мере редактирования (debounce) через
/api/code-terms с {code}; режим 2: по выбранному решению после прогона ({path}).
- Мини-карточка: имя +
summary + бейдж kind; клик → setSection("glossary") + открытие полной карточки (переиспользовать механизм openGlossaryForSelectedCase, app.js:293-304).
- Термины без карточки — приглушённо, с пометкой «карточки ещё нет» (они уже попадают в очередь «Недостающее» на бэке).
Acceptance criteria
Часть эпика #315. Зависит от endpoint
/api/code-terms.Задача
В режимах 1 и 2 показать «Функции в коде»: мини-карточки (название + однострочное описание) всех функций/конструкций, задействованных в текущем коде; клик открывает полную карточку (синтаксис, примеры) в разделе «Глоссарий».
Scope
static/index.html:93-100; сейчас его бейдж показывает размер всей базы и обновляется только при заходе в раздел «Глоссарий» —app.js:1083-1090) настоящей панелью «Функции в коде»./api/code-termsс{code}; режим 2: по выбранному решению после прогона ({path}).summary+ бейдж kind; клик →setSection("glossary")+ открытие полной карточки (переиспользовать механизмopenGlossaryForSelectedCase,app.js:293-304).Acceptance criteria