Skip to content

Documentation TODO #73

Description

@bvisness

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 #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

Metadata

Metadata

Assignees

Labels

documentationImprovements or additions to documentation

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions