diff --git a/Plant3D2026/P_Rec_Annot/docs/release-asset-mapping.md b/Plant3D2026/P_Rec_Annot/docs/release-asset-mapping.md new file mode 100644 index 0000000..907e872 --- /dev/null +++ b/Plant3D2026/P_Rec_Annot/docs/release-asset-mapping.md @@ -0,0 +1,52 @@ +# Release asset mapping + +This is the release-to-composite contract for the owner-provided `P_Rec_Annot +v1.0.4.2` payload. It deliberately does not copy legacy binaries or a DWG into +source control. Autodesk assemblies, legacy plugin DLLs, Plant project data, +and the controlled `Template.dwg` fixture are excluded by repository policy. + +## Executable payload + +| Legacy release artifact | Modern functional replacement | Package disposition | +| --- | --- | --- | +| `AnnotateLineNumbers.dll`, `GetLinenumberAnnotationText.dll` | `PRecAnnot.Core`, `PRecAnnot.Application`, `PRecAnnot.Plant3D2026` line-number services | Replaced by composite assemblies | +| `AutoLinenumberConnections.dll` | connector snapshots, connection planner and Plant adapter | Replaced by composite assemblies | +| `AutoElevation.dll`, `InsertElevation.dll` | elevation formatter, planner and Plant mutation adapters | Replaced by composite assemblies | +| `AutoAnnotateView.dll`, `OrthoAutoAnnotate.dll` | modern Ortho annotation commands and adapters | Replaced by composite assemblies | +| `CheckOrthoView.dll`, `UpdateOrthoViewBlocks.dll`, `P3DCopyMissingObjectsToOrthoDrawing.dll`, `P3DSetLayerForViewport.dll`, `UpdateOrthoDrawings.dll` | modern Ortho maintenance commands and adapters | Replaced by composite assemblies | +| `GetComponentGeometry.dll`, `ExtentsIntersect.dll` | `PRecAnnot.Core` geometry contracts and Plant geometry reader | Replaced by composite assemblies | +| `P3DNewMa.dll`, `PHPAnnotations.dll`, `SwapAttributesMenuItem.dll` | `PRecAnnot.UI` palette and manual annotation commands | Replaced by composite assemblies | +| `GetPlantScriptFolderPath.dll`, `GetScriptParameters.dll` | typed portable settings/path contract | Replaced by composite assemblies | +| `OrthoLoader.dll`, `LoadedAssemblies.dll`, `EnablerLoader.dll` | composite bootstrap dependency order and capability checks | Replaced by the single entry assembly; legacy loaders never ship or execute | + +The package file manifest generated by `tools/Build-Bundle.ps1` records SHA-256 +for every package file. `tools/Validate-Bundle.ps1` verifies that manifest +before materialization. + +## Configuration and named-object contract + +| Artifact | Modern consumer / role | Missing-resource behavior | +| --- | --- | --- | +| `Settings.xml` | `bundle/P_Rec_Annot.bundle/Settings.xml`, parsed by `ProductionSettingsContract` and feature-specific settings readers | Command preflight reports configuration failure; no mutation occurs | +| `Template.dwg` | Controlled local fixture/template source for line-number, connection, elevation, Ortho and manual block/style contracts | Never silently depend on an arbitrary drawing. Commands report the required block/style as unavailable and make no mutation | +| block definitions and attribute tags | Resolved by the respective annotation/manual command before transaction | Preflight failure; no partial creation | +| layers, text styles, MLeader styles, dimension styles | Resolved by feature settings and the controlled template contract | Preflight failure; no partial mutation | +| dynamic block properties | Read and updated only by the manual annotation workflow when the selected block exposes them | Preserve existing values when absent; do not synthesize properties | + +`Template.dwg` has release SHA-256 +`22CAAD35CE9C55891CF91042ED9B2C23BA4D5A0745AA40D69F41C1F609DAADB3`. +It must be supplied through the controlled fixture provisioner, not committed or +bundled as a production drawing. + +## User-facing resources + +| Release artifacts | Consumer | Mapping state | +| --- | --- | --- | +| `ico/button_*.png` (20 files) | Legacy Ribbon/palette imagery | Source inventory retained; modern Ribbon currently uses command bindings without those binary images. Image packaging requires an approved non-binary resource import and explicit UI runtime evidence. | +| `Справка по работе с палитрой.docx` and `.pdf` | Manual annotation help surface | Documentation assets are retained in the owner release. The modern palette exposes no fabricated local copy; help links must resolve from a package-approved documentation asset before UI runtime verification. | +| `GetComponentGeometry.xml` | Legacy assembly XML documentation | Functionally replaced by modern source/API documentation; it is not a runtime dependency. | + +The two rows marked as requiring approved resource import are intentionally not +classified as packaged. They remain explicit release-asset and UI-runtime gaps, +rather than being hidden by copying legacy content or claiming unverified +resource behavior.