Immagini: avanzamento sul volto e nel registro, elenco modelli scaricati; impostazioni con etichette a capo e larghezza contenuta

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
lucianoandClaude Fable 5.1 committed 2026-09-27 20:39:52 +02:00
1 parent 3e9ecd487d
commit a078dff608
5 files changed
+107 -30

No files matched your search

+3 -3
View File
@@ -194,7 +194,7 @@ function drawOverlay() {
levels.push(dispLevel); levels.shift();
const col = COLORS[state.name] || '#00d4ff';
stateEl.style.color = col; stateEl.style.textShadow = `0 0 8px ${col}88`;
stateEl.textContent = '● ' + state.name;
stateEl.textContent = '● ' + (state.label || state.name);
wctx.clearRect(0, 0, wave.width, wave.height);
const n = levels.length, bw = wave.width / n;
for (let i = 0; i < n; i++) {
@@ -206,8 +206,8 @@ function drawOverlay() {
}
window.avatar3d = {
update(level, open, width, name) { state.level = level; state.open = open; state.width = width; if (name) state.name = name; },
setState(name) { state.name = name; },
update(level, open, width, name) { state.level = level; state.open = open; state.width = width; if (name) { state.label = name; state.name = name.split(' ')[0]; } },
setState(name) { state.label = name; state.name = name.split(' ')[0]; },
glance(dx, dy, hold) { smooth.glanceX = dx * 0.3; smooth.glanceY = -dy * 0.2; smooth.glanceUntil = clock.elapsedTime + (hold || 1.1); },
setFraming(f) { state.framing = f; frame(); },
status() { return { loaded: Boolean(model), animation: Boolean(mixer), head: Boolean(head), blendShapes: mouth.hasShapes, morphs: morphMeshes.length, eyes: eyes.length }; },