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
0e12857154
examples/core: building without ECS
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-11-23 21:20:04 -07:00
Stephen Gutekanst
a62d4fbf8e
add mach module doc comment
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-08-25 14:26:34 -07:00
Stephen Gutekanst
133c89638b
all: move mach.Timer, core Timer/Frequency to mach.time module
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-08-25 14:24:09 -07:00
Stephen Gutekanst
301a8df8f9
remove unmaintained WASM support
...
Same reasoning as #1254
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-08-25 13:35:16 -07:00
Stephen Gutekanst
5ae7e156cb
build: fix building just sysaudio standalone
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-08-25 13:31:43 -07:00
Stephen Gutekanst
642cc9b7f7
make it clear how to use module system without mach.Core (remove mach.App)
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-08-24 22:33:15 -07:00
Stephen Gutekanst
bfa3b069f7
revert bad entrypoint API design changes
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-08-23 23:03:54 -07:00
Stephen Gutekanst
66e56f037b
initial macOS backend ( #1249 )
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
Co-authored-by: Michael Bradshaw <github@mjb.io>
2024-08-18 16:45:37 -07:00
Ali Cheraghi
0023ab14fb
{vulkan,examples}: fix descriptor set bug
2024-07-13 09:06:35 -07:00
Ali Cheraghi
266e7a548b
core: refactor
2024-07-13 09:06:35 -07:00
Stephen Gutekanst
98801a258e
remove Dawn / WebGPU support in favor of sysgpu
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-07-07 22:08:16 -07:00
Stephen Gutekanst
316f2354d1
mach: add centralized is_debug flag
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-06-16 10:05:08 -07:00
Stephen Gutekanst
22ac26b57e
module: rename events -> systems, remove 'event arguments'
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-08 13:39:07 -07:00
Stephen Gutekanst
83d436ffa4
module: remove "global events" concept
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-08 13:39:07 -07:00
Stephen Gutekanst
541ce9e7c0
all: rename mach.Entity.Mod -> mach.Entities.Mod
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-07 23:40:56 -07:00
Stephen Gutekanst
65e2168b9f
module: injected mach.Entity.Mod for global entity operations
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-07 23:40:56 -07:00
Stephen Gutekanst
69ff2e027f
all: rename mod.entities -> mod.__entities (private)
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-07 23:40:56 -07:00
Stephen Gutekanst
95c9ae5278
module: support merging module lists
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-06 14:03:57 -07:00
Stephen Gutekanst
33bfdee520
{module,Audio}: ability to store event name and send it later
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-29 20:17:26 -07:00
Stephen Gutekanst
7a1efdaa69
core: cleanup sysgpu feature flag logic
...
* `@import("mach").core.gpu` has been renamed to `@import("mach").gpu`
* `pub const SYSGPUInterface` now has a default value (i.e. you do not need to write it in your main.zig, if you were.)
* You can now check `if (comptime mach.use_sysgpu)` for any conditional code you might have that should only run with sysgpu.
This (old):
```
pub const mach_core_options = core.ComptimeOptions{
.use_wgpu = false,
.use_sysgpu = true,
};
```
Has been replaced by this:
```
pub const use_sysgpu = true;
```
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-19 20:48:33 -07:00
Stephen Gutekanst
87a7cd8ed8
engine: remove mach.Engine in favor of mach.Core for now
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-17 11:30:51 -07:00
Ali Chraghi
be3300b80a
audio: add audio mixing/playback module
2024-04-16 10:50:59 -07:00
Stephen Gutekanst
16a895240d
gfx: improve Sprite module pipeline management
...
* No longer abuse event arguments for pipeline information.
* Store pipeline information as entities/components.
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-16 10:10:37 -07:00
Stephen Gutekanst
013546b189
core: add mach.Core module API
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-08 23:49:38 -07:00
Stephen Gutekanst
fda017663a
mach: keep module types closer together
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-07 13:55:08 -07:00
Stephen Gutekanst
f578e1f5e2
{module,ecs}: Mach ECS becomes the Mach' module system
...
This moves the bulk of the ECS code into `src/module`. It also makes
types like `mach.ecs.EntityID` accessible at the top-level `mach.EntityID`
instead.
The motivation of this change is to make the Mach module system a
first-class property of Mach.
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
5dbf9ece3b
module: do not expose list of modules
...
Doing so would encourage accidentally creating dependency loops.
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
b3663f7899
module: enable Module to analyze event handler signatures
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
0328598945
module: merge ecs/systems.zig -> module.zig
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
5e353e60bb
module: improve testing
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
56fc29743f
move mach.ecs.Module -> mach.Module
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
f29b775b27
mach-core moves back into the main repository
...
Helps hexops/mach#1165
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-03-05 00:22:22 -07:00
Stephen Gutekanst
fa3f6161ad
mach-sysgpu moves back into the main repository
...
Helps hexops/mach#1165
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-03-05 00:22:22 -07:00
Stephen Gutekanst
e38a441b69
fix linux build (gamemode requires libc)
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-03-05 00:22:22 -07:00
Stephen Gutekanst
e77a5a2ca2
mach-sysaudio moves back into the main repository
...
Helps hexops/mach#1165
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-03-05 00:22:22 -07:00
Stephen Gutekanst
d64d30c7db
mach-gamemode moves back into the main repository
...
Helps hexops/mach#1165
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-03-05 00:22:22 -07:00
Stephen Gutekanst
221364415e
mach-ecs moves back into the main repository
...
Helps hexops/mach#1165
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-03-05 00:22:22 -07:00
Stephen Gutekanst
87c3de78f5
gfx: font: begin adding text shaping via harfbuzz
...
Helps hexops/mach#877
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-10-05 20:35:13 -07:00
Stephen Gutekanst
3bcbdc4682
move mach.Atlas -> mach.gfx.Atlas
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-10-03 22:36:44 -07:00
Stephen Gutekanst
4e091f1cb8
replace module() helper; remove invalid re-exports;
...
Fixes hexops/mach#1041
Helps hexops/mach#1038
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-09-24 17:20:40 -07:00
Stephen Gutekanst
c16cddd250
all: refactor: cleanup module structure
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-09-22 08:24:16 -07:00
Stephen Gutekanst
52c4eb5d74
all: canonicalize import paths with mach- prefix
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-09-21 14:36:21 -07:00
Stephen Gutekanst
26a9392188
build: remove earcut dependency
...
Related to hexops/mach#967
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-09-21 14:10:22 -07:00
Stephen Gutekanst
8a57ea059c
gfx2d: add initial text rendering ECS module
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-09-21 07:27:28 -07:00
Stephen Gutekanst
5b25db1025
math: begin rewrite of mach.math
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-09-04 17:01:54 -07:00
Stephen Gutekanst
c505acf95c
testing: add mach.testing module
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-09-04 14:31:21 -07:00
Stephen Gutekanst
fd5d347f3e
rename mach.Module -> mach.Engine; parameter injection
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-08-28 11:05:01 -07:00