4.5 KiB
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.