makepad/libs
andodeki a3d8f521a9 fix(game/render): port EntityLocal particle anchors from libs/render
makepad-game-sim added EmitterAnchor::EntityLocal but game/render's
ParticleSystem still matched only Entity/Point (E0004). Port the
libs/render implementation: step() now resolves (pos, yaw) so a local
offset turns with its body; add clear(). Arcade caller passes yaw.
2026-09-26 11:17:02 +00:00
..
ab_glyph_rasterizer git lib added 2026-02-18 10:04:26 +01:00
adler2 First 2.0 2026-02-12 14:52:33 +01:00
ai fix(fork): refresh ai-hub from upstream work - HttpServerHandle API 2026-09-26 03:14:42 +03:00
android_state Restore overwritten change in internal makepad-android-state library (#763) 2025-05-29 17:38:43 +02:00
app_module libs: sqlite WITHOUT ROWID reads, an in-repo tar reader, packed git imports, a Haskell lexer, and the AI crate warning cleanup 2026-09-18 12:15:55 +02:00
apple_sys platform, wm: work builds again on iOS, tvOS and wasm, and the window manager is warning-free on Windows -- found by the first runs of the CI, which checks every app on every target in cargo makepad's matrix 2026-09-21 21:22:33 +02:00
archive_org apps: vj 2026-09-15 13:40:29 +02:00
asset Merge upstream origin/work 5f99533 into nigig fork alongside dev 2026-09-25 17:32:26 +03:00
audio_decode 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 2026-09-24 13:48:31 +02:00
audio_encode tools, arch, docs, workspace, examples, sqlite, wasm_bridge 2026-09-15 13:40:33 +02:00
audio_picture 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 2026-09-23 22:34:45 +02:00
audio_route 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 2026-09-25 00:04:41 +02:00
base64 libs: sqlite WITHOUT ROWID reads, an in-repo tar reader, packed git imports, a Haskell lexer, and the AI crate warning cleanup 2026-09-18 12:15:55 +02:00
bitflags cleanup 2026-02-12 15:02:01 +01:00
bounded_http asset-ui, asset-server, libs/asset 2026-09-15 13:40:30 +02:00
box3d apps: vj 2026-09-15 13:40:29 +02:00
bytemuck libs: no warnings in the workspace check on any row -- the CI box checks every package on every target, and the library crates, which have no tile of their own, warned on the rows nobody builds by hand. On wasm and mobile, things are gated with their users: the workspace document worker (its commands, payloads, retry constants and Drop are native; the wasm API stays, behind an uninhabited worker whose constructors answer that the browser has no document worker), the hub's unused non-Unix available_bytes and its ram facts parser, the loader's ArenaPtr, system_speech's bcp47. On the tvOS rows, the only ones built on nightly, the legacy numeric constants and functions become the associated constants they have been since Rust 1.43 (micro_serde, bytemuck, rustybuzz, unicode-script, smallvec, weezl); fetch_update keeps its name under allow(deprecated) in stitch, git and the map archive, since try_update does not exist on older stable toolchains; objc-sys declares free with the signature the standard library uses; rustybuzz calls its own method through a path that a future std method of the same name cannot shadow; and the Script derive's unused helper attribute splat, which nightly now reserves as a built-in, is spelled script_splat (nothing in makepad, Scope or Stage uses it) 2026-09-22 00:02:28 +02:00
byteorder cleanup 2026-02-12 15:02:01 +01:00
byteorder-lite terminal work/ webp 2026-02-17 18:11:36 +01:00
cef Merge upstream origin/work 5f99533 into nigig fork alongside dev 2026-09-25 17:32:26 +03:00
cfg-if First 2.0 2026-02-12 14:52:33 +01:00
civil_time civil-time: one local wall clock for every app, and it knows the zone on Windows -- the Clock app said "UTC" on Windows because its localtime_r copy was Unix-only; clock, calendar, task, mail and wm each carried their own copy (mail's macOS-only, wm's with a separate GetLocalTime path). makepad_civil_time::local() now breaks an epoch second down by the OS's own zone rules (localtime_r on Unix, FileTimeToSystemTime + SystemTimeToTzSpecificLocalTime on Windows, so DST applies at that instant) with the UTC offset, and all five apps use it 2026-09-25 10:22:16 +02:00
code_arch apps: director, studio, scope, aichat 2026-09-15 13:40:29 +02:00
code_language libs: sqlite WITHOUT ROWID reads, an in-repo tar reader, packed git imports, a Haskell lexer, and the AI crate warning cleanup 2026-09-18 12:15:55 +02:00
converse Merge upstream origin/dev fda40f56 into nigig fork - preserve nigig hub/web_server, take upstream dev updates 2026-09-25 17:25:35 +03:00
core_util Remove Flow, asset and VJ applications moved into Stage 2026-09-21 23:09:50 +02:00
crc32fast cleanup 2026-02-12 15:02:01 +01:00
csg Merge upstream origin/dev fda40f56 into nigig fork - preserve nigig hub/web_server, take upstream dev updates 2026-09-25 17:25:35 +03:00
diffusion libs: ai hub/models/cuda, speech, chat_ui 2026-09-15 13:40:31 +02:00
diskmap 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. 2026-09-24 14:20:07 +02:00
drumkit libs: piano_model, drumkit_phys, show_control, score_view, diffusion 2026-09-15 13:40:32 +02:00
drumkit_phys libs: piano_model, drumkit_phys, show_control, score_view, diffusion 2026-09-15 13:40:32 +02:00
dual-contouring Initial commit 2025-05-06 10:11:37 +02:00
error_log platform: topic hunks the per-commit assembly could not place, the Sep 2–15 dev PRs (#1208–#1236) as adapted to this tree, and the zero-warning chore 2026-09-15 13:40:33 +02:00
fab platform, widgets, wm: a touch that is taken away is cancelled, never released -- in the WM's phone skin the mouse now reaches the foreground app as a touch, and scrolling Mail then lifting opened the message under the finger: a list that took over a drag had no way to tell the pressed row it lost the press, and the same happened on real phones. Cancellation is now a contract. Event::FingerCancel and FingerUpEvent.cancelled carry it; was_tap() rejects it and no long press fires. claim_finger_gesture makes one owner per finger: PortalList and ScrollBar claim only with touch travel along their own axis (mouse drags scroll as before), and every loser, ancestors included, gets its terminal cancel in the same dispatch and never moves again. Pressed rows are cancelled before a list recycles them, cancels reach hidden widgets, and captures retire only after every consumer sharing the area has seen the cancel. iOS touchesCancelled and Android ACTION_CANCEL arrive as cancels and end an internal drag without a Drop. The WM relays StudioToApp::MouseCancel (appended, existing tags pinned) only to children that advertise it; inside a child it dispatches as FingerCancel. Widgets and apps that activated, committed, dropped, flung or resampled on any release now clear their state without acting (buttons, radios, menus, DataGrid, Kanban, Carousel, WheelPicker, RadialMenu, Modal, Dialog, Popover, colour controls, video hold-to-pause, maps, the Files treemap and tiles, Weather, Clock, AIChat, fab, flowgraph and more). 2026-09-23 22:34:43 +02:00
fab_tour tests: the last three failures of the CI box's night -- the dock clips a reported tab header on the tab bar's scroll axis only, since a tab's own height is its own and clipping it to the bar's box moved the tab's reported centre by a logical pixel and a half (the text centring test measured the "H" tab against that rect and failed everywhere); the Files cancel test walks a made-up home under the temp dir instead of the real one, whose Desktop, Documents and Downloads block on a macOS permission dialog that nobody at a CI box answers (the whole suite hung on it for an hour, and that dialog was the "release wants access to Downloads" the person at the box saw); and the tour generation's "feels instant" budget stays two seconds for the release build it describes while a debug build, where the same work takes 1.7 s on a fast laptop, gets a proportionate eight and the best of three runs, so a busy CI box does not fail it by a few percent 2026-09-22 08:46:45 +02:00
fabric tools, arch, docs, workspace, examples, sqlite, wasm_bridge 2026-09-15 13:40:33 +02:00
fast_inflate platform: the retained renderer for Scope, the vulkan cargo feature and Cx::gpu_backend() 2026-09-18 12:14:21 +02:00
filesystem_watcher Merge upstream origin/dev fda40f56 into nigig fork - preserve nigig hub/web_server, take upstream dev updates 2026-09-25 17:25:35 +03:00
flate2 cleanup 2026-02-12 15:02:01 +01:00
flow/src Merge upstream origin/work 5f99533 into nigig fork alongside dev 2026-09-25 17:32:26 +03:00
flowgraph 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 2026-09-23 22:34:45 +02:00
frametween apps: vj 2026-09-15 13:40:29 +02:00
futures compile 2026-02-10 18:26:51 +01:00
futures_legacy compile 2026-02-10 18:26:51 +01:00
fxhash cleanup 2026-02-12 15:02:01 +01:00
game fix(game/render): port EntityLocal particle anchors from libs/render 2026-09-26 11:17:02 +00:00
geodata Merge upstream origin/dev fda40f56 into nigig fork - preserve nigig hub/web_server, take upstream dev updates 2026-09-25 17:25:35 +03:00
gif gif: the crate's doc examples compile -- they were the upstream crate's, naming it gif, and failed as doc tests in every workspace test run; they alias the crate under that name and are compile-only, since they open sample files the repository does not carry 2026-09-22 09:36:13 +02:00
git 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. 2026-09-24 14:41:51 +02:00
gltf libs: model, mesh_edit, csg, scene, sim, render, xr 2026-09-15 13:40:31 +02:00
html Html: fix collapsed details with void tags corrupting table layout (#1222) 2026-09-11 10:54:28 +02:00
i_float Vendor i_overlay polygon boolean crates into libs/ 2026-07-31 00:10:52 +02:00
i_key_sort Vendor i_overlay polygon boolean crates into libs/ 2026-07-31 00:10:52 +02:00
i_overlay Vendor i_overlay polygon boolean crates into libs/ 2026-07-31 00:10:52 +02:00
i_shape Vendor i_overlay polygon boolean crates into libs/ 2026-07-31 00:10:52 +02:00
i_tree Vendor i_overlay polygon boolean crates into libs/ 2026-07-31 00:10:52 +02:00
image_tiles Merge upstream origin/work 5f99533 into nigig fork alongside dev 2026-09-25 17:32:26 +03:00
jni-sys vulkan vendoring completed 2026-02-16 09:10:27 +01:00
jpeg-encoder vulkan vendoring completed 2026-02-16 09:10:27 +01:00
latex_math First 2.0 2026-02-12 14:52:33 +01:00
linux platform: the retained renderer for Scope, the vulkan cargo feature and Cx::gpu_backend() 2026-09-18 12:14:21 +02:00
live_id compile 2026-02-10 18:26:51 +01:00
live_reload_core xr otw 2026-03-12 15:51:30 +01:00
loader_bundle libs: sqlite WITHOUT ROWID reads, an in-repo tar reader, packed git imports, a Haskell lexer, and the AI crate warning cleanup 2026-09-18 12:15:55 +02:00
lz4 wm: the Android super-app compiles tiles on the phone against the host engine 2026-09-18 17:50:20 +02:00
makepad_test fix(fork): add Touch protocol names to makepad-test studio_msg_name 2026-09-26 03:07:45 +03:00
map_build Merge upstream origin/work 5f99533 into nigig fork alongside dev 2026-09-25 17:32:26 +03:00
map_nav libs: geodata, map_build, mbtile_reader, map_nav 2026-09-15 13:40:32 +02:00
math platform: rename the CPU simulated-GPU backend from headless to gpusim 2026-09-15 13:40:28 +02:00
mb3d xr otw 2026-03-12 15:51:30 +01:00
mbtile_reader libs: geodata, map_build, mbtile_reader, map_nav 2026-09-15 13:40:32 +02:00
memchr cleanup 2026-02-12 15:02:01 +01:00
mesh_edit libs: model, mesh_edit, csg, scene, sim, render, xr 2026-09-15 13:40:31 +02:00
micro_proc_macro id change 2026-02-07 16:53:33 +01:00
micro_serde libs: no warnings in the workspace check on any row -- the CI box checks every package on every target, and the library crates, which have no tile of their own, warned on the rows nobody builds by hand. On wasm and mobile, things are gated with their users: the workspace document worker (its commands, payloads, retry constants and Drop are native; the wasm API stays, behind an uninhabited worker whose constructors answer that the browser has no document worker), the hub's unused non-Unix available_bytes and its ram facts parser, the loader's ArenaPtr, system_speech's bcp47. On the tvOS rows, the only ones built on nightly, the legacy numeric constants and functions become the associated constants they have been since Rust 1.43 (micro_serde, bytemuck, rustybuzz, unicode-script, smallvec, weezl); fetch_update keeps its name under allow(deprecated) in stitch, git and the map archive, since try_update does not exist on older stable toolchains; objc-sys declares free with the signature the standard library uses; rustybuzz calls its own method through a path that a future std method of the same name cannot shadow; and the Script derive's unused helper attribute splat, which nightly now reserves as a built-in, is spelled script_splat (nothing in makepad, Scope or Stage uses it) 2026-09-22 00:02:28 +02:00
midi_file score: the notation suite — engraving, layout, playback, midi and musicxml import, the physical piano model, and the score app 2026-09-01 16:46:32 +02:00
model Remove Flow, asset and VJ applications moved into Stage 2026-09-21 23:09:50 +02:00
mp4_index ai stems: LaneDemixer, VocalsModel and the platform Stage origin/main needs 2026-09-19 21:36:09 +02:00
musicxml score: the notation suite — engraving, layout, playback, midi and musicxml import, the physical piano model, and the score app 2026-09-01 16:46:32 +02:00
objc-sys libs: no warnings in the workspace check on any row -- the CI box checks every package on every target, and the library crates, which have no tile of their own, warned on the rows nobody builds by hand. On wasm and mobile, things are gated with their users: the workspace document worker (its commands, payloads, retry constants and Drop are native; the wasm API stays, behind an uninhabited worker whose constructors answer that the browser has no document worker), the hub's unused non-Unix available_bytes and its ram facts parser, the loader's ArenaPtr, system_speech's bcp47. On the tvOS rows, the only ones built on nightly, the legacy numeric constants and functions become the associated constants they have been since Rust 1.43 (micro_serde, bytemuck, rustybuzz, unicode-script, smallvec, weezl); fetch_update keeps its name under allow(deprecated) in stitch, git and the map archive, since try_update does not exist on older stable toolchains; objc-sys declares free with the signature the standard library uses; rustybuzz calls its own method through a path that a future std method of the same name cannot shadow; and the Script derive's unused helper attribute splat, which nightly now reserves as a built-in, is spelled script_splat (nothing in makepad, Scope or Stage uses it) 2026-09-22 00:02:28 +02:00
ondevice_build wm on Android: apps build on the phone -- the multi-process WM's APK can now carry the toolchain, source tree and prebuilt target/ (proc-pack --proc-toolchain=<tc>, written as wm-proc-ondevice.apk), like wm-dyn's super-app, but without the engine dylib: each app is a small generated wrapper crate linking the engine statically, so an on-device cargo build reuses the shipped engine rlibs and compiles only the app. With debug.makepad.wm.ondevice=1 the launcher (--build) builds the app before loading it; builds take turns on a lock, each finished library is copied to its own file in files/run/ and loaded from there, and a build or lock wait past its deadline (300 s, 600 s for the first proc-macro bootstrap) is killed with its process group and the APK's prebuilt library runs instead. Provisioning, unpacking and the proc-macro bootstrap moved out of the WM's dylib host into libs/ondevice_build, shared with wm-dyn (streaming LZ4 parts, same stamps and paths); dyn-pack's staging was factored so proc-pack reuses it. The debuggable switch is opt-in and only for the on-device APK. Proven on a Pixel 11 Pro XL: calculator's source edited in the phone's copy rebuilt in 12.7 s and showed the change; four apps built in turn in about 6 s each 2026-09-23 22:34:44 +02:00
openexr mipmapping 2026-03-09 09:18:33 +01:00
pdf_parse mp*: the treemap camera era — canon-space packing, 2.5D and orbit views, streaming walks, the qwen sidepanel; mpwm linux desktop integration; pdf_parse recovery 2026-09-01 16:46:34 +02:00
piano_model tests: the three binaries over ten seconds in release come under it -- the user's law is the whole suite in about two minutes, in release, and the CI now runs every test binary of its selection several at a time with a cap on each, so one long binary is the run's floor. Grok measured every binary the debug-era table named (release harness time): fourteen were already under 10 s and are untouched; three were not. Widgets --lib (1822 tests) 17.4 s -> 8.0 s: no single slow test; every test built a fresh Cx and registered the widget library on it (45 ms each, in release), and libtest runs each test on its own thread, so nothing could be kept. Test modules that build widgets now run their cases through on_test_cx on four threads that stay up and keep one registered Cx each (checkout_test_cx); finger, key, pass, draw-list and window state is cleared on every checkout so a case that locks a sweep or draws a menu leaves nothing for the next. The style-reload tests keep their own contexts: a reload would change the next case. The isolate cost table measures batches of 1 and 2 (the four sizes measured 30.06, 29.92, 29.63 and 29.49 ms per isolate: flat), and the two sheet-contrast tests read one walk of every sheet from a OnceLock instead of building the library twelve times each. Director mcp_battery 10.2 s -> 0.4 s: the slowloris test waited out the production head deadline of 10 s; McpServer::start_with_head_deadline takes the budget, production start still passes HEAD_DEADLINE_MS (asserted), and the test proves the socket is held until an 80 ms budget and closed after it. Piano acoustic_reference 11.6 s -> 8.6 s: the promotion renders are 2.5 s instead of 4.0 s, which covers every sample measure and onset read (2.0 s after an onset found in the first 0.5 s). No test is ignored, deleted or loosened. The review dropped the lane's short-circuit in script_mod (a library change for a test's sake: the one test helper that re-registered on a pooled context no longer does) and its per-module pool thread-locals that the checkout never read. 2026-09-22 12:29:54 +02:00
pulldown-cmark cleanup 2026-02-12 15:02:01 +01:00
rabin-karp add studio proto 2026-03-02 12:46:52 +01:00
rapier rapier bench: --stages/--probe diagnostic modes + live stage timers 2026-07-06 00:24:56 +02:00
raytrace libs: model, mesh_edit, csg, scene, sim, render, xr 2026-09-15 13:40:31 +02:00
regex fix(fork): refresh libs/regex from upstream work - ascii_word_boundary 2026-09-26 03:02:48 +03:00
remesh engine libs: render and sim for a strategy round, the per-unit decision hook, the mp4 sample index, stitch and xatlas quieted, example refresh 2026-09-01 16:46:35 +02:00
render Merge upstream origin/dev fda40f56 into nigig fork - preserve nigig hub/web_server, take upstream dev updates 2026-09-25 17:25:35 +03:00
rmeta cargo-makepad: the super-app APK is packed by android dyn-pack, in Rust 2026-09-18 19:02:50 +02:00
rtsmap maps + route: the self-baking Amsterdam test map, reversible mkmap weave, the rtsmap generator, road faces, guarded first-run 2026-09-01 16:46:33 +02:00
rust_tokenizer apps: director, studio, scope, aichat 2026-09-15 13:40:29 +02:00
rustybuzz fix(text): enable ttf-parser gvar-alloc for many-tuple variable fonts 2026-09-23 22:34:43 +02:00
scene Merge upstream origin/dev fda40f56 into nigig fork - preserve nigig hub/web_server, take upstream dev updates 2026-09-25 17:25:35 +03:00
score score: the notation suite — engraving, layout, playback, midi and musicxml import, the physical piano model, and the score app 2026-09-01 16:46:32 +02:00
score_import score: the notation suite — engraving, layout, playback, midi and musicxml import, the physical piano model, and the score app 2026-09-01 16:46:32 +02:00
score_layout score: the notation suite — engraving, layout, playback, midi and musicxml import, the physical piano model, and the score app 2026-09-01 16:46:32 +02:00
score_pdf score: the notation suite — engraving, layout, playback, midi and musicxml import, the physical piano model, and the score app 2026-09-01 16:46:32 +02:00
score_play score: the notation suite — engraving, layout, playback, midi and musicxml import, the physical piano model, and the score app 2026-09-01 16:46:32 +02:00
score_render libs: piano_model, drumkit_phys, show_control, score_view, diffusion 2026-09-15 13:40:32 +02:00
score_ui 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. 2026-09-24 14:20:07 +02:00
score_view libs: piano_model, drumkit_phys, show_control, score_view, diffusion 2026-09-15 13:40:32 +02:00
sdfer vulkan vendoring completed 2026-02-16 09:10:27 +01:00
search 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 2026-09-23 22:34:45 +02:00
shared_bytes platform: the retained renderer for Scope, the vulkan cargo feature and Cx::gpu_backend() 2026-09-18 12:14:21 +02:00
shell cargo_makepad: don't include resources/android/ios on every platform (#1157) 2026-08-01 10:26:31 +02:00
show_control libs: piano_model, drumkit_phys, show_control, score_view, diffusion 2026-09-15 13:40:32 +02:00
sim fix(fork): restore nigig game-sim/math + workspace members, take upstream finance/route manifests - preserve game crates alongside dev/work split into scene/soft-body 2026-09-25 20:12:03 +03:00
simd-adler32 Arcade M6+M7: packaging/sharing with sandboxed installs, and the pretty pass 2026-08-03 03:27:09 +02:00
smallvec libs: no warnings in the workspace check on any row -- the CI box checks every package on every target, and the library crates, which have no tile of their own, warned on the rows nobody builds by hand. On wasm and mobile, things are gated with their users: the workspace document worker (its commands, payloads, retry constants and Drop are native; the wasm API stays, behind an uninhabited worker whose constructors answer that the browser has no document worker), the hub's unused non-Unix available_bytes and its ram facts parser, the loader's ArenaPtr, system_speech's bcp47. On the tvOS rows, the only ones built on nightly, the legacy numeric constants and functions become the associated constants they have been since Rust 1.43 (micro_serde, bytemuck, rustybuzz, unicode-script, smallvec, weezl); fetch_update keeps its name under allow(deprecated) in stitch, git and the map archive, since try_update does not exist on older stable toolchains; objc-sys declares free with the signature the standard library uses; rustybuzz calls its own method through a path that a future std method of the same name cannot shadow; and the Script derive's unused helper attribute splat, which nightly now reserves as a built-in, is spelled script_splat (nothing in makepad, Scope or Stage uses it) 2026-09-22 00:02:28 +02:00
soft_body libs: model, mesh_edit, csg, scene, sim, render, xr 2026-09-15 13:40:31 +02:00
soundfont score: the notation suite — engraving, layout, playback, midi and musicxml import, the physical piano model, and the score app 2026-09-01 16:46:32 +02:00
splat libs/render + xr: levels, player navigation, and Gaussian splats that sort on the GPU 2026-08-23 01:34:35 +02:00
sqlite_query Merge upstream origin/dev fda40f56 into nigig fork - preserve nigig hub/web_server, take upstream dev updates 2026-09-25 17:25:35 +03:00
stitch libs: no warnings in the workspace check on any row -- the CI box checks every package on every target, and the library crates, which have no tile of their own, warned on the rows nobody builds by hand. On wasm and mobile, things are gated with their users: the workspace document worker (its commands, payloads, retry constants and Drop are native; the wasm API stays, behind an uninhabited worker whose constructors answer that the browser has no document worker), the hub's unused non-Unix available_bytes and its ram facts parser, the loader's ArenaPtr, system_speech's bcp47. On the tvOS rows, the only ones built on nightly, the legacy numeric constants and functions become the associated constants they have been since Rust 1.43 (micro_serde, bytemuck, rustybuzz, unicode-script, smallvec, weezl); fetch_update keeps its name under allow(deprecated) in stitch, git and the map archive, since try_update does not exist on older stable toolchains; objc-sys declares free with the signature the standard library uses; rustybuzz calls its own method through a path that a future std method of the same name cannot shadow; and the Script derive's unused helper attribute splat, which nightly now reserves as a built-in, is spelled script_splat (nothing in makepad, Scope or Stage uses it) 2026-09-22 00:02:28 +02:00
strict_json libs: model, mesh_edit, csg, scene, sim, render, xr 2026-09-15 13:40:31 +02:00
svg 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 2026-09-23 22:34:45 +02:00
system_speech libs: no warnings in the workspace check on any row -- the CI box checks every package on every target, and the library crates, which have no tile of their own, warned on the rows nobody builds by hand. On wasm and mobile, things are gated with their users: the workspace document worker (its commands, payloads, retry constants and Drop are native; the wasm API stays, behind an uninhabited worker whose constructors answer that the browser has no document worker), the hub's unused non-Unix available_bytes and its ram facts parser, the loader's ArenaPtr, system_speech's bcp47. On the tvOS rows, the only ones built on nightly, the legacy numeric constants and functions become the associated constants they have been since Rust 1.43 (micro_serde, bytemuck, rustybuzz, unicode-script, smallvec, weezl); fetch_update keeps its name under allow(deprecated) in stitch, git and the map archive, since try_update does not exist on older stable toolchains; objc-sys declares free with the signature the standard library uses; rustybuzz calls its own method through a path that a future std method of the same name cannot shadow; and the Script derive's unused helper attribute splat, which nightly now reserves as a built-in, is spelled script_splat (nothing in makepad, Scope or Stage uses it) 2026-09-22 00:02:28 +02:00
tar cargo-makepad: the super-app APK is packed by android dyn-pack, in Rust 2026-09-18 19:02:50 +02:00
teamtalk tools, arch, docs, workspace, examples, sqlite, wasm_bridge 2026-09-15 13:40:33 +02:00
terminal_core aimgr 2026-04-27 14:51:24 +02:00
tesla map: rain radar overlay, flying 3D markers, Europe routing, geodata crate 2026-07-28 18:00:27 +02:00
texcomp texcomp: the block codec and the container every texture will travel in 2026-08-26 08:49:47 +02:00
toml_parser apps: director, studio, scope, aichat 2026-09-15 13:40:29 +02:00
tsdf platform: the retained renderer for Scope, the vulkan cargo feature and Cx::gpu_backend() 2026-09-18 12:14:21 +02:00
ttf-parser First 2.0 2026-02-12 14:54:11 +01:00
unicase First 2.0 2026-02-12 14:52:33 +01:00
unicode libs: no warnings in the workspace check on any row -- the CI box checks every package on every target, and the library crates, which have no tile of their own, warned on the rows nobody builds by hand. On wasm and mobile, things are gated with their users: the workspace document worker (its commands, payloads, retry constants and Drop are native; the wasm API stays, behind an uninhabited worker whose constructors answer that the browser has no document worker), the hub's unused non-Unix available_bytes and its ram facts parser, the loader's ArenaPtr, system_speech's bcp47. On the tvOS rows, the only ones built on nightly, the legacy numeric constants and functions become the associated constants they have been since Rust 1.43 (micro_serde, bytemuck, rustybuzz, unicode-script, smallvec, weezl); fetch_update keeps its name under allow(deprecated) in stitch, git and the map archive, since try_update does not exist on older stable toolchains; objc-sys declares free with the signature the standard library uses; rustybuzz calls its own method through a path that a future std method of the same name cannot shadow; and the Script derive's unused helper attribute splat, which nightly now reserves as a built-in, is spelled script_splat (nothing in makepad, Scope or Stage uses it) 2026-09-22 00:02:28 +02:00
video_flow apps: vj 2026-09-15 13:40:29 +02:00
vulkan platform: Linux hosted GPU, Vulkan, OpenGL, Wayland/X11/direct 2026-09-15 13:39:56 +02:00
wasm_bridge tools, arch, docs, workspace, examples, sqlite, wasm_bridge 2026-09-15 13:40:33 +02:00
wasm_strip xr otw 2026-03-12 15:51:30 +01:00
webp fix 2026-02-17 19:25:31 +01:00
win_resource 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. 2026-09-24 13:48:33 +02:00
windows Merge upstream origin/dev fda40f56 into nigig fork - preserve nigig hub/web_server, take upstream dev updates 2026-09-25 17:25:35 +03:00
wm_api wm: children open no console windows on Windows -- wm is a windowed program started detached by the Builder, so it has no console; every console program it started (the pre-ac1917d70 Builder linked every app as a console program: makepad-mixer.exe, wm.exe, calculator.exe are PE subsystem 3 in the user's install; and cargo whenever wm ran out of a checkout) got a console window of its own, which showed over the full-screen desk as "a terminal inside wm" and, with cargo, one per warm client. Every child wm starts (clients, curl for themes) and every sibling wm_api starts gets CREATE_NO_WINDOW; hosted children talk over pipes and the hub, never a console 2026-09-25 01:53:58 +02:00
wm_theme Merge upstream origin/work 5f99533 into nigig fork alongside dev 2026-09-25 17:32:26 +03:00
workspace libs: no warnings in the workspace check on any row -- the CI box checks every package on every target, and the library crates, which have no tile of their own, warned on the rows nobody builds by hand. On wasm and mobile, things are gated with their users: the workspace document worker (its commands, payloads, retry constants and Drop are native; the wasm API stays, behind an uninhabited worker whose constructors answer that the browser has no document worker), the hub's unused non-Unix available_bytes and its ram facts parser, the loader's ArenaPtr, system_speech's bcp47. On the tvOS rows, the only ones built on nightly, the legacy numeric constants and functions become the associated constants they have been since Rust 1.43 (micro_serde, bytemuck, rustybuzz, unicode-script, smallvec, weezl); fetch_update keeps its name under allow(deprecated) in stitch, git and the map archive, since try_update does not exist on older stable toolchains; objc-sys declares free with the signature the standard library uses; rustybuzz calls its own method through a path that a future std method of the same name cannot shadow; and the Script derive's unused helper attribute splat, which nightly now reserves as a built-in, is spelled script_splat (nothing in makepad, Scope or Stage uses it) 2026-09-22 00:02:28 +02:00
xatlas tests: the workspace suite, run as a whole for the first time, passes outside the example UI tests -- each failure was settled from history as a stale test or a regression. Stale, expectation updated to the change that overtook it: draw's road pack tests fed a z-bias tick outside the exact f16 range; network no longer reserves Accept (906f94a94); the log ring test waits for the asynchronous sink (2e27ce2ff) and the audio tap test no longer assumes it owns the shared registry; xatlas compares the irregular oracle within the official tool's float precision instead of bit for bit; xr's four-wheel car exposes the chassis query plus one per wheel (080794781) and the depth mesh plan follows the 0.32 m chunk (ddec6fc60); score's DSL test sets up the OS context clock it reaches; hello_world's GIF test describes the fixture that is actually embedded. Regressions, code fixed: the tweaker could not print layout enums as whole values because the derive never emitted the __enum companion it looks up; the workspace style picker never learned about the Black orange style put at the front of DesktopStyle::ALL, and per the decision that Black orange is not offered in pickers it lists ALL without it, maps indices accordingly and loads a stored "blackorange" without a selection; xr's car controller no longer scales engine force by 1/dt a second time (same force at the fixed step) and a scaled vehicle's suspension is stiff enough to carry it at its shortened rest length. The two xr tests that need a local-only reference dump (xr/dump is git-ignored) say so and return 2026-09-21 23:41:03 +02:00
zip_file 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 2026-09-23 22:34:45 +02:00
zune platform: the retained renderer for Scope, the vulkan cargo feature and Cx::gpu_backend() 2026-09-18 12:14:21 +02:00