Skip to content
The CNA BibleCNA 0.1.0-alpha.1 Edition

The CNA Bible

CNA 0.1.0-alpha.1 Edition

The Core Framework, the Graphics Machine, the Ecosystem, the Platforms,
and the Practice

A comprehensive, revision-bounded technical account of CNA — a
C++23 reimplementation of the XNA 4.0 programming model —
and the foundation, content, renderer, and verification projects around it.

Grounded in pinned source code, tests, project records,
and retained verification artifacts.

CNA edition: v0.1.0-alpha.1

1bb2145d99ed572dd4eb15009c34e2e5f410fcf0

2026-08-20

Robert Vokac

2026

Contents

  1. Preface
  2. Reading Paths
  3. Production and Evidence Method
  4. Part I CNA and Its Ecosystem
    1. Chapter 1 CNA and XNA 4.0
    2. Chapter 2 Ecosystem and Vocabulary
    3. Chapter 3 Language, Conventions, and CNAEXT
  5. Part II Architecture, Building, and the Framework
    1. Chapter 4 Configuring and Building CNA
    2. Chapter 5 Your First CNA Game
    3. Chapter 6 The Game Lifecycle
    4. Chapter 7 Math Types and Coordinate Conventions
    5. Chapter 8 Geometry, Color, Curves, and C++ Value Layout
    6. Chapter 9 The Module Monorepo
    7. Chapter 10 Cycles, Umbrellas, Boundaries, and Enforcement
    8. Chapter 11 Dependencies, Tests, Examples, and Developer Tools
  6. Part III The Graphics Machine
    1. Chapter 12 GraphicsDevice and the Rendering Pipeline
    2. Chapter 13 SpriteBatch and 2D Rendering
    3. Chapter 14 Textures and Render Targets
    4. Chapter 15 Stock Effects and Draw Parameters
    5. Chapter 16 State Objects and Value Semantics
    6. Chapter 17 Shaders: Four Answers to XNA’s .fx
    7. Chapter 18 Vertex Streams and Capabilities
  7. Part IV The Renderers
    1. Chapter 19 The Renderer Contract
    2. Chapter 20 Renderer Selection and Identity
    3. Chapter 21 OpenGL I: The Independent Compatibility Ladder
    4. Chapter 22 OpenGL II: Programmable, Web, and Portable Profiles
    5. Chapter 23 Native Modern GPU APIs
    6. Chapter 24 BGFX, Magnum, LLGL, and Diligent
    7. Chapter 25 Abstraction Layers II: Sokol, Wicked, and FNA3D
    8. Chapter 26 DirectX 1–3 and free-direct
    9. Chapter 27 The Retro Ladder: DirectX 5–8 and Glide
    10. Chapter 28 Modern Direct3D
    11. Chapter 29 Windows 2D: Direct2D and GDI
    12. Chapter 30 2D and Vector Rasterizers
    13. Chapter 31 Web and DOM Renderers
    14. Chapter 32 Non-GPU and Diagnostic Renderers
  8. Part V The Content Pipeline
    1. Chapter 33 ContentManager and Asset Resolution
    2. Chapter 34 The XNB Container
    3. Chapter 35 XNB Type Readers and Object Graphs
    4. Chapter 36 CNJ: CNA’s Own Content Format
    5. Chapter 37 Content and Asset Boundaries
  9. Part VI 3D Content: Models, glTF, and Conformance
    1. Chapter 38 Models, Meshes, and Drawing
    2. Chapter 39 From glTF File to Model: the Import Core
    3. Chapter 40 GPU Packing and the Stride ABI
    4. Chapter 41 Skinning and Animation across Two Systems
    5. Chapter 42 The CNJ Model Toolchain
    6. Chapter 43 glTF Conformance and Oracles
  10. Part VII Input, Audio, Media, Devices, Networking, and Services
    1. Chapter 44 The Input System
    2. Chapter 45 The Audio System
    3. Chapter 46 The Media System
    4. Chapter 47 Sensors and Microsoft.Devices
    5. Chapter 48 Host Integration through CNA.Devices
    6. Chapter 49 GamerServices and Local Identity
    7. Chapter 50 Storage and Persistence Boundaries
    8. Chapter 51 Networking and Session Semantics
    9. Chapter 52 Avatar: Faithful Absence and CNAEXT Rendering
  11. Part VIII sharp-runtime: The Foundation Layer
    1. Chapter 53 Why sharp-runtime Exists
    2. Chapter 54 Components and CNA Integration
    3. Chapter 55 The Object Model, Honestly
    4. Chapter 56 Namespaces, Types, and Include Paths
    5. Chapter 57 Parity and Permanent Deviations
    6. Chapter 58 Verification and Audit in sharp-runtime
  12. Part IX Sibling Foundation Libraries
    1. Chapter 59 easy-gl and meta-gl: Profile, Loader, and Dispatch
    2. Chapter 60 free-direct and free-api
  13. Part X Cross-Platform Engineering
    1. Chapter 61 The Cross-Platform Contract
    2. Chapter 62 Windows I: Cross-Compiling from Linux
    3. Chapter 63 Windows II: Wine and Engagement Gates
    4. Chapter 64 Web I: C++23 to WebAssembly
    5. Chapter 65 Web II: the Main-Loop Problem
    6. Chapter 66 Web III: Six Renderers, Four Kinds of Evidence
    7. Chapter 67 Android and Apple Platform Evidence
  14. Part XI Testing and Verification
    1. Chapter 68 The CnaTests Architecture
    2. Chapter 69 Counting Discipline
    3. Chapter 70 Oracles: What Does “Correct” Mean?
    4. Chapter 71 Verification in Hostile Environments
    5. Chapter 72 Discipline as a Test
    6. Chapter 73 CI Execution and Coverage
  15. Part XII Porting, Practice, and the Road Ahead
    1. Chapter 74 Migrating an XNA or FNA Game to CNA
    2. Chapter 75 Case Study: Speedy Blupi and Planet Blupi
    3. Chapter 76 Auditing xna4-spec Compatibility
    4. Chapter 77 cna-samples and cna-examples
    5. Chapter 78 Project Practice and Durable Task Tracking
    6. Chapter 79 Roadmap, Open Gaps, and How to Re-Audit This Book
  16. Appendix A Core Framework and Graphics API Reference
  17. Appendix B Renderer Registry, Capabilities, and Evidence
  18. Appendix C Glossary of XNA and CNA Terms
  19. Appendix D Repository and Module Map
  20. Appendix E CNAEXT: Marker and Engine-Layer Catalog
  21. Appendix F Ecosystem and Platform Reference
  22. Appendix G Verification Tiers and Oracles
  23. Appendix H glTF Importer, Runtime, and Test-Evidence Matrix
  24. Appendix I Experimental Native C API
  25. Index

Type at least three characters. Results are ranked by how often and where the words occur.