All notable changes to Mountain (Rust Backend) are documented here. Format: Keep a Changelog.
- Extension type filtering (
Extensions.rs):getInstalled(type?)IPC now respects the optionalExtensionTypefilter (0=System, 1=User) passed by VS Code's sidebar, correctly distinguishing VSIX-installed extensions from built-ins via the scanner'sisBuiltinfield. Previously the filter was silently dropped and every call returned the full list astype: 0, isBuiltin: true. - Post-install activation burst (
Extension.rs): After$deltaExtensionsadds an extension to Cocoon's registry,onStartupFinishedactivation events are now fired. Without this burst, extensions withonStartupFinished(e.g.Anthropic.claude-code) registered but never activated — sidebar contributions and commands silently no-oped until the next full restart. - Sidebar scan handlers (
mod.rs):extensions:scanSystemExtensions->getInstalled(type=0)andextensions:scanUserExtensions->getInstalled(type=1)forwarding added so VSIX extensions appear under "Installed" with an Uninstall action. extensions:getManifestIPC handler: Readsextension/package.jsonfrom a.vsixarchive without extracting to disk, enabling the "Install from VSIX..." preview dialog.- UriComponents helper module (
UriComponents/): Centralises every URI payload sent to the VS Code renderer with the required$mid: 1marshalling marker. ExposesFromFilePath,FromUrl,StampMidUri, andNormalize. - Extension manifest passthrough - Atom TH1 (
ExtensionDescriptionStateDTO): 14 new fields added for VS Codepackage.jsonmetadata:Categories,DisplayName,Description,Keywords,Repository,Bugs,Homepage,License,Icon,AiKey,ExtensionKind,Capabilities,ExtensionDependencies,ExtensionPack. - IPC round-trip for
applyEdit/showTextDocument- Atom T1: Replaced fire-and-forget event emission with request/response pattern usingSendUserInterfaceRequest. - Node version checking - Atom N1 (
NodeResolver):ResolveNodeBinarynow queriesnode --versionand logs the resolved version; emits a warning when the major version falls belowLAND_NODE_MIN_MAJOR(default 20). - Compile-time PostHog config - Atom P2 (
PostHogPlugin): API key, host, and enable flag are now read fromenv!()baked inbuild.rsviaPropagatePostHogSentinel(). - IPC logging improvement - Atom I13: Paired entry/exit log lines per
invoke.
done: <cmd> ok=... t_ns=...on exit enables latency diagnosis. - PostHog telemetry initialised at boot (
Entry.rs). BuildInitialUrl(Entry.rs): Reads~/.land/workspaces/RecentlyOpened.jsonand passes?folder=<path>to the initial webview URL, skipping the destructive reload-on-Welcome.NodeResolvermodule - Atom N1: Resolves Node.js binary in order:LAND_NODE_BINARYenv -> shipped runtime -> version managers (fnm, volta, asdf, nvm) -> Homebrew -> PATH fallback.- Extension path environment variables - Atom U1: Five new env vars:
LAND_DISABLE_BUILTIN_EXTENSIONS,LAND_BUILTIN_EXTENSIONS_DIR,LAND_USER_EXTENSIONS_DIR,LAND_EXTRA_EXTENSIONS_DIRS,LAND_DEV_EXTENSIONS_DIR. - Profile sentinel fix (
build.rs): Replaced runtimestd::env::var("LAND_PROFILE")with compile-timeoption_env!. extensions:resetPinnedStateForAllUserExtensionsIPC handler - Atom P1.- Atomic shutdown guard (
Entry.rs): Prevents graceful shutdown sequence from running twice on Tauri re-delivery ofExitRequested { code: Some(0) }. - Comprehensive Wind IPC handlers (
WindServiceHandlers/): Full surface for Commands, Configuration, Extensions, FileSystem, Model, NativeHost, Navigation history, Output channels, Search, Storage, Terminal/PTY, UI, and Utilities. CreateEffectForRequesteffect creators: Domain modules added for Authentication, Clipboard, Commands, Configuration, Debug, Diagnostics, Documents, FileSystem, FileWatcher, Git, Keybinding, Languages, NativeHost, SCM, Search, Secrets, StatusBar, Storage, Task, Terminal, TreeView, UserInterface, Webview, WindowUI, Workspace.
SkyEventtyped constants: Hardcoded"sky://output/*"string literals replaced with typed constants fromCommonLibrary::IPC::SkyEvent.- Domain module split - Wind IPC: 167 KB monolithic
WindServiceHandlersbroken into domain-specific modules. - Domain module split - Cocoon RPC: 2,800-line monolithic
CocoonServicesplit into 16 domain modules. - Binary / product name simplified (
Cargo.toml,tauri.conf.json): Verbose dev profile identifier shortened back toMountain. - posthog-rs 0.5 API:
api_endpoint()replaced withhost(). - sha2 0.11 migration:
LowerHeximpl replaced withhex::encode().
- Extension location URI marshalling: Extension locations now carry
$mid: 1via the new UriComponents helper. - DTO serialization (
ExtensionDescriptionStateDTO): Removedskip_serializing_if = "String::is_empty"fromName,Version,Publisher— omitting the key crashed the renderer withTypeError: undefined is not an object. - Log file eager init (
Entry.rs,DevLog.rs):InitEager()called at binary startup.BinarySignature()fixed to correctly split PascalCase segments so logs land in the correct app-data directory. - Static asset path resolution (
Utilities.rs): Extended to handle both/Static/Application/andStatic/Application/forms, fixing WASM loader ENOENT that broke TextMate syntax highlighting. - macOS window dragging: Removed
maximized(true); replaced withTitleBarStyle::Overlay+hidden_title(true). - ENOENT ignore-list expanded (
DevLog.rs): AddedchatLanguageModels.json, window log files,.copilot/agents,.vscode/tasks.json,/User/mcp.json,vscode-chat-images,/output_<TIMESTAMP>patterns.
- Local VSIX installer - Atoms K2/K3 (
VsixInstaller.rs): Unpacks.vsixarchives into~/.land/extensions. Two-pass extraction reads the manifest before writing files; includes zip-slip protection. Notifies Cocoon via$deltaExtensionsfor hot-activation without reload. - Kernel/minimal profile (
ScanPathConfigure):LAND_SKIP_BUILTIN_EXTENSIONSenv var skips built-in extension scan paths. LAND_SPAWN_COCOON=falseflag: Skips extension host spawn entirely.- Environment forwarding to Cocoon:
NODE_ENV,LAND_DEV_LOG,TAURI_ENV_DEBUGnow propagate to the Cocoon subprocess. .env.Landbootstrap - Atom I5 (AppLifecycle): Loads environment from.env.Landprobing cwd and repo-layout ancestors (up to 6 levels).- Zombie-Cocoon prevention - Atom I6: Pre-boot
SweepStaleCocoon()TCP- probes port 50052 and SIGTERMs/SIGKILLs a stale process. Post-shutdownHardKillCocoon()preventsEADDRINUSEcascades. - Workspace activation fix - Atom I1: Before reload,
ApplicationState.Workspaceis mutated and$deltaWorkspaceFoldersbroadcast to Cocoon. security.workspace.trust.enabled=falsedefault (AppLifecycle): Written toUser/settings.jsonon first boot only if the key is absent.- BATCH-16 latency instrumentation (
CreateEffectForRequest).
- Cocoon health monitor: No longer floods logs after a crash.
- AppLifecycle fallback timers: Extended from 2s -> 8s and 5s -> 15s.
- TerminalProvider: Captures and logs PID + exit status code.
- DevLog timestamp: Replaced manual UTC with
chrono::Local.
- MIME type override (
LocalhostPlugin): Explicit MIME overrides for JS/CSS/JSON/HTML/SVG assets. - Extension scan paths (
ScanPathConfigure): Removeddebug_onlygate.
- Tier-gating system (
Cargo.tomlfeature flags,build.rs,LandFixTier.rs): Compile-time tier selection with runtime banner. - Native file watcher - TierFileWatcherLayer4 (
FileWatcherProvider): Backed by thenotifycrate. Includes debouncing, glob->regex pattern filtering, and IPC forwarding to Cocoon as$fileWatcher:event. - Workspace folder runtime management: CLI parsing via
ParseWorkspaceFolders(--folderflags, positional dirs,LAND_WORKSPACE_FOLDERenv). - DevLog file sink: Logs to
~/Library/Application Support/<bundle>/logs/<timestamp>/Mountain.dev.log. Enabled viaLAND_DEV_LOG_FILE=1. - Completed previously-stubbed IPC handlers:
Terminal.Resize,Clipboard.Read/Write,NativeHost.OpenExternal, Webview operations, Tree operations,Task.Fetch/Execute,Authentication.GetSession,Languages.GetAll,Debug.Stop,showOpenDialog.
dev_log!macro formatting: All invocations reformatted from single-line to multi-line across ~150 call sites. No functional changes.- Module encapsulation: Removed wildcard
pub usere-exports fromApplicationStateinternal modules and the Air module.
.js.map204 handling invscode-filescheme handler.- Extension scanner logging: First-run non-existent directory is now
debug-level instead ofwarn.
vscode-file://absolute OS path handling: Detects macOS/Linux absolute path roots insidevscode-file://vscode-app/URI and serves files directly from disk. Fixes extension-contributed icon themes, grammars, and woff fonts.- NLS placeholder resolution in extension scanner: Loads
package.nls.jsonand recursively replaces%key%placeholders before parsing. - FileSystem effects (
CreateEffectForRequest):FileSystem.Stat,CreateDirectory,Delete,Rename,Copy. - Extension scanning instrumentation: Comprehensive logging across scanner, environment, and handler layers.
- PascalCase naming migration - full RPC subsystem: All remaining
snake_case
.rsfiles renamed. Deprecated service modules removed. - PascalCase migration - LanguageFeature and Environment modules: 10 files
renamed (
validation.rs->Validation.rs, etc.). - Sky target path resolution corrected:
../../../Element/Sky/Target->../../../Sky/TargetinScanPathConfigure.rs,AppLifecycle.rs,InitializationData.rs.
- Resource not found 404s downgraded from
warntoinfo. - Empty
tickscounter removed from Cocoon health monitor.
- Extension registration notification handlers (
MountainVinegRPCService):window.showMessageforwards to Sky viasky://notification/show;registerCommandstores proxied commands inCommandRegistry; provider registration fallback for typed RPC path. - Full language feature provider delegation (
CocoonService): 18 stub handlers replaced with actual delegations toLanguageFeatureProviderRegistrycovering document highlights, symbols, workspace symbols, rename edits, formatting (document/range/on-type), signature help, code lenses, folding ranges, selection ranges, semantic tokens, inlay hints, type hierarchy, call hierarchy, linked editing ranges. - Remaining 14
FeatureMethodsimplementations: All TODO stubs replaced. Each delegates toFeatureMethods->ProviderLookup::get_matching_provider->invoke_provider.
dev_log!macro replaceslogcrate across entire Mountain codebase.- Domain module split - Wind IPC: 167 KB
WindServiceHandlersbroken into 24 focused domain modules. - Domain module split - Cocoon RPC: 2,800-line
CocoonServicesplit into 15 domain modules. - Vine gRPC binding changed from IPv6
[::1]to IPv4127.0.0.1. - Startup extension activation trigger (
$activateByEvent("*")) added after Cocoon handshake.
MutexGuardSend fix (FeatureMethods.rs): Lock scope narrowed across.awaitpoint.- Provider registration fixed to use
self.RunTime.Environment. - Command registration locking corrected in
CommandRegistry.
- Extension host message forwarding to Cocoon (
cb4538625):cocoon:extensionHostMessageIPC handler extracts payload from Wind IPC args and forwards it to Cocoon's gRPC server viaVine::Client::SendNotificationRPC as a generic notification. Completes the Wind -> Mountain -> Cocoon message relay path for the extension host protocol. Fire-and-forget to maintain async protocol behaviour.
- PostHog integration -
PostHogPlugin.rs(f5b654911): New plugin for debug-build analytics capturing lifecycle events, IPC commands, and errors to EU Cloud. - OTLP proxy (
LocalhostPlugin): Forwards/v1/tracesrequests to local OTLP collector (127.0.0.1:4318) via raw TCP, enablingOTELBridge.tsto send telemetry without CORS issues. - 38 granular
dev_log!tags (d92cd0a4):DevLogsystem expanded from 8 to 38 tags covering all service areas:terminal,extensions,search,themes,window,nativehost,clipboard,commands,model,output,notification,progress,quickinput,workingcopy,workspaces,keybinding,label,history,decorations,textfile,update,encryption,menubar,url,grpc,cocoon,bootstrap,preload. EnablesLAND_DEV_LOG=terminal,exthost ./Mountainfiltering. - Short mode for dev logging (
2348f18a):LAND_DEV_LOG=shortcompresses Rust module targets (D::Binary::Main::Entry->Entry), aliases verbose app-data path to$APP, and deduplicates consecutive identical messages with(xN)suffix. cocoon:extensionHostMessageIPC handler stub (4a2c91af): Wind -> Mountain -> Cocoon communication pathway established.- Cocoon bootstrap improvements (
d92cd0a4):CocoonManagementnow resolves bootstrap script from Tauri resources (prod) or relative to executable (dev), preservesPATH/HOMEenv vars, adds orphan detection for parent process.
- Binary / product name simplified (
f5b654911): Verbose development profile identifier shortened toMountain. Tauri identifier updated toland.editor.binary. - Vine protocol PascalCase (
f5b654911): All RPC methods renamed from snake_case to PascalCase (e.g.initial_handshake->InitialHandshake).vine.rsregenerated. - Session timestamp fixed to be generated once per process lifetime.
- Graceful Cocoon degradation (
b0dcc091):CocoonStartnow degrades gracefully when Cocoon sidecar is unavailable - logs a warning instead of an error and returnsOk(()). - OTLP/PostHog production gate:
EmitOTLPSpanreturns early in release builds.PostHogCaptureandOTLPFlushreturn early whenNODE_ENV=production. - VS Code extension dependency path (
80e7dcf1): Corrected from../../../Dependencyto../../../../DependencyinScanPathConfigure.
/Static/Applicationpath mapping (75ae6687):normalize_uri_pathnow resolves/Static/Application/...paths to the real Sky Target directory. Pre-creates system extensions directory to avoidENOENTon scan.- Session log window directory created at startup so VS Code can write
output files without
staterrors.
nativeHost:getEnvironmentPathsreturnslogsunderuserDataDirwith session timestamps (VS Code's expected structure) instead of Tauri's separateapp_log_dir().
get_static_application_root()helper for Sky Target path access.
- Cocoon connection retry intervals increased with delay for race condition prevention during startup sequencing.
- Navigation history state (
ee41bafb): NewNavigationHistoryStatemodule tracks editor navigation stack with cursor-based back/forward history. IPC handlers:goBack,goForward,canGoBack,canGoForward,push,clear,getStack. - Label resolution IPC handlers (
ee41bafb):getUri,getWorkspace,getBase- human-readable display labels for URIs. - Text model registry IPC handlers (
ee41bafb):open,close,get,getAll,updateContent- document state management. - Comprehensive IPC handlers and gRPC routers (
028ed5fb): Full VS Code extension API surface across Wind IPC (Storage, Notifications, Progress, QuickInput, Workspaces, Themes, Search) and Cocoon gRPC (Commands, Window, Workspace, Secrets, FS aliases, 20+ LSP provider registration types). - Generic request router (
030b3c73):process_mountain_requestroutesfs.*andcommands.executemethods - handlesfs.readFile,fs.writeFile,fs.stat,fs.listDir,fs.readdir,fs.createDir,fs.delete,fs.rename,fs.move,commands.execute. - Terminal I/O, secret storage, and UI dialogs (
58b532fc):terminal_inputsends bytes to PTY stdin;close_terminaldisposes PTY;get_secret/store_secret/delete_secretdelegate to OS keychain;show_quick_pickandshow_input_boxpresent UI viaUserInterfaceProvider. - Cocoon gRPC file system and command registry (
75fdf60b):read_file,write_file,stat,readdirdelegate totokio::fs.delete_file,rename_file,copy_file,create_directorywith atomic parent dir creation.find_filesusesglobsetcrate.git_execspawns native git. All 15+ language feature provider registration methods now callRegisterProvider. - Output channel events and configuration retrieval (
65a75298): Output operations emit Tauri events to Sky (sky://output/*).get_configurationdelegates toConfigurationProviderwith dot-notation key. - Terminal, output channel, and text file Wind IPC handlers (
6ed9f102).
- Workspace folder API sync -> async (
8b7e172c):GetFolders().awaitreplaced withGetWorkspaceFolders().addFolder/removeFolderuse direct manipulation viaGetWorkspaceFolders/SetWorkspaceFolders. opentelemetrytracefeature enabled inCargo.toml.
- Provider selector format (
e7f2b53d):RegisterProviderupdated to canonical selector format[{ "language": ... }].SideCarIdentifieralways routes to"cocoon-main". - Language inference fallback (
e7f2b53d):ProviderLookupderives language from file extension (.rs->rust,.ts->typescript, etc.) when document is not in open state. - Dialog options DTO structure (
8e5d660e): Options wrapped inBasefield withDialogOptionsDTOcontainingTitle. Path strings use.display()for proper conversion. - Storage
DeleteItem(241b1322): Replaced non-existent method withUpdateStorageValue(true, Key, None). QuickInputfield names (241b1322):Placeholder->PlaceHolder.- Workspace state access (
241b1322): All handlers updated to useApplicationState.Workspace.
- Vine gRPC protocol expansion (
3c11448): Comprehensive gRPC service definitions and stubs for full VS Code extension host capability - Language Features (document/workspace symbols, rename, formatting, signature help, code lenses, folding/selection ranges, semantic tokens, inlay hints, type/ call hierarchy, linked editing ranges), Window Operations (quick pick, input box, progress, webview messaging, external URI), File System (delete, rename, copy, create directory), Output Channels, Tasks, Authentication, Extensions, Terminal resize, Configuration.
- Binary entry point extracted (
79b20a44):main()moved fromLibrary.rsinto newSource/Binary.rs. Separates library API from binary configuration.
- Import reorganization (
7af83147):CocoonServiceprotobuf imports grouped by category with clear section comments. - Doc comments fixed across Command, Environment, IPC, and Workspace modules - bracket-style references replaced with backtick code spans.
- README overhauled (
1ec8ceda): New header "The Bedrock of Land". Key Features section expanded. Architecture table transformed into Core Architecture Principles. Deep Dive & Component Breakdown section added. Mermaid diagram improved. Development Setup instructions added. Documentation URLs updated toEditor.Landdomain. - README technology badges (
e38fa3a1): Rust, Tauri, and gRPC badge icons now self-hosted ateditor.landinstead ofcdn.simpleicons.org. Library.rsrustdoc (065ee6baf): Replaced technical spec copy with developer-facing value propositions. "See Also" section added.
- 14 language feature provider methods in
FeatureMethods.rs(354 lines):renameEdits,documentSymbols,workspaceSymbols,signatureHelp,foldingRanges,selectionRanges,semanticTokensFull,inlayHints,typeHierarchySupertypes,typeHierarchySubtypes,callHierarchyIncoming,callHierarchyOutgoing,linkedEditingRanges,onTypeFormattingEdits - 18 CocoonService stub handlers replaced with Tauri event implementations
- Extension registration notification handlers in
MountainVinegRPCService - 5
ProviderTypeenum variants in Common: Task, Authentication, TreeView, SourceControl, DebugAdapter dev_log!macro replacedlogcrate across 170 files with categorised tagsMutexGuardSend fix inFeatureMethods(scope narrowing across.await)CompletionItemDTO missingdocumentationfield added- Cocoon connection retry intervals with race condition prevention
Source/Binary/modular startup system:Tray/- SwitchTrayIcon.rs, EnableTray.rsShutdown/- SchedulerShutdown.rs, RuntimeShutdown.rsService/- VineStart.rs (gRPC on 50051/50052), CocoonStart.rs, ConfigurationInitialize.rsRegister/- AdvancedFeaturesRegister.rs, IPCServerRegister.rs, StatusReporterRegister.rs, WindSyncRegister.rsInitialize/- RuntimeBuild.rs, StateBuild.rs, CLI argument parser, dynamic port selection
- 20+ Tauri commands exposed: WorkbenchConfigurationQuery, DesktopConfigurationQuery, UpdateSubscriptionEndpoint, TrayIconSwitch, IPCStatusQuery, PerformanceStatistics, MessageReceptionEndpoint, GenericIPCMethodInvocation, DocumentSynchronization, CollaborationSession, StatusHistory
- TreeView foundation: stub interaction handlers, state persistence skeleton, Tauri event propagation to Sky
- Hover command module:
Source/Command/Hover/with Interface.rs
- TreeView implementation: concrete
OnTreeNodeExpanded,OnTreeSelectionChangedwith ApplicationState locks and event propagation - TreeView badge support: Badge field in TreeViewStateDTO (max 2048 bytes)
- Hover feature:
Fn.rs(164 lines) with hover request handling
- Thread safety refactoring: replaced
static mutwithRwLockin Scheme.rs (829 lines), ServiceRegistry.rs (820 lines), CertificateManager.rs (395 lines), TlsCommands.rs (184 lines) - Cleaned 150+ unused imports across 40+ provider files
Source/ApplicationState/State/FeatureState/Debug/- DebugState.rs (155 lines) with DebugConfigurationProviderRegistration and DebugAdapterDescriptorFactoryRegistration- TreeView badge: SetBadge() method with length validation
- RPC error response: string -> proper RpcError struct with JSON-RPC code -32601
- DTO deserialization: InputBoxOptionsDTO, OpenDialogOptionsDTO, SaveDialogOptionsDTO corrected
- Vine protobuf field name alignment: RegisterTreeViewProviderRequest display_name -> extension_id, GitExecRequest repository/cwd -> repository_path/args
gen/schemas/macOS-schema.json- platform-specific capabilities for tray, menu bar, dock integration
- actions/cache 4.3.0 -> 5.0.1
- actions/checkout 5.0.0 -> 6.0.1
- Regular
.github/Update.mdauto-increments
- Error handling standardized across SourceControlManagement, DocumentProvider, TerminalProvider
- Sidecar naming conventions consolidated
- Build artifacts renamed with "22NodeVersion" label for Node.js versioning
- Windows installer naming standardized across debug/release profiles
185 commits - the complete architecture implementation quarter.
Source/Command/- CommandRegistry, Keybinding, LanguageFeature, SourceControlManagement, TreeView, Bootstrap, HoverSource/Environment/- 14 provider implementations: ConfigurationProvider, DocumentProvider, FileSystemProvider, OutputProvider, SearchProvider, SecretProvider, StatusBarProvider, StorageProvider, TerminalProvider, TreeViewProvider, UserInterfaceProvider, WebviewProvider, WorkspaceProvider, UtilitySource/ProcessManagement/- CocoonManagement, InitializationDataSource/RunTime/- ApplicationRunTime executable lifecycleSource/Track/- DispatchLogic, EffectCreation (request routing and effect system)Source/Update/- UpdateServiceSource/Workspace/- WorkSpaceFileServiceSource/FileSystem/- FileExplorerViewProviderSource/Vine/Server/- MountainVinegRPCService, Initialize.rsSource/Vine/Generated/vine_ipc.rs- 1,714 lines auto-generated from Vine.proto- Node.js sidecar bundled (Target/debug/node.exe, Target/release/node.exe)
- Build artifacts: .exe, .msi Windows installers
- Error handling unified via CommonError + MapLockError pattern
- Module naming: handlers -> Command, app_state -> ApplicationState
- README rewritten with architecture overview (76 lines)
docs/Deep Dive.mdrewritten (182 lines)- License transitioned to CC0 1.0 Universal
Source/ApplicationState/reorganization:Internal/- Persistence, Recovery, TextProcessing, PathResolution, ExtensionScanner, SerializationDTO/- 12 DTO classes (DocumentStateDTO, TerminalStateDTO, TreeViewStateDTO, WindowStateDTO, etc.)State/- organized feature state classes
.github/workflows/Auto.yml(68 lines) - automated update/push CIKnowledge.dot+Knowledge.svg- module dependency graph (Graphviz)
- Deprecated
Source/app_state/->Source/ApplicationState/ - Cargo.toml: removed 45 redundant entries, added 17 new entries
gen/android/- full Android Gradle project scaffold:- AndroidManifest.xml, MainActivity.kt
- RustPlugin.kt, BuildTask.kt (Rust -> Android cross-compilation)
- Resources: drawable, mipmap (hdpi through xxxhdpi), layout, values
gen/schemas/mobile-schema.json(11,162 lines)gen/schemas/android-schema.json(11,162 lines)- Cargo.toml feature flags: AirIntegration, ExtensionHostCocoon, MistNative, Debug, grove, cocoon, terminals, debug-protocol, scm-support, Telemetry
- Schema reduction: 8,467 -> ~1,000 lines in ACL manifests (78% reduction)
- Removed bloated capabilities; kept only essential Tauri permissions
- Binary function refactoring:
Source/Fn/Binary.rs106 -> ~20 lines - Added
Source/Fn/Binary/Notes.md(91 lines) architecture documentation
- Project relocated from
Editor/editor/src-tauri/to monorepo root Source/Library.rs- single Tauri entry pointtauri.conf.json(94 lines) - bundle targets: Windows NSIS, macOS DMG, debbuild.rs- Tauri build system integration.github/workflows/Rust.yml(78 lines),GitHub.yml(57 lines),dependabot.yml- App icons: PNG, ICNS, ICO, Windows tile assets
capabilities/- Tauri capabilities manifestgen/schemas/- desktop-schema.json, windows-schema.json
- Core: tauri, tokio, serde, serde_json, tonic (gRPC)
- Plugins: tauri-plugin-dialog, tauri-plugin-fs, tauri-plugin-localhost, tauri-plugin-log
- Serialization: prost (protobuf), bincode
- Crypto: sha2, md5, ring, rcgen, p256, x509-parser, rustls, pem
- Network: tokio-tungstenite, http, url
- Terminal: portable-pty
- Process: sysinfo, hostname