Commit graph

16 commits

Author SHA1 Message Date
Admin
d51069baea Merge branch 'win-deck' into work 2026-09-25 10:53:36 +02:00
Admin
8f4e447367 builder: CUDA crates build in an installation whose path has a space -- nvcc cannot create its intermediate files under a TMP with a space (Downloads\makepad-builder (2)) or in the verbatim \\?\ form canonicalize gives on Windows ("Could not open output file '\\?\...\tmp/tmpxft_...'"), so with CUDA installed every crate with CUDA kernels failed (aichat and files, built by wm, on .100). On Windows TEMP/TMP/TMPDIR are the tmp folder's plain short (8.3) path; measured on .100: the verbatim and spaced TMP fail, the short one compiles
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-25 01:54:08 +02:00
Admin
7fdb4dd742 builder: the compile bar's total is the app's own crates -- the estimate takes the packages from cargo tree -p <app> (resolved for that package alone; cargo metadata resolved every workspace member's features and counted about twice as many, so an app whose other crates were already built showed 3 / 70), and after a successful build the exact count is kept beside the build output (<binary>.crates) for the next one; fresh crates still leave the total
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-25 01:35:44 +02:00
Admin
01911e2374 builder: an incremental compile's bar follows what really compiles -- crates Cargo reports as fresh (already up to date) leave the total instead of adding to the count, so the bar no longer jumps to half at once and crawls through the rest
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-25 01:20:01 +02:00
Admin
ac1917d70c windows: desktop apps open no console window, and still speak through pipes -- the Builder links apps as windowed programs (/SUBSYSTEM:WINDOWS, mainCRTStartup), so starting one from Explorer or the Builder shows no cmd window; app_main joins the parent terminal's console only when the process has no stdout (started from a terminal), so a pipe (an MCP client starting --mcp) and console builds keep their stdin/stdout untouched
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-25 00:26:00 +02:00
Admin
6b22295eae builder: CUDA whenever the machine has NVIDIA -- on Windows with an NVIDIA driver, Install build tools includes the NVIDIA CUDA Toolkit as one more step (its agreement on the same consent screen), an installation that has the tools but not CUDA offers just that step at start, and every build and launch uses CUDA exactly when the driver and the private toolkit are there (cuda::build_with); the CUDA row's on/off switch and the installed-cuda record are gone
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 23:17:24 +02:00
Admin
f89ef3d4e2 builder: the compile line is the bar and n / total crates -- no crate names flickering past; the Builder's own rebuild (with Scope) counts its crates too, with the same --no-default-features it builds with, and an app's features are passed to the count
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 19:11:55 +02:00
Admin
c490c709cf builder: Compile shows a real bar -- the crates the build produces are counted beforehand from cargo metadata for this platform (packages reachable through normal and build dependencies, their build scripts, the app's binary) and the bar reads n / total crates; a component's package record ends with its bar, so Compile no longer showed the source download's 2 of 2 as a fixed 50%
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 19:10:42 +02:00
Admin
6b199fddc7 builder: a first build resolves online, the Rust row and bars move when the work does, and the window fits the TUI -- cargo ran with --offline whenever a Cargo.lock existed, so a new private CARGO_HOME could not resolve the Android/OpenHarmony crates in the graph (hilog-sys) and Scope failed to build; Rust becomes the current step with its first package and its manifest downloads with a bar; unpacking source reports the pack import and file checkout with their totals instead of holding the bar at half; the window opens at 664 x 650, the TUI's 80 columns and menu height
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 18:40:46 +02:00
Admin
6d9830e778 builder: long work runs on its own page -- installing build tools, CUDA, an app (download source, compile, open) and Update show a checklist of the steps that actually run, the current one carrying its bar (one forward-only bar over all source packs; compile counts crates), then return to where they started with the result; a failed step shows a red ✗ and its reason with ⏎ back; the Disk action reads clear build data
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 17:57:50 +02:00
Admin
06ac6e4357 cuda: builds link only the CUDA toolkit they are given, never a system install -- makepad-ai-cuda's build script takes its toolkit from MAKEPAD_CUDA_ROOT alone; CUDA_PATH, CUDA_HOME and the Program Files / /usr/local / /opt scans are gone, because an exe linked against a system toolkit then needs that toolkit's DLLs on PATH wherever it runs (music.exe on a box with CUDA 12.4 installed but not on PATH stopped with "cublasLt64_12.dll was not found"). The Builder passes its private toolkit as MAKEPAD_CUDA_ROOT when CUDA is enabled; the Arch fleet provisioning opts in with MAKEPAD_CUDA_ROOT=/opt/cuda.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 15:56:53 +02:00
Admin
59d4759c6a builder: one forward-only bar per setup component, green checks on finished setup rows, a black Builder window and a smaller Windows ZIP -- Build tools, Windows SDK, Rust and CUDA each show a bar totalled from the manifests' real byte sizes (download + unpack, cache hits count as done) under a "✓ Build tools ● Windows SDK ○ Rust" line; Account, Graphics, Agreements, Build tools/Rust, Xcode tools/System packages and CUDA show a green ✓ when done; the Agreements screen can agree or disagree (recorded in agreements-accepted, withdrawing never deletes anything); Update reads "check for updates"; builds use --offline instead of --locked (the pinned commits are the lock, a stale Cargo.lock no longer fails a build); macOS bundles are named after the catalog title (Makepad Scope.app, Makepad Amp.app); the Builder window is black; the Windows ZIP leaves out the CJK and colour-emoji fonts the Builder never draws.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 15:13:46 +02:00
Admin
2389e46094 builder: the terminal scripts delete nothing and read top to bottom, and every Builder delete stays inside its own folder -- bootstrap.sh/check-tools.sh/installer.sh are rewritten as four numbered steps with plain prompts: downloads go to fixed .part names that are renamed into place, Rust components unpack straight into a staging folder (tar --strip-components) that is renamed when verified, the source is checked out in a staging folder the same way, and no rm/rmdir remains; the installer only accepts an empty folder or an earlier Builder folder, never / or the home folder, and the compile shows one counting line with the full log in build.log. In the Rust crate every remaining file delete goes through remove_inside(root, path), which refuses anything not strictly inside a validated install root; gitclone no longer removes a destination on failure, downloads and links are replaced by rename instead of delete-then-write, and clean build is cargo clean --target-dir. tui.rs is regrouped by screen with smaller functions.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 14:05:49 +02:00
Admin
41fc2e3b0a builder: the Builder TUI matches the new terminal design, Windows executables carry app icons, and every app has one -- plain full-screen menu (SETUP / YOUR LICENSES / MAKEPAD EXPERIMENTS / CODING AGENTS) with one status line and one progress bar; log in with an email kept in the install folder (downloads are no longer personalized); consent screens list each license agreement (Return opens it) with Agree to all / Cancel; a GPU notice screen on Windows and Linux; optional CUDA for Makepad Amp on NVIDIA GPUs; Apple developer tools screen on macOS; updates save local edits as changes/<app>-<date>.diff for a coding agent to merge back; "clean build" runs cargo clean. libs/win_resource writes Windows icon and version resources without rc.exe from the same icon source as macOS bundles; cargo-makepad uses it. Apps get icon.svg + icon_1024.png (tools/app_icons/render.sh). makepad-mac.sh and makepad-windows-preview.sh are the simulated visual specs.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 13:48:33 +02:00
Admin
dea3de2f4b The Builder compiles itself again from the Makepad tree Scope's release pins and removes the source snapshots nothing is built from any more
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-21 00:17:23 +02:00
Admin
384d0e031c tools: the Builder replaces makepad_loader, the web server moves to makepad/webserver, fleet scripts, docs and the workspace members
tools/makepad_builder replaces tools/makepad_loader: one build target
shared across app builds, workspace package selection, checkout
progress on the public Git API, detached built apps with a completion
state, waits for Windows security scans, manual retry after compiler
locks, dedicated-folder installer checks, catalog and runtime fixes.
tools/web_server and its scripts leave for github.com/makepad/webserver.
Arch USB clone/restore scripts, the qwen38 box scripts and the G-belt
serial test join tools/. docs/agents records the agent workflow and the
remote-control handoff protocol; AGENTS.md forbids vendored sources and
bulk imports. Cargo.toml lists apps/wm-dyn, libs/code_language,
libs/search, libs/tar, libs/loader_bundle and tools/makepad_builder,
and drops the two removed crates.

Squashed from work:
- Share Builder target across Makepad app builds
- Fix Builder workspace package selection
- Align Builder checkout progress with public Git API
- Detach built apps and show completion state
- Wait for Windows security scans
- Offer manual retry after Windows compiler locks
- docs: the agent workflow of record and the remote-control handoff protocol
- builder: dedicated-folder installer checks, catalog and runtime fixes; Windows job objects hold c_void handles
- tools: Arch USB clone/restore scripts, the qwen38 box scripts, and the G-belt serial test
- tools: the web server moves to makepad/webserver
- AGENTS.md: no vendored sources or bulk imports in the tree

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-18 12:17:59 +02:00