1. 07.10.2026 2 коммита
    • Nikitos's avatar
      §11: закрываю оставшиеся враки в доке и расширяю стража
      · 8928c4da
      Nikitos создал
      §12.16 требовал «сначала §11.1–11.2 — они активно врут». Шесть системных враний
      были закрыты раньше, но таблица §6.1/6.2 перечисляла места, которые страж
      (doc_claims_test.py) НЕ проверял — и они всё ещё врали. Нашёл четыре:
      
      1. HIGH_LEVEL_API_PERF.md перечислял как «настоящие дыры» пользовательские
         шейдеры, слои коллизий, фигурный свип, Curve/Gradient, сеть, скелет и render
         target — ВСЁ это реализовано (проверено по коду: defineShader, layerBits,
         castShape, loadCurve/loadGradient, net.js, $.mesh/.zone, viewport);
      2. там же: «слои коллизий — .mask()/.layerBits() — пустышки» и «фигурный
         свип/CastShape — в биндингах нет» — неверно;
      3. VFX_PLAN.md: «viewport.js перестаёт быть заглушкой» — уже не заглушка;
      4. render.md: «заглушка engine.viewport» в описании src/render.c.
      
      Список «осталось незакрытым» переписан ЧЕСТНО и проверен по коду: в нём теперь
      только то, чего действительно нет — IK, z_as_relative и наследование
      visible/modulate родителем, приоритеты и stealing голосов, seek у звука. Это
      удобства, а не блокеры.
      
      СТРАЖ РАСШИРЕН с 10 утверждений до 18: добавлены проверки на слои коллизий,
      фигурный свип, Curve/Gradient (две формулировки), мипмапы, обрезку, зоны тела и
      «viewport не заглушка». Именно поэтому враки и жили: страж их не знал.
      
      Заодно убрана устаревшая строка в §12.15 («Осталось из §2: формы на тело» —
      формы сделаны) и §12.16 отмечен сделанным.
      
      Полный qjs, агентские тесты, doc_claims (28 проверок), doc_coverage,
      duplicate_keys, быстрый набор — зелёные.
      8928c4da
    • Nikitos's avatar
      Документация §11: шесть системных враний закрыты и поставлен страж
      · 3151aa4f
      Nikitos создал
      Аудит §11 показал, что доки описывают закрытые пункты как заглушки. Сверил
      каждое утверждение с КОДОМ (скриптом и чтением мест), поправил подтверждённое и
      добавил tests/doc_claims_test.py — он читает код и падает, если в доке снова
      написано «этого нет» про реализованное.
      
      Исправлено:
      * пользовательские шейдеры: «движок не поддерживает» → поддержаны
        ($.gfx.defineShader + .shader/.shaderParam), HIGH_LEVEL_API.md, PERF, GAP,
        layers.md;
      * render target: «не поддержан осознанно» → реализован (привязка текстуры на
        кадр, спрайт прошлого кадра, блит); render.md (§2, §3, §4, ограничения),
        PERF, GAP, VFX_PLAN и устаревший комментарий в src/render.c;
      * «$.gfx.push.triangle отдаёт треугольники без режима» → режим есть восьмым
        аргументом;
      * «KEY_NAMES никем не заполняется, keyNameOf — заглушка-тождество» → ИСПРАВЛЕН
        КОД: input.js зовёт engine.keyName и кеширует имена, поэтому
        $.input.on('key') отдаёт 'Space', а не число. Проверка
        tests/agent/highlevel_keyname_test.py (Space и A по-настоящему нажимаются);
      * «сетевая игра — не мультиплеер», «нет фигурного свипа» → закрыты.
      
      Новый страж ловит ровно тот класс ошибок, что был: «в доке написано, что не
      сделано, а в коде сделано» — 21 проверка по девяти утверждениям.
      
      Проверка: полный набор qjs, агентских тестов, bsp, doc_claims_test и
      keyname_test зелёный.
      3151aa4f
  2. 06.10.2026 5 коммитов
    • Nikitos's avatar
      Честный bloom, шейдеры узлов, render target, DSP-эффекты и реверб-шины;...
      · d6788f7a
      Nikitos создал
      Честный bloom, шейдеры узлов, render target, DSP-эффекты и реверб-шины; закрыто 11 из 12 пунктов §28 v0.1.10
      d6788f7a
    • Nikitos's avatar
      Новые билды v0.1.9
      · 60007dd8
      Nikitos создал
      60007dd8
    • Nikitos's avatar
      docs: P2 в отчёте, CHANGELOG и воспроизводимый микрозамер раскладки
      · ed795686
      Nikitos создал
      §0.4 отчёта о производительности: замеры «до/после» (селекторные сцены
      −40…−58 %, спрайты −35 %, churn/batch +0,25 мс на 1000 узлов и −2 % на 5000),
      таблица правок, цена решения и статус пункта 21 (типизированные массивы —
      измерен и отложен). §5 P2 помечен внедрённым, §7 поправлен под срезы индекса.
      
      tools/bench_storage.mjs — микрозамер трёх раскладок данных частицы в QuickJS
      (объекты / Float32Array-SoA / Array-SoA): выигрыш даёт раскладка SoA (−18 %),
      а не сам типизированный массив (−3 %), поэтому переписывание хранилища частиц
      сейчас не окупается.
      
      Проверка: tools/run_tests.py — ok 35, fail 0, skip 0; tests/js/*_test.mjs —
      47 наборов, все зелёные.
      ed795686
    • Nikitos's avatar
      ф
      · a6497a96
      Nikitos создал
      a6497a96
    • Nikitos's avatar
      Новые билды v0.1.1
      · 23fa489a
      Nikitos создал
      23fa489a