Changes in version 0.1.0 - Named each sibling package explicitly in Remotes, so dependency installers distinguish monorepo subdirectories which share one repository commit. - Registered official GGML q2_0 group-64 ternary blocks as an Rfmalloc storage codec. Legacy group-128 files which reuse the same numeric type id remain unsupported rather than being decoded with the wrong geometry. - Added gguf_tensor(as = "view") and gguf_import(as = "view"). A view borrows the tensor's exact read-only span in the original GGUF mapping, keeps that mapping alive, and enters Rfmalloc/GGML compute without copying the encoded payload into a second file. - Removed the partial vendored gguflib parser. Rggml now carries GGML's official gguf.cpp; Rgguf uses its indexed metadata, tensor directory, writer, and type-traits decoders, while mapping tensor bytes read-only. Numeric decode uses bounded scratch, and the ten common quantized codecs are registered here rather than split between Rgguf and Rllm. - gguf_tensor(as = "native") copies the raw encoded payload and only needs a registered Rfmalloc codec. as = "numeric" decodes through GGML's reference implementation. - Removed the inherited Q4_K scale-indexing bug by deleting the independent decoder. Codec outputs are pinned to GGML by test_gguf_codec_ggml_ref.R. - Added native typed imports: gguf_tensor(as = "native") (and gguf_import(as = "native")) copy a 2-d tensor's raw GGUF payload into fmalloc storage at its original density (e.g. 4.5 bits/weight for q4_k) and return an Rfmalloc::fmalloc_tensor, decoded in bounded panels only inside matrix products. Registers GGML-backed codecs for q4_0, q4_1, q5_0, q5_1, q8_0, q2_k, q3_k, q4_k, q5_k, and q6_k. - Initial release. - Added gguf_open() to parse and map a GGUF file read-only and return a gguf_ctx handle with a closing finalizer. - Added gguf_metadata() to read all metadata key-value pairs (scalars and arrays of the supported GGUF value types) into a named R list. - Added gguf_tensors() to list the tensor directory (name, type, number of dimensions, dimensions, element count, byte size, file offset) as a data frame, without reading any tensor payload. - Added gguf_tensor() to read and dequantize a single named tensor directly into an Rfmalloc-backed, file-backed ALTREP matrix/array of doubles: R allocates the destination via Rfmalloc::create_fmalloc_matrix()/create_fmalloc_array(), and native code fills it in place, so no ordinary R-sized copy of the tensor is ever materialized on the R heap. - Added gguf_import() to read some or all tensors from a file into a named list of Rfmalloc-backed matrices/arrays sharing one open file handle. - Added gguf_write_tensors(), a minimal GGUF writer (F32 tensors plus simple string/numeric metadata), primarily to build small GGUF fixtures for this package's own round-trip tests without shipping binary fixtures. - Verified (with a dedicated round-trip test) that GGUF's dim[0] (fastest-varying/contiguous dimension) maps directly onto R's first, column-major dimension, so tensor dimensions need no transposition: dim(gguf_tensor(x, name)) == c(dim[0], dim[1], ...). - Numeric decoding uses GGML's storage-type implementation for plain and quantized tensors. - Documented (README, inst/smoke_test.R) a discovered Rfmalloc 0.1.0 limitation, not an Rgguf bug: %*%/crossprod/tcrossprod on fmalloc-backed operands with >= 64 elements currently fail once the operand has passed through any R closure call (effectively always), due to a generic R-core ALTREP attribute-wrapping behavior that Rfmalloc does not unwrap. gguf_tensor()/gguf_import() themselves are unaffected at any size.