Commit graph

43 commits

Author SHA1 Message Date
admin2
176725877d Clean unused workspace patch warnings 2026-07-08 12:48:33 +02:00
Admin
4912f2690d update zune 2026-06-02 18:47:28 +02:00
Kevin Boos
5ec03ff0ad
Add full app lifecycle event support, and Ctrl+C/signal catch (#1074)
* WIP: adding full app lifecycle event support, and Ctrl+C/signal catch

* Added fuller lifecycle event support, plus ability to catch sigquit

Tested working well on every platform except web/wasm, as I don't have
a working setup able to test that.
2026-05-01 22:30:24 +02:00
Admin
3a29497923 optimize 2026-03-29 22:12:33 +02:00
Admin
52afaf022b remove dep 2026-03-18 00:06:32 +01:00
Admin
c3ad851992 almost reasonable 2026-03-17 19:00:27 +01:00
Admin
6658d6515f slow voxels 2026-03-15 15:36:30 +01:00
Admin
7895cd34fc fixup 2026-03-12 09:39:16 +01:00
Sabin Regmi
bba8868caf
Optimize font loading and add SharedBytes (#938)
Introduce selective font loading and a SharedBytes abstraction with mmap support to reduce memory and IO overhead when handling fonts.

Key changes:
- Add SharedBytes (with MappedBytes using memmap2) and stats; switch FontData to SharedBytes and update loader/loader tests.
- Platform: add memmap2 dependency (non-wasm), new platform API helpers get_resource_abs_path and get_resource_font_bytes to prefer mmap'ed files and fall back to owned bytes.
- Font family/load changes: ensure_fonts_loaded_for_text and update_font_definitions now accept optional text to load only needed fallback fonts (CJK/emoji) based on text content and resource basename heuristics.
- Avoid eager loading of heavy bundled fallback fonts (LXGWWenKai*, NotoColorEmoji.ttf) when loading all script resources.
- Add env override MAKEPAD_TEXT_ATLAS_SIZE for text atlas size parsing and tests; add related parsing helpers and tests.
- Minor fixes: safer transmute for font_face data slice and several unit tests to validate behavior.

Overall this reduces unnecessary font resource reads/mmap usage and allows tuning text atlas size via environment.
2026-03-11 16:25:35 +01:00
Admin
a6eb9906a0 hiccup 2026-03-11 10:19:58 +01:00
Sabin Regmi
ffbeadc173
Hotreloading Nits (#936)
* Add wasm server_manager and ownership guard

Introduce a new wasm server_manager module that implements WasmServerOwnershipGuard to manage per-workspace lock files, PID/port ownership, and safe replacement of stale or live servers. Integrate the guard into compile::run by preparing and activating the guard before starting the HTTP server; start_wasm_server now accepts the guard, returns a Result, checks bind success, activates the guard, and propagates thread join errors. The server manager includes platform-specific PID handling, port-probing, lock read/write/remove helpers, and unit tests exercising startup scenarios and lock lifecycle. Also add mod declaration and apply minor formatting/refactor cleanups across compile.rs (error formatting, whitespace, and logging improvements).

* Add startup mutex and port occupant diagnostics

Rename server_manager into top-level module and add startup mutex handling and improved diagnostics. Introduces atomic lock writes (write_file_atomically), a StartupMutexGuard with configurable timeouts/polling, and logic to detect/recover stale startup locks to prevent concurrent wasm run startups. Extends ServerManagerProbes with describe_port_occupant and implements platform-specific detection (lsof on Unix, netstat/tasklist on Windows) to provide clearer errors when ports are occupied. Updates imports (main.rs, compile.rs, mod.rs) and adds unit tests covering startup lock behavior and unknown-occupant error text.

* Improve hot-reload logging and delivery

Add clearer logging and error handling for wasm hot-reload events. Introduces hot_reload_display_name to extract a user-friendly file name, logs when a hotreload is detected, and checks tx.send result to avoid panics when the watcher channel is closed. broadcast_hot_reload_event now logs whether events were skipped (no /$watch clients) or sent and includes the delivered client count with proper pluralization.

* Check lock PID owns port and add startup timestamp

Require that a lock's PID both be alive and actually own the server port to be considered a live lock (classify_lock_state now takes listen_addr). Add parsing of a started_at timestamp in startup locks and use now_unix_millis to age out stale startup locks even if the PID is alive. Extend ServerManagerProbes with now_unix_millis and pid_owns_port, implement port_occupant_info and PortOccupant to centralize occupant detection/refinement for unix and windows, and refactor describe_port_occupant to use it. Update tests and MockProbes to exercise PID ownership checks and startup-lock aging; add tests for PID reuse (treated as stale if it doesn't own the port) and for startup lock aging.

* Hot reload: dedupe sites, add logging

Avoid duplicate ScriptMod sites during hot reload and improve diagnostics. collect_compiled_sites_for_file now tracks seen ScriptModKey values to prevent pushing duplicates. handle_cx_live_edit counts processed files and logs how many overrides were applied and from how many changed files. forward_hot_reload_fs_event logs each detected file and reports if the watcher channel is closed. Minor import cleanup and a helper hot_reload_display_name were added for nicer log output.

* shared core for reload

* Warn and fallback to unminified JS on write error

When writing the minified JS file fails, log a warning and fall back to copying the original JS file instead of returning an error. This avoids failing the build on IO/write errors (e.g. permissions or disk issues) while preserving the previous behavior of using the unminified copy when reading fails. No change to successful minification path.
2026-03-10 12:47:38 +01:00
Admin
612f3b9cd8 hotreloading 2026-03-09 17:25:14 +01:00
Admin
81483d4555 y flip webgl rendertartet 2026-03-03 09:42:54 +01:00
Admin
0f3864a44a rename network 2026-03-03 09:18:19 +01:00
Admin
524ac9186d cleanup 2026-03-01 23:15:39 +01:00
Admin
7816d8da43 network refactor 2026-02-24 14:04:37 +01:00
Admin
ca17ee8baa splice out a makepad-network crate 2026-02-23 23:21:31 +01:00
Admin
250566d044 vulkan vendoring completed 2026-02-16 09:10:27 +01:00
Admin
5ad1df51f1 vulkan otw + widget fixes 2026-02-15 16:04:24 +01:00
Admin
acdac25dfa android vulkan otw 2026-02-15 14:18:42 +01:00
Admin
874c3c490a headless optimized 2026-02-15 12:31:30 +01:00
Admin
9ee2a0b711 headless multithreading 2026-02-15 12:21:22 +01:00
Admin
29b2778114 headless otw 2026-02-15 09:48:28 +01:00
Admin
fa98587e89 linux 2026-02-14 18:07:21 +01:00
Admin
8a60aee681 x11 working 2026-02-14 16:53:27 +01:00
Admin
7969fd4ee1 fix 2026-02-14 15:12:37 +01:00
Admin
8e84ba7f56 windowsrs vendored 2026-02-14 12:27:38 +01:00
Admin
35e2b31dce vendored windows 2026-02-14 11:54:41 +01:00
Admin
e121a1d7b2 windows rs strip 2026-02-14 11:32:16 +01:00
Admin
1ba7b2f7fe First 2.0 2026-02-12 14:52:33 +01:00
Jason Yau
4355f29c4b
fixed IME composition popup position for Windows (#841)
Co-authored-by: jasonqiu <jasonqiuchen@outlook.com>
2026-01-17 17:57:36 +01:00
Julián Montes de Oca
fa88145586
Remove unused tempfile dep (#805) 2025-12-02 18:42:01 +01:00
Admin
7880546817 align mathtypes to WGSL 2025-12-02 11:43:12 +01:00
Admin
5f7ea80f4c platform2/draw2 otw 2025-11-30 14:56:53 +01:00
Admin
14c0413a9b first shader typeinferencing 2025-11-18 07:43:55 +01:00
Drin
8a33f8c37e
feat: a native wayland backend (#793)
* initialize the event loop for wayland backend

Signed-off-by: drindr <dreamchancn@qq.com>

* feat: hidpi wayland and mouse event
- hidpi support with wayland
- mouse event support
- refactor some code

Signed-off-by: drindr <dreamchancn@qq.com>

* wayland xkbcommon for key pressing event

Signed-off-by: drindr <dreamchancn@qq.com>

* add support for IME in with wayland

---------

Signed-off-by: drindr <dreamchancn@qq.com>
Co-authored-by: makepaddev <20386332+makepaddev@users.noreply.github.com>
2025-10-25 19:35:58 +02:00
Admin
b4e2dda008 add script dep to platform 2025-10-16 13:04:49 +02:00
Kevin Boos
7513acdf3f
Update old windows-targets dep version to reduce lockfile duplicates (#780)
All other crates in the Rust ecosystem depend on `windows-targets`
v0.52.*, so this small change vastly reduces the number of duplicate
`windows-*` crate dependencies that cargo must download and track in the lockfile.

Also address minor compiler warnings in AdaptiveView.
2025-07-12 02:10:51 +02:00
Admin
0abdc02f22 1.0.0 2025-05-15 16:46:16 +02:00
Admin
548abe1b02 revert jni/android state 2025-05-12 12:47:17 +02:00
Admin
2bb7b6822c fix split 2025-05-12 12:08:13 +02:00
Admin
5a687fee93 0.9.0 test 2025-05-11 22:24:36 +02:00
Eddy Bruel
ff9048cc37 Initial commit 2025-05-06 10:11:37 +02:00