# Spurdoverse - [Building a Full ESP](https://docs.spurdoverse.app/learn/building-esp.md): Step-by-step tutorial: build a polished ESP overlay with bounding boxes, health bars, name tags, and visibility checks. - [Globals](https://docs.spurdoverse.app/api/globals.md): Timers, console output, event system, and the script object - available everywhere without imports. - [Manifest & Permissions](https://docs.spurdoverse.app/api/manifest.md): manifest.json - how the loader finds your script and what it is allowed to touch. - [Web APIs](https://docs.spurdoverse.app/api/web.md): The browser-standard globals available to scripts - and the ones that are not. - [Networking](https://docs.spurdoverse.app/api/networking.md): HTTP and realtime sockets from a script - fetch, WebSocket, EventSource, XMLHttpRequest. - [WebAssembly](https://docs.spurdoverse.app/api/wasm.md): Run WebAssembly modules inside scripts with full WASI Preview 1 support. - [Math](https://docs.spurdoverse.app/api/math.md): Angle math, screen projection, and interpolation - built into the global Math object. - [Render](https://docs.spurdoverse.app/api/render.md): Draw lines, shapes, text, and images on the screen overlay. - [ESP](https://docs.spurdoverse.app/api/esp.md): Declarative per-entity overlays — register text, bars, and icons that the user lays out in the builder menu. - [UI](https://docs.spurdoverse.app/api/ui.md): Declarative settings window — declare controls once, and the menu builds, persists, and binds them for you. - [Game](https://docs.spurdoverse.app/api/game.md): Per-frame timestamps, tick counters, map info, and frame timing - engine state updated every tick. - [FFI](https://docs.spurdoverse.app/api/ffi.md): Call native libraries, define C structs, and bridge JavaScript to any DLL or shared object. - [FileSystem](https://docs.spurdoverse.app/api/fs.md): Read, write, and manage files inside a sandboxed data directory. - [Memory](https://docs.spurdoverse.app/api/memory.md): Construct pointers, resolve loaded modules, and scan memory for byte patterns. - [Entities](https://docs.spurdoverse.app/api/entities.md): Query, iterate, and read schema fields from any game entity - players, weapons, projectiles, and everything else. - [Input](https://docs.spurdoverse.app/api/input.md): Simulate keyboard and mouse input, and read game input state. - [Convars](https://docs.spurdoverse.app/api/convars.md): Read console variable values from the engine. - [Trace](https://docs.spurdoverse.app/api/trace.md): Cast rays, boxes, spheres, and capsules through the game world - hit detection, visibility checks, overlap queries, and surface info. - [localStorage](https://docs.spurdoverse.app/api/localStorage.md): Persistent key-value storage that survives script reloads and restarts - the familiar browser API, but better. - [Vector](https://docs.spurdoverse.app/api/types/vector.md): 3D vector for positions, velocities, directions - the most used type in the engine. - [Vector2](https://docs.spurdoverse.app/api/types/vector2.md): 2D vector for screen coordinates, UI layout, and planar math. - [QAngle](https://docs.spurdoverse.app/api/types/qangle.md): Euler angles for view direction, aim, and rotation - pitch, yaw, roll in degrees. - [Quaternion](https://docs.spurdoverse.app/api/types/quaternion.md): Rotations as unit quaternions - bone orientation, hitbox transforms, and gimbal-lock-free composition. - [Color](https://docs.spurdoverse.app/api/types/color.md): RGBA color type with HSV/HSL conversion, blending, and brightness control. - [Texture](https://docs.spurdoverse.app/api/types/texture.md): Load images from disk or memory for drawing on the overlay. - [Pointer](https://docs.spurdoverse.app/api/types/pointer.md): A typed wrapper around a memory address with arithmetic, dereference, and structured read operations.