Flocc
    Preparing search index...

    Class Recorder

    Records data from a simulation run. Can be used standalone for interactive exploration or internally by Experiment for batch runs.

    const recorder = new Recorder(environment, {
    model: {
    population: (env) => env.getAgents().length,
    avgEnergy: (env) => utils.mean(env.stat('energy')),
    },
    interval: 'tick',
    });

    // Run simulation
    for (let i = 0; i < 100; i++) {
    environment.tick();
    }

    // Access data
    console.log(recorder.getModelData());
    console.log(recorder.toCSV());

    0.7.0

    Index

    Constructors

    Methods

    • Detach the recorder from the environment (stop auto-recording).

      Returns void

    • Get all recorded agent-level data.

      Returns AgentDataRecord[]

      Array of agent data records

      recorder.getAgentData();
      // Returns: [
      // { time: 0, id: 'abc', x: 10, energy: 50 },
      // { time: 0, id: 'def', x: 15, energy: 45 },
      // { time: 1, id: 'abc', x: 11, energy: 48 },
      // ...
      // ]
    • Get a specific model metric's recorded values.

      Parameters

      • name: string

        The metric name

      Returns any[]

      Array of values, or undefined if metric doesn't exist

    • Get all recorded model-level data.

      Returns ModelData

      Object with time array and arrays for each metric

      recorder.getModelData();
      // Returns: {
      // time: [0, 1, 2, 3, ...],
      // population: [100, 102, 98, 103, ...],
      // avgEnergy: [50.2, 49.8, 51.1, ...],
      // }
    • Get the most recently recorded values.

      Returns Record<string, any>

      Object with time and latest value for each metric

    • Record data for the current tick. If called multiple times per tick, subsequent calls are ignored with a warning.

      Returns void

    • Convert recorded data to CSV string.

      Parameters

      • type: "agent" | "model" = "model"

        Which data to export: 'model' (default) or 'agent'

      Returns string

      CSV string