Stephen Gutekanst
4a000c7995
{Core,examples}: add TODO markers for core APIs that require module exposure
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-29 20:17:26 -07:00
Stephen Gutekanst
03a089610b
Core: store framebuffer information as components
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-29 20:17:26 -07:00
Stephen Gutekanst
656b0202f2
Core: add .present_frame event replacing swapbuffers call
...
Note that on e.g. web platform, swapbuffers is not an explicit call.
We also need a signal that the frame has been submitted and finished,
and this is it.
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-29 20:17:26 -07:00
Stephen Gutekanst
431e0dbbe1
{gfx,examples}: use core.state().queue
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-29 20:17:26 -07:00
Stephen Gutekanst
68677b3448
{Core,examples}: set window title via component
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-29 20:17:26 -07:00
Stephen Gutekanst
79dccb4d73
{gfx,examples}: use core.state().device
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-29 20:17:26 -07:00
Stephen Gutekanst
bffc668005
{gfx,examples}: add labels to gpu objects
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-21 20:29:14 -07:00
Stephen Gutekanst
487beaabde
examples: rename sysaudio example -> piano
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-21 16:38:15 -07:00
Stephen Gutekanst
58ffa2c870
examples: sysaudio: provide better controls
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-21 16:34:46 -07:00
Stephen Gutekanst
d045b34f70
{gfx,examples}: update all to new mach.Core module API
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-17 11:27:48 -07:00
Stephen Gutekanst
ac4fe65eb2
examples: core-custom-entrypoint: revise based on SYCL24 learnings
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-16 21:41:37 -07:00
Stephen Gutekanst
2c73f8c518
examples: remove gkurve test-bed for now (will come back later)
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-16 19:31:42 -07:00
Stephen Gutekanst
d573a59d67
examples: core-custom-entrypoint: minor cleanup
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-16 19:15:19 -07:00
Stephen Gutekanst
282c83877e
audio: redesign audio module
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-16 19:14:37 -07:00
Stephen Gutekanst
3d8c28a361
all: rename parameters foo_mod -> foo
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-16 19:14:37 -07:00
Stephen Gutekanst
f1dbc3955c
audio: cleanup audio module
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-16 11:48:15 -07:00
Ali Chraghi
be3300b80a
audio: add audio mixing/playback module
2024-04-16 10:50:59 -07:00
Stephen Gutekanst
b90b70084e
examples: glyphs: improve code structure / naming / init logic
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-16 10:40:36 -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
5714a60108
gfx: split text style entity components into a distinct module
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-15 02:42:07 -07:00
Stephen Gutekanst
d1c3d26710
core: provide a default pub const GPUInterface
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-09 21:20:48 -07:00
Stephen Gutekanst
27fd19271c
examples: migrate custom-renderer to mach.Core module API
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-08 23:49:38 -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
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
883a9a7807
examples: add some TODOs
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
a7a6ecdd45
examples/custom-renderer: correct packed struct -> extern struct
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
8bd822c35d
examples/custom-renderer: minor docs improvement
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
5659dd6266
examples/custom-renderer: cleanup docs
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
af3c1e9155
module: remove dispatchNoError, better loop implementation
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
cf883f5544
module: change state to avoid undefined, remove global allocator
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
b4a479fb3f
module: basic event handler parameter validation
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
3ea64966f0
module: remove TupleHACK now that dependency loop is resolved
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
2115f5832a
module: write components using a struct pattern
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
17db5498ee
module: write module events using a struct pattern
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
7e0b9dde68
module: components are written in the same style as events
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
23b03f973f
module: make sendGlobal() global args type known
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
f3f4524f1b
all: improve module event names, gfx.Sprite/gfx.Text init
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
15d9efcf26
module: *World is no longer an injectable parameter
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
3bfafe102d
module: event handlers are defined ahead of time
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
aa33896935
gfx: make Text ECS module use style entities (cleaner API design)
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
3898995c4c
all: get ECS running on revised module system
...
All ECS `examples/` now run on the revised module system.
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
03454decdf
examples: try send() -> send()
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
0a8e22bb49
examples: import mach-examples@20ceb359231ff284cf343dddba8cf25112ffe717
...
Helps hexops/mach#1165
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-03-06 11:08:19 -07:00
Stephen Gutekanst
189997c279
{mach,examples}: move examples to github.com/hexops/mach-examples
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-10-16 12:21:50 -07:00
Stephen Gutekanst
d5570d5a18
examples: document self-hosted compoiler bug
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-10-15 07:58:07 -07:00
Stephen Gutekanst
78cf48e022
examples: fix cubemap compilation
...
self-hosted compiler picked up alignment issues better.
fixes hexops/mach#578
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-10-14 11:20:47 -07:00
Ali Chraghi
288299b88b
examples: make sure some structs has guaranteed in-memory layout
2022-10-11 00:59:23 +02:00
Ali Chraghi
8e012d02bb
git: use stage2_compat branch for zigimg
...
slimsag/zigimg had pointless discard errors
2022-09-20 02:30:45 -07:00
Ali Chraghi
15dfb2867a
all: rename setShouldClose to close
...
Closes #550
2022-09-18 09:50:15 -07:00
Diego Arias
eef76effe3
examples: add pixel post processing effect example
2022-09-16 16:49:20 -07:00