• Make proxy textures default.
  • Clean up light radius/influence specification.
  • Sound system
    • Streams seem to have a lot of properties that logically seem to be source properties (e.g. pause state).
    • Or maybe there is not much point having both sources and streams?
    • Or maybe the roles and interactions of data, streams and sources are described only poorly?
  • SCF versioning: currently the major version has to be bumped for an interface to be considered incompatible. I would suggest a small change: bumping the minor version already does that, leading to the following rules:
    • Adding methods: micro bump.
    • Changing prototypes, deleting method, reordering: minor bump.
    • Interface redesign, significant new functionality etc: major bump.
  • Loader flags: loader methods tend to have a gazillion of bool parameters. It might be better to use a flags parameter: less arguments, and clearer what a call does since the flags are specified through 'verbose' identifiers.
  • Let GetCount() (and other such functions) return size_t instead of int.