view dowa/README.md @ 278:8d560f50ed4c

Improve infinite canvas interactions and browser chrome Render Lucide icons directly with Raylib, add searchable icon browsing, robust text editing, entity lifecycle animations, z-order-safe input, semantic themes, and animated editable browser controls. Document rendering, pinning, context, and component extension for future agents. Co-authored-by: Copilot <[email protected]> Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
author MrJuneJune <me@mrjunejune.com>
date Mon, 17 Aug 2026 22:16:14 -0700
parents b818a4561a3c
children
line wrap: on
line source

# dowa

Core utility library for C. Provides memory management, string operations, and math utilities.

## Features

- Arena allocator and memory utilities
- String builder and manipulation
- Math helpers
- stb_ds.h for dynamic arrays and hash maps

## Files

| File | Description |
|------|-------------|
| `dowa.h` | Public API header |
| `d_memory.c` | Memory management (arena allocator) |
| `d_string.c` | String utilities |
| `d_math.c` | Math helpers |
| `stb_ds.h` | STB dynamic structures |
| `dowa_test.c` | Unit tests |

## Usage

```c
#include "dowa/dowa.h"

// Arena allocator
Arena arena = {0};
char* str = arena_alloc(&arena, 100);
arena_free(&arena);

// String builder
StringBuilder sb = {0};
sb_append(&sb, "hello");
```

## Building

```bash
bazel build //dowa:dowa
bazel test //dowa:dowa_test
```