raylib_dartified_base

Platform interface package for the raylib_dartified package family.

Defines the shared API surface (types, structs, abstract flat-call modules) that platform implementations bind to. This package is not fully backend-agnostic: it defines primitives a platform must supply itself, since pointer representation and native call dispatch differ between native (dart:ffi) and WebAssembly (linear memory).

For platform implementors

A platform implementation must provide:

  • RaylibBase => platform specific Raylib class implementation

  • MemoryPointer<X extends RType> => pointer abstraction backed by whatever memory model the platform uses (FFI pointer vs. WASM linear memory offset).

  • A concrete flat module for each of the following, extending the matching abstract type defined here and exposed via RaylibBase:

    Extension Abstract type
    Matrix ext. RaylibMatrixFlatExt<R>
    Quaternion ext. RaylibQuaternionFlatExt<R>
    Vector2 ext. RaylibVector2FlatExt<R>
    Vector3 ext. RaylibVector3FlatExt<R>
    Vector4 ext. RaylibVector4FlatExt<R>
    Module Abstract type
    Audio RaylibAudioFlatModule<R>
    Camera RaylibCameraFlatModule<R>
    Core RaylibCoreFlatModule<R>
    Gui RaylibGuiFlatModule<R>
    Light RaylibLightFlatModule<R>
    MsfGif RaylibMsfGifFlatModule<R>
    Rlgl RaylibRlglFlatModule<R>

See raylib_dartified (FFI) and raylib_dartified_web (WASM) for reference implementations.

Module revisions

Some modules are sourced from external projects rather than the official raylib repository. The following table records the exact upstream revision used for each package version.

Package Module Upstream Revision
6.0.0 * raylib dbc56a87da87d973a9c5baa4e7438a9d20121d28
6.0.0 Gui raygui 30e303400781d3ef6e81f01e1b95cdf3b19386df

License

This project is released under the zlib/libpng license.

It contains rewritten components derived from raylib, which is also licensed under zlib.

See LICENSE for details.