<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Ebus on GS_Play Gameplay Framework</title><link>https://gsplay.genomestudios.ca/tags/ebus/</link><description>Recent content in Ebus on GS_Play Gameplay Framework</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://gsplay.genomestudios.ca/tags/ebus/index.xml" rel="self" type="application/rss+xml"/><item><title>Classifications</title><link>https://gsplay.genomestudios.ca/docs/framework/core/interfaces/classifications/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://gsplay.genomestudios.ca/docs/framework/core/interfaces/classifications/</guid><description>&lt;p&gt;The interfaces layer collects exactly &lt;strong&gt;three kinds&lt;/strong&gt; of cross-gem contract. Each kind has a single, recognisable extension story — the suffix tells you which one you are looking at (see the &lt;a href="../#glance-test"&gt;glance test&lt;/a&gt;). This page covers each kind in depth and shows how to author against it.&lt;/p&gt;
&lt;p&gt;For the contract concept and why the layer exists, start at the &lt;a href="../"&gt;Interfaces overview&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;h2 id="contents"&gt;Contents&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#typebase"&gt;TypeBase — Strategy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#emit"&gt;Emit — Observance&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#exchange"&gt;Exchange — Mediator&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#mechanics"&gt;Hoisting Mechanics&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#see-also"&gt;See Also&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="typebase"&gt;TypeBase — Strategy&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;&amp;ldquo;Inherit this and you&amp;rsquo;re plugged in.&amp;rdquo;&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Contract Reference</title><link>https://gsplay.genomestudios.ca/docs/framework/core/interfaces/contract_reference/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://gsplay.genomestudios.ca/docs/framework/core/interfaces/contract_reference/</guid><description>&lt;p&gt;Every contract collected under &lt;code&gt;GS_Core/Interfaces/&amp;lt;Capability&amp;gt;/&lt;/code&gt;, the gem that produces it, and its status. For what each kind &lt;em&gt;is&lt;/em&gt; and how to author against it, see &lt;a href="../classifications/"&gt;Classifications&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;✦ marks an event or contract created during the interfacing effort (a gap-fill, not a pre-existing notification).&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;h2 id="contents"&gt;Contents&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#typebase"&gt;TypeBase — Strategy Bases&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#emit"&gt;Emit — Observance Buses&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#exchange"&gt;Exchange — Mediator Buses&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#per-gem"&gt;Per-Gem Feature Index&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#deferred"&gt;Deferred / Not Yet in This Layer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#see-also"&gt;See Also&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="typebase"&gt;TypeBase — Strategy Bases&lt;/h2&gt;
&lt;p&gt;Compiled, editor-pickable. Subclass + reflect → the subtype appears in the type-picker. All nine are shipped and build-verified.&lt;/p&gt;</description></item><item><title>Interfaces</title><link>https://gsplay.genomestudios.ca/docs/framework/core/interfaces/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://gsplay.genomestudios.ca/docs/framework/core/interfaces/</guid><description>&lt;p&gt;&lt;code&gt;GS_Core/Interfaces/&lt;/code&gt; is the framework&amp;rsquo;s &lt;strong&gt;cross-gem contract layer&lt;/strong&gt;. Feature gems no longer depend on each other&amp;rsquo;s internals — they depend on neutral contracts collected here in GS_Core. A contract lives in GS_Core; the feature gem that produces it owns and operates it. GS_Core holds the agreement, the gem holds the behavior.&lt;/p&gt;
&lt;p&gt;This is the layer that lets GS_Interaction emit a &amp;ldquo;pulse received&amp;rdquo; signal that GS_Juice can react to without either gem including the other.&lt;/p&gt;</description></item></channel></rss>