Expand voxel gameplay, lighting, full-height streaming and world imports
MVP checks / mvp (push) Canceled after 0s
MVP checks / mvp (push) Canceled after 0s
Add shared Rust/WASM physics, worker meshing and diagnostics, 64-chunk full-height streaming, atlas texture support, and baseline world import. Document the current implementation and include the supplied in-game lobby screenshot.
This commit is contained in:
+40
-3
@@ -14,7 +14,8 @@
|
||||
<body>
|
||||
<canvas
|
||||
id="world-canvas"
|
||||
aria-label="Трёхмерный мир Shacraft. WASD — движение, пробел — прыжок, мышь — обзор."
|
||||
tabindex="0"
|
||||
aria-label="Трёхмерный мир Shacraft. WASD — движение, пробел — прыжок, Ctrl — бег, Shift — присесть, мышь — обзор."
|
||||
></canvas>
|
||||
<div id="labels" aria-hidden="true"></div>
|
||||
<header class="topbar">
|
||||
@@ -57,6 +58,7 @@
|
||||
<div id="hints">
|
||||
<span><kbd>W A S D</kbd> движение</span
|
||||
><span><kbd>Пробел</kbd> прыжок</span
|
||||
><span><kbd>Ctrl / Shift</kbd> бег / присесть</span
|
||||
><span><kbd>ЛКМ / ПКМ</kbd> убрать / поставить</span
|
||||
><span><kbd>T</kbd> чат</span>
|
||||
</div>
|
||||
@@ -91,6 +93,29 @@
|
||||
побеждает.
|
||||
</p>
|
||||
<div class="rule"></div>
|
||||
<button id="time-button" class="wide" title="Переключить день / ночь">Освещение: ночь</button>
|
||||
<button id="mouse-mode" class="wide" title="Переключить захват мыши и обзор перетаскиванием">Мышь: захват</button>
|
||||
<label for="view-distance">Дальность прорисовки</label>
|
||||
<div class="inline">
|
||||
<select id="view-distance" aria-describedby="view-distance-info">
|
||||
<option value="2">2 чанка · 32 блока</option>
|
||||
<option value="3" selected>3 чанка · 48 блоков</option>
|
||||
<option value="4">4 чанка · 64 блока</option>
|
||||
<option value="5">5 чанков · 80 блоков</option>
|
||||
<option value="6">6 чанков · 96 блоков</option>
|
||||
<option value="7">7 чанков · 112 блоков</option>
|
||||
<option value="8">8 чанков · 128 блоков</option>
|
||||
<option value="12">12 чанков · 192 блока</option>
|
||||
<option value="16">16 чанков · 256 блоков</option>
|
||||
<option value="24">24 чанка · 384 блока</option>
|
||||
<option value="32">32 чанка · 512 блоков</option>
|
||||
<option value="48">48 чанков · 768 блоков</option>
|
||||
<option value="64">64 чанка · 1 024 блока</option>
|
||||
</select>
|
||||
<button id="view-distance-apply" aria-label="Применить дальность" disabled>Применить</button>
|
||||
</div>
|
||||
<p id="view-distance-info" class="muted">Радиус вокруг игрока. Большая дальность увеличивает нагрузку на память и видеокарту.</p>
|
||||
<p id="view-distance-status" class="muted" role="status"></p>
|
||||
<label for="sensitivity">Чувствительность мыши</label
|
||||
><input
|
||||
type="range"
|
||||
@@ -102,7 +127,9 @@
|
||||
/>
|
||||
<p class="muted">
|
||||
Esc освобождает мышь. Перетаскивание работает и без захвата. Средняя
|
||||
кнопка выбирает блок под прицелом.
|
||||
кнопка выбирает блок под прицелом. Ctrl — бег, Shift — присесть и
|
||||
удержаться у края. Двойной пробел или F включает полёт, если он разрешён
|
||||
в мире; пробел / Shift — вверх / вниз.
|
||||
</p>
|
||||
<button id="reconnect-button" class="wide">Переподключиться</button>
|
||||
</aside>
|
||||
@@ -152,6 +179,16 @@
|
||||
×
|
||||
</button>
|
||||
</div>
|
||||
<p class="muted">F3 — скрыть панель. Нажмите на мир, чтобы играть с открытой диагностикой.</p>
|
||||
<div class="dynamics-tools">
|
||||
<label for="dynamics-scenario">Диагностика движения</label>
|
||||
<select id="dynamics-scenario"><option value="record">Запись ручного движения</option><option value="flight">Автополёт через чанки</option><option value="run">Автопробег</option><option value="turns">Полёт с поворотами</option></select>
|
||||
<div class="inline"><button id="dynamics-start">Записать 30 секунд</button><button id="dynamics-stop">Стоп</button><button id="dynamics-export" disabled>Скачать JSON</button></div>
|
||||
<p id="dynamics-status" role="status">Готов к записи. Автомаршрут использует обычное управление игроком.</p>
|
||||
<canvas id="dynamics-chart" width="480" height="120" aria-label="Время кадров, физики и отрисовки" style="width:100%;height:120px"></canvas>
|
||||
<p class="muted">Жёлтый — кадр · зелёный — отрисовка · синий — физика.</p>
|
||||
<pre id="dynamics-result" style="white-space:pre-wrap;max-height:240px;overflow:auto" hidden></pre>
|
||||
</div>
|
||||
<dl id="debug-values"></dl>
|
||||
<div id="package-status" class="muted">Пакеты ещё не загружены</div>
|
||||
<button id="resync-button" class="wide">Сверить снимок мира</button>
|
||||
@@ -160,6 +197,6 @@
|
||||
кэша — разные измерения.
|
||||
</p>
|
||||
</aside>
|
||||
<script type="module" src="/app.js"></script>
|
||||
<script type="module" src="/app.js?v=live-diagnostics-2"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user