Files
launcher-next/docs/owner-project-roster-compatibility.md
T

1.4 KiB

Owner project roster compatibility

Read-only analysis of \\phimproject.com\a\ATest_Total\_System\Plant 3D_2019\Applications\download_list.xml recorded SHA-256 493CA3B94ECF937CA09D2A37120A6D86DC81597B5C10284A1DF37E3D0352979D (3,589 bytes; UTF-8 BOM).

Its real shape is root → area → id: one area, 33 ordered IDs, no empty IDs and no duplicate IDs. b455ee6eaed79d76f084846a60ce3284 is entry 27 and joins to P_Rec_Annot / legacy OrthoLoader.dll; the explicit 2026 mapping resolves it to P_Rec_Annot 0.1.0 / PRecAnnot.Plant3D2026.dll.

Legacy All_Serv_Load/F2_Xml.cs used [XmlElement("id")] on F2_Root, which reads only direct root/id entries and removes only exact empty strings. It neither trims nor rejects duplicate IDs; nested area/id entries are ignored. Launcher Next now preserves that direct-ID behavior for diagnostics while deterministically expanding the real area/id source order for the modern plan. Duplicate source IDs remain visible, while package execution uses a case-insensitive effective unique list.

The project roster is acquired from UNC into an owned local snapshot before parsing. XML parse/shape errors, missing Settings definitions, ambiguous definitions and absent 2026 mappings are distinct stages. Known-but-unmapped plugins remain visible and block launch without being misreported as invalid XML or process failure.