This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Core Change Log

Changelog.

Logs


Core 0.6.0

GS_Options – Settings System

  • New settings framework: option profiles declare a catalog, and the Options Manager merges, applies, persists and restores it.
  • .optionsprofile asset holding a polymorphic option list; multiple profiles stack and merge by key.
  • Four option types: toggle, slider, dropdown and colour picker.
  • OptionApplyTarget composition — an option’s widget and its engine effect vary independently.
  • Shipped apply targets: data flag, console variable, window mode, window resolution, fullscreen, vsync, and a display gamma target in the private module layer.
  • .optionspreset asset holding values only, with automatic Custom resolution when values diverge.
  • Full bus surface: generic and typed value access, catalog queries by category, apply and save, preset control, and an option-changed notification.
  • SettingsRegistry persistence, flushed on save and shutdown rather than per change.
  • Launch-time apply path — console-expressible settings are written to a startup command file and executed before the window is created, so the game opens correctly rather than switching after launch.
  • Apply deferred by a few ticks after startup, because display and render settings applied at startup-complete precede window and pipeline readiness.
  • Accessibility fonts shipped with the gem.

GS_Options – Input Reactors

  • The reactor mechanism now lives in GS_Core: a reactor component driven by a reactor profile asset holding authored reaction types.
  • Reactors are cloned per component, so a reaction type can hold per-entity state.
  • Input events are classified into pressed, held, released and analog phases before dispatch.
  • InputReactorRequestBus for feeding events, clearing state and querying values.
  • InputReactorNotificationBus emits in parallel with dispatch, so scripts can react without writing a reaction type.

Managers

  • Headless mode — a manager can drive its own startup with no Game Manager present, for deploying a single feature into a project not built on GS_Play.
  • Headless managers do not register with the Game Manager, so they take no part in its startup count.
  • OnBeginGame is never self-fired: startup completing is infrastructure, beginning the game is a cue the project owns.
  • Per-manager logging depth for lifecycle diagnostics.

Debug

  • GS_ImGuiMenuComponent — a content-free GS_Play menu anchor that any gem contributes to, with deterministic ordering by sort key.
  • Core menu shipping a live Options editor and a Game Manager window.

Utilities

  • New Noise utility: Perlin 1D/2D/3D, fractal multi-octave, and reflected layered noise stacks.
  • New Envelope utility: a reflected ADSR envelope with evaluation, duration and completion helpers.
  • New orbital solver: pivot-aware position and pose blending in linear, cylindrical and spherical shapes.
  • New comparison helpers for data-authored boolean conditions.
  • DebugLoggingHelper mix-in for per-component logging depth.
  • Utility headers reorganised into Math, Gradients, Physics, Random and Reflection folders.
  • The type registry subsystem was removed. Extensible type sets now use the polymorphic array convention, where the serializer supplies the type picker.

Templates

  • GS_Core Project template — a working project with Game, Options, Save and Stage managers already wired into a manager collection, on the shared starter level.
  • Component templates for managers, savers, input readers, input reactors and physics triggers.
  • Editor-Only Environment prefab for authoring-time lighting and reference setup.

Interfaces

  • FeedbackExchangeBus added to the contract layer.

Core 0.5.0

  • COOOOREEEEE