**Includes** - ANSI - SlotMap | KeyedSlotMap - Custom Log - TypeID **Logs** ```zig log.warn("...", .{}); log.err("...", .{}); log.info("...", .{}); log.debug("...", .{}); log.trace("...", .{}); log.fatal("...", .{}); ``` **KeyedSlotMap** ```zig // --- SHADER MAP --- var shaders: KeyedSlotMap(ShaderID, GPUShader) = .init(alloc); defer shaders.deinit(); // --- NEW SHADER --- const shader_handle = try shaders.put(.pbr, .{ .raw = undefined }); defer shaders.remove(shader_handle); ``` **TypeID** ```zig const Player = struct {}; std.debug.print("TypeID(Player): {}\n", .{TypeID(Player)}); ``` ```bash Output: TypeID(Player): 2462284566368800629 ``` ## NicePrint # Styles - default - rounded - pipe - custom # Example ```zig // --- PRINT --- if (log.print(.debug, "DEVICE INFO", ansi.bold ++ ansi.red)) |a| { defer a.end(); // --- VALUES --- a.write("device -> {s}", .{"GTX"}); a.write("vendor -> {s}", .{"Nvidia"}); // --- SECTION --- if (a.section(.err, "MEMORY", ansi.green)) |b| { defer b.end(); b.write("VRAM -> {}GB", .{24}); } } ``` # Output ```bash ┏━ DEVICE INFO ┃ device -> GTX ┃ vendor -> Nvidia ┃ ┏━ MEMORY ┃ ┃ VRAM -> 24GB ┃ ┗━ ┗━ ```