From 2fe1ca71df7daa755c9b5a7a7b8d54cdd1636f22 Mon Sep 17 00:00:00 2001 From: codex Date: Tue, 4 Aug 2026 14:30:29 +0300 Subject: [PATCH] fix: diagnose unavailable Ortho pipe placement --- .../P_Rec_Annot/src/PRecAnnot.Plant3D2026/PlantReadPath.cs | 3 ++- .../tests/PRecAnnot.Core.Tests/PxpOaRegistrationTests.cs | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/Plant3D2026/P_Rec_Annot/src/PRecAnnot.Plant3D2026/PlantReadPath.cs b/Plant3D2026/P_Rec_Annot/src/PRecAnnot.Plant3D2026/PlantReadPath.cs index 100a644..74315d4 100644 --- a/Plant3D2026/P_Rec_Annot/src/PRecAnnot.Plant3D2026/PlantReadPath.cs +++ b/Plant3D2026/P_Rec_Annot/src/PRecAnnot.Plant3D2026/PlantReadPath.cs @@ -501,8 +501,9 @@ internal sealed class PlantViewportMembershipReader if (openedByQuery) sourceDatabase.Dispose(); } } - catch + catch (Exception exception) { + RuntimeDiagnostics.Write("OrthoPipePlacementReadFailed", "WARNING", resultStatus: "ORTHO_PIPE_PLACEMENT_UNAVAILABLE", exception: exception); return false; } } diff --git a/Plant3D2026/P_Rec_Annot/tests/PRecAnnot.Core.Tests/PxpOaRegistrationTests.cs b/Plant3D2026/P_Rec_Annot/tests/PRecAnnot.Core.Tests/PxpOaRegistrationTests.cs index 3a1ee1c..d1cb61a 100644 --- a/Plant3D2026/P_Rec_Annot/tests/PRecAnnot.Core.Tests/PxpOaRegistrationTests.cs +++ b/Plant3D2026/P_Rec_Annot/tests/PRecAnnot.Core.Tests/PxpOaRegistrationTests.cs @@ -36,4 +36,5 @@ public sealed class PxpOaRegistrationTests [Fact] public void ScriptDrivenPxpOa_BindsPlantContextToCommandDocument() => Assert.Contains("ReadCurrentContext(document)", Entry); [Fact] public void ScriptDrivenPxpOa_UsesPreparedFixtureContextBeforeImplicitLookup() => Assert.Contains("TryGetPreparedContext(document, out var scriptContext)", Entry); [Fact] public void ScriptDrivenPrepare_SelectsCanonicalTargetAndRetainsReadOnlyContext() { Assert.Contains("preparedContext = context", Observer); Assert.Contains("selectedTargetSnapshotId = candidates[0]", Observer); } + [Fact] public void PlacementReadFailure_IsDiagnosedInsteadOfBeingSilentlyDiscarded() { var source = File.ReadAllText(Path.Combine(ProjectRoot, "PlantReadPath.cs")); Assert.Contains("OrthoPipePlacementReadFailed", source); Assert.Contains("ORTHO_PIPE_PLACEMENT_UNAVAILABLE", source); } }