fix(opticsbench): постоянный чип «Источник» + восстановлены кнопки Граница/Пластина
- выбор источника теперь всегда доступен: чип «Источник» в списке схемы (раньше — только кликом по точке на холсте); источник выбран по умолчанию - восстановлены потерянные кнопки палитры «+ Граница» / «+ Пластина» - bump opticsbench.js?v=6 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -2551,7 +2551,7 @@ class BenchSim {
|
||||
this._mk('lens', { xf: 0.40, f: 130, ap: 95 }),
|
||||
this._mk('screen', { xf: 0.86 }),
|
||||
];
|
||||
this.selectedId = null;
|
||||
this.selectedId = '__src'; // source selected by default so its controls show on open
|
||||
this._bindEvents();
|
||||
this._ro = new ResizeObserver(() => { this.fit(); this.draw(); });
|
||||
this._ro.observe(canvas.parentElement || canvas);
|
||||
@@ -4413,10 +4413,13 @@ function _benchUpdateUI() {
|
||||
if (!benchSim) return;
|
||||
const listEl = document.getElementById('bench-list');
|
||||
if (listEl) {
|
||||
listEl.innerHTML = benchSim.elements.map(e =>
|
||||
// permanent "Источник" chip so the source is always selectable (not only via canvas)
|
||||
const srcChip = '<button class="preset-btn' + (benchSim.selectedId === '__src' ? ' active' : '') +
|
||||
'" style="font-size:.68rem" onclick="benchSelect(\'__src\')">Источник</button>';
|
||||
listEl.innerHTML = srcChip + benchSim.elements.map(e =>
|
||||
'<button class="preset-btn' + (e.id === benchSim.selectedId ? ' active' : '') +
|
||||
'" style="font-size:.68rem" onclick="benchSelect(' + e.id + ')">' + _benchElName(e) + '</button>'
|
||||
).join('') || '<div class="pp-hint">Пусто</div>';
|
||||
).join('');
|
||||
}
|
||||
const propsEl = document.getElementById('bench-props');
|
||||
if (propsEl) propsEl.innerHTML = _benchPropsHTML();
|
||||
|
||||
+3
-1
@@ -3194,6 +3194,8 @@
|
||||
<button class="preset-btn" style="font-size:.68rem" onclick="benchAdd('aperture')">+ Диафрагма</button>
|
||||
<button class="preset-btn" style="font-size:.68rem" onclick="benchAdd('screen')">+ Экран</button>
|
||||
<button class="preset-btn" style="font-size:.68rem" onclick="benchAdd('prism')">+ Призма</button>
|
||||
<button class="preset-btn" style="font-size:.68rem" onclick="benchAdd('interface')">+ Граница</button>
|
||||
<button class="preset-btn" style="font-size:.68rem" onclick="benchAdd('slab')">+ Пластина</button>
|
||||
</div>
|
||||
<div class="gp-section-title" style="margin-bottom:6px">Схема</div>
|
||||
<div id="bench-list" style="display:flex;flex-wrap:wrap;gap:3px;margin-bottom:8px"></div>
|
||||
@@ -4844,7 +4846,7 @@
|
||||
<script src="/js/labs/graphtransform.js"></script>
|
||||
<script src="/js/labs/pendulum.js"></script>
|
||||
<script src="/js/labs/equilibrium.js"></script>
|
||||
<script src="/js/labs/opticsbench.js?v=4"></script>
|
||||
<script src="/js/labs/opticsbench.js?v=6"></script>
|
||||
<script src="/js/labs/isoprocess.js"></script>
|
||||
<script src="/js/labs/titration.js"></script>
|
||||
<script src="/js/labs/probability.js"></script>
|
||||
|
||||
Reference in New Issue
Block a user