all: rename local_events -> events

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
This commit is contained in:
Stephen Gutekanst 2024-04-28 17:49:32 -07:00 committed by Stephen Gutekanst
parent 33bfdee520
commit fc0ff2fffd
15 changed files with 28 additions and 28 deletions

View file

@ -5,7 +5,7 @@ const gpu = mach.gpu;
pub const name = .app; pub const name = .app;
pub const Mod = mach.Mod(@This()); pub const Mod = mach.Mod(@This());
pub const local_events = .{ pub const events = .{
.init = .{ .handler = init }, .init = .{ .handler = init },
.deinit = .{ .handler = deinit }, .deinit = .{ .handler = deinit },
.tick = .{ .handler = tick }, .tick = .{ .handler = tick },

View file

@ -22,7 +22,7 @@ pub const components = .{
.follower = .{ .type = void }, .follower = .{ .type = void },
}; };
pub const local_events = .{ pub const events = .{
.init = .{ .handler = init }, .init = .{ .handler = init },
.deinit = .{ .handler = deinit }, .deinit = .{ .handler = deinit },
.tick = .{ .handler = tick }, .tick = .{ .handler = tick },

View file

@ -27,7 +27,7 @@ pub const components = .{
.scale = .{ .type = f32 }, .scale = .{ .type = f32 },
}; };
pub const local_events = .{ pub const events = .{
.init = .{ .handler = init }, .init = .{ .handler = init },
.deinit = .{ .handler = deinit }, .deinit = .{ .handler = deinit },
.render_frame = .{ .handler = renderFrame }, .render_frame = .{ .handler = renderFrame },

View file

@ -32,7 +32,7 @@ frame_render_pass: *gpu.RenderPassEncoder = undefined,
pub const name = .app; pub const name = .app;
pub const Mod = mach.Mod(@This()); pub const Mod = mach.Mod(@This());
pub const local_events = .{ pub const events = .{
.init = .{ .handler = init }, .init = .{ .handler = init },
.deinit = .{ .handler = deinit }, .deinit = .{ .handler = deinit },
.tick = .{ .handler = tick }, .tick = .{ .handler = tick },

View file

@ -8,7 +8,7 @@ const assets = @import("assets");
pub const name = .glyphs; pub const name = .glyphs;
pub const Mod = mach.Mod(@This()); pub const Mod = mach.Mod(@This());
pub const local_events = .{ pub const events = .{
.init = .{ .handler = init }, .init = .{ .handler = init },
.deinit = .{ .handler = deinit }, .deinit = .{ .handler = deinit },
.prepare = .{ .handler = prepare }, .prepare = .{ .handler = prepare },

View file

@ -23,7 +23,7 @@ var gpa = std.heap.GeneralPurposeAllocator(.{}){};
pub const name = .app; pub const name = .app;
pub const Mod = mach.Mod(@This()); pub const Mod = mach.Mod(@This());
pub const local_events = .{ pub const events = .{
.init = .{ .handler = init }, .init = .{ .handler = init },
.deinit = .{ .handler = deinit }, .deinit = .{ .handler = deinit },
.tick = .{ .handler = tick }, .tick = .{ .handler = tick },

View file

@ -36,7 +36,7 @@ frame_render_pass: *gpu.RenderPassEncoder = undefined,
pub const name = .app; pub const name = .app;
pub const Mod = mach.Mod(@This()); pub const Mod = mach.Mod(@This());
pub const local_events = .{ pub const events = .{
.init = .{ .handler = init }, .init = .{ .handler = init },
.deinit = .{ .handler = deinit }, .deinit = .{ .handler = deinit },
.tick = .{ .handler = tick }, .tick = .{ .handler = tick },

View file

@ -37,7 +37,7 @@ frame_render_pass: *gpu.RenderPassEncoder = undefined,
pub const name = .app; pub const name = .app;
pub const Mod = mach.Mod(@This()); pub const Mod = mach.Mod(@This());
pub const local_events = .{ pub const events = .{
.init = .{ .handler = init }, .init = .{ .handler = init },
.deinit = .{ .handler = deinit }, .deinit = .{ .handler = deinit },
.tick = .{ .handler = tick }, .tick = .{ .handler = tick },

View file

@ -12,7 +12,7 @@ pub const components = .{
.index = .{ .type = usize }, .index = .{ .type = usize },
}; };
pub const local_events = .{ pub const events = .{
.init = .{ .handler = init }, .init = .{ .handler = init },
.deinit = .{ .handler = deinit }, .deinit = .{ .handler = deinit },
.audio_tick = .{ .handler = audioTick }, .audio_tick = .{ .handler = audioTick },

View file

@ -10,7 +10,7 @@ pub const name = .mach_core;
pub const Mod = mach.Mod(@This()); pub const Mod = mach.Mod(@This());
pub const local_events = .{ pub const events = .{
.update = .{ .handler = update, .description = .update = .{ .handler = update, .description =
\\ Send this when window entities have been updated and you want the new values respected. \\ Send this when window entities have been updated and you want the new values respected.
}, },

View file

@ -38,7 +38,7 @@ pub const components = .{
}, },
}; };
pub const local_events = .{ pub const events = .{
.update = .{ .handler = update }, .update = .{ .handler = update },
}; };

View file

@ -59,7 +59,7 @@ pub const components = .{
.built = .{ .type = BuiltPipeline, .description = "internal" }, .built = .{ .type = BuiltPipeline, .description = "internal" },
}; };
pub const local_events = .{ pub const events = .{
.init = .{ .handler = fn () void }, .init = .{ .handler = fn () void },
.deinit = .{ .handler = deinit }, .deinit = .{ .handler = deinit },
.update = .{ .handler = update }, .update = .{ .handler = update },

View file

@ -50,7 +50,7 @@ pub const components = .{
.built = .{ .type = BuiltText, .description = "internal" }, .built = .{ .type = BuiltText, .description = "internal" },
}; };
pub const local_events = .{ pub const events = .{
.update = .{ .handler = update }, .update = .{ .handler = update },
}; };

View file

@ -60,7 +60,7 @@ pub const components = .{
.built = .{ .type = BuiltPipeline, .description = "internal" }, .built = .{ .type = BuiltPipeline, .description = "internal" },
}; };
pub const local_events = .{ pub const events = .{
.init = .{ .handler = fn () void }, .init = .{ .handler = fn () void },
.deinit = .{ .handler = deinit }, .deinit = .{ .handler = deinit },
.update = .{ .handler = update }, .update = .{ .handler = update },

View file

@ -81,7 +81,7 @@ fn validateModule(comptime M: type, comptime events: bool) void {
if (@typeInfo(@TypeOf(M.name)) != .EnumLiteral) @compileError("mach: module must have `pub const name = .foobar;`, found type:" ++ @typeName(M.name)); if (@typeInfo(@TypeOf(M.name)) != .EnumLiteral) @compileError("mach: module must have `pub const name = .foobar;`, found type:" ++ @typeName(M.name));
if (events) { if (events) {
if (@hasDecl(M, "global_events")) validateEvents("mach: module ." ++ @tagName(M.name) ++ " global_events ", M.global_events); if (@hasDecl(M, "global_events")) validateEvents("mach: module ." ++ @tagName(M.name) ++ " global_events ", M.global_events);
if (@hasDecl(M, "local_events")) validateEvents("mach: module ." ++ @tagName(M.name) ++ " local_events ", M.local_events); if (@hasDecl(M, "events")) validateEvents("mach: module ." ++ @tagName(M.name) ++ " events ", M.events);
_ = ComponentTypesM(M); _ = ComponentTypesM(M);
} }
} }
@ -425,14 +425,14 @@ pub fn Modules(comptime modules: anytype) type {
// TODO(important): DRY with callGlobal // TODO(important): DRY with callGlobal
const M = @field(NamespacedModules(modules){}, @tagName(mod_name)); const M = @field(NamespacedModules(modules){}, @tagName(mod_name));
_ = ModuleInterface(M); // Validate the module _ = ModuleInterface(M); // Validate the module
if (@hasDecl(M, "local_events")) inline for (@typeInfo(@TypeOf(M.local_events)).Struct.fields) |field| { if (@hasDecl(M, "events")) inline for (@typeInfo(@TypeOf(M.events)).Struct.fields) |field| {
comptime if (!std.mem.eql(u8, @tagName(ev_name), field.name)) continue; comptime if (!std.mem.eql(u8, @tagName(ev_name), field.name)) continue;
if (m.debug_trace) log.debug("trace: .{s}.{s}", .{ if (m.debug_trace) log.debug("trace: .{s}.{s}", .{
@tagName(M.name), @tagName(M.name),
@tagName(ev_name), @tagName(ev_name),
}); });
const handler = @field(M.local_events, @tagName(ev_name)).handler; const handler = @field(M.events, @tagName(ev_name)).handler;
if (@typeInfo(@TypeOf(handler)) == .Type) continue; // Pre-declaration of what args an event has, nothing to do. if (@typeInfo(@TypeOf(handler)) == .Type) continue; // Pre-declaration of what args an event has, nothing to do.
if (@typeInfo(@TypeOf(handler)) != .Fn) @compileError(std.fmt.comptimePrint("mach: module .{s} declares local event .{s} = .{{ .handler = T }}, expected fn but found: {s}", .{ if (@typeInfo(@TypeOf(handler)) != .Fn) @compileError(std.fmt.comptimePrint("mach: module .{s} declares local event .{s} = .{{ .handler = T }}, expected fn but found: {s}", .{
@tagName(M.name), @tagName(M.name),
@ -684,19 +684,19 @@ fn UninjectedArgsTuple(comptime Function: type) type {
// TODO: tests // TODO: tests
fn LocalArgsM(comptime M: type, event_name: anytype) type { fn LocalArgsM(comptime M: type, event_name: anytype) type {
return ArgsM(M, event_name, "local"); return ArgsM(M, event_name, "events");
} }
// TODO: tests // TODO: tests
fn GlobalArgsM(comptime M: type, event_name: anytype) type { fn GlobalArgsM(comptime M: type, event_name: anytype) type {
return ArgsM(M, event_name, "global"); return ArgsM(M, event_name, "global_events");
} }
fn ArgsM(comptime M: type, event_name: anytype, comptime which: anytype) type { fn ArgsM(comptime M: type, event_name: anytype, comptime which: anytype) type {
_ = ModuleInterface(M); // Validate the module _ = ModuleInterface(M); // Validate the module
if (!@hasDecl(M, which ++ "_events")) return @TypeOf(.{}); if (!@hasDecl(M, which)) return @TypeOf(.{});
const m_events = @field(M, which ++ "_events"); // M.local_events or M.global_events const m_events = @field(M, which); // M.events or M.global_events
inline for (@typeInfo(@TypeOf(m_events)).Struct.fields) |field| { inline for (@typeInfo(@TypeOf(m_events)).Struct.fields) |field| {
comptime if (!std.mem.eql(u8, field.name, @tagName(event_name))) continue; comptime if (!std.mem.eql(u8, field.name, @tagName(event_name))) continue;
if (!@hasField(@TypeOf(m_events), @tagName(event_name))) @compileError(std.fmt.comptimePrint("mach: module .{s} declares no {s} event .{s}", .{ if (!@hasField(@TypeOf(m_events), @tagName(event_name))) @compileError(std.fmt.comptimePrint("mach: module .{s} declares no {s} event .{s}", .{
@ -730,7 +730,7 @@ fn LocalEventEnum(comptime modules: anytype) type {
var i: u32 = 0; var i: u32 = 0;
for (modules) |M| { for (modules) |M| {
_ = ModuleInterface(M); // Validate the module _ = ModuleInterface(M); // Validate the module
if (@hasDecl(M, "local_events")) inline for (@typeInfo(@TypeOf(M.local_events)).Struct.fields) |field| { if (@hasDecl(M, "events")) inline for (@typeInfo(@TypeOf(M.events)).Struct.fields) |field| {
const exists_already = blk: { const exists_already = blk: {
for (enum_fields) |existing| if (std.mem.eql(u8, existing.name, field.name)) break :blk true; for (enum_fields) |existing| if (std.mem.eql(u8, existing.name, field.name)) break :blk true;
break :blk false; break :blk false;
@ -757,7 +757,7 @@ fn LocalEventEnumM(comptime M: anytype) type {
var enum_fields: []const std.builtin.Type.EnumField = &[0]std.builtin.Type.EnumField{}; var enum_fields: []const std.builtin.Type.EnumField = &[0]std.builtin.Type.EnumField{};
var i: u32 = 0; var i: u32 = 0;
_ = ModuleInterface(M); // Validate the module _ = ModuleInterface(M); // Validate the module
if (@hasDecl(M, "local_events")) inline for (@typeInfo(@TypeOf(M.local_events)).Struct.fields) |field| { if (@hasDecl(M, "events")) inline for (@typeInfo(@TypeOf(M.events)).Struct.fields) |field| {
const exists_already = blk: { const exists_already = blk: {
for (enum_fields) |existing| if (std.mem.eql(u8, existing.name, field.name)) break :blk true; for (enum_fields) |existing| if (std.mem.eql(u8, existing.name, field.name)) break :blk true;
break :blk false; break :blk false;
@ -1143,7 +1143,7 @@ test "event name" {
.foo = .{ .handler = foo }, .foo = .{ .handler = foo },
.bar = .{ .handler = bar }, .bar = .{ .handler = bar },
}; };
pub const local_events = .{ pub const events = .{
.baz = .{ .handler = baz }, .baz = .{ .handler = baz },
.bam = .{ .handler = bam }, .bam = .{ .handler = bam },
}; };
@ -1352,7 +1352,7 @@ test "event name calling" {
pub const global_events = .{ pub const global_events = .{
.tick = .{ .handler = tick }, .tick = .{ .handler = tick },
}; };
pub const local_events = .{ pub const events = .{
.update = .{ .handler = update }, .update = .{ .handler = update },
.calc = .{ .handler = calc }, .calc = .{ .handler = calc },
}; };
@ -1374,7 +1374,7 @@ test "event name calling" {
pub const global_events = .{ pub const global_events = .{
.tick = .{ .handler = tick }, .tick = .{ .handler = tick },
}; };
pub const local_events = .{ pub const events = .{
.update = .{ .handler = update }, .update = .{ .handler = update },
}; };
@ -1463,7 +1463,7 @@ test "dispatch" {
pub const global_events = .{ pub const global_events = .{
.tick = .{ .handler = tick }, .tick = .{ .handler = tick },
}; };
pub const local_events = .{ pub const events = .{
.update = .{ .handler = update }, .update = .{ .handler = update },
.update_with_struct_arg = .{ .handler = updateWithStructArg }, .update_with_struct_arg = .{ .handler = updateWithStructArg },
.calc = .{ .handler = calc }, .calc = .{ .handler = calc },
@ -1496,7 +1496,7 @@ test "dispatch" {
.tick = .{ .handler = tick }, .tick = .{ .handler = tick },
.frame_done = .{ .handler = fn (i32) void }, .frame_done = .{ .handler = fn (i32) void },
}; };
pub const local_events = .{ pub const events = .{
.update = .{ .handler = update }, .update = .{ .handler = update },
.basic_args = .{ .handler = basicArgs }, .basic_args = .{ .handler = basicArgs },
.injected_args = .{ .handler = injectedArgs }, .injected_args = .{ .handler = injectedArgs },