Repository navigation
Agent KB_nuklear
grisun0 edited this page Oct 9, 2026
·
11 revisions
- Doc: — node-graph to CVM bytecode compiler.
- Layer: utility
- Language: c
- Symbols:
-
codebuf(struct, line 73) -
code(function, line 8) `* exit code (OP_HALT leaves the operand-stack top as the exit status, which
-
- the shell reports ...`
-
cb_push(function, line 79)static int cb_push(struct codebuf *cb, unsigned char c) -
cb_u32(function, line 91)static int cb_u32(struct codebuf *cb, unsigned long v) -
cb_i64(function, line 97)static int cb_i64(struct codebuf *cb, long long v) -
cb_patch_u32(function, line 103)static void cb_patch_u32(struct codebuf *cb, size_t pos, unsigned long v) -
cb_imm(function, line 111)static int cb_imm(struct codebuf *cb, long long v) -
req_inputs(function, line 126)static int req_inputs(enum cvm_node_type t) -
is_sink(function, line 145)static int is_sink(enum cvm_node_type t) -
topo_sort(function, line 150)static int topo_sort(const struct cvm_node *nodes, int n, int *order, char *... -
emit_operand(function, line 213)static int emit_operand(struct codebuf *code, const struct cvm_node *nodes, ... -
emit_jz(function, line 224)static int emit_jz(struct codebuf *code, size_t *rel_pos) -
emit_jmp(function, line 230)static int emit_jmp(struct codebuf *code, size_t *rel_pos) -
cvm_compile(function, line 236)int cvm_compile(const struct cvm_node *nodes, int n, unsigned char **out, size_t ... -
w32(function, line 491)void w32(void *p, unsigned v) -
module(function, line 3)* * Emits a cvm2 module (format v2) from a dataflow graph. Nodes are * topologically sorted (a true DAG order, so... -
CVM_MAGIC_0(macro, line 29)#define CVM_MAGIC_0 -
CVM_MAGIC_1(macro, line 30)#define CVM_MAGIC_1 -
CVM_MAGIC_2(macro, line 31)#define CVM_MAGIC_2 -
CVM_MAGIC_3(macro, line 32)#define CVM_MAGIC_3 -
CVM_VERSION_MAJOR(macro, line 33)#define CVM_VERSION_MAJOR -
CVM_MODULE_HEADER_SIZE(macro, line 34)#define CVM_MODULE_HEADER_SIZE -
CVM_FUNC_ENTRY_SIZE(macro, line 35)#define CVM_FUNC_ENTRY_SIZE -
CVM_GLOBAL_ENTRY_SIZE(macro, line 36)#define CVM_GLOBAL_ENTRY_SIZE -
CVM_NATIVE_ENTRY_SIZE(macro, line 37)#define CVM_NATIVE_ENTRY_SIZE -
OP_PUSH_IMM64(macro, line 40)#define OP_PUSH_IMM64 -
OP_PUSH_IMM32(macro, line 41)#define OP_PUSH_IMM32 -
OP_PUSH_IMM8(macro, line 42)#define OP_PUSH_IMM8 -
OP_PUSH_ZERO(macro, line 43)#define OP_PUSH_ZERO -
OP_PUSH_LOCAL(macro, line 44)#define OP_PUSH_LOCAL -
OP_STORE_LOCAL(macro, line 45)#define OP_STORE_LOCAL -
OP_ADD(macro, line 46)#define OP_ADD -
OP_SUB(macro, line 47)#define OP_SUB -
OP_MUL(macro, line 48)#define OP_MUL -
OP_DIV(macro, line 49)#define OP_DIV -
OP_MOD(macro, line 50)#define OP_MOD -
OP_NEG(macro, line 51)#define OP_NEG -
OP_AND(macro, line 52)#define OP_AND -
OP_OR(macro, line 53)#define OP_OR -
OP_XOR(macro, line 54)#define OP_XOR -
OP_NOT(macro, line 55)#define OP_NOT -
OP_SHL(macro, line 56)#define OP_SHL -
OP_SHR(macro, line 57)#define OP_SHR -
OP_CMP_EQ(macro, line 58)#define OP_CMP_EQ -
OP_CMP_NE(macro, line 59)#define OP_CMP_NE -
OP_CMP_LT(macro, line 60)#define OP_CMP_LT -
OP_CMP_LE(macro, line 61)#define OP_CMP_LE -
OP_CMP_GT(macro, line 62)#define OP_CMP_GT -
OP_CMP_GE(macro, line 63)#define OP_CMP_GE -
OP_LNOT(macro, line 64)#define OP_LNOT -
OP_JMP(macro, line 65)#define OP_JMP -
OP_JZ(macro, line 66)#define OP_JZ -
OP_CALL_NATIVE(macro, line 67)#define OP_CALL_NATIVE -
OP_LEA_DATA(macro, line 68)#define OP_LEA_DATA -
OP_HALT(macro, line 69)#define OP_HALT -
CVM_MAX_NODES(macro, line 71)#define CVM_MAX_NODES - Depends on:
kernel/string.c,progs/nuklear/cvm_emit.h
- Doc: — node-graph compiler for CVM (cvm2 module format v2).
- Layer: utility
- Language: h
- Symbols:
-
cvm_node(struct, line 56) -
cvm_node_type(enum, line 22) -
graph(function, line 6)* * A node graph (constants, arithmetic, bitwise, comparisons, a conditional * select, and string constants feeding... -
err(function, line 67)* err (err_cap bytes). The module is heap-allocated and owned by the caller * (free it). */ int cvm_compile(const... -
CVM_EMIT_H(macro, line 2)#define CVM_EMIT_H -
CVM_NODE_STR_MAX(macro, line 19)#define CVM_NODE_STR_MAX
-
- Imported by:
progs/nuklear/cvm_emit.c,progs/nuklear/node_editor.c
- Doc: font8x8 - shared 8x8 bitmap font for MiniOS ring-3 graphics programs.
- Layer: utility
- Language: c
- Depends on:
progs/nuklear/nuklear_minios.h
- Doc: — visual low-code editor that compiles to CVM bytecode.
- Layer: utility
- Language: c
- Symbols:
-
gnode(struct, line 44) -
nodedef(struct, line 55) -
node_inputs(function, line 96)static int node_inputs(int k) -
node_outputs(function, line 101)static int node_outputs(int k) -
kind_name(function, line 106)static const char *kind_name(int k) -
kind_color(function, line 111)static struct nk_color kind_color(int k) -
graph_clear(function, line 116)static void graph_clear(void) -
graph_add(function, line 122)static int graph_add(int kind) -
graph_del(function, line 136)static void graph_del(int idx) -
graph_to_compiler(function, line 154)static int graph_to_compiler(struct cvm_node *out, int cap) -
repair_graph(function, line 176)static int repair_graph(char *rep, size_t repcap, char *herr, size_t herrcap, ... -
addrep(function, line 183)void addrep(const char *s) -
adderr(function, line 193)void adderr(const char *s) -
compile_to(function, line 283)static int compile_to(const char *path) -
write_quoted(function, line 339)static void write_quoted(FILE *f, const char *s) -
save_graph_file(function, line 392)static int save_graph_file(const char *path) -
parse_graph_file(function, line 430)static int parse_graph_file(const char *path) -
resolve(function, line 437)int resolve(const char *nme, int upto) -
parse_input(function, line 443)int parse_input(const char *tok, int idx, int k) -
pin_y(function, line 522)static float pin_y(struct gnode *n, int slot, int is_output) -
node_h(function, line 534)static float node_h(struct gnode *n) -
ui_inspector(function, line 542)static void ui_inspector(struct nk_context *ctx) -
ui_build(function, line 622)static void ui_build(struct nk_context *ctx, float win_w, float win_h) -
gui_run(function, line 931)static void gui_run(void) -
main(function, line 983)int main(int argc, char **argv) -
MAX_NODES(macro, line 33)#define MAX_NODES -
STR_MAX(macro, line 34)#define STR_MAX -
UI_MEMORY(macro, line 500)#define UI_MEMORY -
NODE_W(macro, line 514)#define NODE_W -
TITLE_H(macro, line 515)#define TITLE_H -
PIN_R(macro, line 516)#define PIN_R -
PIN_DIAM(macro, line 517)#define PIN_DIAM -
BEZIER_PAD(macro, line 518)#define BEZIER_PAD -
GRID_SIZE(macro, line 519)#define GRID_SIZE
-
- Depends on:
kernel/string.c,progs/minios_abi.h,progs/nuklear/cvm_emit.h,progs/nuklear/nuklear_minios.h,progs/nuklear/nuklear_theme.h
- Doc: — MiniOS platform layer for Nuklear.
- Layer: utility
- Language: c
- Symbols:
-
nk_sys_time_ms(function, line 33)long nk_sys_time_ms(void) -
nk_sys_kbd(function, line 38)long nk_sys_kbd(void) -
nk_sys_palette(function, line 43)long nk_sys_palette(const unsigned char *pal) -
nk_sys_kbd_raw(function, line 48)long nk_sys_kbd_raw(int on) -
nk_sys_getpid(function, line 53)long nk_sys_getpid(void) -
nk_client_probe(function, line 72)static int nk_client_probe(void) -
nk_sys_vga_mode(function, line 114)long nk_sys_vga_mode(int on) -
nk_sys_fb_info(function, line 121)long nk_sys_fb_info(int *w, int *h, int *pitch) -
nk_sys_fb_info_rgb(function, line 137)static long nk_sys_fb_info_rgb(int *w, int *h, int *pitch, int *rgb) -
nk_rgb_available(function, line 147)int nk_rgb_available(void) -
rgb256_prepare(function, line 162)static void rgb256_prepare(void) -
nk_idx_to_rgb(function, line 170)void nk_idx_to_rgb(int idx, unsigned char *r, unsigned char *g, unsigned char *b) -
cur_set(function, line 186)static void cur_set(struct nk_color c) -
cur_bg_set(function, line 190)static void cur_bg_set(struct nk_color c) -
nk_sys_mouse(function, line 193)long nk_sys_mouse(int *xybw) -
nk_sys_mouse_badptr(function, line 198)long nk_sys_mouse_badptr(void) -
nk_client_hash(function, line 216)static unsigned nk_client_hash(const unsigned char *p, unsigned n) -
nk_client_publish(function, line 227)static int nk_client_publish(void) -
nk_sys_nk_frame(function, line 280)long nk_sys_nk_frame(int *origin) -
nk_mirror_box(function, line 314)static void nk_mirror_box(char *dst, int cap) -
nk_mirror_emit(function, line 335)static int nk_mirror_emit(const char *box, unsigned seq, const unsigned char *msg, int mlen) -
nk_mirror_tick(function, line 352)static void nk_mirror_tick(void) -
nk_sys_gfx_set_title(function, line 409)long nk_sys_gfx_set_title(const char *t) -
nk_build_palette(function, line 418)void nk_build_palette(unsigned char *pal768) -
pal_prepare(function, line 427)static void pal_prepare(void) -
col_to_idx(function, line 438)static int col_to_idx(struct nk_color c) -
set_clip(function, line 469)static void set_clip(int x, int y, int w, int h) -
px(function, line 479)static void px(int x, int y, int c) -
px_bg(function, line 492)static void px_bg(int x, int y, int c) -
px_idx(function, line 506)static void px_idx(int x, int y, int c) -
fill_rect(function, line 522)static void fill_rect(int x, int y, int w, int h, int c) -
draw_line(function, line 529)static void draw_line(int x0, int y0, int x1, int y1, int th, int c) -
fill_circle(function, line 547)static void fill_circle(int cx, int cy, int r, int c) -
stroke_circle(function, line 553)static void stroke_circle(int cx, int cy, int r, int th, int c) -
fill_poly(function, line 571)static void fill_poly(int *xs, int *ys, int n, int c) -
stroke_poly(function, line 594)static void stroke_poly(int *xs, int *ys, int n, int th, int c) -
draw_text(function, line 601)static void draw_text(int x, int y, const char *s, int len, int fg, int bg) -
draw_arc(function, line 615)static void draw_arc(int cx, int cy, int r, float a0, float a1, int filled, ... -
nk_rasterize(function, line 636)void nk_rasterize(struct nk_context *ctx) -
nk_foreach(function, line 641)nk_foreach(cmd, ctx) -
nk_minios_font_width(function, line 813)static float nk_minios_font_width(nk_handle handle, float height, ... -
nk_minios_font(function, line 819)struct nk_user_font nk_minios_font(void) -
feed_key(function, line 854)static void feed_key(struct nk_context *ctx, enum nk_keys key, int down) -
nk_set_scancode_hook(function, line 861)void nk_set_scancode_hook(nk_scancode_cb cb, void *ud) -
handle_scancode(function, line 866)static void handle_scancode(struct nk_context *ctx, unsigned char sc) -
nk_client_poll(function, line 914)static void nk_client_poll(struct nk_context *ctx) -
nk_poll_input(function, line 961)void nk_poll_input(struct nk_context *ctx) -
nk_set_window_origin(function, line 1000)void nk_set_window_origin(int x, int y) -
nk_quit_requested(function, line 1008)int nk_quit_requested(void) -
list(function, line 4)* abstract draw command list (nk__begin/nk__next); -
program_invocation_short_name(variable, line 27)extern char *program_invocation_short_name; -
NK_IMPLEMENTATION(macro, line 17)#define NK_IMPLEMENTATION
-
- Depends on:
kernel/string.c,progs/nk_palette.h,progs/nuklear/nuklear_minios.h,progs/wl/wl_client.h,progs/wl/wl_mbox.h
- Doc: — MiniOS platform layer for Nuklear.
- Layer: utility
- Language: h
- Symbols:
-
nk_context(struct, line 20) -
nk_user_font(struct, line 21) -
nk_command_buffer(struct, line 22) -
nk_minios_img(struct, line 74) -
nk_rgb_available(function, line 33)int nk_rgb_available(void); -
nk_idx_to_rgb(function, line 37)void nk_idx_to_rgb(int idx, unsigned char *r, unsigned char *g, unsigned char *b); -
nk_sys_time_ms(function, line 41)long nk_sys_time_ms(void); -
nk_sys_kbd(function, line 42)long nk_sys_kbd(void); -
nk_sys_palette(function, line 43)long nk_sys_palette(const unsigned char *pal768); -
nk_sys_kbd_raw(function, line 44)long nk_sys_kbd_raw(int on); -
nk_sys_vga_mode(function, line 45)long nk_sys_vga_mode(int on); -
nk_sys_fb_info(function, line 46)long nk_sys_fb_info(int *w, int *h, int *pitch); -
nk_sys_mouse(function, line 47)long nk_sys_mouse(int *xybw); -
nk_sys_mouse_badptr(function, line 51)long nk_sys_mouse_badptr(void); -
nk_sys_nk_frame(function, line 52)long nk_sys_nk_frame(int *origin); -
nk_sys_gfx_set_title(function, line 53)long nk_sys_gfx_set_title(const char *t); -
nk_build_palette(function, line 57)void nk_build_palette(unsigned char *pal768); -
nk_minios_font(function, line 63)struct nk_user_font nk_minios_font(void); -
nk_rasterize(function, line 66)void nk_rasterize(struct nk_context *ctx); -
SYS_NK_FRAME(function, line 85)* SYS_NK_FRAME (nk_set_window_origin). */ void nk_set_window_origin(int x, int y); -
nk_poll_input(function, line 87)void nk_poll_input(struct nk_context *ctx); -
nk_quit_requested(function, line 92)int nk_quit_requested(void); -
nk_set_scancode_hook(function, line 101)void nk_set_scancode_hook(nk_scancode_cb cb, void *ud); -
NUKLEAR_MINIOS_H(macro, line 2)#define NUKLEAR_MINIOS_H -
NK_W(macro, line 24)#define NK_W -
NK_H(macro, line 25)#define NK_H -
NK_BACKBUF(macro, line 26)#define NK_BACKBUF -
NK_RGB_BUF(macro, line 30)#define NK_RGB_BUF -
NK_MINIOS_IMG_MAX(macro, line 73)#define NK_MINIOS_IMG_MAX
-
- Depends on:
progs/minios_abi.h - Imported by:
progs/doomedit/doomedit.c,progs/file/file.c,progs/nuklear/font8x8.c,progs/nuklear/node_editor.c,progs/nuklear/nuklear_minios.c,progs/paint/paint.c,progs/piano/piano.c,progs/vedit/vedit.c
- Doc: Docstring: shared Nuklear theme loader, linked by every NK app.
- Layer: utility
- Language: c
- Symbols:
-
nk_theme_slot(struct, line 15) -
nk_theme_name_ok(function, line 37)static int nk_theme_name_ok(const char *name) -
nk_theme_active(function, line 49)int nk_theme_active(char *dst, int cap) -
nk_theme_parse_line(function, line 73)static int nk_theme_parse_line(const char *line, unsigned char rgb... -
nk_theme_probe(function, line 105)int nk_theme_probe(const char *name, unsigned char rgb[NK_THEME_KEY_COUNT][3]) -
nk_theme_apply(function, line 141)int nk_theme_apply(struct nk_context *ctx, const char *name) -
X(macro, line 21)#define X(k, i)
-
- Depends on:
kernel/string.c,progs/nuklear/nuklear_theme.h
- Doc: Docstring: shared Nuklear theme contract for every MiniOS NK app.
- Layer: utility
- Language: h
- Symbols:
-
nk_context(struct, line 59) -
nk_theme_active(function, line 62)int nk_theme_active(char *dst, int cap); -
nk_theme_probe(function, line 65)int nk_theme_probe(const char *name, unsigned char rgb[NK_THEME_KEY_COUNT][3]); -
nk_theme_apply(function, line 68)int nk_theme_apply(struct nk_context *ctx, const char *name); -
NUKLEAR_THEME_H(macro, line 2)#define NUKLEAR_THEME_H -
NK_THEME_NAME_MAX(macro, line 15)#define NK_THEME_NAME_MAX -
NK_THEME_KEY_MAX(macro, line 16)#define NK_THEME_KEY_MAX -
NK_THEME_LINE_MAX(macro, line 17)#define NK_THEME_LINE_MAX -
NK_THEME_PATH_DIR(macro, line 18)#define NK_THEME_PATH_DIR -
NK_THEME_PATH_CURRENT(macro, line 19)#define NK_THEME_PATH_CURRENT -
NK_THEME_DEFAULT(macro, line 20)#define NK_THEME_DEFAULT -
NK_THEME_KEY_LIST(macro, line 23)#define NK_THEME_KEY_LIST -
NK_THEME_KEY_COUNT(macro, line 57)#define NK_THEME_KEY_COUNT
-
- Imported by:
progs/doomedit/doomedit.c,progs/file/file.c,progs/nuklear/node_editor.c,progs/nuklear/nuklear_theme.c,progs/paint/paint.c,progs/piano/piano.c,progs/vedit/vedit.c,tests/test_theme.c
Generated offline by readmenator from commit cd87980b5eb5. Edits here are overwritten by readmenator . --rebuild.
Start
Wiki
- community_0_headers_kernel
- community_10_orphans
- community_1_progs_doomgeneric_d_englsh
- community_2_progs_src
- community_3_progs_doomgeneric_p_spec
- community_4_tools_tls_crypto
- community_5_headers_vga_fb
- community_6_progs_doomgeneric_net_defs
- community_7_headers_batch
- community_8_headers_tick
- community_9_tools_doom_pwad
- concepts
- queries
- REPORT
Agent Docs
- API
- API_p10
- API_p11
- API_p12
- API_p13
- API_p14
- API_p15
- API_p16
- API_p17
- API_p18
- API_p19
- API_p2
- API_p20
- API_p21
- API_p3
- API_p4
- API_p5
- API_p6
- API_p7
- API_p8
- API_p9
- ARCHITECTURE
- ARCHITECTURE_p2
- ARCHITECTURE_p3
- ARCHITECTURE_p4
- CONCEPTS
- GOTCHAS
- INDEX
- INDEX_p2
- KB_asm
- KB_boot
- KB_doomgeneric
- KB_doomgeneric_p10
- KB_doomgeneric_p11
- KB_doomgeneric_p12
- KB_doomgeneric_p2
- KB_doomgeneric_p3
- KB_doomgeneric_p4
- KB_doomgeneric_p5
- KB_doomgeneric_p6
- KB_doomgeneric_p7
- KB_doomgeneric_p8
- KB_doomgeneric_p9
- KB_drivers
- KB_drivers_p2
- KB_file
- KB_freedomui
- KB_fs
- KB_headers
- KB_headers_arch_x86
- KB_headers_drivers
- KB_headers_kernel
- KB_headers_p2
- KB_headers_p3
- KB_headers_p4
- KB_headers_p5
- KB_headers_p6
- KB_kernel
- KB_kernel_p2
- KB_kernel_p3
- KB_kernel_p4
- KB_lib
- KB_lisp
- KB_lua
- KB_mcp
- KB_minios
- KB_misc
- KB_misc_p2
- KB_misc_p3
- KB_mm
- KB_net
- KB_nuklear
- KB_pokemon
- KB_progs
- KB_quake2generic
- KB_root
- KB_src
- KB_src_p2
- KB_src_p3
- KB_tests
- KB_tests_p2
- KB_tls_u
- KB_tools
- KB_tools_p2
- KB_wl
- KB_x86
- MEMORY
- SECURITY
- SYMBOLS
- SYMBOLS_p10
- SYMBOLS_p11
- SYMBOLS_p12
- SYMBOLS_p13
- SYMBOLS_p14
- SYMBOLS_p15
- SYMBOLS_p16
- SYMBOLS_p17
- SYMBOLS_p18
- SYMBOLS_p19
- SYMBOLS_p2
- SYMBOLS_p20
- SYMBOLS_p21
- SYMBOLS_p22
- SYMBOLS_p23
- SYMBOLS_p24
- SYMBOLS_p25
- SYMBOLS_p26
- SYMBOLS_p27
- SYMBOLS_p3
- SYMBOLS_p4
- SYMBOLS_p5
- SYMBOLS_p6
- SYMBOLS_p7
- SYMBOLS_p8
- SYMBOLS_p9
Recipes