GTL/README.md

93 lines
1.4 KiB
Markdown
Raw Normal View History

# Includes
## Arrays
- SlotMap
- KeyedSlotMap
- FixedSlotMap
- FixedArrayList
- RingBuffer
- Handle(T) **Generational**
## Misc
- log
- ansi (colors etc)
2026-07-12 19:46:40 +01:00
- TypeID
# Examples
## KeyedSlotMap
2026-07-12 19:46:40 +01:00
```zig
// --- SHADER MAP ---
2026-07-12 21:22:53 +01:00
var shaders: KeyedSlotMap(ShaderID, GPUShader) = .init(alloc);
2026-07-12 19:46:40 +01:00
defer shaders.deinit();
// --- NEW SHADER ---
const shader_handle = try shaders.put(.pbr, .{ .raw = undefined });
defer shaders.remove(shader_handle);
```
## TypeID
2026-07-12 19:46:40 +01:00
```zig
const Player = struct {};
std.debug.print("TypeID(Player): {}\n", .{TypeID(Player)});
```
```bash
Output: TypeID(Player): 2462284566368800629
```
2026-08-01 00:02:35 +01:00
## Logs
```zig
log.warn("...", .{});
log.err("...", .{});
log.info("...", .{});
log.debug("...", .{});
log.trace("...", .{});
log.fatal("...", .{});
```
## NicePrint
2026-08-01 00:02:35 +01:00
### Styles
2026-08-01 00:02:35 +01:00
- default
- rounded
- pipe
- custom
### Example
2026-08-01 00:02:35 +01:00
```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
2026-07-31 23:05:38 +00:00
```text
2026-08-01 00:02:35 +01:00
┏━ DEVICE INFO
┃ device -> GTX
┃ vendor -> Nvidia
┃ ┏━ MEMORY
┃ ┃ VRAM -> 24GB
┃ ┗━
┗━
```
# TODO
[ ] Lear how to properly structure markdown 🥀️
2026-08-03 16:44:45 +01:00
hook-test