From 330560f79b6325688e58d38b10bb3cee48fee262 Mon Sep 17 00:00:00 2001 From: Rokas Puzonas Date: Tue, 18 Aug 2026 00:13:32 +0300 Subject: [PATCH] update Gfx.showDebug --- src/platform/graphics.zig | 72 ++++++++++++++++++++++++++++++--------- 1 file changed, 56 insertions(+), 16 deletions(-) diff --git a/src/platform/graphics.zig b/src/platform/graphics.zig index cd5cb1d..d8b0d05 100644 --- a/src/platform/graphics.zig +++ b/src/platform/graphics.zig @@ -351,26 +351,66 @@ pub fn beginFrame() void { pub fn showDebug() void { const self = &g_state; - // TODO: Improve this by using tables or somekind of filtering + _ = ImGUI.beginTabBar("graphics tab bar"); + defer ImGUI.endTabBar(); - { - ImGUI.text("Spritesheets:", .{}); - var spritesheet_iter = self.spritesheets.iterator(); - while (spritesheet_iter.next()) |spritesheet_id| { - const spritesheet = self.spritesheets.getAssumeExists(spritesheet_id); - ImGUI.text("{f}:", .{spritesheet_id}); - ImGUI.text(" - needs_texture_rebuild:{}", .{spritesheet.needs_texture_rebuild}); - ImGUI.text(" - texture:{f}", .{spritesheet.texture}); - ImGUI.text(" - size:{}", .{spritesheet.size}); + if (ImGUI.beginTabItem("Spritesheets")) { + defer ImGUI.endTabItem(); + + if(ImGUI.beginTable("spritesheets", 2, 0)) { + defer ImGUI.endTable(); + + ImGUI.tableSetupColumn("ID", 0); + ImGUI.tableSetupColumn("Size", 0); + ImGUI.tableHeadersRow(); + + var spritesheet_iter = self.spritesheets.iterator(); + while (spritesheet_iter.next()) |spritesheet_id| { + const spritesheet = self.spritesheets.getAssumeExists(spritesheet_id); + + ImGUI.pushID(.{ .int = spritesheet_id.index }); + defer ImGUI.popID(); + + ImGUI.tableNextRow(); + + ImGUI.tableNextColumn(); + ImGUI.text("{{ {}, {} }}", .{spritesheet_id.index, spritesheet_id.generation}); + + ImGUI.tableNextColumn(); + ImGUI.text("{}x{}", .{spritesheet.size.x, spritesheet.size.x}); + } } } - { - ImGUI.text("Sprites:", .{}); - var sprite_iter = self.sprites.iterator(); - while (sprite_iter.next()) |sprite_id| { - const sprite = self.sprites.getAssumeExists(sprite_id); - ImGUI.text("{f} - {?}", .{sprite_id, sprite.position}); + if (ImGUI.beginTabItem("Sprites")) { + defer ImGUI.endTabItem(); + + if(ImGUI.beginTable("sprites", 2, 0)) { + defer ImGUI.endTable(); + + ImGUI.tableSetupColumn("ID", 0); + ImGUI.tableSetupColumn("Position", 0); + ImGUI.tableHeadersRow(); + + var sprite_iter = self.sprites.iterator(); + while (sprite_iter.next()) |sprite_id| { + const sprite = self.sprites.getAssumeExists(sprite_id); + + ImGUI.pushID(.{ .int = sprite_id.index }); + defer ImGUI.popID(); + + ImGUI.tableNextRow(); + + ImGUI.tableNextColumn(); + ImGUI.text("{{ {}, {} }}", .{sprite_id.index, sprite_id.generation}); + + ImGUI.tableNextColumn(); + if (sprite.position) |position| { + ImGUI.text("{:3}, {:3}", .{position.x, position.y}); + } else { + ImGUI.text("null", .{}); + } + } } } }