Initial commit: TeslaSuite monorepo (TeslaConsole + TeslaLauncher)

Co-locate the two cockpit-pod projects into a single repository:

- Console/  : TeslaConsole, the net48 WinForms operator console (decompiled
              reconstruction) plus its differential + catalog test suite.
- Launcher/ : TeslaLauncher, the net6 pod-side Service + Agent rewrite.

Adds a combined TeslaSuite.sln, root README documenting the shared wire
contract (and its current duplication, the main follow-up), and a root
.gitignore. Histories were not preserved per request; this is a fresh start
from the current working state of both projects.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Cyd
2026-06-29 14:43:28 -05:00
co-authored by Claude Opus 4.8
commit 548550b312
224 changed files with 21318 additions and 0 deletions
+49
View File
@@ -0,0 +1,49 @@
# TeslaSuite
The Tesla cockpit-pod software, in one repository:
| Folder | What it is | Target |
|--------|------------|--------|
| [`Console/`](Console/) | **TeslaConsole** — the operator console (WinForms) that configures and drives the pods. A faithful decompiled reconstruction of the original `TeslaConsole.exe`, with a differential test suite that pins it to the original baseline. | .NET Framework 4.8 |
| [`Launcher/`](Launcher/) | **TeslaLauncher** — the pod-side Service (Session 0 RPC listener) + Agent (user-session app launcher). A clean .NET 6 rewrite of the original launcher. | .NET 6 (windows, x86) |
The console and the launcher talk over TCP 53290 using an OFB-encrypted
BinaryFormatter RPC. They share a wire contract (`Tesla.Net` types +
`ILauncherService`/`IPodManagerConnection` signatures) that **must stay byte-for-byte
compatible**.
> ⚠️ **Known duplication (intentional, for now):** that shared contract currently
> lives in two places — the console consumes it as the compiled
> `Console/lib/TeslaConsoleLaunchLib.dll`, and the launcher hand-replicates the same
> types in `Launcher/LaunchModels_Shared.cs`. They must match exactly. Consolidating
> this into a single multi-targeted `Tesla.Contract` source project is the main
> follow-up this monorepo is meant to enable.
## Building
Each side has its own toolchain; the combined solution builds both:
```
dotnet build TeslaSuite.sln -c Release
```
Or individually:
```
dotnet build Console/TeslaConsole.csproj -c Release # the console
dotnet test Console/tests/TeslaConsole.DiffTests # differential + catalog tests
dotnet build Launcher/TeslaLauncher.sln -c Release # service + agent
```
The launcher also has its original `Launcher/build.bat` / `Launcher/install.bat`
for producing and deploying the self-contained pod build.
## Layout notes
- `Console/original/TeslaConsole.exe` is the reference baseline the differential
tests compare against — keep it.
- `Console/lib/*.dll` are the proprietary binary dependencies the console still
references (`TeslaConsoleLaunchLib`, `TeslaSecureConfiguration`, `Munga Net`,
`BitmapLibrary`, `WeifenLuo` docking).
- `Console/RedPlanet/Apps.xml` is the data-driven product catalog (see the console's
Site Management → Add Product / Register Product on Pods).