P_Rec_Annot Plant 3D 2026 foundation
Foundation for migration from the legacy P_Rec_Annot v1.0.4. Legacy sources remain read-only and are not copied here.
Current slice:
PRecAnnot.Abstractions— Autodesk-free immutable contracts and DTOs;PRecAnnot.Core— deterministic annotation planning and duplicate filtering;PRecAnnot.Application— command registry and use-case orchestration;PRecAnnot.Plant3D2026— guarded adapter boundary; compilation against Plant 3D 2026 is blocked until the SDK/runtime is installed;PRecAnnot.UI— idempotent Ribbon registration model, without legacy_netload;PRecAnnot.Telemetry— local JSONL command-scope events, without project path/number;PRecAnnot.Bundle.TestsandPRecAnnot.Core.Tests— architecture/core/packaging checks.
The first vertical slice is intentionally a dry-run planning slice. It does not mutate DWG until the Plant 3D 2026 adapter is compiled and runtime-tested on a controlled project.
Build:
dotnet build .\PRecAnnot2026.sln --configuration Release
dotnet test .\PRecAnnot2026.sln --configuration Release --no-build
When Plant 3D 2026 is installed, pass /p:Plant3D2026InstallDir=.... Autodesk assemblies are Private=false, CopyLocal=false and are never committed.