Resolva problemas do Dice View
Diagnostique canvas vazio, assets ausentes, resultados sem geometria e apresentações canceladas.
Este artigo documenta a V2 publicada. Para a prévia atual com física, veja o guia V3. V3 ↗ Licenças ↗
O canvas não aparece
- Crie
DiceResultViewerno cliente, depois quecontainerexistir. A biblioteca requer DOM e a inicialização requer WebGL. - Dê largura e altura ao container. Para overlay, use
position: fixed; inset: 0. - Importe
@erpg/dice3dview/style.css. - Confira o console e a requisição de
themes/default/theme.config.json.
Tema ou modelo não carrega
Confirme que o conteúdo de dist/assets/dice-box/ foi copiado para o caminho definido por assetPath. theme.config.json deve responder 200. Caminhos relativos de textura e meshFile partem da pasta do tema. Para externalThemes, confira CORS. Se substituiu arquivos já carregados com o mesmo nome, descarte a instância e recrie o viewer para invalidar templates.
O modo físico não inicia
Verifique /assets/dice-box/havok/HavokPhysics.wasm ou a URL explícita em physicsWasmUrl. Sirva WASM preferencialmente com application/wasm. Teste kinematic para isolar o problema de Havok. O modo físico carrega o runtime sob demanda.
Um dado não aparece
display() aceita apenas d2, d4, d6, d8, d10, d12, d20 e d100, com valor de 1 até os lados. createMixedDisplayRequest() omite formatos genéricos sem geometria por padrão. Use unsupportedDice: 'error' para detectar a omissão. d3 é apresentado em d6; dF genérico não tem representação, mas o perfil Fate usa d6 físico. Confira ainda maxDice: cada d100 ocupa dois corpos.
A Promise foi rejeitada ao iniciar outra rolagem
É cancelamento esperado. Uma nova apresentação, clear() ou dispose() rejeita a Promise anterior com DisplayCancelledError. Trate com isDisplayCancelledError(error); propague outros erros.
A timeline foi exibida sem etapas
Verifique result.degraded. timeline.enabled: false, mais de maxEvents ou duração estimada acima de maxDurationMs provocam apresentação plana do estado final. Um journal inválido, com ID ausente, sequência fora de ordem ou relação de explosão inconsistente, é rejeitado antes da cena mudar. Leia Timeline semântica.