nx_kkfacts_lib.nx
buildroot/runtime/nx_kkfacts_lib.nx
about
nx_kkfacts_lib.nx -- KOIKATSU CARD FACT EXTRACTION CORE (the Honey Select / Koikatsu card
study's first organ; benchmark card KK_396262 measured 2026-08-04).
A Koikatsu card is a PNG portrait with the CHARACTER DEFINITION appended after IEND: the
KoiKatuChara marker, then MessagePack block structures (Custom = face/body/hair, Coordinate =
outfits, Parameter, Status, KKEx = modded extended data). This core reads STRUCTURE ONLY:
portrait bounds + dims, payload size, marker, block-name census. Slider values and names stay
unread in v1 -- the deep (msgpack) rung comes with the k>=8 card study, and per-card creative
content never enters the published plane (one card = one creator; the k-wall exists for this).
★THE CARD FORMAT CARRIES NO MOTION: coordinates are OUTFITS, not animations -- motion lives in
the game engine, not the artifact. A fact this lane's compare page states outright.
Slots: [0] is_card [1] portrait_bytes [2] portrait_w [3] portrait_h [4] payload_bytes
[5] custom [6] coordinate [7] parameter [8] status [9] kkex (-1 = not measured)
license_tier: ORIGINAL No hw writes (Rule 26).
dependencies 2 imports · 3 importers
imports: nx_syscalls.nxnx_img_dims.nx
imported by: nx_ingest_audit.nxnx_kkfacts.nxnx_kkfacts_gate.nx
structs
| none |
consts
| 18 | const KK_MAGIC_4096: i64 = 4096 |
| 20 | const KK_N_SLOTS: i64 = 10 |
functions
| 22 | func kk_b(buf: *u8, o: i64) -> i64 { return buf[o] as i64 & 0xff } called by 1: kk_probe |
| 23 | func kk_find(buf: *u8, start: i64, end: i64, needle: *u8) -> i64 called by 1: kk_probe |
| 35 | func kk_count(buf: *u8, start: i64, end: i64, needle: *u8) -> i64 called by 1: kk_probe |
| 49 | func kk_probe(buf: *u8, n: i64, file_size: i64, facts: *i64) -> i64 |