code wiki / (root) / nx_gltf_accessor_candidate_t181.nx

nx_gltf_accessor_candidate_t181.nx

buildroot/runtime/nx_gltf_accessor_candidate_t181.nx

48569 B1018 linesdepth 7pulls 14 transitivereach 49 importersview sourcekind librarytopic gltf
docsdependenciesstructsconstsfunctions

about

nx_gltf_load.nx -- ★sovereign glTF (.glb) LOADER: parse a binary glTF back into nx_trimesh buffers, so the Nishi stack (Nishi OS / Nishi browser) can NATIVELY VIEW a .glb -- and so we can render our own exports on our own renderer to prove the round-trip (the honest-scope gap: "eyeball the model sovereignly"). Inverse of nx_gltf_mesh: includes an integer IEEE-754 float32 DECODER. Loads POSITION + COLOR_0 + indices from our exporter's layout; recomputes normals. license_tier: ORIGINAL

dependencies 4 imports · 5 importers

nx_syscalls.nx nx_trimesh.nx nx_compare_openapi.nx nx_base64.nx nx_gltf_accessor_candidate_t18 nx_gltf_accessor_gate_t181.nx nx_gltf_decimal_gate_t181.nx nx_gltf_pose_candidate_t181.nx nx_gltf_pose_scratch_candidate_t18 nx_gltf_quaternion_witness_t181.nx

imports: nx_syscalls.nxnx_trimesh.nxnx_compare_openapi.nxnx_base64.nx

imported by: nx_gltf_accessor_gate_t181.nxnx_gltf_decimal_gate_t181.nxnx_gltf_pose_candidate_t181.nxnx_gltf_pose_scratch_candidate_t181.nxnx_gltf_quaternion_witness_t181.nx

structs

none

consts

7const K_MAGIC_8388607: i64 = 8388607
8const K_MAGIC_8388608: i64 = 8388608
9const K_MAGIC_65536: i64 = 65536
10const K_MAGIC_2147483647: i64 = 2147483647
11const K_MAGIC_2000000000: i64 = 2000000000
12const K_MAGIC_1024: i64 = 1024
13const K_MAGIC_5123: i64 = 5123
14const K_MAGIC_5125: i64 = 5125
470const K_MAGIC_PRIMCAP: i64 = 512
471const K_MAGIC_PSTRIDE: i64 = 13
813const GLI_STATS_WORDS:i64=34
814const GLI_CONTEXT_WORDS:i64=6
938const GLD_VIEW_WORDS:i64=8
939const GLD_I64_MAX:i64=9223372036854775807
997const GLD_CONTEXT_WORDS:i64=9

functions

17func gll_f32i(bits: i64) -> i64
called by 2: gltf_loadgls_f32s
31func gll_ru8(buf: *u8, at: i64) -> i64 { return buf[at] as i64 }
called by 1: gltf_load
32func gll_ru32(buf: *u8, at: i64) -> i64 { return (buf[at] as i64) + ((buf[at+1] as i64)<<8) + ((buf[at+2] as i64)<<16) + ((buf[at+3] as i64)<<24) }
33func gll_align4(x: i64) -> i64 { return (x+3)/4*4 }
called by 2: gltf_loadglp_build
34func gll_slen(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} return n }
38func gltf_load_why() -> *u8 { if GLL_WHY == 0 { return "ok" as *u8 } return GLL_WHY as *u8 }
39func gll_refuse(why: *u8) -> i64
50func gll_inb(off: i64, need: i64, size: i64) -> i64
58func gll_idx3(a: i64, b: i64, c: i64, nv: i64) -> i64
68func gll_nth_num(buf: *u8, start: i64, end: i64, needle: *u8, n: i64) -> i64
called by 1: gltf_load calls 1: gll_slen
94func gltf_load(path: *u8) -> i64
155func gls_ru16(buf: *u8, at: i64) -> i64 { return (buf[at] as i64) + ((buf[at+1] as i64)<<8) }
157func gls_f32s(bits: i64, k: i64) -> i64 { if (bits & K_MAGIC_2147483647) == 0 { return 0 } return gll_f32i(bits + (k<<23)) }
called by 2: gltf_load_stdgltf_load_all calls 1: gll_f32i
158func gls_find(buf: *u8, end: i64, from: i64, needle: *u8) -> i64
170func gls_key_int(buf: *u8, s: i64, e: i64, key: *u8) -> i64
195func gls_arr_obj(buf: *u8, end: i64, arrName: *u8, k: i64, out: *i64) -> i64
200func gls_arr_obj_from(buf: *u8, end: i64, from: i64, arrName: *u8, k: i64, out: *i64) -> i64
called by 2: gls_arr_objgltf_load_all calls 1: gls_find
227func gls_accessor(buf: *u8, jE: i64, A: i64, out: *i64) -> i64
241func gls_bufview(buf: *u8, jE: i64, B: i64, out: *i64) -> i64
253func gls_image_slice(buf: *u8, size: i64, out: *i64) -> i64
271func gls_basecolor(buf: *u8, jE: i64, out: *i64) -> i64 { return gls_basecolor_in(buf, 0, jE, out) }
called by 1: gltf_load_std calls 1: gls_basecolor_in
273func gls_basecolor_in(buf: *u8, s: i64, jE: i64, out: *i64) -> i64
called by 2: gls_basecolorgltf_load_all calls 1: gls_find
325func gltf_load_std(path: *u8, target: i64) -> i64
473func gltf_load_all(path: *u8, target: i64) -> i64
676func glp_eq(t: *NxJsonTok, key: *u8) -> i64
685func glp_member(t: *NxJsonTok, key: *u8, out: *i64, states: *u8, cap: i64) -> i64
712func glp_reset(t: *NxJsonTok, src: *u8, n: i64, pos: i64)
715func glp_u32(out:*u8, at:i64, value:i64)
called by 2: glp_buildgtest
720func glp_build(src:*u8,n:i64,out:*u8,cap:i64,t:*NxJsonTok,states:*u8,sp:*i64)->i64
794func gltf_json_to_glb(src:*u8,n:i64,out:*u8,cap:i64)->i64
815func gli_name(i:i64)->*u8
called by 1: gltf_inventory_glb
830func gli_member(cx:*i64,parent:i64,key:*u8)->i64
835func gli_present(cx:*i64,parent:i64,key:*u8,slot:i64)->i64
called by 1: gli_array calls 1: gli_member
843func gli_array(cx:*i64,parent:i64,key:*u8,mode:i64)->i64
894func gltf_inventory_glb(src:*u8,n:i64,stats:*i64)->i64
940func gld_uint(t:*NxJsonTok)->i64
945func gld_int(cx:*i64,parent:i64,key:*u8,missing:i64)->i64
950func gld_nth(cx:*i64,parent:i64,key:*u8,index:i64)->i64
965func gltf_accessor_view(cx:*i64,index:i64,bin_bytes:i64,out:*i64)->i64
998func gltf_view_close(cx:*i64)->i64
1006func gltf_view_open(src:*u8,n:i64,cx:*i64)->i64