This page is the AI-first entry point for EyeAuras API discovery maps.
Discovery maps do not duplicate the full public API. SDK assemblies, XML docs,
and generated metadata remain the canonical reference. These files provide
portable routing information: relevant symbols, package or assembly hints,
terminology, relationships between APIs, and common flows.
When changing public APIs, script-facing services, aura models, triggers,
actions, overlays, window/image/input/memory/ML APIs, optional SDK packages, or
dependency-injection entry points, update the relevant discovery map.
If no relevant map exists yet, create one. Prefer small domain maps over a
single large file.
nuget/ instead of mixing them into corecore/ - product structure, runtime contexts, modules, configuration, andscripting/ - script runtime, script accessors, host context, helper classauras/ - aura entities, actions, triggers, overlays, and aura runtimewindows-subsystems/ - native windows, handles, matching, tracking, Blazorosd/ - on-screen user selection and on-screen drawing overlays.memory/ - core memory/process contracts and built-in memory backends.nuget/ - optional SDK packages such as ImGui SDK, Frida SDK, and Xign SDK.computer-vision/ - capture, image search, OCR, OpenCV, and pixel workflows.ml/ - ML models, datasets, AI runtime, AI tool plugins, retrieval, andreverse-engineering/ - RE workspace and RE tooling maps.recipes/ - concrete implementation recipes that assemble multiple APIcore/eyeauras-structure.md, then the relevant domain map.Do not assume top-level script host capabilities such as Log, AuraTree,
Variables, Sleep, or cancellationToken are global C# APIs. Ordinary C#
classes must receive dependencies through constructor parameters,
framework/Unity property injection, explicit parameters, or script-owned DI
registrations.
Actions, Triggers, and Overlays are stateful Aura Tree runtime objects, not
lightweight API wrappers. In API maps and migration guides, prefer direct
script APIs, services, extension methods, or helper functions for thin
operations. Mention Actions/Triggers/Overlays when the user is building
configurable Aura Tree behavior, or when the component carries meaningful
domain runtime such as CV, ML, overlay rendering, or long-lived trigger state.
Use this shape when practical:
# Domain Name Discovery Map
## User Intents
## Concept Model
## Host / Runtime Contexts
## API Details
## Common Flows
## Assembly / Package Hints
## Prefer
## Avoid
## Research Anchors
## Search Synonyms
## Related Maps
core/eyeauras-structure.md - product structure, Aura Tree, contexts,core/app-runtime-contexts.md - app vs SDK vs top-level script vs ordinarycore/app-modules.md - Prism modules, module loading, dynamic modules, andcore/blazor.md - PoeShared.Blazor reactive components, ReactiveSection,core/logging.md - IFluentLog, log4net bridges, app/service logging,core/login-and-licensing.md - custom login UI, key login,IEyeHubService, ILicenseAccessor, LoginWidget, and modern sublicensecore/profiling.md - MiniProfiler timing trees, startup/app/script/CVcore/reactivity.md - PropertyBinder, Rx/ReactiveUI, DynamicData,SourceList/SourceCache, reactive bindings, and collectioncore/configuration-persistence.md - config providers, config serializer,core/deployment.md - export/import, packs, portable packs, mini-apps,scripting/runtime.md - script APIs, dependency/capability access,scripting/async.md - top-level await, background task safety,scripting/container-extensions.md - script DI composition,ScriptContainerExtension, optional SDK registration, and service graphscripting/logging.md - Log, IFluentLog, log levels, helper-classscripting/reactive-lifetime.md - DisposableReactiveObject, Anchors,AddTo, INotifyPropertyChanged, and script/runtime NPC weaving.scripting/references-and-resources.md - NuGet/assembly references,IScriptFileProvider, DLL/image/font/model assets.scripting/project-workflow.md - export/import/live-import, IDE workflow,scripting/variables.md - ScriptVariable<T>, variable hierarchy,Value/HasValue/TryGetValue semantics, listeners, and default.*scripting/web-server.md - script-hosted ASP.NET Core/Kestrel endpoints,scripting/browser-automation.md - Selenium/WebDriver browser automation asauras/entities.md - IAuraRegistrator, entity mappings, factories,auras/actions.md - action execution, action registration, script actions,auras/triggers.md - trigger event sources, trigger registration, scriptauras/overlays.md - aura overlay entities and how they differ from OSD,auras/overview.md - broad aura pack overview and cross-links.windows-subsystems/window-handles.md - IWindowHandle, raw handle bridges,windows-subsystems/blazor-windows.md - Blazor-backed native windows,windows-subsystems/input-hooks-hotkeys.md - keyboard/mouse hooks, hotkeys,osd/selection.md - IOsdSelectionService and interactive window/region/osd/screen-overlay.md - Blazor OSD screen overlay canvas, rectangles,memory/processes.md - core process readers, memory access, modules, pointernuget/imgui-sdk.md - optional EyeAuras.ImGuiSdk package, render loop,nuget/frida-sdk.md - optional EyeAuras.FridaSdk package, FridaIProcess adapters,nuget/xign-sdk.md - optional EyeAuras.XignSdk package, SCM-only XignXignProcess.nuget/fairplay-sdk.md - optional EyeAuras.Memory.FairPlaySdk package,FairPlayKDProcess adapter with FairPlay-opened process-handle reads,computer-vision/images.md - screen/window capture, image search, OCR,computer-vision/profiling.md - MiniProfiler, EnableProfiling,cv.Profiler.Step, plain-text reports, warm-up, and profiling memory costs.ml/ai.md - index for ML model inference and app AI integration.ml/ai-runtime.md - AiEngine, chat sessions, profiles, retrieval,ml/ai-kernel-plugins.md - AiKernelPlugin, [KernelFunction] tools,ml/script-ai-clients.md - built-in EyeAuras.AISdk / EyeAuras.AIreverse-engineering/reprocess.md - ReProcess, RE workspace builder,recipes/recipe.md - required shape and writing rules for recipes.recipes/bot-memory-imgui-interface.md - recipe for a memory-reading botrecipes/bot-memory-behavior-tree.md - recipe for reading memory and feedingrecipes/bot-memory-entity-list-reader.md - recipe for a primitiverecipes/tool-embedded-eyeauras-host.md - recipe for adding EyeAuras-poweredrecipes/script-ai-editor-assistant.md - recipe for adding AI chat to scriptProduct structure:
IEyeContext, IAuraContext, IFolderContext, IEyeItem,
IAuraTreeScriptingApi.
Script runtime:
AuraScriptSandbox, IAuraScriptSandbox, IFluentLog,
ScriptContainerExtension, CsharpScriptActionExecutor,
CsharpScriptTriggerExecutor.
Script logging:
top-level scripts can call Log directly; ordinary classes need
IFluentLog passed through constructors/parameters or an independent logger
from typeof(MyType).PrepareLogger(); use levels, prefixes, lazy messages,
and exception overloads to leave useful diagnostic breadcrumbs.
Script async:
top-level scripts support async/await; pass cancellationToken into
async APIs, catch/log every fire-and-forget boundary, avoid async void,
and prefer the Coroutine NuGet package for long-running step-based loops.
Reactive lifetime:
DisposableReactiveObject is the default base class for helper objects that
need IDisposable, INotifyPropertyChanged, or both; put owned resources in
Anchors with .AddTo(Anchors) instead of hand-writing trivial Dispose
methods. Normal app projects use PropertyChanged.Fody; script projects can
get NPC behavior from the runtime code weaver.
Script DI / composition:
ScriptContainerExtension registers script-owned services;
AddNewExtension<T> attaches extensions from top-level script code;
Container.AddNewExtensionIfNotExists<T> composes dependencies between
extensions; optional SDKs such as ImGui/Frida use this opt-in pattern.
References / resources:
#r "nuget:" adds packages; #r "assemblyName:" references already
loadable assemblies; #r "assemblyPath:" references local/embedded DLLs;
IScriptFileProvider exposes embedded script files and resources.
Project workflow:
exported scripts are normal buildable C# projects; import/live-import pull
the script payload back into EyeAuras; solutions may include helper/test/tool
projects that are not runtime payload.
Variables:
IVariablesScriptingApi creates typed ScriptVariable<T> handles;
Value is safe/defaulting, TryGetValue is strict non-throwing,
GetOrThrow is strict throwing, Listen observes changes.
Script-hosted web APIs:
Host.CreateDefaultBuilder, Kestrel, minimal endpoints, controllers,
AddApplicationPart, and cancellation-bound RunAsync are the starting
points for local HTTP control/diagnostic endpoints.
Browser automation:
Selenium/WebDriver controls browser DOM/session state directly and is usually
preferable to image search or global input simulation for web pages.
Blazor foundation:
BlazorReactiveComponent, BlazorReactiveComponent<TContext>,
ReactiveSection, ReactiveTrackerList, BlazorContentPresenter,
IBlazorViewRepository, IBlazorContentRepository, IJsPoeBlazorUtils.
Logging:
IFluentLog, FluentLogLevel, Debug/Info/Warn/Error,
TypeExtensions.PrepareLogger, WithPrefix, WithSuffix,
WithMinLogLevelOverride, WithAction, WithLogAction,
BenchmarkTimer, CreateProfiler, SharedLog, ObservableAppender,
FluentLogger, Log4NetLoggerProvider; script-container IFluentLog and
AuraScriptSandbox.Log route to script events, while PrepareLogger()
creates normal app/log4net loggers.
Profiling:
use MiniProfiler for targeted timing trees (MiniProfiler.Step,
IProfilerProvider.GetOrAdd, ProfilerProvider.Startup,
RenderPlainText, StepInfo, StepDebug); use JetBrains dotTrace through
IPerformanceProfilerService / IProfilerViewModel for whole-process CPU
captures; use JetBrains dotMemory for memory snapshots and leak analysis.
Reactivity:
Binder<TContext>, Bind, BindIf, WhenAnyValue, ReactiveCommand,
ObservableAsPropertyHelper, SourceList<T>, SourceCache<T, TKey>,
Connect, BindToCollection, SourceListEx<T>, SourceCacheEx<T, TKey>.
Large script projects:
IHostedService, ScriptContainerExtension, AuraScriptRunner<TSandbox>,
AuraScriptSandbox, IImGuiExperimentalApi, IBlazorWindow,
IConfigProvider<TConfig>, DisposableReactiveObject, CompositeDisposable,
Anchors.
Aura entity registration:
IAuraRegistrator, IAuraRepository, IAuraObjectFactory,
IEyeEntityFactory.
Actions:
AuraActionBase<TProperties>, ExecuteInternal,
CsharpScriptAction, CsharpScriptActionExecutor.
Triggers:
AuraTriggerBase<TProperties>, CreateTriggerEventSource,
CsharpScriptTrigger, CsharpScriptTriggerExecutor.
Overlays:
CsharpScriptOverlay, AuraOverlayPropertiesBase,
AuraOverlayContentBase, IOnScreenCanvas, IBlazorWindow,
IImGuiExperimentalApi.
OSD selection:
IOsdSelectionService, PickWindow, PickRegion, PickPoint,
PickColor.
Screen overlay:
IOnScreenCanvasScriptingApi, IOnScreenService, IOnScreenCanvas,
IOnScreenRectangle, IOnScreenHtml, IOnScreenRazor,
OnScreenCanvasExtensions.
Window handles:
IWindowHandle, IWindowHandleProvider, IWindowListProvider,
IWindowSelector, IWindowMatcher, IForegroundWindowTracker,
IWindowBoundsTrackerFactory.
Blazor windows:
IBlazorWindow, IDialogWindowUnstableScriptingApi,
IBlazorWindowAccessor, IBlazorViewRepository, BlazorViewAttribute.
Input:
ISendInputScriptingApi, IKeyboardEventsSource,
KeybindAttribute, HotkeyGesture, IInputSimulatorProvider,
IUserInputSmootherProvider, KeybindActivationType.
Memory:
IProcess, IProcessMemory, IMemoryAccessor, LocalProcess,
NativeLocalProcess, KDProcess, LCProcess.
Deployment:
PackAurasConfig, PackDistributionPolicy, PackScriptCompilationMode,
PackScriptProtectionMode, IShareProvider, AuraShareId,
ISublicenseManager, ISublicenseLease, IEyeHubService, LoginWidget.
Login and licensing:
IEyeHubService.PerformLogin(username, password),
IEyeHubService.PerformLogin(key, key) for key login,
IEyeHubService.ActivateLicenseKey(key) for existing accounts,
ILicenseAccessor for profile/license projection, and
ISublicenseManager.Rent(AuraShareId) for paid-pack runtime leases.
Optional ImGui SDK:
IImGuiExperimentalApi, ImGuiWindowManager,
ICanBeDisplayedInImGui, IImGuiWindowContent,
ImGuiContainerExtensions, ImGuiEx, ImGui.GetID,
ImGuiFontSpec.
Optional Frida SDK:
IFridaExperimentalApi, IFridaSession, IFridaScript,
FridaAgentProcess, CAgentProcess, FridaAgentRpcType.
Optional Xign SDK:
XignProcess, IXignProcess, IXignProcessBuilder,
XignDriverServiceConfig.
Optional FairPlay SDK:
FairPlayDriverManager, IFairPlayDriverManager,
FairPlayDriverConnection, IFairPlayDriverConnection,
FairPlayKDProcess, IFairPlayProcess, IFairPlayProcessBuilder.
Computer vision:
IComputerVisionExperimentalScriptingApi, ICvAccessor,
ImageSearchTrigger, TextSearchTrigger, ColorSearchTrigger,
EnableProfiling, MiniProfiler, RenderPlainText.
AI runtime:
AiEngine creates chat, MCP, and coding-agent sessions; IAiChatSession
owns chat history, active profile, plugin host, retrieval, artifact store,
and conversation engine; IAiProfileRepository stores configured
AiModelProfile entries; AiChatViewModel and AiChatComponent provide the
reusable Blazor chat UI.
AI tools:
AiKernelPlugin is the base class for AI-callable tool plugins;
[KernelFunction] marks methods exposed as tools; IAiPluginHost stores and
invokes plugin tools; AiFunctionInvocationPolicy controls approval;
AiDocsKnowledgeBasePlugin adds BM25-backed doc_* documentation tools.
Script AI clients:
use built-in EyeAuras.AISdk / EyeAuras.AI infrastructure first for
profiles, sessions, Semantic Kernel tools, retrieval, MCP/Codex, and reusable
chat UI; direct provider NuGets are ordinary script-owned dependencies for
intentional escape-hatch cases.
Reverse engineering:
ReProcess, ReProcessBuilder, IReProcess, IReFacade,
ReToolsPlugin.
Discovery maps work best when public script-facing types have XML comments.
When updating public APIs: