The primary source for documentation should be the Guides written on this wiki (covering users, scripting, the system architecture, and platform development). Please add to these if you find something missing.
Learning the System
- Architecture gives a high level overview of Sirikata's architecture. Only the highest level components are described, making this the best place to start.
- Protocol describes our current wire protocol. This is subject to change.
- Type Systems describes the types we want our serialization format to natively support to minimize the amount of tedious work platform developers and end-user scripters need to do to exchange data.
- Source Code describes the infrastructure related to our source code. This describes both how to get and build the code, as well as how developers can work with our infrastructure to add new source code.
- Subsystems describes how the Architecture is broken down to smaller components and how they map to our source code repository.
- Coding Standards is a description of how to keep our source code consistent and readable.
- Doxygen Documentation generated nightly from the Git repository gives low level documentation about the components that make up Sirikata.
- Dependencies are libraries Sirikata builds on. The libraries and their uses are described, followed by suggestions on how to get the necessary dependencies running on a new platform when porting Sirikata.
- CDN Transfer Layer describes the new interface for accessing files from the CDN
- Debugging Minidumps on Windows talks about how to take crash reports and debug them in Visual Studio.
- Sirikata URIs talks about how to build a Sirikata URI (and associated data) to allow users to click a link to open a client.
- Buildbot describes how to test builds across all platforms using Sirikata's buildbot
- Debugging Memory Issues talks about how to look for leaks and do heap profiling.
- Debugging Performance Issues talks about using external tools (e.g. OProfile, gprof) and Sirikata's internal tools to track down performance problems
- Crash Reports describes how to use the crash reporting system to automatically collect crash stacktraces
- Debugging Minidumps on Windows describes how to use files delivered with crash reports to debug Windows crashes using Visual Studio
- Creating a Release describes the steps for tagging and building a release for all platforms
- Coding Projects describes some ideas for projects a new developer might be interested in working on and that core developers believe would be feasible within the current system. These are just ideas and new developers should not, of course, limit themselves to these options.
- Berkelium is our standalone library to embed a Chromium browser in a 3d space
- Physics gives notes on our physics plugin implementation, which is based on Bullet Physics.
Working with Sirikata
- Video Capture describes current best practices for collecting video captures from Sirikata.