Skip to content
MASS4ORGPublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

MASS4.Graph

Headless, domain-neutral node graphs for material/shader graphs, state machines, visual scripting, behavior trees, compositors and automation. The libraries target net10.0; the core has no package, GUI or engine dependency and supports trimming and NativeAOT.

Packages

  • MASS4.Graph: document model, stable identities, commands/undo, diagnostics, persistence, subgraphs and instance/backend contracts.
  • MASS4.Graph.Dataflow: pull evaluation, per-instance caching, wildcard inference, conversions, variables and declared outputs.
  • MASS4.Graph.Control: explicit execution flow, ordered branches, behavior memory and bounded execution.
  • MASS4.Graph.State: cyclic state machines, signals, guards, priorities, timers and transition migrations.
  • MASS4.Graph.Interpreter: reference execution backend, live-edit sessions and differential harness.
  • MASS4.Graph.Generator: compile-time registration, serializers, semantics bindings, diagnostics and typed editing helpers.

Core defines the contracts. Each semantics package depends only on core and owns its own flow/value rules; they compose in a single document through IDataPlane. The interpreter composes the semantics. The generator is a compile-time analyzer reference and adds no runtime dependency to consuming libraries.

Samples

  • Shader/material: exposed parameters, textures, typed colour math and explicit conversion nodes.
  • Guard FSM: distance guards, self-transitions, timed transitions, signal renames and shared assets across instances.
  • Video compositor: timeline-driven frames, reusable buffers, asynchronous host rendering, progress and cancellation.

Each sample keeps a hand-written registration oracle alongside generated declarations. Acceptance tests compare registration, persistence and execution, including signal renames and domain transition migration. Sample libraries accept backend-neutral contracts and do not reference the interpreter or an engine.

Build and test

Run from the repository root with a .NET 10 SDK:

./build.sh TestReport --configuration Release --verbosity minimal

The test target writes merged coverage to coverage/coverage.xml and HTML to coverage/report/. See the .nuke build harness for build ownership.

  • Core tests: model, identity, commands, persistence and evaluation contracts.
  • Semantics tests: dataflow/control/state behavior, composition and migrations.
  • Interpreter tests: backend behavior, live editing and differential-harness failures.
  • Generator tests: declaration diagnostics and emitted-code compilation.
  • Sample tests: domain results, registration equivalence and host contracts.
  • NativeAOT smoke app: generated registration/persistence/compilation with JSON reflection disabled.

Release notes are in the changelog. Public usage guidance lives in each project's README.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages