Perception API
Authoritative local snapshot of https://docs.perception.cx/perception.
Workflow
- Read references/INDEX.md, then open only the API pages relevant to the task.
- Read references/readme.md for current conventions before producing code.
- For executable scripts, confirm lifecycle semantics in
references/lifecycle-and-routines.md.
- Search exact names and signatures locally; do not invent overloads, enums, permission gates, or handle semantics.
- Return complete Enma code when implementation is requested. Keep permission-dependent behavior explicit.
API routing
- Process attachment, memory, modules, VADs, patterns:
references/proc-api.md
- Drawing, fonts, textures, shaders, GPU resources:
references/render-api.md
- Controls, frames, layers, menus, file pickers:
references/gui-api.md
- Keyboard and mouse state:
references/input-api.md
- HTTP, WebSocket, UDP:
references/net-api.md
- Window queries and input sending:
references/win-api.md
- CPU/timing:
references/cpu-api.md
- Emulation/disassembly:
references/unicorn-api.md, references/zydis-api.md
- Audio:
references/sound-api.md
- Agent JSON-RPC surface:
references/mcp-api.md
Boundaries
Perception registers this host API on top of Enma. For language syntax, standard-library behavior, compiler semantics, or embedding SDK details, load the enma-lang skill. Treat legacy Lua and AngelScript APIs as different surfaces; do not translate their signatures into Enma unless asked.
1---2name: perception-api3description: Perception.cx's Enma host API for script lifecycle, process memory, rendering, GUI, input, networking, sound, Windows automation, Unicorn, Zydis, CPU helpers, and MCP. Use when writing, reviewing, or debugging scripts that call APIs registered by Perception; not for Enma language syntax itself.4---56# Perception API78Authoritative local snapshot of `https://docs.perception.cx/perception`.910## Workflow11121. Read [references/INDEX.md](references/INDEX.md), then open only the API pages relevant to the task.132. Read [references/readme.md](references/readme.md) for current conventions before producing code.143. For executable scripts, confirm lifecycle semantics in `references/lifecycle-and-routines.md`.154. Search exact names and signatures locally; do not invent overloads, enums, permission gates, or handle semantics.165. Return complete Enma code when implementation is requested. Keep permission-dependent behavior explicit.1718## API routing1920- Process attachment, memory, modules, VADs, patterns: `references/proc-api.md`21- Drawing, fonts, textures, shaders, GPU resources: `references/render-api.md`22- Controls, frames, layers, menus, file pickers: `references/gui-api.md`23- Keyboard and mouse state: `references/input-api.md`24- HTTP, WebSocket, UDP: `references/net-api.md`25- Window queries and input sending: `references/win-api.md`26- CPU/timing: `references/cpu-api.md`27- Emulation/disassembly: `references/unicorn-api.md`, `references/zydis-api.md`28- Audio: `references/sound-api.md`29- Agent JSON-RPC surface: `references/mcp-api.md`3031## Boundaries3233Perception registers this host API on top of Enma. For language syntax, standard-library behavior, compiler semantics, or embedding SDK details, load the `enma-lang` skill. Treat legacy Lua and AngelScript APIs as different surfaces; do not translate their signatures into Enma unless asked.