docs: define Autodesk launcher next architecture

This commit is contained in:
codex
2026-07-31 14:30:19 +03:00
parent 36178374db
commit 1127a8376f
30 changed files with 298 additions and 0 deletions
@@ -0,0 +1,10 @@
# AS-IS component model
`All_Serv_InstallUpdater` updates and launches `All_Serv_Install`; `All_Serv_Install` is the confirmed visible installer/synchronizer. `All_Serv_Load` is an independent historical/alternate executable. `P_Serv_Starter` is a separate bootstrap repository selected through installer configuration, not a project reference.
```text
Updater (optional) -> Visible installer -> local Applications cache -> P_Serv_Starter
P_Serv_Starter -> generated LISP + local batch -> Plant 3D -> OrthoLoader -> module settings -> 20 DLL
```
Network access is established for installation/update. Legacy module loading is intended from local Applications, not proven to be direct UNC loading. The installed state was absent on the audited workstation.
@@ -0,0 +1,11 @@
# AS-IS configuration contracts
| Contract | Format / owner | Consumer | Validation / fallback | Versioning / machine behavior | Confidence |
|---|---|---|---|---|---|
| Installer Settings.xml | XML, All_Serv_Install | installer and P_Serv_Starter | parse errors stop bootstrap; detailed fallback unknown | hard-coded server/local paths and machine rules | CONFIRMED |
| Plugin catalog/install | XML fields | generated LISP | only existing local catalog emits load | order follows configuration | CONFIRMED |
| OrthoLoader Settings.xml | XML, P_Rec deployment | OrthoLoader | per-module behavior partially known | ordered 20 module list | CONFIRMED |
| AutoCAD executable/version | batch/source/config | local batch | exact current version unknown | machine-specific | HIGH_CONFIDENCE |
| Profile/autoload | workstation AutoCAD config | AutoCAD | unknown | machine-specific | UNKNOWN |
| Ribbon resources | deployed module resources/network possible | legacy modules | absence behavior unknown | unknown | UNKNOWN |
| Offline mode | implicit local files | launcher/user | no proven policy | network dependent at sync | UNKNOWN |
@@ -0,0 +1,12 @@
# AS-IS failure modes
| Failure | Detection | Current handling | User-visible result | Data risk | Recovery | Target handling |
|---|---|---|---|---|---|---|
| Network unavailable | filesystem/XML operation | incomplete evidence | install/update may fail | stale files | unknown | use valid local cache |
| Partial copy / version skew | no proven transaction | copy/delete code | missing module | load failure | reinstall | staging + atomic pointer |
| Missing DLL / corrupted Settings.xml | generated load or loader parse | warnings/behavior varies | command/ribbon missing | none to DWG at load | manual repair | manifest validation |
| One of 20 modules incompatible | ._netload result | sequential continuation unknown | partial functionality | inconsistent UI | manual repair | one entry package compatibility check |
| Repeated NETLOAD / duplicate ribbon | runtime | module-specific | duplicate UI possible | UI only | restart | idempotent registry |
| No write permission / AV lock | file operations | errors/messages vary | launch blocked | partial install | manual repair | diagnostics and no activation |
| AutoCAD already running / profile missing / LISP/BAT absent | not fully proven | unknown | bootstrap may not execute | none | manual | explicit duplicate policy/preflight |
| Update during use | legacy copy model | unknown | locked or mixed files | runtime instability | manual | versioned immutable directories |
@@ -0,0 +1,13 @@
# AS-IS file flow
| File | Created/copied by | Source -> destination | Read/executed by | Generated | Required phase | Mutable | Failure impact | Target |
|---|---|---|---|---|---|---|---|---|
| P_Serv_Starter.exe | installer | configured local support location | installer | static | install | replaced by updater | no bootstrap | Next EXE workflow |
| start_plant_3d.bat | external local support | expected local location | P_Serv_Starter | static | startup | external | Plant not started | ProcessStartInfo |
| launcher_starter.lsp | P_Serv_Starter | bootstrap output -> Applications | AutoCAD (mechanism unknown) | copied | startup | overwritten | generated loader not activated | temporary Next script |
| _app_netload.lsp | P_Serv_Starter | generated in Applications | launcher_starter | generated | startup | overwritten | no plugin load | temporary Next script |
| app_netload.lsp | launcher_starter | renamed local generated file | AutoCAD | generated | startup | mutable | no selected plugin load | one NETLOAD script |
| OrthoLoader.dll | installer | network catalog -> local Applications/P_Rec_Annot | AutoCAD | static | startup | versioned only by legacy copy | P_Rec chain fails | PRecAnnot entry assembly |
| Settings.xml | legacy deployment | adjacent to loader | OrthoLoader | static | startup | network/local unknown | modules unavailable | versioned manifest |
| P_Rec DLL / icons / help / templates / project XML | legacy catalog | network -> local catalog | modules | static | command dependent | varies | feature-specific failure | explicit optional resources |
| AutoCAD profile references | workstation | external configuration | AutoCAD | static | startup | external | bootstrap may not run | explicit validated profile |
@@ -0,0 +1,17 @@
# AS-IS installation sequence
```mermaid
sequenceDiagram
participant U as User
participant I as All_Serv_Install
participant N as Corporate network
participant C as Local Applications
participant S as P_Serv_Starter
U->>I: select product/plugins
I->>N: read Settings.xml and selected files
I->>C: recursively copy catalogs
I->>S: start with product, target, settings, project, workdir
S->>C: create _app_netload.lsp and launcher_starter.lsp
```
Partial-copy recovery and all offline branches are not fully proven.
@@ -0,0 +1,8 @@
# Known unknowns
- `UNKNOWN_BOOTSTRAP`: automatic `launcher_starter.lsp` activation through `acaddoc.lsp`.
- Actual runtime files and local cache were absent on the audited workstation.
- Exact startup mechanism for every AutoCAD/Plant release and profile.
- Network-offline behavior across all installer/updater/module branches.
- Full per-module failure continuation, duplicate-load handling, resources and command-time network dependencies.
- Actual deployed updater shortcut and current Plant executable arguments.
@@ -0,0 +1,3 @@
# AS-IS performance profile
The startup path performs network-dependent synchronization when installer/update is used, writes generated LISP files, starts a batch and may load 20 assemblies sequentially. No timings were collected; claims about latency, parallelism, cache hit rate, or behavior under unavailable network are `UNKNOWN`. Launcher Next must measure these rather than infer them.
@@ -0,0 +1,3 @@
# AS-IS security model
Legacy code writes local support files and uses generated LISP plus `NETLOAD`. It relies on the corporate local trusted support convention, but this audit did not change or verify `TRUSTEDPATHS`, profiles, registry demand loading, or deployment permissions. Network source access occurs during installation/update. The audit does not establish code signing, strong validation, complete hash coverage, or secret handling. Treat all of those as gaps.
@@ -0,0 +1,24 @@
# AS-IS startup sequence
```mermaid
sequenceDiagram
participant U as User
participant I as All_Serv_Install
participant S as P_Serv_Starter
participant B as start_plant_3d.bat
participant A as Plant 3D
participant L as launcher_starter.lsp
participant O as OrthoLoader.dll
U->>I: select Plant product/project
I->>S: start configured bootstrap
S->>S: create _app_netload.lsp; copy LISP
S->>B: Process.Start
B->>A: launch (details UNKNOWN)
Note over A,L: UNKNOWN_BOOTSTRAP: automatic LISP invocation not observed
L->>L: rename/load app_netload.lsp
L->>O: NETLOAD local OrthoLoader.dll
O->>O: read Settings.xml; ._netload ordered modules
O->>A: create PluginsOrtho ribbon
```
The lower sequence is conditional on `launcher_starter.lsp` being started; the initiating AutoCAD configuration is unknown.
@@ -0,0 +1,19 @@
# AS-IS system context
| Component | Owner / repository | Process / runtime | Inputs / outputs | Side effects | Replacement | Evidence / confidence |
|---|---|---|---|---|---|---|
| User | Engineering | desktop | selects product and project | starts launcher | retained | launcher audit / CONFIRMED |
| All_Serv_Install | `All_Serv_Install` | .NET Framework WinForms | server Settings.xml; local Applications; starts bootstrap | synchronizes and deletes local files | Launcher Next replaces gradually | launcher audit / CONFIRMED |
| P_Serv_Starter | `P_Serv_Starter` | .NET Framework EXE | settings + paths; generated LISP | writes loader files; starts batch | Next startup builder | source audit / CONFIRMED |
| start_plant_3d.bat | local support directory | cmd/batch | local support files | starts Plant process | direct ProcessStartInfo when viable | source reference only / HIGH_CONFIDENCE |
| launcher_starter.lsp | P_Serv_Starter content | AutoLISP | `_app_netload.lsp` | updates SupportPath; loads generated LISP | temporary pilot script | source audit / CONFIRMED |
| app_netload.lsp | generated locally | AutoLISP | plugin catalog/install entries | NETLOADs selected local modules | one entry NETLOAD | source audit / CONFIRMED |
| AutoCAD Plant 3D | Autodesk | acad.exe, Plant runtime | profile, drawing, local plugin | executes commands | retained | product discovery / CONFIRMED |
| OrthoLoader.dll | legacy P_Rec_Annot | managed AutoCAD extension | adjacent Settings.xml | loads 20 modules, ribbon | PRecAnnot.Plant3D2026.dll | legacy audit / CONFIRMED |
| 20 legacy DLL | legacy deployment | managed extensions | Settings.xml ordered list | commands and ribbon behavior | consolidated dependencies | legacy audit / CONFIRMED |
| Network root | corporate file share | SMB | legacy installation source | read at install/update | catalog source only | audits / CONFIRMED |
| Local support directory | workstation | filesystem | cache, scripts and applications | local writes | configurable cache root | source audit / CONFIRMED |
| AutoCAD profile / autoload registration | workstation configuration | AutoCAD startup | startup LISP | unknown | explicit Next configuration | no installed proof / UNKNOWN |
| Plant project / Ribbon | Plant runtime | Plant/AutoCAD APIs | project and UI context | commands/transactions | retained through one entry assembly | legacy audit / CONFIRMED |
`UNKNOWN_BOOTSTRAP`: source comments name `acaddoc.lsp`, but its deployed content and registration were not observed. It must not be represented as confirmed automatic startup.
@@ -0,0 +1,14 @@
# AS-IS update sequence
```mermaid
sequenceDiagram
participant N as Network
participant U as All_Serv_InstallUpdater
participant I as All_Serv_Install
U->>N: compare MD5/control-sum data
U->>U: delete/copy local installer files
U->>I: start local installer
Note over U,I: Actual deployed updater entrypoint is INFERRED
```
The updater source performs MD5 comparison and replacement. It was not run and its complete recovery behavior is not established.