Calibration Tool e baseline de compatibilidade 1.5¶
Este documento registra a referência visual e contratual da linha 1.x final. Ele não presume que um teste headless possa validar GPU, projetor, lente ou receiver. A prontidão consolidada está em Prontidão para Release.
Baseline Histórica¶
A primeira trava foi levantada sobre a versão 1.4.0, com Java 17, Processing
core 4.5.6, Devolay 2.2.0-vic.1 e JUnit 5.10.0. O snapshot textual da API
pública daquela etapa permanece em docs/qualification/public-api-1.4-head.txt
como evidência bruta, fora da navegação localizada.
Os testes automatizados preservam:
- nome da fachada pública, construtor, lifecycle e acessores essenciais;
- ordem dos enums
ViewType,InitState, outputs e modos de log; - contrato de
Scene.sceneRender(PGraphicsOpenGL)e eventos default; - política de resolução do preview esférico;
- buckets de aspect ratio do output Standard;
- defaults de roteamento e seleção independente por output;
- política de
RenderMode, layout do painel e orientação por quaternion.
Execute a qualificação automatizada com:
Para validar também os pacotes Processing:
Harness Visual¶
examples/CalibrationTool/ contém duas cenas complementares para qualificação
de GPU, projeção, foco, cor e output.
Cena 1: faces do cubo¶
Seis alvos GLSL 4.10 usam coordenadas locais explícitas 0..1 em um cubo
fechado. A camada de anotações é composta no mesmo passe, enquanto linhas,
pontos, grades e degradês dependentes de resolução continuam procedurais. O
conjunto acompanha a matriz esférica compartilhada de pitch, yaw e roll.
Verifique:
| Área | Critério |
|---|---|
| Identidade | índices e rótulos +X, -X, +Y, -Y, +Z, -Z distinguíveis |
| Alinhamento | grades 24 x 24, safe areas, círculos, raios e crosshairs centrados |
| Orientação | marcadores UP, R e cantos sem espelhamento ou giro indevido |
| Foco | pares de linhas de 1, 2, 4 e 8 pixels separáveis |
| Amostragem | pontos de 1, 2, 3 e 4 pixels e estrelas revelam bloom e resampling |
| Cor | rampas RGB/CMY e barras RGB/CMY/W/K distintas e ordenadas |
| Luminância | rampa contínua, nove passos e patches próximos ao preto/branco sem clipping inesperado |
| Emendas | ordem das faces e continuidade nas bordas correspondem ao baseline |
Cena 2: referência esférica 360 graus¶
A cena seleciona um dos padrões equiretangulares v14 originais e não modificados de Paul Bourke: 2400 x 1200, 4096 x 2048, 4800 x 2400 ou 8192 x 4096. Com outputs ativos, o bucket acompanha a resolução esférica; sem outputs, usa a fonte mais próxima da janela.
A textura cobre uma esfera completa de 1800 unidades centrada em (0, 0, 0),
com polo norte em +Z, polo sul em -Z e equador em Z=0. Autoria, hashes e
condições de redistribuição estão em examples/CalibrationTool/THIRD_PARTY.md.
Controles Manuais¶
| Controle | Ação |
|---|---|
| Setas esquerda/direita | Trocar entre as duas cenas |
1, 2, 3, 4 |
Domemaster, equiretangular, skybox e Standard |
[ / ] |
Reduzir/aumentar Size% |
- / = |
Reduzir/aumentar FOV |
p, y, r |
Avançar pitch, yaw e roll |
f |
Alternar domemaster flutuante |
0 |
Restaurar o estado canônico de calibração |
Cena 2: Espaço |
Alternar uma volta em 60 segundos |
Cena 2: t |
Alternar perfis temporais de 30 fps/1800 frames e 60 fps/3600 frames |
Cena 2: , / . |
Girar um grau e pausar |
Cena 2: c |
Restaurar a orientação da fonte e pausar |
O sketch não chama ziviDome.draw() porque a biblioteca registra o próprio hook
de desenho no Processing.
Limite da Automação¶
Não são fabricadas golden images. Cada máquina qualificada deve registrar OS, arquitetura, GPU, driver, Processing, resolução, receiver, capturas e erros OpenGL observados. A mesma sequência deve ser repetida para NDI e para o backend local suportado pela plataforma.