space.notjack.trmcity.map

The complete state of a trmcity procedural city simulation. The tile grid is encoded as one string per row, one character per tile: '~' water, '.' grass, 't' tree, '#' road, and 'a' through 'l' for buildings, where the letter index encodes (level - 1) * 4 + variant for levels 1-3 and variants 0-3. The simulation is deterministic: the rng field carries the pseudo-random generator state between ticks.

Details · record, key literal:self
Kindrecord
Record keyliteral:self
Authoritytrmcity.notjack.space
Indexed

Record

record · key literal:self

Properties

foundedAt

string · datetime

When the city was founded.

height

requiredinteger

Height of the tile grid.

  • minimum: 1
  • maximum: 512

rng

requiredarray

Saved state of the simulation's pseudo-random generator, as produced by Racket's pseudo-random-generator->vector.

  • minLength: 6
  • maxLength: 6
itemsinteger
  • minimum: 0

rows

requiredarray

The tile grid, one string per row from north to south, one character per tile from west to east.

  • maxLength: 512
itemsstring
  • maxLength: 512

tick

requiredinteger

How many simulation ticks have elapsed since the city was founded.

  • minimum: 0

updatedAt

requiredstring · datetime

When the most recent tick ran.

width

requiredinteger

Width of the tile grid.

  • minimum: 1
  • maximum: 512