This matrix describes the current support boundary for the Avalonia-first public viewer stack, the public SurfaceCharts package line, and the repository-only demo/sample surfaces.
Use Videra 1.0 Capability Matrix for the explicit shipped-vs-deferred product boundary and the Core / Import / Backend / UI adapter / Charts layer vocabulary. Use Hosting Boundary for the canonical viewer composition rules behind these support entries.
Release readiness sequence lives in Releasing Runbook. Start local support triage with Videra Doctor when repository or machine state matters; its repo-only artifacts are written under artifacts/doctor and complement package validation, benchmark gates, consumer smoke, and demo support artifacts.
The public viewer install rule stays simple: start with Videra.Avalonia, add exactly one matching Videra.Platform.* package, and treat Videra.Import.* as explicit core-path ingestion packages rather than backend selection knobs. smoke/Videra.WpfSmoke is repository-only Windows WPF smoke evidence for the Avalonia-first public viewer path; it is not a second public UI package or release path. Phase 194's proof-mode hold remains repository-owned and opt-in on the selected smoke hosts, so support evidence can keep the repo-owned desktop proof-host validation evidence visible for the documented 10-second hold without widening the public package surface.
The public SurfaceCharts install rule is similarly narrow: start with Videra.SurfaceCharts.Avalonia, add Videra.SurfaceCharts.Processing only for the surface/cache-backed path, and treat Videra.SurfaceCharts.Core / Videra.SurfaceCharts.Rendering as lower-level package seams rather than the normal starting point.
| Surface | Platform | Backend | Package path | Validation truth | Support level |
|---|---|---|---|---|---|
Videra.Avalonia + Videra.Platform.Windows |
Windows 10+ | Direct3D 11 | Public package | Hosted and local matching-host validation | alpha |
Videra.Avalonia + Videra.Platform.Linux |
Linux | Vulkan | Public package | Hosted X11 validation plus Wayland-session XWayland validation |
alpha |
Videra.Avalonia + Videra.Platform.macOS |
macOS 10.15+ | Metal | Public package | Hosted and local matching-host validation | alpha |
Videra.Core |
Any .NET 8 host | Core abstractions only | Public package | Repository verification and integration tests | alpha |
Videra.Import.Gltf |
Any .NET 8 host | n/a | Public package | Repository verification plus importer-focused tests | alpha |
Videra.Import.Obj |
Any .NET 8 host | n/a | Public package | Repository verification plus importer-focused tests | alpha |
| Software fallback | Any supported desktop host | Software | Runtime fallback | Covered by repository verification | Diagnostics/fallback only |
| Surface | Platform | Backend | Package path | Validation truth | Support level |
|---|---|---|---|---|---|
smoke/Videra.WpfSmoke |
Windows 10+ | Direct3D 11 | Repository only | Hosted and local Windows WPF smoke proof plus repository-truth tests | Validation/support evidence only |
| Surface | Distribution | Validation truth | Support level | Notes |
|---|---|---|---|---|
Videra.SurfaceCharts.Core |
Public package | Core tests and package validation | alpha |
Chart-domain contracts, tile identities, probe contracts, and LOD selection |
Videra.SurfaceCharts.Rendering |
Public package | Rendering-focused tests and package validation | alpha |
Rendering-runtime layer used transitively by Videra.SurfaceCharts.Avalonia |
Videra.SurfaceCharts.Processing |
Public package | Processing tests, benchmarks, and package validation | alpha |
Data-preparation layer for the surface/cache-backed path |
Videra.SurfaceCharts.Avalonia |
Public package | Avalonia integration tests, package validation, and demo alignment checks | alpha |
Public VideraChartView with Plot.Add.Surface, Plot.Add.Waterfall, and Plot.Add.Scatter entry package, independent from VideraView. Includes Plot.CaptureSnapshotAsync for PNG snapshot export with manifest evidence. |
Videra.SurfaceCharts.ConsumerSmoke |
Repository only | Windows packaged consumer smoke and surfacecharts-support-summary.txt artifact validation |
alpha |
Packaged surface/cache-backed proof for Videra.SurfaceCharts.Avalonia + Videra.SurfaceCharts.Processing on the supported host path |
Videra.SurfaceCharts.Demo |
Repository only | sample-contract-evidence, SurfaceCharts runtime evidence, and Support summary validation |
alpha |
Start here: In-memory first chart first, Explore next: Cache-backed streaming, Try next: Analytics proof, Try next: Waterfall proof, Try next: Scatter proof, Copy support summary, repository-only reference app |
VideraChartViewis the single public chart control. UsePlot.Add.Surface,Plot.Add.Waterfall, andPlot.Add.Scatterfor chart data loading; do not restore old chart-specific view controls or direct publicSourceAPIs.- Chart-local PNG/bitmap snapshot export is a shipped v2.52 capability. Use
Plot.CaptureSnapshotAsync(PlotSnapshotRequest)to capture chart snapshots; the result includes aPlotSnapshotManifestwith deterministic metadata (dimensions, active series identity, output/dataset evidence kinds). Snapshot capture uses AvaloniaRenderTargetBitmapand stays chart-local — it does not expand into PDF/vector export, backend rewrite, or viewer-levelVideraSnapshotExportServicecoupling. - SurfaceCharts support summaries should carry
SeriesCount,ActiveSeries,ChartKind,ColorMap,PrecisionProfile,OutputEvidenceKind,OutputCapabilityDiagnostics,DatasetEvidenceKind,DatasetSeriesCount,DatasetActiveSeriesIndex,DatasetActiveSeriesMetadata, andRenderingStatusso support reports can describe Plot-authored chart state without inspecting internal runtime objects. These fields are report evidence, not image/PDF/vector export, backend expansion, or fallback proof. VIDERA_BACKENDandPreferredBackendchange backend preference only.- They do not install missing platform packages.
- They do not replace matching-host native validation.
- The built-in backend minimum contract is buffer creation, current-viewer pipeline creation, direct buffer binding, draw calls, viewport/scissor, clear, and standard frame depth behavior with best-effort depth-state toggles.
CreateShader(...),CreateResourceSet(...), andSetResourceSet(...)are not a cross-backend portability promise for the shipped native backends. CheckRenderCapabilities.SupportsShaderCreation,SupportsResourceSetCreation, andSupportsResourceSetBindingor the matchingBackendDiagnosticsfields before calling those advanced seams.- This matrix does not imply an
OpenGLproduct promise; the current native support promise remainsD3D11,Vulkan, andMetal. - Linux Wayland uses the documented
XWaylandbridge, not compositor-native embedding. - Imported-material truth now closes more of the gap to on-screen truth on the shipped static-scene path: the current renderer path consumes baseColor texture sampling, occlusion texture binding/strength, emissive inputs, and normal-map-ready inputs on the bounded static-scene seam, including
KHR_texture_transformoffset/scale/rotation and texture-coordinate override where those bindings request them. This remains a bounded renderer-consumption seam rather than a broader lighting/shader/backend promise. One bounded style-driven broader-lighting baseline also ships on the native static-scene path. - This matrix stays scoped to the shipped native backends listed above.
- Use Alpha Feedback when reporting integration issues so the report carries package path, diagnostics, and display-server truth.
- Release-candidate validation includes the read-only
Release Dry Runworkflow. It producesrelease-dry-run-evidencefor the public package set and does not change public or preview feed behavior.