# API reference

> Vaelis 1.0.0 component and scripting API reference.

- Source: docs/v1.0.0/api/index.html
- Engine version: Vaelis 1.0.0

> **Need to know what must exist first?:** Use the API requirements & complete usage map to see prerequisites for every global and component API.

**API surface:**  component references document scene data and the intentionally exposed script surface. Global runtime modules are in [Runtime modules](runtime.html).

## Components

[**Transform**Position, rotation and scale. Every spatial entity uses a Transform.](components/transform.html)[**SpriteRenderer**Draw a 2D texture sprite for an entity.](components/spriterenderer.html)[**ShapeRenderer**Draw a procedural 2D shape without requiring a sprite asset.](components/shaperenderer.html)[**TextRenderer**Render text either in world space or as screen-space UI.](components/textrenderer.html)[**StrokePath**A variable-thickness strip along placed points — rivers, cables, roads, conveyor belts or walls — with flat color or textured fill.](components/strokepath.html)[**SpeechBubble**Speech bubble UI attached to an entity, useful for dialogue and NPC callouts.](components/speechbubble.html)[**ChatLog**Scrollable-style conversation log component for UI dialogue.](components/chatlog.html)[**TextInput**Interactive text input control driven by the runtime UI system.](components/textinput.html)[**Joystick**Virtual touch joystick for mobile and pointer-driven control schemes.](components/joystick.html)[**Rigidbody2D**2D physics body backed by the engine physics runtime. Dynamic, Kinematic and Static bodies have different script controls.](components/rigidbody2d.html)[**Collider2D**Physics collision shape and contact filtering. A Collider2D is also required for accurate pointer/touch hit tests.](components/collider2d.html)[**Joint2D**Connect physics bodies with Fixed, Revolute, Prismatic, Rope or Spring constraints.](components/joint2d.html)[**CharacterController**High-level movement modes: Character Controller, Platformer, Top-Down, Car, Follow, Patrol and Free.](components/charactercontroller.html)[**SpriteAnimation**Sprite-sheet/clip animation state on a SpriteRenderer.](components/spriteanimation.html)[**Camera**Orthographic 2D camera with reference resolutions, responsive scaling, follow, shake and optional pseudo-3D sprite depth scaling.](components/camera.html)[**AudioSource**Play a local audio asset, optionally with distance-based 3D attenuation.](components/audiosource.html)[**AudioListener**Defines the hearing area for 3D audio and drives audio enter/leave callbacks.](components/audiolistener.html)[**Light**2D light source supporting Directional, Point, Spot, Area, GodRays and Freeform light shapes.](components/light.html)[**ShadowCaster**Marks an entity as a shadow occluder for the lighting system.](components/shadowcaster.html)[**LightingSettings**Scene-wide lighting quality and mood controls. Attach to one entity; the lighting system reads it scene-wide.](components/lightingsettings.html)[**NavAgent2D**Per-agent navigation settings and current path state for NavWorld2D pathfinding.](components/navagent2d.html)[**NavWorld2D**Shared navigation world for baked or dynamic 2D pathfinding, with 16 navigation areas.](components/navworld2d.html)[**Tileset**Defines a reusable 16-role autotile set. The editor can auto-slice one image or accept separate role images.](components/tileset.html)[**Tilemap**Sparse painted tile grid that references a Tileset entity by ID.](components/tilemap.html)[**Script**Script component holding a script name, source and enabled state.](components/script.html)

## Script reference rules

Use `this` for the current entity and global modules for scene-wide services. Conditional component modules are available only when that component exists on the entity. Unsupported/unknown properties are surfaced as runtime API errors rather than silently creating arbitrary engine fields.
