docs: define Launcher Next pilot and performance plan
This commit is contained in:
@@ -4,4 +4,4 @@ This section is the single architecture record for the corporate Autodesk launch
|
||||
|
||||
The AS-IS flow is a locally synchronized legacy deployment with generated AutoLISP loading. Launcher Next is a .NET 8, one-visible-EXE design that stages signed-by-hash local packages and loads one managed entry assembly. It is a design/foundation only: production configuration, AutoCAD profiles, trusted paths, network roots and deploys were not changed.
|
||||
|
||||
See [AS-IS](as-is/system-context.md), [target](target/architecture.md), [ADRs](adr/ADR-001-parallel-rewrite.md), and [evidence map](evidence-map.csv).
|
||||
See [AS-IS](as-is/system-context.md), [target](target/architecture.md), [legacy compatibility and pilot](target/legacy-compatibility.md), [ADRs](adr/ADR-001-parallel-rewrite.md), and [evidence map](evidence-map.csv).
|
||||
|
||||
@@ -1,3 +1,27 @@
|
||||
# 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.
|
||||
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`.
|
||||
|
||||
| Source-level observation | Evidence | Performance implication | Confidence |
|
||||
|---|---|---|---|
|
||||
| Installer recursively copies selected catalogs and can delete files/directories | `All_Serv_Install/Form1.cs` copy path | filesystem and potentially network traversal; UI blocking behavior requires measurement | CONFIRMED |
|
||||
| Updater computes MD5/control sums and replaces local files | `All_Serv_InstallUpdater/Form1.cs` | repeat hash/read/copy work; no measured count or time | CONFIRMED |
|
||||
| Bootstrap emits one generated loader command per selected installed catalog | `P_Serv_Starter/Program.cs` | sequential startup work grows with selected modules | CONFIRMED |
|
||||
| OrthoLoader sequentially `. _netload`s 20 configured modules | legacy loading audit | 20 managed loads before all functionality is ready | CONFIRMED |
|
||||
| Repeated load on document/workspace events | no complete event evidence | cannot assert | UNKNOWN |
|
||||
|
||||
No measured count is claimed for network requests, full copies, UI waits, `Process.WaitForExit`, `Thread.Sleep`, or repeated document-level loading. Those are measurement subjects, not observed facts.
|
||||
|
||||
## Measurement plan (proposed)
|
||||
|
||||
| Scenario | Start | End | Proposed metrics |
|
||||
|---|---|---|---|
|
||||
| Cold start | launcher action | Ribbon ready | elapsed time, files hashed/copied, bytes, NETLOAD count |
|
||||
| Warm start | launcher action | Ribbon ready | cache hit, network requests, elapsed time |
|
||||
| Offline start | launcher action with network unavailable | Plant prepared/started | valid cache use, retry count, user status |
|
||||
| No-update start | catalog read | launch prepared | manifest comparison and file operations |
|
||||
| Update start | catalog read | activation complete | staging time, hash time, atomic switch time |
|
||||
| Rollback | rollback request | previous pointer active | elapsed time and success/failure |
|
||||
| Plugin readiness | Plant process created | Initialize and Ribbon ready | process-start, entry-load, command/Ribbon timestamps |
|
||||
|
||||
Targets are **PROPOSED** until baseline data is collected: one entry NETLOAD, zero network assembly loads, zero in-place replacement of active package files, and no repeated full copy on a valid no-update start.
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
# Legacy compatibility and pilot contract
|
||||
|
||||
## Required user-facing behavior
|
||||
|
||||
| Legacy behavior | Preserve in Next | Pilot status |
|
||||
|---|---|---|
|
||||
| Product/project selection workflow | preserve after separate UX analysis | not implemented |
|
||||
| Plant 3D version discovery | preserve through adapter/override | foundation adapter |
|
||||
| Local corporate plugin availability | preserve through valid local cache | designed/tested locally |
|
||||
| P_Rec commands and Ribbon | preserve through one managed entry assembly | plugin-owned, not launched here |
|
||||
| Immediate legacy return | preserve `LauncherMode=Legacy` | designed |
|
||||
| Other legacy plugins | retain existing chain until individually migrated | required |
|
||||
|
||||
## Can be removed only for migrated P_Rec_Annot
|
||||
|
||||
- OrthoLoader configuration fan-out and twenty sequential `NETLOAD` calls.
|
||||
- Generated LISP/BAT as the package-loading mechanism, once explicit Next startup is runtime-proven.
|
||||
- Per-file legacy copy replacing an active module directory.
|
||||
|
||||
They remain necessary for other legacy corporate plugins until those plugins have their own migration and acceptance evidence.
|
||||
|
||||
## Duplicated or avoidable work
|
||||
|
||||
The source shows installer recursive copy/delete, updater hash/copy work, generated LISP generation and twenty sequential module loads. The precise overlap and cost require measurement. Next reduces avoidable work by comparing manifests, reusing a valid local version, staging only a new version and loading one entry assembly. It must not claim that legacy runs these actions on every AutoCAD startup without runtime evidence.
|
||||
|
||||
## P_Rec_Annot pilot
|
||||
|
||||
The pilot is a dry-run contract only:
|
||||
|
||||
```text
|
||||
discover Plant 3D 2026 -> validate fixture manifest -> local test-source staging
|
||||
-> activate version pointer -> build one startup NETLOAD script
|
||||
-> construct ProcessStartInfo -> do not start process
|
||||
```
|
||||
|
||||
It uses a fixture manifest with a synthetic SHA-256 and a test-created placeholder file. No real bundle, Plant assembly, package cache or production catalog is included.
|
||||
Reference in New Issue
Block a user