ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
E-reader stack

Reflow/layout, EPUB/CBZ parsing, the bounded unarchivers, the book model, rendering, the widget UI, and the memory hierarchy (apps/shared_libs/reflow, epub, comic, unarch, book, rabook_compile, and rabook_import; libs/ra8_gfx, ra8_widget, ra8_ui, ra8_box, ra8_display_pal, and ra8_mem). More...

Files

file  ra8_box.h
 Bounded, allocation-free box-model layout for e-reader chrome.
file  ra8_mdl_http.h
 Wire-neutral media HTTP request and response records.
file  ra8_mdl_storage_ram.h
 Caller-buffer transaction adapter for verified C6 media sources.
file  ra8_display_pal.h
 Display Platform Abstraction Layer for the RA8D2.
file  ra8_display_pal_eink.h
 E-ink backend (IT8951) for the display PAL.
file  ra8_display_pal_lcd.h
 LCD backend (ra8_glcdc) for the display PAL.
file  ra8_display_pal_policy.h
 Pluggable page-turn refresh-cadence policy for bistable (e-ink) panels.
file  ra8_display_pal_internal.h
 Internal vtable + handle types for the display PAL.
file  ra8_epd_cal.h
 Per-device e-paper panel calibration (VCOM) – record, storage seam, resolution policy.
file  ra8_gfx.h
 Software 2D graphics primitives layered on top of a caller-ownedframebuffer (DRW / D/AVE 2D / GLCDC ready).
file  ra8_gfx_dither.h
 Void-and-cluster blue-noise dithering: continuous-tone gray8 -> 16-level panel (#477).
file  ra8_gfx_font.h
 Bitmap font descriptor + bundled font handles for ra8_gfx.
file  ra8_gfx_dither_mask_internal.h
 Void-and-cluster blue-noise threshold mask for the e-ink dither (#477).
file  ra8_gfx_internal.h
 Module-private declarations shared across the ra8_gfx software rasteriser TUs.
file  ra8_jpeg_sw.h
 Pure-software baseline JPEG (ISO/IEC 10918-1 / ITU-T T.81) codec.
file  ra8_jpeg_sw_encode_internal.h
 Module-private declarations shared by the two encoder translation units of the software JPEG codec.
file  ra8_jpeg_sw_internal.h
 Module-private declarations shared across the software JPEGcodec translation units.
file  ra8_arena.h
 Init-time bump arena – carves per-tier slab backing, zero-heap.
file  ra8_glyph_atlas.h
 Fixed-RAM-budget glyph cache with LRU eviction (Layer 3, #147).
file  ra8_keycache.h
 The one reusable hash + pin + evict cache engine (#147, #345).
file  ra8_slab.h
 Fixed-cell slab allocator – O(1), zero-fragmentation, zero-heap.
file  ra8_tile_cache.h
 Fixed-RAM-budget image-tile cache with LRU eviction (Layer 3b, #147).
file  ra8_vmem.h
 Byte-range page cache with SLRU eviction (Layer 2, #147).
file  ra8_vmem_stream.h
 Read a page-cached object as a seekable byte stream (Layer 2 helper, #147/#151).
file  ra8_vsource.h
 Virtual-memory object sources – the page-cache storage seam (Layer 1, #147).
file  ra8_ui.h
 Bounded UI interaction core: hit-testing, screen stack, paging.
file  ra8_widget.h
 Zero-heap composable widget layer (dwm-style) over ra8_box + ra8_ui.
file  ra8_widget_book.h
 Book-card + book-grid leaf widget for the ra8_widget tree (#145 Phase 2).
file  ra8_widget_keyboard.h
 On-screen-keyboard leaf widget for the ra8_widget tree (#145 Phase 2).
file  ra8_widget_nav_bar.h
 Navigation-strip leaf widget for the ra8_widget tree model (#145 Phase 2).
file  ra8_widget_progress_bar.h
 Progress-bar leaf widget for the ra8_widget tree model (#145 Phase 2).
file  ra8_widget_reflow_view.h
 Reflowed-reading-body leaf widget for the ra8_widget tree (#145 Phase 2).
file  ra8_widget_status_bar.h
 Status-bar leaf widget for the ra8_widget tree model (#145 Phase 2).
file  ra8_widget_toolbar.h
 Toolbar leaf widget for the ra8_widget tree model (#145 Phase 2).
file  ra8_widget_internal.h
 Module-private paint helpers shared by the concrete leaf-widget TUs.
file  ra8_fmt_stream.h
 Caller-workspace I/O contracts for portable format-tool engines.
file  ra8_fmt_stream_inspect.c
 Callback-driven, caller-workspace JOF inspection and reporting.
file  book.h
 Flat, execute-in-place container for a build-time "compiled" e-book.
file  book_chunked.h
 Demand-paged chunk reader for the "RBKC" .rabook container.
file  book_paged.h
 Paged (demand-fetched) accessor mode for book over ra8_vmem (#163).
file  book_stream.h
 Strict, zero-allocation validation of a streamed RABOOK1 flat blob.
file  book_internal.h
 book DOM-walk helpers shared across the library's translation units.
file  comic.h
 Unified demand-paged reader for comic-book archives – CBZ (ZIP) and CBR (RAR).
file  comic_tiles.h
 Tile an oversized comic page through the JOF atlas + ra8_tile_cache so a CBZ/CBR page larger than the whole-decode arena opens and zooms (#344).
file  ra8_rar.h
 Clean-room, read-only RAR archive walker (RAR4 + RAR5 headers, STORE data).
file  ra8_rar5.h
 Clean-room RAR 5.0 ("method 50") decompressor – LZ + Huffman + filters.
file  comic_internal.h
 Cross-TU seams between the comic facade and its CBZ / CBR backends.
file  ra8_rar5_internal.h
 Cross-TU seam between the RAR5 entropy front-end and the LZ decoder.
file  epub.h
 EPUB (.epub) reader and chapter iterator for ra8-firmware.
file  epub_entry.h
 Iterative, bounded-RAM ZIP-entry extraction for the EPUB reader (#231).
file  epub_fs.h
 ra8_fs -> epub bridge: open a .epub straight off a filesystem.
file  epub_img_tiles.h
 Page a large in-EPUB image through ra8_tile_cache + a real reflow <img> loader off the streaming reader (#231).
file  epub_miniz_alloc.h
 Caller-owned bounded-arena allocator for miniz.
file  epub_fs_internal.h
 Test-access surface for the EPUB filesystem stream callback.
file  epub_internal.h
 Test-access surface for epub internal helpers (MC/DC).
file  epub_xml_shim.c
 Strict bounded container/OPF/NCX/nav XML consumers.
file  epub_xml_shim_internal.h
 Library-private contract for the bounded EPUB XML parser.
file  epub_xml_toc.c
 Bounded NCX and EPUB 3 nav table-of-contents consumers.
file  jof.h
 JOF band-tile atlas: the display-native normalized image format (#231, shared with the longstrip scroll #289 and codec policy #290).
file  jof_audit.h
 No-heap, backing-agnostic structural audit for JOF atlases.
file  jof_produce.h
 Import-time transcode producer: JPEG/PNG/WebP -> JOF band-tile atlas in bounded RAM (#231, #290 normalize-on-import).
file  jof_audit.c
 No-heap implementation of the backing-agnostic JOF audit.
file  jof_internal.h
 Module-private seams shared by the producer translation units.
file  jof_png_internal.h
 Module-private declarations shared by the two PNG decoder units.
file  longstrip.h
 Continuous vertical-scroll (longstrip / manhwa) reading mode over an JOF band-tile atlas (#289).
file  mdl_format.h
 Shared media artifact format contract for download and export paths.
file  mdl_rabook_vfs.h
 Strict no-heap RBKC validator and reader over named RA8 VFS mounts.
file  mdl_storage_vfs.h
 No-heap VFS storage binding for the media-download coordinator.
file  ra8_rabook_comic.h
 Streaming image-sequence builder for reader-native RABOOK comics.
file  ra8_rabook_container.h
 Zero-heap streaming writer for the chunked RBKC .rabook container.
file  ra8_rabook_gray4.h
 Grayscale image transcode stage (4-bpp / 8-bpp) for the on-device EPUB compiler (#149).
file  ra8_rabook_pipeline.h
 End-to-end EPUB -> RABOOK1 compile pipeline (#149).
file  ra8_rabook_raster.h
 Caller-arena raster normalizer for RABOOK image records.
file  ra8_rabook_xml_shim.h
 Bounded XHTML-to-RABOOK streaming builder.
file  rabook_compile.h
 Zero-heap builder that emits a RABOOK1 blob (the #149 compiler back-end).
file  ra8_rabook_xml_shim.c
 Strict streamed XHTML-to-RABOOK consumer.
file  rabook_import.h
 On-import EPUB -> .rabook compile-and-cache manager (#151).
file  rabook_import_compiler.h
 Production adapter binding the import seam to the real compiler (#151).
file  ra8_img_arena.h
 Heap-free scratch allocator hooks for the stb_image single-TU build.
file  ra8_stbtt_alloc.h
 Heap-free scratch allocator for stb_truetype (glyph rasterise).
file  ra8_stbtt_guard.h
 sfnt (TrueType/OpenType) table-directory bounds guard for stb_truetype.
file  reflow.h
 HTML / CSS reflow + paginate engine for the ra8d2 ereader.
file  reflow_api.h
 Reflow-engine public + internal function prototypes.
file  reflow_cache.h
 Import-time pagination cache for reflow (#79).
file  reflow_css.h
 Minimal content-CSS cascade for the reflow ereader engine (#111).
file  reflow_image.h
 Zero-heap raster image decode + scale + blit for reflow (#106).
file  reflow_svg.h
 Minimal SVG handling for the reflow ereader (#112).
file  reflow_types.h
 Reflow-engine data model: enums, structs, typedefs, and the handle.
file  reflow_css_internal.h
 Cross-TU surface for the split content-CSS cascade (#111).
file  reflow_internal.h
 Test-access surface for reflow internal helpers (MC/DC).
file  reflow_layout_internal.h
 Cross-TU shared declarations for the reflow layout engine.
file  reflow_svg_internal.h
 Cross-TU surface for the split minimal-SVG subset (#112).
file  reflow_tokenize_internal.h
 Test-access surface for reflow_tokenize.c internal helpers.
file  unarch_gzip.h
 Clean-room gzip member decoder (RFC 1952) over the miniz DEFLATE core.
file  unarch_io.h
 Shared seek+read seam and flat-memory backing for the unarchivers.
file  unarch_tar.h
 Clean-room, read-only streaming tar walker (POSIX ustar + pax + GNU).
file  unarch_xz.h
 Bounded, fail-closed XZ/LZMA2 decoding over the vendored xz-embedded.
file  unarch_xz_pool.h
 Caller-owned bump arena backing xz-embedded's allocator seam.
file  xz_config.h
 First-party porting header for the vendored xz-embedded decoder.
file  ra8_webp.h
 Zero-heap WebP (VP8 / VP8L) decode facade over the vendored libwebp.
file  ra8_webp_arena.h
 Heap-free scratch allocator hooks for the vendored libwebp decoder.
file  xml.h
 Bounded, caller-owned, no-heap XML pull reader.
file  xml.c
 Bounded no-heap XML pull-reader implementation.
file  xml_decode.c
 Bounded entity and UTF-8 decoding for the no-heap XML pull reader.
file  xml_doctype.c
 Bounded external-only DOCTYPE lexer for the no-heap XML reader.
file  xml_internal.h
 Private lexical seams shared by the bounded XML reader.
file  zoom.h
 Tap-to-zoom image viewer: viewport state machine + tiled magnifying render (#478).
file  zoom_book.h
 Bind a .rabook image-pool figure as a zoom source (#478).
file  zoom_tiles.h
 Bind a tiled gray8 atlas behind an ra8_tile_cache as a zoom source (#478).

Detailed Description

Reflow/layout, EPUB/CBZ parsing, the bounded unarchivers, the book model, rendering, the widget UI, and the memory hierarchy (apps/shared_libs/reflow, epub, comic, unarch, book, rabook_compile, and rabook_import; libs/ra8_gfx, ra8_widget, ra8_ui, ra8_box, ra8_display_pal, and ra8_mem).