RadicalBeard.Filament.Abstractions
0.1.0
dotnet add package RadicalBeard.Filament.Abstractions --version 0.1.0
NuGet\Install-Package RadicalBeard.Filament.Abstractions -Version 0.1.0
<PackageReference Include="RadicalBeard.Filament.Abstractions" Version="0.1.0" />
<PackageVersion Include="RadicalBeard.Filament.Abstractions" Version="0.1.0" />
<PackageReference Include="RadicalBeard.Filament.Abstractions" />
paket add RadicalBeard.Filament.Abstractions --version 0.1.0
#r "nuget: RadicalBeard.Filament.Abstractions, 0.1.0"
#:package RadicalBeard.Filament.Abstractions@0.1.0
#addin nuget:?package=RadicalBeard.Filament.Abstractions&version=0.1.0
#tool nuget:?package=RadicalBeard.Filament.Abstractions&version=0.1.0
Filament
Filament is a small .NET framework for data-driven game behavior: C# owns the engine boundary, Lua owns fast-iteration behavior logic, and TOML owns world configuration.
The repository is ready for source checkout use, public NuGet packages, local/private NuGet feeds, and agent-assisted playtest loops.
What is included
Filament.Abstractions:[Scriptable],[ScriptMember],Result,Option,LuaError, andLuaRef.Filament.Core: hardened MoonSharp Lua modules, hot reload, last-good script fallback, C# to Lua marshalling, Lua to C# return coercion, and sandbox verbs.Filament.SourceGen: analyzer/source generator for[Scriptable]converters.Filament.Config: TOML world parsing, normalized entity props, typed prop access, and world diffs.Filament.Godot: Godot 4.6 .NET adapter and Godot value-type marshalling.demo/: console demo for Lua loading, calls, and hot reload.playtest/: MCP server that launches a build and collects structured human playtest feedback through a local browser survey.
Requirements
- .NET SDK 10.0.100 or newer in the 10.0 line.
- Godot 4.6 .NET only if you use
Filament.Godot. - Python 3.11+ and
uvonly if you use the playtest MCP server.
The repo includes global.json so dotnet resolves a compatible 10.0 SDK.
Quick start
dotnet restore filament.slnx
dotnet test filament.slnx
dotnet run --project demo/Filament.Demo.csproj -- --ticks 3
Run without --ticks to keep the demo alive for hot reload. From a source
checkout, the demo loads demo/lua/policy.lua; while it is running, edit that
file and watch the output change. Standalone binary launches fall back to the
copied lua/ directory beside the executable.
One-command verification
Any platform with .NET:
dotnet run --project tools/Filament.Verify/Filament.Verify.csproj
macOS/Linux:
scripts/verify.sh
Windows or any machine with PowerShell 7:
./scripts/verify.ps1
These run the same .NET verifier: build, format check, tests, demo smoke, playtest-agent smoke, package packing, and fresh package-consumer checks.
Use from a source checkout
For a game or tool in the same repository, reference the runtime project you need plus the source generator as an analyzer:
<ProjectReference Include="path/to/Filament.Core/Filament.Core.csproj" />
<ProjectReference Include="path/to/Filament.SourceGen/Filament.SourceGen.csproj"
OutputItemType="Analyzer"
ReferenceOutputAssembly="false" />
For Godot:
<ProjectReference Include="path/to/Filament.Godot/Filament.Godot.csproj" />
Add ScriptRegistryNode near the root of a scene and keep Lua behavior modules
under res://lua.
Pack locally
scripts/package-smoke.sh
A package consumer should be able to add RadicalBeard.Filament.Core and
immediately use [Scriptable]; the analyzer/source generator is included in the
package. Public package IDs use the RadicalBeard.Filament.* prefix:
dotnet add package RadicalBeard.Filament.Core --version 0.1.0
The C# namespaces remain Filament and Filament.Config.
See docs/distribution.md for the verification command.
For usage examples, see docs/package-usage.md, docs/scripting.md, and
docs/godot.md.
Agent playtest MCP
This repo includes .mcp.json for MCP clients that support project-level MCP
configuration. It registers filament-playtest with:
uv run --script playtest/server.py
The tool accepts a launch_dir containing filament.toml; the root
filament.toml launches the console demo. See docs/agent-setup.md and
playtest/README.md.
Development checks
macOS/Linux:
scripts/verify.sh
Windows/PowerShell:
./scripts/verify.ps1
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- No dependencies.
NuGet packages (3)
Showing the top 3 NuGet packages that depend on RadicalBeard.Filament.Abstractions:
| Package | Downloads |
|---|---|
|
RadicalBeard.Filament.Core
Engine-free Filament Lua sandbox, hot reload, marshalling, and script dispatch. |
|
|
RadicalBeard.Filament.Godot
Godot 4.6 adapter and value-type marshalling for Filament. |
|
|
RadicalBeard.Filament.Config
TOML world configuration parsing, property access, and diffing for Filament. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.0 | 181 | 6/2/2026 |