From 05c19ad43f917fee197a2e9c070193088c23c2f5 Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Mon, 4 May 2026 21:38:53 +0300 Subject: [PATCH] =?UTF-8?q?doc:=20add=20profiles.md=20(B8)=20=E2=80=94=20b?= =?UTF-8?q?uild=20profiles=20cross-cutting=20concept=20page?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Source/Content/doc/profiles.md | 42 ++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 Source/Content/doc/profiles.md diff --git a/Source/Content/doc/profiles.md b/Source/Content/doc/profiles.md new file mode 100644 index 00000000..6a5a45a2 --- /dev/null +++ b/Source/Content/doc/profiles.md @@ -0,0 +1,42 @@ +--- +title: Build profiles +description: Land ships three Sky workbench bundles under three profile names. They differ in which workbench bundle the webview loads, whether SkyBridge runs, and whether Output transforms are applied — but all three spawn Cocoon as the extension host. +--- + +Land ships three Sky workbench bundles under three profile names. +They differ in which workbench bundle the webview loads, whether +SkyBridge runs, and whether Output transforms are applied — but all +three spawn Cocoon as the extension host. + +Three Sky workbench bundles ship under three profile names: `debug` +loads the stock VS Code browser workbench raw (no SkyBridge), +`debug-mountain` loads the same bundle plus SkyBridge runtime +registrations, `debug-electron` loads the electron-bundled stock +workbench plus SkyBridge plus the full Output transform pipeline. +Cocoon spawns in all three — the debug-mountain name doesn't mean +Cocoon is gone, only that the Output transform pipeline is. Pick +`debug-electron` for full extension UX, `debug-mountain` for fewer +wire-shape bugs to chase, `debug` for stock-VS-Code-only sanity +testing. + +## Profile matrix + +| Profile | Workbench bundle | SkyBridge installed? | Wind bootstrap? | Output transforms run? | +|---|---|---|---|---| +| `debug` (`Browser=true`) | Stock browser workbench | No | No | No | +| `debug-mountain` (`Mountain=true`) | Stock browser workbench | Yes | Yes | No (gated on `Electron=true`) | +| `debug-electron` (`Electron=true`) | Stock electron workbench | Yes | Yes | Yes | + +## Where this lives + +| Concern | File | +|---|---| +| Profile sentinel + LAND_PROFILE env baking | `Element/Mountain/build.rs` | +| Three Sky bundle entry points | `Element/Sky/Source/Workbench/{Browser,Mountain,Electron}.astro` | +| Output transform gating | `Element/Output/Source/Plugin/Index.ts` (`Enabled: () => process.env["Electron"] === "true"`) | +| Cocoon spawn (unconditional) | `Element/Mountain/Source/Binary/Main/AppLifecycle.rs:431` | + +## What's next + +- [Architecture: processes & peers](/Doc/architecture-processes) — what each process does +- [Build pipeline](/Doc/build-pipeline) — how each profile's bundle is produced