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

Reading Paths

The book is designed for selective reading. Chapters state their own evidence boundaries, while Appendix G defines the shared vocabulary. The routes below avoid repeating material and identify a useful first destination for common readers.

New CNA user

Read Chapters 1, 4, and 5. Continue with the game lifecycle (Chapter 6), SpriteBatch (Chapter 13), and content resolution (Chapter 33). Chapter 20 explains renderer choice; Chapter 79 lists material gaps at the edition pin.

XNA or FNA porter

Start with the compatibility boundary in Chapters 1 and 3, then use the migration workflow in Chapter 74. Consult Chapters 3336 for assets, Chapter 17 for effects and custom shaders, and Appendix E when strict XNA compatibility matters.

Renderer implementer

Read Chapters 12, 19, 20, and 18. Appendix B summarizes the family-level contract; Chapters 71 and 70 explain engagement and oracle requirements.

Runtime renderer user

Read Chapters 4, 20, and 19. The selection chapter separates compiled families, configured default, runtime preference, fallback and the first-device latch; Appendix B supplies the family inventory and platform gates.

Native C consumer

Begin with Appendix I, then use Chapters 4 and 9 for build and link topology. Read Chapter 73 before interpreting the C API workflow and release-gate inventory as executed evidence.

Framework contributor

Begin with the lifecycle and module boundaries in Chapters 6, 9, and 10. Chapters 68 and 72 cover test registration and mechanical policy gates.

Content or glTF contributor

Read Chapters 3337, then Chapters 3943. Appendix H keeps importer, runtime, renderer, and oracle evidence in separate columns.

Verification contributor

Read Parts XI and Appendix G first. Chapter 69 defines reproducible counts; Chapter 70 distinguishes authority and tolerance; Chapter 73 records what automation did and did not exercise at the pin.

The shortest practical route

For a first program, the minimum sequence is: select a renderer when configuring CNA, build CNA as the repository documents, derive a class from Game, let GraphicsDeviceManager create the graphics device, load assets through ContentManager, and draw through an XNA-shaped API such as SpriteBatch. Chapter 5 contains the complete small program and commands. Portable code stays within the Microsoft::Xna::Framework surface and treats CNAEXT-marked APIs as explicit extensions.

When a result differs by renderer, first identify the public selector, implementation family, native or translation API, and whether the intended route engaged. Then reduce the case to a state transition, readback, or pixel oracle. A successful process exit alone cannot localize a renderer-specific failure.

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