diff --git a/pages/doc/roadmap.md b/pages/doc/roadmap.md deleted file mode 100644 index 8331c79..0000000 --- a/pages/doc/roadmap.md +++ /dev/null @@ -1,41 +0,0 @@ -+Title = Roadmap - -This page describes where Azul3D is heading in the future. Some of these items may be developed sooner than others, some might not be developed at all. It's an *ideal* list. - -* [Future Platforms](#future-platforms) -* [Model Loader](#model-loader) -* [User Interface](#user-interface) -* [Sprite Rendering](#sprite-rendering) -* [Bullet Physics](#bullet-physics) - -## Future Platforms - -In the future, we would like to support the following platforms:
- -* [Android](https://github.com/azul3d/issues/issues/9) -* [iOS](https://github.com/azul3d/issues/issues/11) - -## Model Loader - -To make great games, Azul3D will need a 3D model loader capable of loading static and animated 3D models / scenes. Ideally it will have an exporter for the Blender 3D suite. - -Track progress [here](https://github.com/azul3d/issues/issues/12). - -## User Interface - -Many game engines today provide user interfaces -- but they are often lacking in several areas. Azul3D could accel and provide a robust user interface library suitable for games and many other types of applications. - -Track progress [here](https://github.com/azul3d/issues/issues/14). - -## Sprite Rendering - -Azul3D could provide the ability to render simple static or animated sprites. - -Track progress [here](https://github.com/azul3d/issues/issues/15). - -## Bullet Physics - -Bullet is the leading open source 3D physics engine. For 3D games Azul3D should provide a nice Go wrapper to the Bullet physics engine. - -Track progress [here](https://github.com/azul3d/issues/issues/16). - diff --git a/pages/doc/versioning.md b/pages/doc/versioning.md deleted file mode 100644 index 2b4dd1e..0000000 --- a/pages/doc/versioning.md +++ /dev/null @@ -1,111 +0,0 @@ -+Title = Versioning - -Azul3D packages are [semantically versioned](http://semver.org). The implementation allows you to import a specific version of a package, so that future API-incompatible changes do not break your programs. - -* [The Basics](#the-basics) -* [Major Versions Restriction](#major-versions-restriction) -* [Version Zero](#version-zero) -* [Pre-Release Versions](#pre-release-versions) -* [Implementation](/semver) - -## The Basics - -To import a Go package from GitHub you would write something like this: - -``` -import "github.com/user/example" -``` - -If you ran `go get github.com/user/example` it would download the most recent version of that package. This is problematic because if future API-incompatible changes are made to that package, your program will no longer build. - -Instead of importing packages in the above way, the `azul3d.org` website hosts a special type of proxy application which internally does a bit of magic -- ultimately it forwards your requests to one of [our GitHub](https://github.com/azul3d) repositories. - -For instance to import the `gfx` package you can simply write: - -``` -import "azul3d.org/gfx.v1" -``` - -If you run `go get azul3d.org/gfx.v1` the proxy application running at `azul3d.org` will do some magic such that you will always get an API-compatable version of that package. - - -Even though the import path ends with the version number `.v1`, *the package is still referenced in code the same exact way*: - -``` -gfx.Something() -``` - -This is because Go analyzes the `package gfx` statement from the Go source files -- and doesn't care about the file path. - -Also see [updating: updating versions](/doc/updating.html#updating-versions). - -## Major Versions Restriction - -If a program imports two seperate versions of the same package -- bad things can happen. - -Generally speaking this is *not allowed* -- but it's ultimately your responsibility to ensure it doesn't happen. To remedy this issue slightly, **only major versions are allowed in the package path**: - -``` -// allowed -import "azul3d.org/gfx.v1" - -// not allowed -import "azul3d.org/gfx.v1.2" -import "azul3d.org/gfx.v1.2.3" -``` - -This ensures that all applications using the `v1` API version are importing the same package. - -Note that the major version in an import *always points to the latest minor and patch version*, for instance if four versions exist: - -``` -azul3d.org/gfx.v1 - -> v2.0.0 (not chosen, major version is not the same) - -> v1.2.1 (chosen, it's the latest version) - -> v1.2.0 - -> v1.0.0 -``` - -## Version Zero - -In accordance with section 2. of the [semantic versioning](http://semver.org) specification, which reads: - -> Major version zero (0.y.z) is for initial development. Anything may change at any time. The public API should not be considered stable. - -A major version zero is for very initial development: *A package whose major version is zero should not be considered stable*. - -``` -// unstable -import "azul3d.org/pkg.v0" - -// stable -import "azul3d.org/pkg.v1" -``` - -## Pre-Release Versions - -In accordance with section 9. of the [semantic versioning](http://semver.org) specification, which reads: - -> A pre-release version MAY be denoted by appending a hyphen and a series of dot separated identifiers immediately following the patch version. Identifiers MUST comprise only ASCII alphanumerics and hyphen [0-9A-Za-z-]. Identifiers MUST NOT be empty. Numeric identifiers MUST NOT include leading zeroes. Pre-release versions have a lower precedence than the associated normal version. A pre-release version indicates that the version is unstable and might not satisfy the intended compatibility requirements as denoted by its associated normal version. Examples: 1.0.0-alpha, 1.0.0-alpha.1, 1.0.0-0.3.7, 1.0.0-x.7.z.92. - -A *single pre-release version* is supported by prefixing `-unstable` onto the existing version number, like so: - -``` -// in-development -import "azul3d.org/pkg.v2-unstable" - -// not released yet -import "azul3d.org/pkg.v2" - -// released already -import "azul3d.org/pkg.v1" -``` - -This special extension should only be used if you need features only found in the latest unstable versions of packages, but most of the time you should never use it and instead stick with the most-recently released version. - -Also see [updating: switching to unstable and back](/doc/updating.html#switching-to-unstable-and-back). - -## Implementation - -For details on the implementation see the [semver package](/semver). - diff --git a/pages/packages.md b/pages/packages.md index b95dff3..45fd206 100644 --- a/pages/packages.md +++ b/pages/packages.md @@ -1,21 +1,16 @@ +Title = Package List -Below is a list of the Go packages provided by Azul3D. There are also [more packages](/more-packages.html) provided by the community. +Below is a list of the most significant Go packages provided by Azul3D. There are also [more packages](/more-packages.html) provided by the community. -| Package | Description | -|-------------------------------------------|--------------------------------------------------------| -| [gfx.v1](/gfx.v1) | Generic interfaces to GPU-based rendering techniques. | -| [gfx/gl2.v2](/gfx/gl2.v2) | An OpenGL 2 based graphics renderer. | -| [gfx/window.v2](/gfx/window.v2) | Tthe easiest way to open a window and render graphics. | -| [audio.v1](/audio.v1) | Various audio types and interfaces. | -| [audio/wav.v1](/audio/wav.v1) | Decodes and encodes wav audio files. | -| [binpack.v1](/binpack.v1) | Jake Gordon's 2D binpacking algorithm. | -| [dstarlite.v1](/dstarlite.v1) | The D* Lite pathfinding algorithm. | -| [dstarlite/grid.v1](/dstarlite/grid.v1) | D* Lite _grid-based_ pathfinding. | -| [keyboard.v1](/keyboard.v1) | Various keyboard related data types. | -| [mouse.v1](/mouse.v1) | Various mouse related data types. | -| [semver](/semver) | Semantic Versioning for Go packages. | -| [native/al.v1](/native/al.v1) | Go bindings to OpenAL. | -| [native/cp.v1](/native/cp.v1) | Go bindings to the Chipmunk 2D Physics Engine. | -| [native/freetype.v1](/native/freetype.v1) | Go bindings to the FreeType font rendering library. | -| [native/glfw.v4](/native/glfw.v4) | Go bindings to GLFW. | +| Package | Description | +|-------------------------------------------|---------------------------------------------------------------| +| [audio](/engine/audio) | Audio library for Go, wav encoder/decoder, FLAC decoder. | +| [binpack](/engine/binpack) | Jake Gordon's 2D binpacking algorithm. | +| [dstarlite](/engine/dstarlite) | The D* Lite pathfinding algorithm (and grid-based utilities). | +| [gfx](/engine/gfx) | Generic interfaces to GPU-based rendering techniques. | +| [keyboard](/keyboard) | Various keyboard related data types. | +| [mouse](/mouse) | Various mouse related data types. | +| [native/al](/native/al) | Go bindings to OpenAL. | +| [native/cp](/native/cp) | Go bindings to the Chipmunk 2D Physics Engine. | +| [native/freetype](/native/freetype) | Go bindings to the FreeType font rendering library. | +| [native/ode](/native/ode) | Go bindings to the Open Dynamics (3D Physics) Engine. | diff --git a/templates/top.tmpl b/templates/top.tmpl index 2f051fc..44f9c0f 100644 --- a/templates/top.tmpl +++ b/templates/top.tmpl @@ -12,7 +12,7 @@ - + {{if .Thumbnail}} @@ -83,15 +83,10 @@