#73·orca

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
      • Zig
        • Sample build.zig
        • Also runs orca bundle on its own somewhere
      • All of this varies enough that we should have three different quickstart guides
    • 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
    • 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)

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
  • Convert all function references in the documentation to links to the API spec