Namespace VisioForge.Core.MediaBlocks.Serialization
Classes
- MediaBlockConnectionDocument
-
A single connection between two pads in a pipeline document. Unknown properties are preserved in VisioForge.Core.MediaBlocks.Serialization.MediaBlockConnectionDocument.ExtensionData.
- MediaBlockDocument
-
Document-level description of a single block. The integer VisioForge.Core.MediaBlocks.Serialization.MediaBlockDocument.Type is the authoritative discriminator; VisioForge.Core.MediaBlocks.Serialization.MediaBlockDocument.TypeName is preserved for readability and diagnostics only. Unknown properties are preserved in VisioForge.Core.MediaBlocks.Serialization.MediaBlockDocument.ExtensionData.
- MediaBlockJsonSerializer
-
Serializes and deserializes a single VisioForge.Core.MediaBlocks.Serialization.MediaBlockDocument to and from JSON with the same conventions as the pipeline document: camel-case names, stable integer type discriminator, unknown fields preserved. Serializing a live VisioForge.Core.MediaBlocks.IMediaBlock into a document requires the block catalog descriptors and is added in a later stage.
- MediaBlockPadReference
-
Reference to one pad of one block, used by connection endpoints.
- MediaBlocksDiagnostic
-
A single diagnostic produced while loading, migrating or validating a Media Blocks JSON document. Diagnostics identify the exact entity they refer to through optional identifiers.
- MediaBlocksPipelineDocument
-
Root of the versioned Media Blocks pipeline JSON document (schema version 1). One document contains exactly one pipeline. Runtime state is never persisted here. Unknown optional sections and properties survive load/save without loss.
- MediaBlocksPipelineDocumentMigrations
-
Registry of known schema migrations, ordered as a chain from the oldest supported version to VisioForge.Core.MediaBlocks.Serialization.MediaBlocksPipelineDocument.CurrentSchemaVersion.
- MediaBlocksPipelineDocumentValidator
-
Structural validation of a VisioForge.Core.MediaBlocks.Serialization.MediaBlocksPipelineDocument that does not need the block catalog: identifier uniqueness and connection integrity. Full preflight validation (media types, settings, availability) is added by the SDK validator in a later stage and reuses these diagnostics.
- MediaBlocksPipelineInfoDocument
-
Document-level description of one pipeline: identity, name and pipeline-wide settings.
- MediaBlocksPipelineJsonSerializer
-
Serializes and deserializes versioned Media Blocks pipeline JSON documents with schema migrations, string, stream and file conveniences. The document is the source of truth for editing and persistence; materializing it into a live VisioForge.Core.MediaBlocks.MediaBlocksPipeline is a separate step.
- MediaBlocksPipelineLoadResult
-
The result of loading a Media Blocks pipeline JSON document: the document (when load succeeded) plus every diagnostic produced while parsing, migrating and validating it. Errors block materialization and run; warnings do not.
- MediaBlocksPipelineMaterializationResult
-
The result of materializing a pipeline document: a live VisioForge.Core.MediaBlocks.MediaBlocksPipeline (when no error diagnostic was produced), the document block id to live block mapping and every diagnostic. Blocks that could not be created stay in the document as placeholders; they never discard the rest of the pipeline.
- MediaBlocksPipelineMaterializer
-
Materializes a VisioForge.Core.MediaBlocks.Serialization.MediaBlocksPipelineDocument into a live VisioForge.Core.MediaBlocks.MediaBlocksPipeline through the block catalog: settings are bound from JSON, host resources are resolved, blocks are created and connected following the documented pad id convention (
input/outputmain pads,input:N/output:Nindexed pads). Relative file paths inside settings resolve against a base directory when given. - MediaBlocksPipelineSnapshot
-
Captures a live VisioForge.Core.MediaBlocks.MediaBlocksPipeline back into a VisioForge.Core.MediaBlocks.Serialization.MediaBlocksPipelineDocument - the reverse of VisioForge.Core.MediaBlocks.Serialization.MediaBlocksPipelineMaterializer.
The graph is captured exactly; the settings are not always. A block's identity, type and pad connections are readable from any block, so the shape of the pipeline always round-trips. Its configuration is readable only from blocks that expose it - 153 of the 404 block types in this SDK do - and for the rest there is nothing to read. Those blocks are reported as
MBS060diagnostics rather than written out with no settings, because a document that looks complete and rebuilds a block on its defaults is worse than one that says what is missing. Check VisioForge.Core.MediaBlocks.Serialization.MediaBlocksPipelineSnapshotResult.Complete before treating a snapshot as a faithful copy. - MediaBlocksPipelineSnapshotResult
-
What VisioForge.Core.MediaBlocks.Serialization.MediaBlocksPipelineSnapshot.Capture(VisioForge.Core.MediaBlocks.MediaBlocksPipeline) produced: the document, and everything it could not read off the live pipeline.
- MediaBlocksPipelineValidator
-
Complete preflight validation of a VisioForge.Core.MediaBlocks.Serialization.MediaBlocksPipelineDocument before it is materialized or run: structure, known blocks, factories, availability on the current platform, pad reference shape, resource references and unsupported topology cycles. Errors block materialization and run; warnings do not.
- MediaBlocksResourceNotFoundException
-
A JSON document referenced a logical resource (video view, stream, callback, device handle) that the resource resolver could not provide. Materialization must stop; the document itself stays intact.
- SKColorJsonConverter
-
Converts SkiaSharp.SKColor through its RGBA bytes. The struct's other members (hue, saturation) are computed and must not enter the payload.
- SizeJsonConverter
-
Converts VisioForge.Core.Types.Size through its width/height pair; the type has no constructor System.Text.Json could pick on its own.
- VideoFrameRateJsonConverter
-
Converts VisioForge.Core.Types.VideoFrameRate through its num/den pair. The struct exposes only read-only members, so plain property serialization cannot restore it.
Interfaces
- IMediaBlocksPipelineDocumentMigration
-
A single-step schema migration that upgrades a pipeline document from schema version VisioForge.Core.MediaBlocks.Serialization.IMediaBlocksPipelineDocumentMigration.FromVersion to VisioForge.Core.MediaBlocks.Serialization.IMediaBlocksPipelineDocumentMigration.ToVersion. Migrations operate on the raw JSON tree so unknown fields and sections are preserved without the migration needing to know about them.
Enums
- MediaBlocksDiagnosticSeverity
-
Severity of a serialization or validation diagnostic.