Admin
e1778776e9
audio_route example: print the samples that reached the processor each second -- a silent application gives no callbacks at all on macOS (0 samples, not silent buffers), which is what consumers idle on
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-25 00:04:41 +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
79ea9dc876
platform (windows): half-float RGBA textures have four channels -- TexturePixel::RGBAf16 was created as DXGI R16_FLOAT, one red channel, so on D3D11 the relief buffer lost its green, blue and height (a green display lit its neighbours red) and the gauss chain's blur levels lost everything but red; it is R16G16B16A16_FLOAT, as on Metal and Vulkan
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 23:15:27 +02:00
Admin
1530e2818b
builder: the menu opens on the first of YOUR APPS -- the start-up setup's work page left Build tools as the row to return to, so after a first install the cursor sat on Build tools; that is forgotten before the menu opens, while work started from the menu still returns to its row
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 23:11:29 +02:00
Admin
e6e18588c3
builder: wait out Windows security on fresh Rust -- moving the unpacked toolchain into place failed at once when a scanner still held files from the rustc check (Windows refuses to rename a folder with open files), which showed 'still scanning' to a new user; the rename now retries with the same bounded waits as the rustc check, both about 30 seconds in all, with a 'waiting for Windows security' status
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 23:08:00 +02:00
Admin
d02335e27b
builder: no menu flash after log-in -- the log-in screen checked the email through refresh_licenses, which switched to the main menu for its busy line, so the menu showed between typing the email and the setup screens; that check now keeps the log-in page and shows its busy line there
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 22:55:29 +02:00
Admin
706f8f295d
builder: the menu waits for a choice -- after log-in, graphics, agreements and build tools the Builder stops at the menu with the first app selected instead of downloading, compiling and opening Scope by itself
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 19:56:17 +02:00
Admin
addc9e9c7e
builder: a HEAD request is a HEAD -- fetch_method_progress sent every method but POST as GET, so asking the three Rust archives' sizes downloaded all of them (about 180 MB, no progress shown) before the real download started; HEAD now uses the HEAD method and an unknown method is an error. builder.log lines carry the seconds since start
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 19:27:33 +02:00
Admin
563cf38a9e
widgets: relief surfaces can swing their light toward a point -- set_relief_light_swing turns every surface's own light direction toward a given position (keeping its brightness), so a moving light re-shades bevels and shadows across a whole relief window; unswung windows pay one comparison per draw. glass and hello_world render pixel-identical
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 19:21:33 +02:00
Admin
dc1b8d193f
builder: no Scope command -- the menu row that put a scope shim on the user PATH (registry on Windows, ~/.local/bin and a shell profile line on Unix) and its repair on every start are gone; the Builder never edits the user PATH or shell profiles
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 19:18:11 +02:00
Admin
9f4c781444
builder: apps get the icon their package declares -- after the workspace's resources/icon.icns or icon_1024.png, the icon comes from icon = "…" under [package.metadata.makepad.desktop] in the package's Cargo.toml (as cargo makepad reads it), so Makepad Amp's exe and macOS bundle carry apps/music/resources/music-icon.png instead of the default
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 19:18:11 +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
6b6fbf003b
platform, widgets, ai: a restyle recompiles nothing it already has, shows only complete frames, and a window can own its caption -- generated shader helpers were named after their module's heap position, which moves on every restyle, so the Metal source text changed and every style switch recompiled ~20 pipelines, even back to a loaded style; helpers are now numbered by first call order within the shader, so a warm switch compiles 0 and misses 0 draws (was 47 missing per frame for 0.5 s). A style switch holds the old frame until three frames in a row are complete (no draw skipped, no pipeline pending), then crossfades; cx.pipelines_pending() and per-reason skipped-draw counts back it. A window can hide its stock caption and name its own drag region (set_drag_region), enforced on every event and draw so no re-apply brings the stock bar back; app keys in that region answer the drag query as client. The audio analyzer keeps a stereo history (latest_stereo). The AI engine runs a CLI model's tool calls as they stream in and shows the text between them
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 18:47:36 +02:00
Admin
5986d4f8ee
audio_route: one API on macOS, Windows and Linux, monitoring by default and processing only when asked, plus shaders that discard a value compile to WGSL
...
audio_route: the Core Audio process tap gains Windows (WASAPI process loopback; the source is ducked through its ISimpleAudioVolume) and Linux (the PulseAudio/PipeWire monitor of the source's sink; ducked through its stream volume) backends behind the same Route API. A route only monitors by default (copy for meters and visualisers; the app's own output is untouched). Route::set_processing turns processing on: the source is ducked to 2^-13 and boosted back by exactly 2^13 in float, so the processed signal is bit-exact. RouteConfig.state_dir keeps the duck state, so restore_after_crash puts a ducked volume back after a crash.
script/wgsl: an if/else whose branches end in a value nothing uses wrote that value as a bare statement (_phi_353;). Metal, GLSL and HLSL accept that, WGSL does not, so DrawMenuRow failed on Vulkan and menu rows lost their drawing (the theme chips on Linux). ShaderBackend::write_discarded_expr writes such values as `_ = expr;` for WGSL and keeps void calls as statements, in both places that emit leftovers. MAKEPAD_TRACE=shader.wgsl lifts the two-error log suppression.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 18:45:23 +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
624c8e3bc3
builder previews: long work gets a page of its own (steps as a checklist, the current one carrying its bar, footer working · ctrl+c stops), Account shows ✓ email, and the Disk action reads clear build data
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 17:54:42 +02:00
Admin
27a2bd09fa
platform (windows): every window keeps animating with several windows open -- the per-window frame beat held back a window that was keeping a spare DXGI credit (it never presented again, which is why things only moved during a window drag), stepped animations only on the first-registered window (a move re-registers it last), and always served the first ready window; the wait now serves the least recently served window first, the animation clock steps once per refresh on whichever beat arrives first (wall-clock fallback), only windows actually waiting for a beat are held back and a held pass keeps its previous paint state, and a finished move/resize drains the extra credits it created (Present had been blocking the UI thread a frame deep). An instance upload with zero instances no longer asks D3D11 for a zero-byte buffer. Amp with its pop-out: 32/32 presents per second on the 32 Hz remote display with one or two windows and after moving either.
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 17:52:11 +02:00
Admin
b3159c7d35
builder: a refused email says "Email not recognised" and keeps what was typed for fixing
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 17:48:30 +02:00
Admin
a65be5428d
builder: a refused email opens the editor again with what was typed and says why, and the app section is YOUR APPS -- when the server answers not enabled / unknown, the log-in screen and Account keep the text with a yellow reason line (Return checks again, Esc keeps the previous email); offline or server errors do not; YOUR LICENSES is renamed YOUR APPS in the TUI, the previews and AGENTS.md
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 17:33:08 +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
c052c25da4
builder: the GPU notice is remembered -- choosing I understand writes graphics-notice-read in the install folder, so later starts on Windows and Linux skip it; the Graphics row reopens it and MAKEPAD_GPU_ACK is gone
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 15:21:26 +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
ccf108c778
git: worktree status matches git on real repositories and can be cancelled -- status looks at symlinks themselves (a tracked link to a folder no longer fails the whole status; untracked links are one entry), shows an untracked nested repository as one dir/ entry and skips tracked submodules, uses the real GitIgnore matcher (the old one missed a root **/target/ and reported ~147k false untracked files) with the user's global excludes file, and gains status_cancellable / compute_status_cancellable so long walks honour a budget. Output is identical to git status --porcelain=v1 on makepad (1680 records) and scope.
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 14:41:51 +02:00
Admin
3993ebb2f7
sheets, score, git, home: saves cannot cut a file short or overwrite another one, and checkouts cannot write outside the repository -- Sheets and Score save through a temp file renamed into place, refuse an empty path, and ask (a second Save) before replacing a file that is not the document's own; Sheets says when formulas were saved as values. The git library rejects tree entry names "", ".", "..", ".git" and any containing / \ or NUL, and refuses to write or remove through a symlinked parent folder. An empty MAKEPAD_HOME counts as unset everywhere it is read, so caches never land in the current folder.
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 14:20:07 +02:00
Admin
27ae3e2fad
director: coding agents ask before acting unless you choose otherwise -- the hard-coded --dangerously-skip-permissions / --dangerously-bypass-approvals-and-sandbox flags are gone; Settings > Coding agents has, per agent (Claude, Codex, Grok), a "Let this agent act without asking (bypass permissions)" checkbox (off by default; adds the provider's own flag, Grok --always-approve) and a custom-arguments field (empty by default; split like shell words without a shell), stored in agent_arguments.ron beside settings.ron and read at every launch and resume.
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 14:20:07 +02:00
Admin
cb97f351b7
files: the Files app deletes nothing and never overwrites -- Move to Trash, Delete Permanently, their shortcuts, the two-press confirm, the AI "trash" tool and the trash/delete operations are removed; a per-platform "Show in Finder / Explorer / File Manager" row (open -R, explorer /select, xdg-open on the parent, no shell) takes their place so deleting happens in the system's own file manager. Undo of copies and new folders (which deleted what they made) is gone, moves are renames only (another disk: copy instead), and moves, undo, copies and renames refuse an existing target instead of replacing it.
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 14:12:27 +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
90b6a05813
platform: the pipeline-skip repaint mark exists only on Apple, where Metal reads it -- it warned as never read on Android, Windows and Linux
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 13:53:23 +02:00
Admin
f0754226ec
platform: Android builds without Vulkan compile again, and the font-selection test counts the hosted entry point -- android_hosted.rs used the Vulkan renderer unconditionally, so every default (OpenGL) Android check failed to compile; the Vulkan paths now build only with use_vulkan behind small helpers, and a hosted child in a GL build logs that it needs MAKEPAD=vulkan and exits. makepad_hosted_main is the fifth entry point calling new_cx_with_font_set
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 13:51:07 +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
e047d2a790
platform, widgets, audio_route, ai: window crossfades and whole-frame presents, caption controls that click, themed menus, a stereo-pair audio tap, and the AI chat on local Claude Code / Codex with images -- a window can snapshot its presented frame and crossfade it over the next one (0.25 s, Metal; other backends cut), and can hold a frame until everything in it is on the GPU so a relayout appears in one step; app controls in the caption bar answer the window's drag query as client so real clicks reach them; menus scroll within the window and keep a readable text/background contrast, drop-downs take their popup look from the host; relief surfaces gain a texture light knee, spill tint and screen colour maps. audio_route taps a player's output on the device's own stereo pair (no system downmix, device rate and channel order) and reports its format and permission without prompting. The AI chat can use a logged-in Claude Code or Codex CLI as its model (tools as tagged text blocks), attach dropped images, and pick its model; the speech lib gains opt-in GPU pacing, a shorter audio context and a token cap; audio tags expose bpm. The remote bridge gains window resize and drag-query probes
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 13:48:31 +02:00
Admin
dc1de829e1
widgets: relief surfaces can travel like mechanical keys, and dark surfaces take less neighbour light -- ReliefView gains a timed press, a travel that moves the surface and its children down into its slot, and a latch that holds it down while its function is on, all off by default; spill_dark lets a dark surface take a fraction of the light a white one would, and near-white texture-light frames are damped harder so a white flash no longer washes dark bezels pale
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 01:38:57 +02:00
Admin
149138afc7
widgets, platform: a texture can light the relief buffer, menus take colour chips, and a style reload recompiles changed shader functions -- relief_texture_light makes any texture a light source for neighbouring surfaces: the relief pass runs after the texture's producing pass in the same frame and repaints only when that producer painted, with a soft knee (and damping of near-white frames) so a flash does not flood every bevel; the buffer gained a fifth, widest blur level so spill washes the near half of a neighbouring face, surfaces take a style-wide spill tint and ceiling, and ReliefView caps can follow a held button. MenuRow::swatch(fill, dot) puts a colour chip before a row's label. A style reload re-evaluates Splash modules under the names they had, so the object- and function-address shader caches handed back the previous shader or another template's (changes landing a reload late, or on the wrong surface); a pending style reload now clears those two caches like a file-change live edit does, keeping the code-keyed cache so unchanged shaders do not recompile. examples/skeuomorph gains an animated plasma screen lighting the keys beside it. glass renders pixel-identical, hello_world differs only in its animated GIF
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-24 01:11:51 +02:00
Admin
1c64cfdfeb
widgets, draw: skeuomorphic surfaces light each other through an optional relief buffer -- mod.sdf.Material shades a widget from its own SDF (height profile, normals, key light, inner shadow, AO, rim, gloss, cast shadow, revolve-profile knobs, a ±1 LSB screen dither and optional grain); widgets that opt in register lit shapes (rounded box or disc with a height and an emissive colour) keyed by their draw list, and the window renders them once into a quarter-resolution f16 height+emissive buffer with its own blur chain, rebuilt only when the shapes change, so a lit LED spills onto its neighbours' bevels, raised parts cast AO between widgets, and nothing renders at rest. Material draws bind the same textures, so batching is unchanged (39 draw calls with and without). A window with no lit shapes allocates and records nothing; hello_world and glass render pixel-identical to before. examples/skeuomorph shows a Bluetooth key, lit ON/OFF buttons, a knob with an LED ring and a segmented control
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-23 23:49:22 +02:00
Admin
2a3db09653
director: agent lanes form a tree and Grok joins the usage bar -- lanes start child lanes the person can see, Grok's weekly allowance comes from its own billing call, and lanes are hosted by the agents binary on macOS and Linux too
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-23 22:34:45 +02:00
Admin
b9e58a99fe
mail: the local view takes a theme-derived palette and line icons, search pages share records -- Reply and Open in Mail get icons, --size WxH checks breakpoints
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-23 22:34:45 +02:00
Admin
79873edaeb
files: the tile view's three projections are toolbar buttons -- 2D, 2.5D and Perspective open the treemap directly
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-23 22:34:45 +02:00
Admin
d838ea6aae
diskmap: a scan lists each macOS directory in one getattrlistbulk call and classifies files without allocating or locking -- a photo-heavy home folder no longer waits on a mutex
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-23 22:34:45 +02:00
Admin
f937750491
ai llm: a Metal main buffer is filled in 32 MB chunks -- no host copy the size of the whole buffer under a capped allocator
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-23 22:34:45 +02:00
Admin
e290165556
ai: the hub's rig-fixture tests find the asset library without the asset client -- the hub never depended on it
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-23 22:34:45 +02:00
Admin
371b5dc458
git: timings read a portable clock -- std::time::Instant panics on wasm; the crate reads the host clocks the platform already imports
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-23 22:34:45 +02:00
Admin
f0e7064364
cef: captured frames and audio carry callback clocks and a navigation epoch -- Stage's browser recording measures AV sync and drops paints from the previous page
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-23 22:34:45 +02:00
Admin
84368eec4b
flowgraph: ordered ports take many wires, sockets can override their icon, and the canvas embeds as a viewport -- what Stage's flow product builds against
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-23 22:34:45 +02:00
Admin
dc0ccb4281
agents: a user touching an app under test no longer stops the agent -- input invalidates the interrupted input sequence, not the authorization to keep inspecting, driving, closing and restarting the workflow's app (user instruction 2026-09-22); CEF apps keep their browser profile per executable name, so a replacement launch passes MAKEPAD_CEF_PROFILE_DIR and never shares the user's profile with a second instance
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-23 22:34:45 +02:00
Admin
d15996efd9
task, cargo-makepad, widgets, audio: the task manager chooses its columns, graphs every process' network and disk traffic and installs itself as a Dock app built by cargo makepad -- cargo makepad desktop bundle -p <crate> [--install[=DIR]] builds a self-contained, signed macOS .app (MAKEPAD_PACKAGE_DIR=resources in its own target dir, every dependency's resources plus only the fonts the binary's manifest names, icon from [package.metadata.makepad.desktop], per-app usage strings, signed with the Apple Development identity so privacy grants survive rebuilds) and installs it outside target/ (default ~/.makepad/apps), replacing the per-app package-macos.sh scripts
...
- task: a right-click column chooser (sections as flyouts, Default Columns), every figure and graph its own sortable column, dragged order and widths saved; per-process network bytes/packets from the kernel's ntstat control socket (matches nettop, no root), disk bytes, footprint and idle wake-ups every tick; history journal v4
- widgets: data_grid_columns, one column helper (chooser, reorder, resize, fit, sort cycle, layout text) that task uses and other tables can reuse; the menu engine refreshes marks inside an open flyout; the segmented control centres its labels on the line height and no longer glides after a moved row
- svg: a stroke join never connects to the previous subpath (the diagonal through outline icons)
- platform: home::app_data_dir; script: ScriptIp body ids widened to 14 bits (16384 bodies, was 4096) with an index of 26 bits, and a clear stop instead of aliasing past the limit
- audio_route (new): tap an app's audio output through the Core Audio process tap into a host processor (equalizer, gain, limiter, analyzer) and play it; audio_picture owns the one FFT; audio_decode probes tags and length from a file's head and tail; search::fold_words; zip_file reads archives with a trailing comment
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-23 22:34:45 +02:00
Admin
6907154d02
wm on Android: the look switcher stays put, the iOS dock shows its icons, background apps follow a look change -- the Light / Dark / iOS pill moved between skins and crowded the clock; it now sits at one spot in every look, centred above the page dots / All apps row. In the iOS skin the dock's glass bar was drawn over its icons; the glass draws first now. An idle background child applied a look change only after it next got input (the idle-wake work in b61ab763e left it without a tick); it applies it at once, and a tile-only app shows its current tile on its own ground in the new look
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-23 22:34:45 +02:00
Admin
50991700b2
wm on Android: Recents shows the apps over a receding home, and the home screen switches looks -- opening Recents from Home placed every card a screen width off-screen unless a lift had paused, so only headers showed; cards are placed at once now and only a paused lift slides them in. Behind the cards the home recedes to 0.92 and fades while the wallpaper dims to the launcher's 100/255 scrim, continuous with the lift and eased on release, instead of jumping to the tonal grey surface. A Light / Dark / iOS pill on the clock row (above the page row on iOS and in landscape) switches the shell look live, hosted apps keep their processes, and the choice persists as shell.look. A paused lift no longer draws the overlay's fallback status ground as a white strip
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-23 22:34:45 +02:00
Admin
5ac42f026d
wm on Android: the shell follows the Pixel launcher's motion -- launching from an icon grows the window from an icon-sized circle over 500 ms on the emphasized curves while the icon crossfades out (25-75 ms) and home scales to 0.97; releasing an app to Home flies it into its icon or tile on Quickstep's three springs (dock-row circle fallback), gone by 85% while home reveals from 0.85 over 1 s; the lift subtracts the 11.3 dp slop, a motion pause opens Recents with a haptic click and neighbour cards sliding in over 300 ms, >= 36 dp goes Home; All Apps is a full-screen panel rising 300 dp with the launcher's fades, home at 0.97 and hidden at 40%, opening past 40% or on a > 1 dp/ms fling. Cx::haptic_feedback reaches the Activity's performHaptic. The status band keeps the app's last sampled colour while a Recents card opens. Latency: a finger move goes to a hosted child at once with its own tick and every batched MotionEvent sample reaches it (Mail scroll touch->present 22.1 -> 15.7 ms mean). Values from AOSP Launcher3/Quickstep
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-23 22:34:44 +02:00