# gt_bridge v0.17.2 - Table of Contents

A bridge between Glamorous Toolkit (GT) and the BEAM VM, enabling remote code evaluation, object inspection, and Phlow view rendering.

## Modules

- [EvaluationSupervisor](EvaluationSupervisor.md): I supervise children that evaluate arbitrary Elixir code (Similar to IEx).
- [Examples.EAnalysis](Examples.EAnalysis.md): I am examples for GtBridge.Analysis, the static analysis module.

- [Examples.ECodeMonitor](Examples.ECodeMonitor.md): I am examples for `GtBridge.CodeMonitor`, the sole publisher of
`%ModuleEvent{kind: :recompiled}` on the bridge's EventBroker bus.
- [Examples.ECompletion](Examples.ECompletion.md): I am examples for the Elixir autocompletion system.

- [Examples.EDocumentation](Examples.EDocumentation.md): I am examples for GtBridge.Documentation, the module doc extractor.

- [Examples.EEval](Examples.EEval.md): I am examples for GtBridge.Eval, the evaluation GenServer.

- [Examples.EHotReload](Examples.EHotReload.md): I test the hot-reload system end-to-end against a real dependency.
- [Examples.EModuleCreator](Examples.EModuleCreator.md): I am examples for `GtBridge.ModuleCreator`.
- [Examples.EModuleCreatorScratch](Examples.EModuleCreatorScratch.md)
- [Examples.EMondrian](Examples.EMondrian.md): I am examples for the Mondrian graph view shim.

- [Examples.ESerialization](Examples.ESerialization.md): I am examples for the GtBridge serializer.

- [Examples.ETcp](Examples.ETcp.md): I am examples for TCP listener and connection setup.

- [Examples.EViews](Examples.EViews.md): I am examples for the Phlow view system. I also define a sample
struct with two views to exercise view registration and rendering.

- [Examples.EXref](Examples.EXref.md): I exercise the long-lived `GtBridge.Xref` service end-to-end and the
refactored callers (`function_references/3`, `module_graph/1`) that
depend on it. Acts as a regression catcher for the substrate
cleanup — if anyone removes the xref subscription or the supervision
child, these examples go red.

- [GtBridge](GtBridge.md): Documentation for `GtBridge`.

- [GtBridge.Analysis](GtBridge.Analysis.md): I provide static analysis data for GT visualization.
- [GtBridge.Analysis.LoadedModules](GtBridge.Analysis.LoadedModules.md): I maintain the set of every loaded Elixir module name (e.g.
"GtBridge.Eval"), populated initially from
`:application.get_key/2` for every loaded application and
maintained additively by EventBroker `%ModuleEvent{}` events.
- [GtBridge.Analysis.Walker](GtBridge.Analysis.Walker.md): I walk Elixir AST and extract call sites.
- [GtBridge.CacheReaper](GtBridge.CacheReaper.md): I own the named ETS table that backs all GtBridge derived-state caches and
invalidate per-module entries when the module recompiles.
- [GtBridge.CodeMonitor](GtBridge.CodeMonitor.md): I am the sole publisher of `%ModuleEvent{kind: :recompiled}` events.
- [GtBridge.Completion](GtBridge.Completion.md): I provide code completion for Elixir source fragments.
- [GtBridge.DepGraph](GtBridge.DepGraph.md): I expose application-level dependency graph queries to GT.
- [GtBridge.Documentation](GtBridge.Documentation.md): I provide structured access to Elixir module and function documentation.
- [GtBridge.Eval](GtBridge.Eval.md): I am a per-session evaluation GenServer.
- [GtBridge.Eval.Env](GtBridge.Eval.Env.md): I capture a Macro.Env with built-in helpers available.
- [GtBridge.Eval.Error](GtBridge.Eval.Error.md): I reprsent an error in evaluation
- [GtBridge.Eval.Preamble](GtBridge.Eval.Preamble.md): I prime an evaluation session with a module's preamble (alias /
import / require declarations) so completion + eval work in the
module's namespace context.
- [GtBridge.EvalRegistry](GtBridge.EvalRegistry.md): I map session IDs to `GtBridge.Eval` processes.
- [GtBridge.Events](GtBridge.Events.md): I define the EventBroker filters and the broadcast helper for GtBridge's
module-event bus.
- [GtBridge.Events.AnyModuleEvent](GtBridge.Events.AnyModuleEvent.md): I am the GtBridge.Events.AnyModuleEvent filter generated by deffilter in GtBridge.Events.

- [GtBridge.Events.ModuleEvent](GtBridge.Events.ModuleEvent.md): I am the body of an EventBroker event announcing a change to a BEAM module.
- [GtBridge.GtViewedObject](GtBridge.GtViewedObject.md): Helper module for getting view declarations for Elixir objects.
- [GtBridge.HotReload](GtBridge.HotReload.md): I drive the hot-reload pipeline: write source to disk, compile,
persist beam files, broadcast events, and return a payload that
GT-side subscribers can re-render from directly.
- [GtBridge.Http.Router](GtBridge.Http.Router.md)
- [GtBridge.Http.SseStream](GtBridge.Http.SseStream.md): I am the cowboy_loop handler for the `/EVENTS` SSE channel.
- [GtBridge.Http.Supervisor](GtBridge.Http.Supervisor.md)
- [GtBridge.Mix](GtBridge.Mix.md): I am the shared mix-project introspection helpers used across
hot_reload, module_creator, and code_monitor.
- [GtBridge.Mnesia](GtBridge.Mnesia.md): I expose Mnesia table introspection to GT.
- [GtBridge.ModuleCreator](GtBridge.ModuleCreator.md): I create a fresh Elixir source file for a module name and recompile.
- [GtBridge.ObjectRegistry](GtBridge.ObjectRegistry.md): I am a Registry for objects that are referenced from GT.
- [GtBridge.Phlow.Builder](GtBridge.Phlow.Builder.md): Builder for creating Phlow views.
- [GtBridge.Phlow.Column](GtBridge.Phlow.Column.md): A column definition for columned list and tree views.

- [GtBridge.Phlow.ColumnedList](GtBridge.Phlow.ColumnedList.md): A Phlow columned list view specification.
- [GtBridge.Phlow.ColumnedTree](GtBridge.Phlow.ColumnedTree.md): A Phlow columned tree view specification.
- [GtBridge.Phlow.Empty](GtBridge.Phlow.Empty.md): An empty Phlow view specification.
- [GtBridge.Phlow.List](GtBridge.Phlow.List.md): A Phlow list view specification.
- [GtBridge.Phlow.Mondrian](GtBridge.Phlow.Mondrian.md): I am a Phlow Mondrian (graph) view specification.
- [GtBridge.Phlow.Text](GtBridge.Phlow.Text.md): A Phlow text editor view specification.
- [GtBridge.Phlow.View](GtBridge.Phlow.View.md): A Phlow view specification that wraps a specific view type (list, text, etc.)
with common properties like title and priority.

- [GtBridge.Resolve](GtBridge.Resolve.md)
- [GtBridge.Serializer](GtBridge.Serializer.md)
- [GtBridge.Supervision](GtBridge.Supervision.md): I expose process-supervision introspection to GT.
- [GtBridge.Supervisor](GtBridge.Supervisor.md)
- [GtBridge.View](GtBridge.View.md): Helper macros for declaring Phlow views on typed structs.
- [GtBridge.ViewHelpers](GtBridge.ViewHelpers.md): I provide helper functions for views that are written within GT.

- [GtBridge.Views](GtBridge.Views.md): I hold views for various types, please query me to find out views you are interested in.

- [GtBridge.Views.MapGraph](GtBridge.Views.MapGraph.md): I display a map as a tree graph where each key points to its
value, and nested maps expand recursively.

- [GtBridge.Xref](GtBridge.Xref.md): I am a long-lived wrapper around OTP's `:xref` cross-reference server.
- [Tcp.Connection](Tcp.Connection.md): I am the TCP Connection for MsgPack messages
- [Tcp.Listener](Tcp.Listener.md): I am a TCP listener. I listen on a given interface and port for incoming connections.
- [Tcp.Supervisor](Tcp.Supervisor.md): I am a TCP Supervisor, I supervise TCP Listeners and Connections.

