Novolis.Cad.SceneBridge
2026.1.0.37
dotnet add package Novolis.Cad.SceneBridge --version 2026.1.0.37
NuGet\Install-Package Novolis.Cad.SceneBridge -Version 2026.1.0.37
<PackageReference Include="Novolis.Cad.SceneBridge" Version="2026.1.0.37" />
<PackageVersion Include="Novolis.Cad.SceneBridge" Version="2026.1.0.37" />
<PackageReference Include="Novolis.Cad.SceneBridge" />
paket add Novolis.Cad.SceneBridge --version 2026.1.0.37
#r "nuget: Novolis.Cad.SceneBridge, 2026.1.0.37"
#:package Novolis.Cad.SceneBridge@2026.1.0.37
#addin nuget:?package=Novolis.Cad.SceneBridge&version=2026.1.0.37
#tool nuget:?package=Novolis.Cad.SceneBridge&version=2026.1.0.37
Novolis.Cad.SceneBridge
Avalonia-free bridge from .cadjson (CadDocument) to .nov3djson (SceneDocument). Tessellates solids, walls, and space floor plates; maps materials and copies camera/light entities.
Install
dotnet add package Novolis.Cad.SceneBridge
Prerequisites: .NET 10 SDK (net10.0). References Novolis.Cad.Primitives, Novolis.ThreeD.Scene, Novolis.Math.Geometry.
Quick start
using System.Text.Json;
using Novolis.Cad.Primitives;
using Novolis.Cad.SceneBridge;
using Novolis.ThreeD;
var cad = JsonSerializer.Deserialize<CadDocument>(File.ReadAllText("room.cadjson"))!;
var scene = CadSceneBridge.ToSceneDocument(cad, new CadSceneBridgeOptions
{
EnsureStudioLights = true,
IncludeSpaceCeilings = false,
});
SceneSerializer.Save(scene, "room.nov3djson");
// Or one-shot:
CadSceneBridge.SaveNov3dJson(cad, "room.nov3djson", options);
API
| API | Purpose |
|---|---|
CadSceneBridge.ToSceneDocument(cad, options?) |
Tessellate entities → SceneDocument |
CadSceneBridge.SaveNov3dJson(cad, path, options?) |
ToSceneDocument + SceneSerializer.Save |
CadSceneBridgeOptions.EnsureStudioLights |
Add Key/Fill/Rim when scene has no lights |
CadSceneBridgeOptions.IncludeSpaceCeilings |
Ceiling plates when tessellating space entities |
CadEntityTessellator.TryTessellate(CadEntity) |
Route entity to wall/space/solid tessellator |
CadSolidTessellator.TryTessellate / Box / Sphere / Cylinder |
Solid mesh generation |
CadWallTessellator.TryTessellate(CadEntity) |
Wall slab tessellation (A–B or polyline) |
CadSpaceTessellator.TryTessellate(space, includeCeiling) |
Space floor plate tessellation |
Conversion behavior: skips camera, light, material entities for meshing (handled separately); maps entity.Material or wall side ShapeId → MaterialNode + MeshNode.MaterialId.
Related / dogfood
| Package / app | Notes |
|---|---|
Novolis.Cad.Primitives |
Input CadDocument DTOs |
Novolis.ThreeD.Scene |
Output SceneDocument / .nov3djson |
Novolis.Avalonia.Cad |
exportscene / bridgescene session commands |
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. 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. |
-
net10.0
- Novolis.Cad.Primitives (>= 2026.1.0.37)
- Novolis.Math.Geometry (>= 2026.1.1.55)
- Novolis.ThreeD.Scene (>= 2026.1.1.12)
NuGet packages (4)
Showing the top 4 NuGet packages that depend on Novolis.Cad.SceneBridge:
| Package | Downloads |
|---|---|
|
Novolis.Avalonia.Cad.Ship
Ship/freighter CAD chrome (exterior silhouette, ship workspace import) for Avalonia.Cad hosts. |
|
|
Novolis.Avalonia.Cad
Shared Avalonia CAD editor/preview surface (.cadjson), Raylib model view, exports, and localhost HTTP/TCP session for LLM control. |
|
|
Novolis.Avalonia.Ship.Design
Object-first Ship Designer Avalonia UI: PLAN/MODEL/PRESENT, ShipDesignSession, create panel, grips, object tools, scene evaluation. |
|
|
Novolis.Cad.Evaluation
Avalonia-free staged CAD evaluation (CadDocument → meshes / phys): CadModelEvaluator, CadPhysExporter, EntityBounds. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2026.1.0.37 | 0 | 10/4/2026 |
| 2026.1.0.36 | 95 | 10/1/2026 |
| 2026.1.0.34 | 82 | 10/1/2026 |
| 2026.1.0.33 | 80 | 9/30/2026 |