Commit graph

3776 commits

Author SHA1 Message Date
Stephen Gutekanst
281884e9b0 examples: core-triangle: cleanup width/height input handler
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-12-01 13:55:30 -07:00
Stephen Gutekanst
3b45eda8df core: darwin: fix inverted width/height
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-12-01 13:55:30 -07:00
Stephen Gutekanst
3bb7833e38 core: darwin: fix use-after-free
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-12-01 13:55:30 -07:00
Stephen Gutekanst
9032a22064 object: graph: expose Graph.Results
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-12-01 13:55:30 -07:00
Stephen Gutekanst
6dd7b48662 module: add getFirstChildOfType helper
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-12-01 13:55:30 -07:00
Stephen Gutekanst
cddebeb01f object: fix Objects.is() function
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-12-01 13:55:30 -07:00
Stephen Gutekanst
58d9c378ca object: fix Objects.Slice delete/get/set methods
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-12-01 13:55:30 -07:00
foxnne
3aee6995d7 windows: translate and dispatch messages each frame 2024-12-01 13:19:02 -07:00
foxnne
5bcdcadb74 core: Windows needed heap-allocated context 2024-12-01 13:19:02 -07:00
foxnne
06aec428de core: windows: Get triangle showing, still freezing on run. Comment out more windows, set value of window back on presentFrame. 2024-12-01 12:19:50 -07:00
foxnne
e15cbe63de windows: implement tick, call core.initWindow, various fixes 2024-12-01 10:55:01 -07:00
Joshua Holmes
0ec182c3f4 linux: get build working with new system 2024-12-01 10:53:15 -07:00
Colton Franklin
1fe47b2b19
obj: Move Platform and InitOptions fields into core.windows (#1309)
* obj: Make field tracking use a single bitset

* obj: module: fix comment

* obj: Move `Platform` state and `InitOptions` fields into `core.windows`, initial push, only triangle example working on macos currently

* obj: `get` and `getValue` (renamed `getAll`) now do not return optionals, comment revisions, `device` is no longer optional, `native` is optional

* core: Lots of cleanup of unnecessary comments

* core: `Event`s now all contain `window_id`, darwin/windows: event functions now send window id

* core: comments, examples: fix `core-custom-entrypoint`
2024-11-30 15:13:14 -07:00
Stephen Gutekanst
b4e2da1b69 object: fix Modules().init error
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-11-30 14:49:55 -07:00
Stephen Gutekanst
60df3e7cdc object: graph: replace switching-consumer pattern with dedicated graph processing thread
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-11-30 12:22:10 -07:00
Stephen Gutekanst
d72facda9a object: remove MPSC queue takeAll() in favor of just pop()
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-11-30 12:18:21 -07:00
Stephen Gutekanst
4bcafe89c4 object: fix race detected by tsan in mpsc queue
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-11-30 12:00:45 -07:00
foxnne
40dcef1836 obj: module: fix comment 2024-11-30 08:29:10 -07:00
foxnne
797f8f7a58 obj: Make field tracking use a single bitset 2024-11-30 08:29:10 -07:00
Emi Gutekanst
a43ffcacc2 object: clarify comment 2024-11-27 18:30:53 -07:00
foxnne
314b761b71 darwin: Set main window width and height on event 2024-11-27 18:30:53 -07:00
foxnne
8f92bfbace core: add processWindowUpdates which we call from both platform_update_callback and tick 2024-11-27 18:30:53 -07:00
foxnne
27ec56a4cc obj: Better type handling 2024-11-27 18:30:53 -07:00
foxnne
863b1def16 obj: Fix comment 2024-11-27 18:30:53 -07:00
foxnne
319f2d8fb8 triangle: Remove input keys to change window size, this was just a test 2024-11-27 18:30:53 -07:00
foxnne
0546c3d5ca obj: Refine comments, make updated set bits back to false, swap Objects parameters 2024-11-27 18:30:53 -07:00
foxnne
f58cb270b1 obj: Fix doc comment and update example to build 2024-11-27 18:30:53 -07:00
foxnne
0476999dc4 core: Allow tracking of individual struct fields for changes 2024-11-27 18:30:53 -07:00
Colton Franklin
d09990700f
core: wayland: Remove references to wl.state (#1306) 2024-11-24 18:42:43 -07:00
Colton Franklin
e4bc709ea2
darwin: Get keyboard input working (#1302) 2024-11-24 16:39:10 -07:00
Joshua Holmes
f997859d7a core: add initial fullscreen support for x11 2024-11-24 13:35:19 -07:00
Joshua Holmes
15c63e8334 core: implement Linux.setTitle() 2024-11-24 13:35:19 -07:00
Stephen Gutekanst
ae1d49b51a object: add TODO; fix non-aarch64 macos builds
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-11-23 21:20:04 -07:00
Stephen Gutekanst
fc13b371bf core: various fixes
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-11-23 21:20:04 -07:00
Stephen Gutekanst
714f200bc1 module: implement cross-Object-pool graph relations
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-11-23 21:20:04 -07:00
Stephen Gutekanst
ae863c2431 obj: add object graph relations implementation using MPSC queue
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-11-23 21:20:04 -07:00
Stephen Gutekanst
78bc07c69b obj: improve mpsc testing
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-11-23 21:20:04 -07:00
Stephen Gutekanst
59bbea454a module: update to latest Zig + unify object ID validation/unpacking
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-11-23 21:20:04 -07:00
Stephen Gutekanst
8a61c70409 build: fix Zig version error
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-11-23 21:20:04 -07:00
Stephen Gutekanst
f75d9b95fe obj: add MPSC lock-free FIFO queue with atomic batch-take support
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-11-23 21:20:04 -07:00
Stephen Gutekanst
9d134dc72d module: object recycling
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-11-23 21:20:04 -07:00
Stephen Gutekanst
8054d03b4d unify mach.Call and mach.Runner into one type
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-11-23 21:20:04 -07:00
Stephen Gutekanst
14ccd5a93c settle module state initialization
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-11-23 21:20:04 -07:00
Stephen Gutekanst
0e12857154 examples/core: building without ECS
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-11-23 21:20:04 -07:00
Stephen Gutekanst
2a13c07d9e module: remove the ability to send "standard" arguments to systems
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-11-23 21:20:04 -07:00
Joshua Holmes
f220494649 core: remove redundant writes to input_state 2024-11-16 17:37:54 -07:00
Joshua Holmes
a1dfaa2032 core: remove redundant management of several properties in Linux
Properties include title, size, border, cursor_mode, cursor_shape, display_mode, refresh_rate
2024-11-16 17:37:54 -07:00
Joshua Holmes
f90fb1170b core: wayland: use Linux object instead of Wayland obj in listeners 2024-11-16 17:37:54 -07:00
Colton Franklin
fbf274ccbe
core: darwin: Implement update, setTitle and setSize, etc. (#1299) 2024-11-13 12:36:55 -07:00
Ronald M Zielaznicki
2608e1313c
core: x11: clarify X11 multi-threading (#1297) 2024-11-09 11:36:12 -07:00