> ## Documentation Index
> Fetch the complete documentation index at: https://docs.eucaengine.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Advance simulation and evaluate assertions

> Body: {
  "ticks": 300,              // how many ticks to advance (0 = evaluate at current state)
  "assertions": ["hero-alive", "towers-attack"],  // optional: only evaluate named assertions
  "snapshot_before": true,   // optional: capture a snapshot before advancing
  "snapshot_after": true,    // optional: capture a snapshot after advancing
}



## OpenAPI

````yaml /openapi.json post /probe
openapi: 3.1.0
info:
  title: Euca Engine API
  description: >-
    The typed HTTP API for the agent-native game engine. Local server runs
    unauthenticated on localhost:3917.
  license:
    name: ''
  version: 1.1.0
servers:
  - url: http://localhost:3917
security: []
tags:
  - name: World
    description: >-
      Inspect and mutate the live world: status, observe, entities,
      spawn/despawn, reset.
  - name: Simulation
    description: 'Drive the simulation clock: step, play, pause.'
  - name: Rules
    description: 'Rules-as-data: register and list gameplay rules.'
  - name: Gameplay
    description: >-
      Match lifecycle and gameplay actions: games, damage/heal, triggers,
      projectiles, AI, abilities.
  - name: Discovery and ops
    description: 'Operational introspection: world health diagnostics and GPU/engine info.'
  - name: Forks
    description: Counterfactual 'what-if' simulation on deep-cloned worlds.
  - name: Snapshots and probes
    description: Capture, list, and diff labeled world snapshots; probe = advance + assert.
  - name: Scenes and scenarios
    description: Persist scenes to disk and apply/export declarative scenario documents.
  - name: Inventory and economy
    description: >-
      Items, inventories, equipment, and the gold economy: define/give/equip
      items and list a unit inventory.
  - name: Status effects
    description: >-
      Timed buffs/debuffs with stat modifiers and tick effects: apply, list, and
      cleanse.
  - name: Templates and prefabs
    description: >-
      Reusable spawn definitions: named entity templates and registered prefabs
      — create, spawn, and list.
  - name: Assertions and manifest
    description: >-
      Testable expectations and sprint contracts: define/evaluate/list/delete
      assertions and set/read the game manifest.
  - name: Camera and render
    description: >-
      Control the render/editor viewport: camera pose and presets, screenshots,
      per-entity materials, post-processing, and volumetric fog.
  - name: UI and HUD
    description: >-
      Author the in-game HUD overlay: add text and bars, list, and clear
      elements.
  - name: Animation
    description: >-
      Skeletal animation: load clips, play/stop on entities, list the library,
      and attach state machines and montages.
  - name: Audio
    description: Play and stop global or spatial sound sources, and list the active ones.
  - name: Particles
    description: 'Particle emitters: create, stop, and list GPU/CPU emitter entities.'
  - name: Terrain and foliage
    description: Heightmap terrain create/edit and instanced foliage scatter/list.
  - name: Navigation
    description: >-
      Navmesh generation and A* pathfinding: build navmesh, compute paths, and
      set entity path goals.
  - name: Input
    description: >-
      Input bindings and context stack: bind/unbind keys to actions, list
      bindings, and push/pop input contexts.
  - name: Scripting
    description: 'Lua scripting: attach scripts to entities and list scripted entities.'
  - name: Assets
    description: >-
      AI-powered 3D asset generation: start jobs, poll status, and list tasks
      and providers.
  - name: Auth
    description: >-
      Optional session auth for hosted deployments; the local server is
      unauthenticated.
paths:
  /probe:
    post:
      tags:
        - Snapshots and probes
      summary: Advance simulation and evaluate assertions
      description: |-
        Body: {
          "ticks": 300,              // how many ticks to advance (0 = evaluate at current state)
          "assertions": ["hero-alive", "towers-attack"],  // optional: only evaluate named assertions
          "snapshot_before": true,   // optional: capture a snapshot before advancing
          "snapshot_after": true,    // optional: capture a snapshot after advancing
        }
      operationId: probe
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProbeBody'
        required: true
      responses:
        '200':
          description: Simulation advanced + assertions evaluated in one call.
          content:
            application/json:
              schema: {}
components:
  schemas:
    ProbeBody:
      type: object
      description: Request body for `POST /probe`.
      required:
        - ticks
      properties:
        assertions:
          type:
            - array
            - 'null'
          items:
            type: string
          description: Optional subset of assertion names to evaluate (all, if omitted).
        snapshot_after:
          type:
            - boolean
            - 'null'
          description: Capture a snapshot after advancing.
        snapshot_before:
          type:
            - boolean
            - 'null'
          description: Capture a snapshot before advancing.
        ticks:
          type: integer
          format: int64
          description: Number of ticks to advance before evaluating assertions.
          minimum: 0

````