Directories
¶
| Path | Synopsis |
|---|---|
|
bundles
|
|
|
anim
Package anim declares timelines of eased value tracks and one-tick cues.
|
Package anim declares timelines of eased value tracks and one-tick cues. |
|
anim/animplugin
Package animplugin constructs the anim plugin.
|
Package animplugin constructs the anim plugin. |
|
anim/internal
Package internal is the anim plugin: New, and the handler behind anim's AdvanceOnUpdate subscription that advances every timeline each tick.
|
Package internal is the anim plugin: New, and the handler behind anim's AdvanceOnUpdate subscription that advances every timeline each tick. |
|
canvas
Package canvas declares the 2D drawing Bundle: layered sprites, text, primitives and custom triangles recorded into a frame-local queue, and sprites and text measured through a persistent lookup.
|
Package canvas declares the 2D drawing Bundle: layered sprites, text, primitives and custom triangles recorded into a frame-local queue, and sprites and text measured through a persistent lookup. |
|
canvas/canvasplugin
Package canvasplugin constructs the canvas plugin.
|
Package canvasplugin constructs the canvas plugin. |
|
canvas/internal
Package internal is the canvas plugin: New, the resolution of canvas.Config, the flush that turns a tick's recorded canvas.OpQueue into gfx draws through the sprite and triangle batchers, the draw-snapshot slot behind canvas.ArmDrawsCmd, the Start mount of the built-in shaders and default font, and the mcp Provider offering canvas_draws.
|
Package internal is the canvas plugin: New, the resolution of canvas.Config, the flush that turns a tick's recorded canvas.OpQueue into gfx draws through the sprite and triangle batchers, the draw-snapshot slot behind canvas.ArmDrawsCmd, the Start mount of the built-in shaders and default font, and the mcp Provider offering canvas_draws. |
|
ecs
Package ecs describes things in the world as Entities carrying Components.
|
Package ecs describes things in the world as Entities carrying Components. |
|
ecs/ecsplugin
Package ecsplugin constructs the ecs plugin.
|
Package ecsplugin constructs the ecs plugin. |
|
ecs/internal
Package internal is the ecs plugin: New, the resolution of ecs.Config, and a registration that publishes the id authority, *ecs.Entities, as the resource every System holds for read and every structural change holds for write; registers ShrinkCmd and the six unexported Commands that read and write the world by Component name (read.go); registers the one Component the ECS owns, m.Transform; and subscribes the one System it owns, the general drainer (drainsystem.go), as ecs.DrainOnUpdate.
|
Package internal is the ecs plugin: New, the resolution of ecs.Config, and a registration that publishes the id authority, *ecs.Entities, as the resource every System holds for read and every structural change holds for write; registers ShrinkCmd and the six unexported Commands that read and write the world by Component name (read.go); registers the one Component the ECS owns, m.Transform; and subscribes the one System it owns, the general drainer (drainsystem.go), as ecs.DrainOnUpdate. |
|
ecsaudio
Package ecsaudio records Entities into sound.
|
Package ecsaudio records Entities into sound. |
|
ecsaudio/ecsaudioplugin
Package ecsaudioplugin constructs the ecsaudio plugin.
|
Package ecsaudioplugin constructs the ecsaudio plugin. |
|
ecsaudio/internal
Package internal is the ecsaudio plugin: New, the registration of the three Components ecsaudio's root aliases, the plugin-owned Entity-to-Voice table, and the one System, subscribed as ecsaudio.RecordOnUpdate, that reconciles every Emitter against the Voice it already has and writes the Listener, into sound's queue once a tick.
|
Package internal is the ecsaudio plugin: New, the registration of the three Components ecsaudio's root aliases, the plugin-owned Entity-to-Voice table, and the one System, subscribed as ecsaudio.RecordOnUpdate, that reconciles every Emitter against the Voice it already has and writes the Listener, into sound's queue once a tick. |
|
ecsphysics2d
Package ecsphysics2d gives an app 2D rigid-body physics on a plane.
|
Package ecsphysics2d gives an app 2D rigid-body physics on a plane. |
|
ecsphysics2d/ecsphysics2dplugin
Package ecsphysics2dplugin constructs the physics plugin.
|
Package ecsphysics2dplugin constructs the physics plugin. |
|
ecsphysics2d/internal
Package internal is the physics plugin itself: the Components it registers, the five Systems the step is, and the settings resolved at registration.
|
Package internal is the physics plugin itself: the Components it registers, the five Systems the step is, and the settings resolved at registration. |
|
input
Package input declares the driver-agnostic input Bundle: a unified Key space (keyboard keys AND mouse buttons), a polled State resource, discrete input events, and the Apply command a driver uses to feed input changes.
|
Package input declares the driver-agnostic input Bundle: a unified Key space (keyboard keys AND mouse buttons), a polled State resource, discrete input events, and the Apply command a driver uses to feed input changes. |
|
input/inputplugin
Package inputplugin constructs the input plugin.
|
Package inputplugin constructs the input plugin. |
|
input/internal
Package internal is the input plugin: New, the handlers behind input's commands and its AdvanceOnUpdate subscription, and the mcp Provider offering input_send and input_state.
|
Package internal is the input plugin: New, the handlers behind input's commands and its AdvanceOnUpdate subscription, and the mcp Provider offering input_send and input_state. |
|
mcp
Package mcp declares the agent-facing Bundle: how a plugin offers typed capabilities to an agent, and nothing about how those capabilities reach one.
|
Package mcp declares the agent-facing Bundle: how a plugin offers typed capabilities to an agent, and nothing about how those capabilities reach one. |
|
mcp/internal
Package internal is the mcp broker: the one plugin that collects every mcp.Provider Adapter in the engine and serves their capabilities to an agent over the Model Context Protocol.
|
Package internal is the mcp broker: the one plugin that collects every mcp.Provider Adapter in the engine and serves their capabilities to an agent over the Model Context Protocol. |
|
mcp/internal/types
Package types declares the concrete types mcp's root aliases: Capability, whose unexported fields only its two constructors, Command and Func, may set, and Option, which writes to capability settings no other package can reach.
|
Package types declares the concrete types mcp's root aliases: Capability, whose unexported fields only its two constructors, Command and Func, may set, and Option, which writes to capability settings no other package can reach. |
|
mcp/mcpplugin
Package mcpplugin constructs the mcp broker plugin.
|
Package mcpplugin constructs the mcp broker plugin. |
|
model
Package model is the plugin that owns everything a model file can contain: glTF decode, geometry generation, vertex and morph packing, GPU upload, the model and texture caches, and the one mesh table every renderer draws from.
|
Package model is the plugin that owns everything a model file can contain: glTF decode, geometry generation, vertex and morph packing, GPU upload, the model and texture caches, and the one mesh table every renderer draws from. |
|
model/internal
Package internal is the model plugin: New, the resolution of model.Config, and the registration of the *model.Lookup resource every renderer draws from.
|
Package internal is the model plugin: New, the resolution of model.Config, and the registration of the *model.Lookup resource every renderer draws from. |
|
model/internal/gltf
Package gltf is model's glTF decoder: one glTF or GLB file in, plain data out.
|
Package gltf is model's glTF decoder: one glTF or GLB file in, plain data out. |
|
model/modelplugin
Package modelplugin constructs the model plugin.
|
Package modelplugin constructs the model plugin. |
|
scene
Package scene draws Entities: it is cog's 3D renderer, the ECS's binding of model's drawing.
|
Package scene draws Entities: it is cog's 3D renderer, the ECS's binding of model's drawing. |
|
scene/internal
Package internal is the scene plugin: New, the registration of every Component scene's root aliases, and its Systems with their scratches.
|
Package internal is the scene plugin: New, the registration of every Component scene's root aliases, and its Systems with their scratches. |
|
scene/sceneplugin
Package sceneplugin constructs the scene plugin.
|
Package sceneplugin constructs the scene plugin. |
|
ui
Package ui declares the immediate-mode layout and interaction Bundle: a consumer declares a tree of Elements into the Frame every update tick, and ui measures and arranges it, hit-tests the pointer, records the visuals into canvas and publishes what was interacted with in Interactions.
|
Package ui declares the immediate-mode layout and interaction Bundle: a consumer declares a tree of Elements into the Frame every update tick, and ui measures and arranges it, hit-tests the pointer, records the visuals into canvas and publishes what was interacted with in Interactions. |
|
ui/internal
Package internal is the ui plugin: New, the processing behind ui.ProcessOnUpdate that lays out the tick's ui.Frame, resolves the pointer into ui.Interactions and records into canvas, the private layout resource it keeps across ticks, the layout-snapshot slot behind ui.ArmLayoutCmd, and the mcp Provider offering ui_layout.
|
Package internal is the ui plugin: New, the processing behind ui.ProcessOnUpdate that lays out the tick's ui.Frame, resolves the pointer into ui.Interactions and records into canvas, the private layout resource it keeps across ticks, the layout-snapshot slot behind ui.ArmLayoutCmd, and the mcp Provider offering ui_layout. |
|
ui/uiplugin
Package uiplugin constructs the ui plugin.
|
Package uiplugin constructs the ui plugin. |
|
docs
|
|
|
research/ecs-go-mechanics-bench/store
Package store is a throwaway stand-in for an ECS component store living in a DIFFERENT package from the loop that ranges over it.
|
Package store is a throwaway stand-in for an ECS component store living in a DIFFERENT package from the loop that ranges over it. |
|
extensions
|
|
|
diskstorage
Package diskstorage declares the desktop Extension of storage: a plugin that provides storage.PermanentFS as a directory confined under the user's data directory, named by the application id.
|
Package diskstorage declares the desktop Extension of storage: a plugin that provides storage.PermanentFS as a directory confined under the user's data directory, named by the application id. |
|
diskstorage/diskstorageplugin
Package diskstorageplugin constructs the diskstorage plugin.
|
Package diskstorageplugin constructs the diskstorage plugin. |
|
diskstorage/internal
Package internal is the diskstorage plugin: New, the application id and data directory resolution, and the confined directory it provides as storage's PermanentFS.
|
Package internal is the diskstorage plugin: New, the application id and data directory resolution, and the confined directory it provides as storage's PermanentFS. |
|
gogpu
Package gogpu declares cog's window, input, frame timing and WebGPU driver, built on, and named for, the gogpu library (github.com/gogpu/gogpu): the one kernel.PluginHost.
|
Package gogpu declares cog's window, input, frame timing and WebGPU driver, built on, and named for, the gogpu library (github.com/gogpu/gogpu): the one kernel.PluginHost. |
|
gogpu/gogpuplugin
Package gogpuplugin constructs the gogpu plugin.
|
Package gogpuplugin constructs the gogpu plugin. |
|
gogpu/internal
Package internal is the gogpu plugin: New, the kernel.PluginHost that owns the gogpu library's main loop, the app.MainLoop and gfx.Backend it provides, and the input bridge.
|
Package internal is the gogpu plugin: New, the kernel.PluginHost that owns the gogpu library's main loop, the app.MainLoop and gfx.Backend it provides, and the input bridge. |
|
jssound
Package jssound declares the browser Extension of sound: a plugin that fills sound's BackendPort with Web Audio nodes, so the browser decodes and mixes on its own audio thread rather than on the one that starves.
|
Package jssound declares the browser Extension of sound: a plugin that fills sound's BackendPort with Web Audio nodes, so the browser decodes and mixes on its own audio thread rather than on the one that starves. |
|
jssound/internal
Package internal is the jssound plugin: New, the Backend it provides for sound's BackendPort, the Web Audio node graph one Voice is, and the two tiers a Clip's samples reach it through - decoded whole into one AudioBuffer, or decoded a chunk at a time and scheduled on the context clock.
|
Package internal is the jssound plugin: New, the Backend it provides for sound's BackendPort, the Web Audio node graph one Voice is, and the two tiers a Clip's samples reach it through - decoded whole into one AudioBuffer, or decoded a chunk at a time and scheduled on the context clock. |
|
jssound/jssoundplugin
Package jssoundplugin constructs the jssound plugin.
|
Package jssoundplugin constructs the jssound plugin. |
|
jsstorage
Package jsstorage declares the browser Extension of storage: a plugin that provides storage.PermanentFS backed by the page's localStorage, under the key cog.storage.<AppId>.
|
Package jsstorage declares the browser Extension of storage: a plugin that provides storage.PermanentFS backed by the page's localStorage, under the key cog.storage.<AppId>. |
|
jsstorage/internal
Package internal is the jsstorage plugin: New, the application id check, and the localStorage-backed filesystem it provides as storage's PermanentFS.
|
Package internal is the jsstorage plugin: New, the application id check, and the localStorage-backed filesystem it provides as storage's PermanentFS. |
|
jsstorage/jsstorageplugin
Package jsstorageplugin constructs the jsstorage plugin.
|
Package jsstorageplugin constructs the jsstorage plugin. |
|
nosound
Package nosound declares the silent Extension of sound: a plugin that fills sound's BackendPort, accepts everything and plays nothing.
|
Package nosound declares the silent Extension of sound: a plugin that fills sound's BackendPort, accepts everything and plays nothing. |
|
nosound/internal
Package internal is the nosound plugin: New, and the silent Backend it provides for sound's BackendPort.
|
Package internal is the nosound plugin: New, and the silent Backend it provides for sound's BackendPort. |
|
nosound/nosoundplugin
Package nosoundplugin constructs the nosound plugin.
|
Package nosoundplugin constructs the nosound plugin. |
|
otosound
Package otosound declares the desktop Extension of sound: our own software Mixer over ebitengine/oto/v3, in pure Go, decoding Ogg Vorbis with jfreymuth/oggvorbis.
|
Package otosound declares the desktop Extension of sound: our own software Mixer over ebitengine/oto/v3, in pure Go, decoding Ogg Vorbis with jfreymuth/oggvorbis. |
|
otosound/internal
Package internal is the otosound plugin: New, the Backend it provides for sound's BackendPort, the ring that carries a tick's operations to the Mixer, the Mixer itself, and the decode that turns encoded Ogg into resident samples.
|
Package internal is the otosound plugin: New, the Backend it provides for sound's BackendPort, the ring that carries a tick's operations to the Mixer, the Mixer itself, and the decode that turns encoded Ogg into resident samples. |
|
otosound/otosoundplugin
Package otosoundplugin constructs the otosound plugin.
|
Package otosoundplugin constructs the otosound plugin. |
|
Package kernel is a small microkernel: plugins register resources, commands, and event subscriptions, then communicate through them.
|
Package kernel is a small microkernel: plugins register resources, commands, and event subscriptions, then communicate through them. |
|
archtest/internal
Package internal holds the fixture types kernel.TypeName's table test renders: named types declared in a package whose import path ends in internal, which is the shape every Bundle's and Port's internal/ package has.
|
Package internal holds the fixture types kernel.TypeName's table test renders: named types declared in a package whose import path ends in internal, which is the shape every Bundle's and Port's internal/ package has. |
|
libs
|
|
|
config
Package config names a cog engine's configuration from outside the binary, so a run can be re-pointed without editing the composition root and rebuilding.
|
Package config names a cog engine's configuration from outside the binary, so a run can be re-pointed without editing the composition root and rebuilding. |
|
m
Package m provides immutable value-style mathematics for Cog.
|
Package m provides immutable value-style mathematics for Cog. |
|
slots
|
|
|
app
Package app declares the app Slot: the platform-agnostic application loop.
|
Package app declares the app Slot: the platform-agnostic application loop. |
|
app/appplugin
Package appplugin constructs the app plugin.
|
Package appplugin constructs the app plugin. |
|
app/internal
Package internal is the app plugin: New, the Loop a MainLoop drives, the tick source behind app.TimeCmd, the QuitCmd and TimeCmd handlers, and its mcp provider.
|
Package internal is the app plugin: New, the Loop a MainLoop drives, the tick source behind app.TimeCmd, the QuitCmd and TimeCmd handlers, and its mcp provider. |
|
gfx
Package gfx declares the gfx Slot, cog's driver-agnostic high-level renderer (renderer v2).
|
Package gfx declares the gfx Slot, cog's driver-agnostic high-level renderer (renderer v2). |
|
gfx/gfxplugin
Package gfxplugin constructs the gfx plugin.
|
Package gfxplugin constructs the gfx plugin. |
|
gfx/internal/mcp
Package mcp is gfx's capture and frame-snapshot machinery and what it offers an agent through the mcp broker: the capture and snapshot slots, the ArmCaptureCmd and ArmFrameCmd that arm them, and the gfx_capture and gfx_frame tools.
|
Package mcp is gfx's capture and frame-snapshot machinery and what it offers an agent through the mcp broker: the capture and snapshot slots, the ArmCaptureCmd and ArmFrameCmd that arm them, and the gfx_capture and gfx_frame tools. |
|
sound
Package sound declares the sound Slot: Clips played as Voices, grouped on Buses, with all of the arithmetic computed here and none of it below.
|
Package sound declares the sound Slot: Clips played as Voices, grouped on Buses, with all of the arithmetic computed here and none of it below. |
|
sound/internal
Package internal is the sound plugin: New, the six resources, and the once-per-tick flush that turns a tick's recorded operations into one Emit.
|
Package internal is the sound plugin: New, the six resources, and the once-per-tick flush that turns a tick's recorded operations into one Emit. |
|
sound/soundplugin
Package soundplugin constructs the sound plugin.
|
Package soundplugin constructs the sound plugin. |
|
storage
Package storage declares the storage Slot: one kernel resource, FileSystem, a prioritized read-only overlay over every mounted filesystem, including the single permanent one that writes land in.
|
Package storage declares the storage Slot: one kernel resource, FileSystem, a prioritized read-only overlay over every mounted filesystem, including the single permanent one that writes land in. |
|
storage/internal
Package internal is the storage plugin: New and the handlers behind storage's commands.
|
Package internal is the storage plugin: New and the handlers behind storage's commands. |
|
storage/storageplugin
Package storageplugin constructs the storage plugin.
|
Package storageplugin constructs the storage plugin. |
Click to show internal directories.
Click to hide internal directories.