feat(labs): Фаза0 — эконом-режим FX + выбор симуляции из списка в редакторе
План улучшения симуляций — plans/simulations-improvement/README.md. - LabFX: reduced-motion/эконом-режим (prefers-reduced-motion + тумблер localStorage labfx-economy). Тряска отключается, частицы ×0.25 — доступность и экономия на слабых устройствах сразу для всех ~50 симуляций. Кнопка-тумблер в lab.html рядом со звуком. - lesson-editor: блок «Симуляция» — выпадающий список из /api/lab/sims (сгруппирован по предметам) вместо сырого ввода simId; неизвестный id не теряется, помечается «(не найдена)». Закрывает хрупкую вставку в урок. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -362,6 +362,19 @@
|
||||
<line x1="17" y1="9" x2="23" y2="15"/>
|
||||
</svg>
|
||||
</button>
|
||||
|
||||
<!-- economy / reduced-motion toggle -->
|
||||
<button class="zoom-btn" id="labfx-eco-btn" onclick="(function(){var f=window.LabFX;if(!f)return;f.setEconomy(!f.reduced);var on=!!f.reduced;document.getElementById('labfx-eco-btn').setAttribute('aria-pressed',on);document.getElementById('labfx-eco-on').style.display=on?'':'none';document.getElementById('labfx-eco-off').style.display=on?'none':'';})()" title="Эконом-режим: меньше анимаций (для слабых устройств)" style="position:relative" aria-pressed="false">
|
||||
<!-- economy ON (effects reduced) — leaf -->
|
||||
<svg id="labfx-eco-on" class="ic" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="display:none">
|
||||
<path d="M11 20A7 7 0 0 1 9.8 6.1C15.5 5 17 4.48 19 2c1 2 2 4.18 2 8 0 5.5-4.78 10-10 10Z"/>
|
||||
<path d="M2 21c0-3 1.85-5.36 5.08-6"/>
|
||||
</svg>
|
||||
<!-- economy OFF (full effects) — zap -->
|
||||
<svg id="labfx-eco-off" class="ic" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"/>
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<!-- Sim bodies вынесены в /labs-bodies.html (content-engine, Phase 2).
|
||||
@@ -441,6 +454,18 @@
|
||||
iconOff.style.display = on ? 'none' : '';
|
||||
btn.setAttribute('aria-pressed', on ? 'true' : 'false');
|
||||
})();
|
||||
|
||||
/* Sync economy-mode toggle with LabFX.reduced (prefers-reduced-motion + localStorage) */
|
||||
(function() {
|
||||
var eco = !!(window.LabFX && window.LabFX.reduced);
|
||||
var on = document.getElementById('labfx-eco-on');
|
||||
var off = document.getElementById('labfx-eco-off');
|
||||
var btn = document.getElementById('labfx-eco-btn');
|
||||
if (!on || !off || !btn) return;
|
||||
on.style.display = eco ? '' : 'none';
|
||||
off.style.display = eco ? 'none' : '';
|
||||
btn.setAttribute('aria-pressed', eco ? 'true' : 'false');
|
||||
})();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user