Documentation TODO
Author: bvisnessCreated May 27, 2024Updated May 21, 2025
Labelsdocumentation
We now have support for three different languages in Orca (C, Odin, Zig) and we should update the docs accordingly.
- Getting Started
- Installation (unchanged)
- Quick Start
- C
- Create build.sh / build.bat
- clang with wasm flags (this is already in the quick start)
orca bundle
- Odin
- Follow this guide: https://odin-lang.org/news/orca-odin/
- No need to explicitly create build.sh / build.bat
odin build ...orca bundle
- Zig
- Sample build.zig
- Also runs
orca bundleon its own somewhere
- All of this varies enough that we should have three different quickstart guides
- C
- Orca Architecture / Anatomy of an Orca app
- Extract the "what is an Orca app" portions of the current quick start
- Make sure to talk about the custom wasm runtime and the debugger!
- API Overviews
- These will only cover the C API, at least for now. It should be clear how to adapt to other languages when we have them up and running.
- Overview of Application API
- Events generally, exports/imports
- Overview of debugging and logging
- Logging / log panel
- Debugger in development
- Overview of Canvas API
- Clock might not be the best example; smiley face was a better example
- Start static, then can easily move to dynamic (e.g. following mouse)
- Text might be best offloaded to something else, but could fit here
- Implementation overview: command buffer, Dawn/WebGPU backend, native OS graphics APIs
- Clock might not be the best example; smiley face was a better example
- Overview of I/O API
- Overview of UI API
- Punt to later; it needs more updating across languages
- Overview of GLES API
- How to do meshes / shaders / the usual
- Implementation overview: ANGLE (no Dawn/WebGPU), native OS graphics APIs
- Overview of core data structures
- Arenas, strings, linked lists
- Mostly just affects C developers - other languages will have their own data structures
- API Specs
- C API
- All the autogenerated stuff
- Odin API (link to external site)
- Zig API (link to external site)
- C API
Old notes:
I have stolen the list of documentation tasks from https://github.com/orca-app/orca/issues/35 to track them here.
- Update the list of requirements
- Update the user tooling doc
- Split and update the dev tooling doc / building instructions to a separate document
- Update the cheat sheets
- Comment / write an accompanying tutorial file for each example
- "Getting Started" files (initially for C, later for other languages)
- Overview on our core data structures, eg arenas, strings, lists
- Canvas API documentation. In particular, the affine transform API and the text API might need some more in depth explanations.
- Setup the infrastructure for a standalone documentation website that we can fill in as we go
- Full API documentation
- Depends on https://github.com/orca-app/orca/issues/68
- Convert all function references in the documentation to links to the API spec
Source: orca-app/orca