TODO

This file contains an unsorted, incomplete list of interesting items to document.

Additions:

  • FillMode for RelativeSizeAxes=Both

Topics:

  • Bindable, AggregateBindable
  • Lifetimes, expiration, LoadState?
  • configuration, framework configuration, config manager
  • keybindings (+change/disable framework keybindings?)
  • RigidBody, with full platformer example project?
  • localization (with a Z)
  • TextureAnimation
  • low-level graphics, such as DrawNode
  • Drawable:
    • Explain Drawable, Transformable, Component?
    • Drawable.ShouldBeAlive, liveness in general?
    • Effects
    • Drawable's Clock?
    • Drawable Pooling
  • Resources:
    • Textures and ResourceStores
    • Fonts, including:
      • FontStore vs custom ITexturedCharacterGlyph (see FlappyDon game)
  • The 4 threads (see GameThread), Schedule(action), schedulers. Can/Should you make your own gamethread?
  • Utility classes:
    • osu.Framework.Utils.Interpolation
    • ThreadSafety.IsXThread and when to use it?
  • When/Whether async is allowed

On testing:

  • Adding descriptions
  • Having multiple tests in 1 test scene (groups of steps, example)
  • NUnit integration

Additionally, old notes should be brought to their own section and rewritten.

Rough chapter layout sketches

Introduction

  • prerequisites
  • alternatives (i.e. wobble)
  • basic concepts and terminology
  • community extensions (such as osu!framework flexbox)