Visão Geral da API¶
ziviDomeLive 2.0 possui uma entrada criativa deliberadamente pequena e libera mais controle de forma progressiva. Os níveis abaixo fazem parte do contrato documental e são verificados contra a superfície Java por testes automatizados.
flowchart TB
S[Stable<br/>sketches comuns] --> A[Advanced Stable<br/>projetos com lifecycle]
A --> E[Experimental<br/>medição e qualificação]
P[Callbacks Processing<br/>pontos de entrada do framework] -. invoca .-> S
I[Internal<br/>renderer · GL · UI · workers] -. implementa .-> S
I -. implementa .-> A
Nível 1 — Stable¶
API recomendada para sketches Processing comuns:
| Tipo | Papel |
|---|---|
ziviDomeLive |
Facade do runtime, ownership de cenas, configuração e integração Processing |
ziviDomeLive.StandardOutputAspectMode |
Política de aspecto do output Standard |
Scene |
Contrato de extensão; apenas sceneRender(PGraphicsOpenGL) é obrigatório |
SceneManager |
Registro e troca de cenas por identidade |
RenderMode |
Modo de trabalho corrente do runtime |
ViewType |
Representação roteada a um destino |
LogMode |
Política de logging debug/release |
Comece e permaneça aqui até uma necessidade concreta indicar o próximo nível.
Nível 2 — Advanced Stable¶
Contratos públicos suportados para projetos lifecycle-aware ou tecnicamente exigentes:
- serviços de ativação:
SceneServices,FrameClock,SimulationTimeline,SceneTaskGroup,SceneAssets,SceneActionMap,SceneCameraService,SceneEnvironmentService,ScenePorts,SceneInputPort,SceneOutputPort; - controle de output:
OutputManager,OutputType,OutputState; - matemática/navegação reutilizável:
Quaternion,SphericalOrientation,OrbitCamera.
Advanced stable significa chamável e suportado, não pertencente à cena. Serviços fornecidos pelo runtime não podem ser construídos nem fechados pelo sketch.
Nível 3 — Experimental¶
A camada de reporting/qualificação contém PerformanceMode, PerformanceMetric, PerformanceSnapshot, MetricStatistics, GraphicsCapabilities, GpuTimerPolicy, GpuTimerBackend e GpuTimerArchitecture.
Métricas experimentais são evidência útil, mas seu vocabulário pode evoluir mais rapidamente que a API criativa. Tempo de parede na CPU e tempo decorrido na GPU não são intercambiáveis.
Superfície de callbacks Processing¶
pre, draw, post, keyEvent, mouseEvent, pause, resume, stop e dispose são métodos públicos da facade porque o Processing os invoca. São pontos de integração, não uma segunda API que o sketch deva encaminhar manualmente.
Nem Scene nem a facade expõem tipo de callback do ControlP5. O painel registra seu listener internamente; cenas recebem callbacks de teclado/mouse do Processing ou usam SceneActionMap.
Fronteira Internal¶
Implementações de renderer, targets de cubemap, containers finais de frame, adapters Processing/GL, managers de UI, filas, executores e produtores de output são implementação package-private. Pastas físicas _internal/ os categorizam para manutenção sem alterar seu modelo de colaboração package-private.
Não deduza pela visibilidade
Um nome de classe no texto de arquitetura não autoriza sua instanciação. Somente os tipos listados em Stable, Advanced Stable e Experimental são API pública 2.0.
Nenhuma superfície deprecated em 2.0¶
O contrato final 2.0 não contém camada de compatibilidade @Deprecated. Entradas antigas de 1.x aparecem em API 1.x Removida apenas para migração e preservação histórica.
Para métodos, construtores e retornos exatos, consulte os Javadocs gerados. PublicApiCompatibilityTest é o freeze executável.