<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Changelog on GS_Play Gameplay Framework</title><link>https://gsplay.genomestudios.ca/categories/changelog/</link><description>Recent content in Changelog on GS_Play Gameplay Framework</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://gsplay.genomestudios.ca/categories/changelog/index.xml" rel="self" type="application/rss+xml"/><item><title>Change Logs</title><link>https://gsplay.genomestudios.ca/docs/index/change_log/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://gsplay.genomestudios.ca/docs/index/change_log/</guid><description>&lt;h2 id="logs"&gt;Logs&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#audio"&gt;GS_Audio&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#cinematics"&gt;GS_Cinematics&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#core"&gt;GS_Core&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#environment"&gt;GS_Environment&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#interaction"&gt;GS_Interaction&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#juice"&gt;GS_Juice&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#performer"&gt;GS_Performer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#phantomcam"&gt;GS_PhantomCam&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#ui"&gt;GS_UI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#unit"&gt;GS_Unit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#docs"&gt;Documentation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="audio"&gt;GS_Audio&lt;/h2&gt;
&lt;p&gt;Latest version: &lt;a href="./audio_change_log/"&gt;0.5.0&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Summary: First official base release. Audio manager, event playback, mixing buses, multi-layer score arrangement, and Klatt voice synthesis.&lt;/p&gt;
&lt;p&gt;&lt;a class="btn btn-sm btn-secondary me-2 mb-2" href="./audio_change_log/"&gt;GS_Audio Logs&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="cinematics"&gt;GS_Cinematics&lt;/h2&gt;
&lt;p&gt;Latest version: &lt;a href="./cinematics_change_log/"&gt;0.5.0&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Summary: First official base release. Full dialogue system with node graph sequencer, polymorphic conditions/effects/performances, world and screen-space UI, typewriter, babble, localization, and the in-engine dialogue editor.&lt;/p&gt;
&lt;p&gt;&lt;a class="btn btn-sm btn-secondary me-2 mb-2" href="./cinematics_change_log/"&gt;GS_Cinematics Logs&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Audio Change Log</title><link>https://gsplay.genomestudios.ca/docs/index/change_log/audio_change_log/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://gsplay.genomestudios.ca/docs/index/change_log/audio_change_log/</guid><description>&lt;h2 id="logs"&gt;Logs&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#0.5.0"&gt;0.5.0&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="0.5.0"&gt;Audio 0.5.0&lt;/h2&gt;
&lt;p&gt;First official base release of GS_Audio.&lt;/p&gt;
&lt;h3 id="audio-manager"&gt;Audio Manager&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;GS_AudioManagerComponent&lt;/code&gt; — audio engine lifecycle management, event library loading&lt;/li&gt;
&lt;li&gt;&lt;code&gt;AudioManagerRequestBus&lt;/code&gt; / &lt;code&gt;AudioManagerNotificationBus&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Master volume control and engine-level audio settings&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="audio-events"&gt;Audio Events&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;AudioEventLibrary&lt;/code&gt; asset — pools of named audio events&lt;/li&gt;
&lt;li&gt;&lt;code&gt;GS_AudioEvent&lt;/code&gt; — pool selection, concurrent instance limiting, and 3D spatialization&lt;/li&gt;
&lt;li&gt;&lt;code&gt;AudioManagerRequestBus&lt;/code&gt; playback interface&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mixing--effects"&gt;Mixing &amp;amp; Effects&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;GS_MixingBus&lt;/code&gt; — mixing bus component with configurable effects chain&lt;/li&gt;
&lt;li&gt;Filters, EQ, and environmental influence effects per bus&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="score-arrangement"&gt;Score Arrangement&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;ScoreArrangementTrack&lt;/code&gt; — multi-layer music system&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ScoreLayer&lt;/code&gt; — individual music layers toggled by gameplay state&lt;/li&gt;
&lt;li&gt;&lt;code&gt;TimeSignatures&lt;/code&gt; enum for bar-aligned transitions&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="klatt-voice-synthesis"&gt;Klatt Voice Synthesis&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;KlattVoiceSystemComponent&lt;/code&gt; — shared SoLoud engine, 3D listener management&lt;/li&gt;
&lt;li&gt;&lt;code&gt;KlattVoiceComponent&lt;/code&gt; — per-entity text-to-speech with phoneme mapping and segment queue&lt;/li&gt;
&lt;li&gt;&lt;code&gt;KlattVoiceRequestBus&lt;/code&gt; / &lt;code&gt;KlattVoiceNotificationBus&lt;/code&gt; / &lt;code&gt;KlattVoiceSystemRequestBus&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Full 3D spatial voice audio with configurable voice parameters&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Cinematics Change Log</title><link>https://gsplay.genomestudios.ca/docs/index/change_log/cinematics_change_log/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://gsplay.genomestudios.ca/docs/index/change_log/cinematics_change_log/</guid><description>&lt;h2 id="logs"&gt;Logs&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#0.5.0"&gt;0.5.0&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="0.5.0"&gt;Cinematics 0.5.0&lt;/h2&gt;
&lt;p&gt;First official base release of GS_Cinematics.&lt;/p&gt;
&lt;h3 id="cinematics-manager"&gt;Cinematics Manager&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;GS_CinematicsManagerComponent&lt;/code&gt; — cinematic mode lifecycle (&lt;code&gt;BeginCinematic&lt;/code&gt; / &lt;code&gt;EndCinematic&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;CinematicsManagerRequestBus&lt;/code&gt; / &lt;code&gt;CinematicsManagerNotificationBus&lt;/code&gt; (&lt;code&gt;EnterCinematic&lt;/code&gt; / &lt;code&gt;ExitCinematic&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;CinematicStageMarkerComponent&lt;/code&gt; — named world-space anchor, self-registers on activate&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="dialogue-manager"&gt;Dialogue Manager&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;GS_DialogueManagerComponent&lt;/code&gt; — active &lt;code&gt;.dialoguedb&lt;/code&gt; asset ownership and performer registry&lt;/li&gt;
&lt;li&gt;&lt;code&gt;DialogueManagerRequestBus&lt;/code&gt; — &lt;code&gt;StartDialogueSequenceByName&lt;/code&gt;, &lt;code&gt;ChangeDialogueDatabase&lt;/code&gt;, &lt;code&gt;RegisterPerformerMarker&lt;/code&gt;, &lt;code&gt;GetPerformer&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;DialoguePerformerMarkerComponent&lt;/code&gt; — named NPC world anchor, &lt;code&gt;PerformerMarkerRequestBus&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="dialogue-sequencer"&gt;Dialogue Sequencer&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;DialogueSequencerComponent&lt;/code&gt; — node graph traversal, runtime token management&lt;/li&gt;
&lt;li&gt;&lt;code&gt;DialogueUIBridgeComponent&lt;/code&gt; — routes active dialogue to whichever UI is registered, decouples sequencer from presentation&lt;/li&gt;
&lt;li&gt;&lt;code&gt;DialogueSequencerNotificationBus&lt;/code&gt; — &lt;code&gt;OnDialogueTextBegin&lt;/code&gt;, &lt;code&gt;OnDialogueSequenceComplete&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="data-structure"&gt;Data Structure&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;DialogueDatabase&lt;/code&gt; (&lt;code&gt;.dialoguedb&lt;/code&gt;) — named actors and sequences asset&lt;/li&gt;
&lt;li&gt;&lt;code&gt;DialogueSequence&lt;/code&gt; — directed node graph with &lt;code&gt;startNodeId&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ActorDefinition&lt;/code&gt; — actor name, portrait, and metadata&lt;/li&gt;
&lt;li&gt;Node types: &lt;code&gt;TextNodeData&lt;/code&gt;, &lt;code&gt;SelectionNodeData&lt;/code&gt;, &lt;code&gt;RandomNodeData&lt;/code&gt;, &lt;code&gt;EffectsNodeData&lt;/code&gt;, &lt;code&gt;PerformanceNodeData&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;SelectionOption&lt;/code&gt; — per-choice text, conditions, and connections&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="conditions"&gt;Conditions&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;DialogueCondition&lt;/code&gt; (abstract base) — &lt;code&gt;EvaluateCondition()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Boolean_DialogueCondition&lt;/code&gt; — base boolean comparison&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Record_DialogueCondition&lt;/code&gt; — checks GS_Save records with comparison operators&lt;/li&gt;
&lt;li&gt;Polymorphic discovery: extend base class, no manual registration&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="effects"&gt;Effects&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;DialogueEffect&lt;/code&gt; (abstract base) — &lt;code&gt;DoEffect()&lt;/code&gt; / &lt;code&gt;ReverseEffect()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;SetRecords_DialogueEffect&lt;/code&gt; — sets GS_Save records during dialogue&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ToggleEntitiesActive_DialogueEffect&lt;/code&gt; — activates or deactivates entities in the level&lt;/li&gt;
&lt;li&gt;Polymorphic discovery: extend base class, no manual registration&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="performances"&gt;Performances&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;DialoguePerformance&lt;/code&gt; (abstract base, &lt;code&gt;AZ::TickBus::Handler&lt;/code&gt;) — &lt;code&gt;DoPerformance()&lt;/code&gt; / &lt;code&gt;ExecutePerformance()&lt;/code&gt; / &lt;code&gt;FinishPerformance()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;MoveTo_DialoguePerformance&lt;/code&gt; — interpolated movement to stage marker&lt;/li&gt;
&lt;li&gt;&lt;code&gt;PathTo_DialoguePerformance&lt;/code&gt; — navmesh path navigation to stage marker (requires RecastNavigation)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;RepositionPerformer_DialoguePerformance&lt;/code&gt; — instant teleport to stage marker&lt;/li&gt;
&lt;li&gt;Polymorphic discovery: extend base class, no manual registration&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="dialogue-ui"&gt;Dialogue UI&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;DialogueUIComponent&lt;/code&gt; — screen-space dialogue text, speaker name, and portrait display&lt;/li&gt;
&lt;li&gt;&lt;code&gt;WorldDialogueUIComponent&lt;/code&gt; — world-space speech bubble display&lt;/li&gt;
&lt;li&gt;&lt;code&gt;DialogueUISelectionComponent&lt;/code&gt; — screen-space player choice menu&lt;/li&gt;
&lt;li&gt;&lt;code&gt;WorldDialogueUISelectionComponent&lt;/code&gt; — world-space selection display&lt;/li&gt;
&lt;li&gt;&lt;code&gt;TypewriterComponent&lt;/code&gt; — character-by-character text reveal, configurable speed, &lt;code&gt;OnTypeFired&lt;/code&gt; / &lt;code&gt;OnTypewriterComplete&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;BabbleComponent&lt;/code&gt; — procedural audio babble synchronized to typewriter output&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="localization"&gt;Localization&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;LocalizedStringId&lt;/code&gt; — key + default fallback text, &lt;code&gt;Resolve()&lt;/code&gt; method&lt;/li&gt;
&lt;li&gt;&lt;code&gt;LocalizedStringTable&lt;/code&gt; — runtime key-value string lookup table&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="dialogue-editor"&gt;Dialogue Editor&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Node-based in-engine GUI for authoring &lt;code&gt;.dialoguedb&lt;/code&gt; assets and sequence graphs&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="type-registry"&gt;Type Registry&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;DialogueTypeRegistry&lt;/code&gt; — factory registration for conditions, effects, and performances&lt;/li&gt;
&lt;li&gt;&lt;code&gt;DialogueTypeDiscoveryBus&lt;/code&gt; — external gems register custom types without modifying GS_Cinematics&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Environment Change Log</title><link>https://gsplay.genomestudios.ca/docs/index/change_log/environment_change_log/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://gsplay.genomestudios.ca/docs/index/change_log/environment_change_log/</guid><description>&lt;h2 id="logs"&gt;Logs&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#0.5.0"&gt;0.5.0&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="0.5.0"&gt;Environment 0.5.0&lt;/h2&gt;
&lt;p&gt;First official base release of GS_Environment.&lt;/p&gt;
&lt;h3 id="time-manager"&gt;Time Manager&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;GS_TimeManagerComponent&lt;/code&gt; — world time ownership, time of day control&lt;/li&gt;
&lt;li&gt;&lt;code&gt;TimeManagerRequestBus&lt;/code&gt; — &lt;code&gt;SetTimeOfDay&lt;/code&gt;, &lt;code&gt;SetTimePassageSpeed&lt;/code&gt;, &lt;code&gt;GetTimeOfDay&lt;/code&gt;, &lt;code&gt;GetWorldTime&lt;/code&gt;, &lt;code&gt;IsDay&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;TimeManagerNotificationBus&lt;/code&gt; — &lt;code&gt;WorldTick&lt;/code&gt; (per-frame), &lt;code&gt;DayNightChanged&lt;/code&gt; (on threshold cross)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;GS_EnvironmentSystemComponent&lt;/code&gt; — system-level environment registration&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="sky-configuration"&gt;Sky Configuration&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;SkyColourConfiguration&lt;/code&gt; — data asset defining sky color at different times of day&lt;/li&gt;
&lt;li&gt;Authored as an asset and assigned to the environment for day/night color blending&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Core Change Log</title><link>https://gsplay.genomestudios.ca/docs/index/change_log/core_change_log/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://gsplay.genomestudios.ca/docs/index/change_log/core_change_log/</guid><description>&lt;h2 id="logs"&gt;Logs&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#0.5.0"&gt;0.5.0&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="0.5.0"&gt;Core 0.5.0&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;COOOOREEEEE&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Interaction Change Log</title><link>https://gsplay.genomestudios.ca/docs/index/change_log/interaction_change_log/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://gsplay.genomestudios.ca/docs/index/change_log/interaction_change_log/</guid><description>&lt;h2 id="logs"&gt;Logs&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#0.5.0"&gt;0.5.0&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="0.5.0"&gt;Interaction 0.5.0&lt;/h2&gt;
&lt;p&gt;First official base release of GS_Interaction.&lt;/p&gt;
&lt;h3 id="pulsors"&gt;Pulsors&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;PulsorComponent&lt;/code&gt; — physics trigger volume that broadcasts typed pulse events&lt;/li&gt;
&lt;li&gt;&lt;code&gt;PulseReactorComponent&lt;/code&gt; — receives pulses and executes reactor types&lt;/li&gt;
&lt;li&gt;&lt;code&gt;PulseType&lt;/code&gt; (abstract base) — extensible pulse payload type&lt;/li&gt;
&lt;li&gt;Built-in types: &lt;code&gt;Debug_Pulse&lt;/code&gt;, &lt;code&gt;Destruct_Pulse&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;PulseTypeRegistry&lt;/code&gt; — auto-discovery of all reflected pulse types&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="targeting"&gt;Targeting&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;GS_TargetComponent&lt;/code&gt; — marks an entity as a targetable object&lt;/li&gt;
&lt;li&gt;&lt;code&gt;GS_InteractTargetComponent&lt;/code&gt; — marks an entity as interactable&lt;/li&gt;
&lt;li&gt;&lt;code&gt;GS_CursorComponent&lt;/code&gt; — world-space cursor and proximity scan&lt;/li&gt;
&lt;li&gt;&lt;code&gt;GS_TargetingHandlerComponent&lt;/code&gt; — finds and locks the best interactable in range&lt;/li&gt;
&lt;li&gt;&lt;code&gt;GS_TargetingHandlerRequestBus&lt;/code&gt; / &lt;code&gt;GS_TargetingHandlerNotificationBus&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="world-triggers"&gt;World Triggers&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;TriggerSensorComponent&lt;/code&gt; — base for all condition-side trigger sensors&lt;/li&gt;
&lt;li&gt;&lt;code&gt;WorldTriggerComponent&lt;/code&gt; — base for all response-side world triggers&lt;/li&gt;
&lt;li&gt;Built-in sensors: &lt;code&gt;InteractTriggerSensorComponent&lt;/code&gt;, &lt;code&gt;PlayerInteractTriggerSensorComponent&lt;/code&gt;, &lt;code&gt;ColliderTriggerSensorComponent&lt;/code&gt;, &lt;code&gt;RecordTriggerSensorComponent&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;WorldTriggerRequestBus&lt;/code&gt; — trigger enable/disable interface&lt;/li&gt;
&lt;li&gt;Sensors renamed from TriggerAction to TriggerSensor (2026-03)&lt;/li&gt;
&lt;li&gt;22 components total across all subsystems&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Juice Change Log</title><link>https://gsplay.genomestudios.ca/docs/index/change_log/juice_change_log/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://gsplay.genomestudios.ca/docs/index/change_log/juice_change_log/</guid><description>&lt;h2 id="logs"&gt;Logs&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#0.5.0"&gt;0.5.0&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="0.5.0"&gt;Juice 0.5.0&lt;/h2&gt;
&lt;p&gt;First official base release of GS_Juice. Early Development — full support planned 2026.&lt;/p&gt;
&lt;h3 id="feedback-system"&gt;Feedback System&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;FeedbackEmitter&lt;/code&gt; — component that plays authored feedback motions on its entity&lt;/li&gt;
&lt;li&gt;&lt;code&gt;FeedbackMotionAsset&lt;/code&gt; — data asset containing one or more feedback tracks&lt;/li&gt;
&lt;li&gt;&lt;code&gt;FeedbackMotion&lt;/code&gt; — runtime instance wrapper for a &lt;code&gt;FeedbackMotionAsset&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;FeedbackMotionTrack&lt;/code&gt; — domain base class extending GS_Core&amp;rsquo;s GS_Motion system&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="feedback-tracks"&gt;Feedback Tracks&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;FeedbackTransformTrack&lt;/code&gt; — drives position, scale, and rotation offsets (screen shake, bounce)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;FeedbackMaterialTrack&lt;/code&gt; — drives opacity, emissive intensity, and color (flash, glow, pulse)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="postprocessing"&gt;PostProcessing&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Planned for future release. Not yet implemented.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Performer Change Log</title><link>https://gsplay.genomestudios.ca/docs/index/change_log/performer_change_log/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://gsplay.genomestudios.ca/docs/index/change_log/performer_change_log/</guid><description>&lt;h2 id="logs"&gt;Logs&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#0.5.0"&gt;0.5.0&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="0.5.0"&gt;Performer 0.5.0&lt;/h2&gt;
&lt;p&gt;First official base release of GS_Performer. Early Development — full support planned 2026.&lt;/p&gt;
&lt;h3 id="performer-manager"&gt;Performer Manager&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;GS_PerformerManagerComponent&lt;/code&gt; — performer registration and name-based lookup&lt;/li&gt;
&lt;li&gt;&lt;code&gt;PerformerManagerRequestBus&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;GS_PerformerSystemComponent&lt;/code&gt; — system-level lifecycle component&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="skin-slots"&gt;Skin Slots&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;PerformerSkinSlotComponent&lt;/code&gt; — manages a named visual slot on a character entity&lt;/li&gt;
&lt;li&gt;&lt;code&gt;SkinSlotHandlerComponent&lt;/code&gt; — handles asset swapping for a given slot&lt;/li&gt;
&lt;li&gt;&lt;code&gt;PerformerSkinSlotsConfigProfile&lt;/code&gt; — asset class defining slot configurations&lt;/li&gt;
&lt;li&gt;&lt;code&gt;SkinSlotData&lt;/code&gt; / &lt;code&gt;SkinSlotNameDataPair&lt;/code&gt; — slot data types&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="paper-performer"&gt;Paper Performer&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;PaperFacingHandlerBaseComponent&lt;/code&gt; — base for billboard-style rendering handlers&lt;/li&gt;
&lt;li&gt;&lt;code&gt;PaperFacingHandlerComponent&lt;/code&gt; — orients a 2.5D billboard character to face the camera correctly&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="locomotion"&gt;Locomotion&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;VelocityLocomotionHookComponent&lt;/code&gt; — reads entity velocity and drives animation blend tree parameters automatically&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="head-tracking"&gt;Head Tracking&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Procedural head bone orientation toward a world-space look-at target&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="babble"&gt;Babble&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;BabbleComponent&lt;/code&gt; — generates procedural vocalisation tones synchronized to GS_Cinematics typewriter output&lt;/li&gt;
&lt;li&gt;&lt;code&gt;BabbleToneEvent&lt;/code&gt; / &lt;code&gt;SpeakerBabbleEvents&lt;/code&gt; — tone data structures per speaker identity&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>PhantomCam Change Log</title><link>https://gsplay.genomestudios.ca/docs/index/change_log/phantomcam_change_log/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://gsplay.genomestudios.ca/docs/index/change_log/phantomcam_change_log/</guid><description>&lt;h2 id="logs"&gt;Logs&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#0.5.0"&gt;0.5.0&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="0.5.0"&gt;PhantomCam 0.5.0&lt;/h2&gt;
&lt;p&gt;First official base release of GS_PhantomCam.&lt;/p&gt;
&lt;h3 id="cam-manager"&gt;Cam Manager&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;GS_CamManagerComponent&lt;/code&gt; — camera system lifecycle, active camera tracking&lt;/li&gt;
&lt;li&gt;&lt;code&gt;CamManagerRequestBus&lt;/code&gt; / &lt;code&gt;CamManagerNotificationBus&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;GS_PhantomCamSystemComponent&lt;/code&gt; — system-level registration&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="phantom-cameras"&gt;Phantom Cameras&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;GS_PhantomCameraComponent&lt;/code&gt; — virtual camera with follow target, look-at, FOV, and priority&lt;/li&gt;
&lt;li&gt;&lt;code&gt;PhantomCameraRequestBus&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;PhantomCamData&lt;/code&gt; — camera configuration data structure&lt;/li&gt;
&lt;li&gt;Priority-based switching: highest priority active phantom camera drives the real camera&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="cam-core"&gt;Cam Core&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;GS_CamCoreComponent&lt;/code&gt; — reads from the active phantom camera each frame and applies to the engine camera&lt;/li&gt;
&lt;li&gt;&lt;code&gt;CamCoreRequestBus&lt;/code&gt; / &lt;code&gt;CamCoreNotificationBus&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="camera-behaviors"&gt;Camera Behaviors&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;ClampedLook_PhantomCamComponent&lt;/code&gt; — look-at with clamped angle limits&lt;/li&gt;
&lt;li&gt;&lt;code&gt;StaticOrbitPhantomCamComponent&lt;/code&gt; — fixed-distance orbit around a target&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Track_PhantomCamComponent&lt;/code&gt; — follows a spline or path track&lt;/li&gt;
&lt;li&gt;&lt;code&gt;AlwaysFaceCameraComponent&lt;/code&gt; — keeps an entity billboard-facing the active camera&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="blend-profiles"&gt;Blend Profiles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;GS_PhantomCamBlendProfile&lt;/code&gt; — asset defining camera transition easing and duration&lt;/li&gt;
&lt;li&gt;Smooth interpolation between camera positions on priority switch&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="influence-fields"&gt;Influence Fields&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;GlobalCameraInfluenceComponent&lt;/code&gt; — global persistent camera modifier&lt;/li&gt;
&lt;li&gt;&lt;code&gt;CameraInfluenceFieldComponent&lt;/code&gt; — spatial zone that modifies camera behavior on entry&lt;/li&gt;
&lt;li&gt;&lt;code&gt;CamInfluenceData&lt;/code&gt; — influence configuration data (offset, FOV shift, tilt)&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>UI Change Log</title><link>https://gsplay.genomestudios.ca/docs/index/change_log/ui_change_log/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://gsplay.genomestudios.ca/docs/index/change_log/ui_change_log/</guid><description>&lt;h2 id="logs"&gt;Logs&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#0.5.0"&gt;0.5.0&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="0.5.0"&gt;UI 0.5.0&lt;/h2&gt;
&lt;p&gt;First official base release of GS_UI.&lt;/p&gt;
&lt;h3 id="ui-manager"&gt;UI Manager&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;GS_UIManagerComponent&lt;/code&gt; — canvas lifecycle management, focus stack, startup focus assignment&lt;/li&gt;
&lt;li&gt;&lt;code&gt;UIManagerRequestBus&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Single-tier page navigation: Manager → Page (no hub layer)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="page-navigation"&gt;Page Navigation&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;GS_UIPageComponent&lt;/code&gt; — root canvas registration, nested page management&lt;/li&gt;
&lt;li&gt;&lt;code&gt;NavigationReturnPolicy&lt;/code&gt; — &lt;code&gt;RestoreLast&lt;/code&gt; or &lt;code&gt;AlwaysDefault&lt;/code&gt; back navigation behavior&lt;/li&gt;
&lt;li&gt;&lt;code&gt;FocusEntry&lt;/code&gt; — focus state data for page transitions&lt;/li&gt;
&lt;li&gt;Cross-canvas boundary navigation support&lt;/li&gt;
&lt;li&gt;Companion Component Pattern: domain-specific page logic lives on companion components that react to page bus events&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ui-interaction"&gt;UI Interaction&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;GS_ButtonComponent&lt;/code&gt; — enhanced button with hover and select &lt;code&gt;UiAnimationMotion&lt;/code&gt; support&lt;/li&gt;
&lt;li&gt;&lt;code&gt;GS_UIInputInterceptorComponent&lt;/code&gt; — input capture and blocking for UI canvases&lt;/li&gt;
&lt;li&gt;&lt;code&gt;GS_UIInputProfile&lt;/code&gt; — input mapping configuration for UI contexts&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="ui-animation"&gt;UI Animation&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;UiMotionTrack&lt;/code&gt; (domain base) — extends GS_Core&amp;rsquo;s GS_Motion system&lt;/li&gt;
&lt;li&gt;8 concrete tracks: &lt;code&gt;UiPositionTrack&lt;/code&gt;, &lt;code&gt;UiScaleTrack&lt;/code&gt;, &lt;code&gt;UiRotationTrack&lt;/code&gt;, &lt;code&gt;UiElementAlphaTrack&lt;/code&gt;, &lt;code&gt;UiImageAlphaTrack&lt;/code&gt;, &lt;code&gt;UiImageColorTrack&lt;/code&gt;, &lt;code&gt;UiTextColorTrack&lt;/code&gt;, &lt;code&gt;UiTextSizeTrack&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;UiAnimationMotionAsset&lt;/code&gt; — authored animation asset&lt;/li&gt;
&lt;li&gt;&lt;code&gt;UiAnimationMotion&lt;/code&gt; — runtime instance wrapper&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="load-screen"&gt;Load Screen&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;GS_LoadScreenComponent&lt;/code&gt; — manages load screen display during level transitions&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="pause-menu"&gt;Pause Menu&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;PauseMenuComponent&lt;/code&gt; — pause state management and pause menu page coordination&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="removed"&gt;Removed&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;GS_UIWindowComponent&lt;/code&gt; — removed entirely&lt;/li&gt;
&lt;li&gt;&lt;code&gt;GS_UIHubComponent&lt;/code&gt; / &lt;code&gt;GS_UIHubBus&lt;/code&gt; — deprecated legacy layer&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Unit Change Log</title><link>https://gsplay.genomestudios.ca/docs/index/change_log/unit_change_log/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://gsplay.genomestudios.ca/docs/index/change_log/unit_change_log/</guid><description>&lt;h2 id="logs"&gt;Logs&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#0.5.0"&gt;0.5.0&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="0.5.0"&gt;Unit 0.5.0&lt;/h2&gt;
&lt;p&gt;First official base release of GS_Unit.&lt;/p&gt;
&lt;h3 id="unit-manager"&gt;Unit Manager&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;GS_UnitManagerComponent&lt;/code&gt; — unit registration and lifecycle tracking&lt;/li&gt;
&lt;li&gt;&lt;code&gt;UnitManagerRequestBus&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="unit-component"&gt;Unit Component&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;GS_UnitComponent&lt;/code&gt; — unit identity and state component&lt;/li&gt;
&lt;li&gt;&lt;code&gt;UnitRequestBus&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="controllers"&gt;Controllers&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;GS_UnitControllerComponent&lt;/code&gt; — abstract controller base, possess/release pattern&lt;/li&gt;
&lt;li&gt;&lt;code&gt;GS_PlayerControllerComponent&lt;/code&gt; — human player possession&lt;/li&gt;
&lt;li&gt;&lt;code&gt;GS_AIControllerComponent&lt;/code&gt; — AI-driven possession&lt;/li&gt;
&lt;li&gt;&lt;code&gt;GS_PlayerControllerInputReaderComponent&lt;/code&gt; — reads hardware input and routes to the possessed unit&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="input-pipeline"&gt;Input Pipeline&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;3-stage architecture: controller entity reads hardware → routes to &lt;code&gt;InputDataComponent&lt;/code&gt; on the unit → reactor components act on the structured state&lt;/li&gt;
&lt;li&gt;&lt;code&gt;InputDataRequestBus&lt;/code&gt; / &lt;code&gt;InputDataNotificationBus&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;GS_InputReactorComponent&lt;/code&gt; — reacts to binary input states (button/action)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;GS_InputAxisReactorComponent&lt;/code&gt; — reacts to axis input values (sticks, triggers)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="movercontext"&gt;MoverContext&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;GS_MoverContextComponent&lt;/code&gt; — transforms raw input into movement intent, manages active mode and profiles&lt;/li&gt;
&lt;li&gt;&lt;code&gt;MoverContextRequestBus&lt;/code&gt; / &lt;code&gt;MoverContextNotificationBus&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Mode-driven movement: one named mode active at a time; only the mover and grounder matching that mode run&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="movers"&gt;Movers&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;GS_MoverComponent&lt;/code&gt; — mode-aware mover base class&lt;/li&gt;
&lt;li&gt;&lt;code&gt;GS_PhysicsMoverComponent&lt;/code&gt; — physics-driven movement via PhysX&lt;/li&gt;
&lt;li&gt;&lt;code&gt;GS_3DFreeMoverComponent&lt;/code&gt; — unconstrained 3D free movement&lt;/li&gt;
&lt;li&gt;&lt;code&gt;GS_3DSlideMoverComponent&lt;/code&gt; — slide-and-collide surface movement&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="grounders"&gt;Grounders&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;GS_PhysicsRayGrounderComponent&lt;/code&gt; — raycast-based grounding for the &amp;ldquo;Free&amp;rdquo; movement mode&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="movement-influence"&gt;Movement Influence&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;MovementInfluenceFieldComponent&lt;/code&gt; — spatial zone that modifies unit movement within its bounds&lt;/li&gt;
&lt;li&gt;&lt;code&gt;GlobalMovementRequestBus&lt;/code&gt; — global movement modifier interface&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="profiles"&gt;Profiles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;GS_UnitMovementProfile&lt;/code&gt; — per-mode speed, acceleration, and movement parameter configuration&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Docs Change Log</title><link>https://gsplay.genomestudios.ca/docs/index/change_log/docs_change_log/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://gsplay.genomestudios.ca/docs/index/change_log/docs_change_log/</guid><description>&lt;h2 id="logs"&gt;Logs&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#1.0.0"&gt;1.0.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#0.9.0"&gt;0.9.0&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="1.0.0"&gt;Docs 1.0.0&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Welcome page finalized.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Get Started and Index sections finalized.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;No missing pages. Final organization.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Patterns Complete.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Feature List, Glossary fully updated.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Get Started T1 page filled.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Index T1 page filled.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Final Logs format and arrangement.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Print page + print section links.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Homepage complete.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;About Us complete.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Product pages complete.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="0.9.0"&gt;Docs 0.9.0&lt;/h2&gt;
&lt;p&gt;Full first implementation of direct documentation formatting and content.
With this release we have our first fully working catalogue of featuresets, functionality, and API.&lt;/p&gt;</description></item></channel></rss>