{"openapi":"3.1.0","info":{"title":"Flatland World Simulation","description":"Flatland — 2D world simulation by Long Phan <long@minhnhan.in>","contact":{"name":"Long Phan","email":"long@minhnhan.in"},"version":"0.1.6"},"paths":{"/healthz":{"get":{"summary":"Healthz","operationId":"healthz_healthz_get","parameters":[{"name":"range","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Range"}},{"name":"minutes","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Minutes"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Healthz Healthz Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/health.html":{"get":{"summary":"Health Dashboard","operationId":"health_dashboard_health_html_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/health":{"get":{"summary":"Health Dashboard","operationId":"health_dashboard_health_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/api/perf/telemetry":{"get":{"summary":"Get Telemetry","description":"Return rolling performance telemetry over recent ticks and CPU core load.","operationId":"get_telemetry_api_perf_telemetry_get","parameters":[{"name":"window_seconds","in":"query","required":false,"schema":{"type":"integer","default":60,"title":"Window Seconds"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Telemetry Api Perf Telemetry Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/metrics/morphology":{"get":{"summary":"Get Morphology Metrics","description":"BC.6.2 live generational metrics: λ, K, A, P, sharpness, asymmetry.","operationId":"get_morphology_metrics_api_metrics_morphology_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Morphology Metrics Api Metrics Morphology Get"}}}}}}},"/api/metrics/safeguards":{"get":{"summary":"Get Safeguards Metrics","description":"Phase 7.2 — safeguard telemetry: N, eta, tier, miracles, mercy.","operationId":"get_safeguards_metrics_api_metrics_safeguards_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Safeguards Metrics Api Metrics Safeguards Get"}}}}}}},"/api/metrics/damping":{"get":{"summary":"Get Damping Metrics","description":"Phase 7.2b — damping telemetry: N, xi, effective birth/decay.","operationId":"get_damping_metrics_api_metrics_damping_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Damping Metrics Api Metrics Damping Get"}}}}}}},"/api/version":{"get":{"summary":"Get Version","description":"Version + git revision for footer display.","operationId":"get_version_api_version_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Version Api Version Get"}}}}}}},"/api/config":{"get":{"summary":"Get Config","operationId":"get_config_api_config_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Config Api Config Get"}}}}}}},"/api/laws":{"get":{"summary":"Read Laws","description":"Current laws of nature (god-readable).","operationId":"read_laws_api_laws_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Read Laws Api Laws Get"}}}}}},"post":{"summary":"Write Laws","description":"Set new laws of nature (god-writable).\n\npersist=true  (default) → Save: current + future worlds (Reset keeps it)\npersist=false → Apply: current world only (Reset reverts)\nreset=true    → also reset world with new laws","operationId":"write_laws_api_laws_post","parameters":[{"name":"persist","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Persist"}},{"name":"reset","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Reset"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GodLaws"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Write Laws Api Laws Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/status":{"get":{"summary":"Auth Status","description":"Whether a god passkey exists (public — lets the client ask to enroll).","operationId":"auth_status_api_auth_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Auth Status Api Auth Status Get"}}}}}}},"/api/auth/setup":{"post":{"summary":"Auth Setup","description":"First-time enrollment: register the god passkey (only before one exists).","operationId":"auth_setup_api_auth_setup_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetupPasskey"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Auth Setup Api Auth Setup Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/presets":{"get":{"summary":"List Presets","description":"List available law presets (sustainable is the 1000-day world).","operationId":"list_presets_api_presets_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response List Presets Api Presets Get"}}}}}}},"/api/presets/{name}":{"post":{"summary":"Apply Preset","description":"Apply a named preset bundle. reset=true also resets the world with new laws.","operationId":"apply_preset_api_presets__name__post","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string","title":"Name"}},{"name":"persist","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Persist"}},{"name":"reset","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Reset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Apply Preset Api Presets  Name  Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/history":{"get":{"summary":"Get History","description":"The durable chronicle for the current world (paginated by event id).\n\n§AT-1: `clan_id=N` filters at the SQL level — events whose payload names\nthe clan (a/b/clan_id/conquest/schism/takeover pairs) stay queryable even\nafter they rolled off the in-memory chronicle.\nBM-25: `q=...` performs text search across event type, caste, cause, and payload.\nAZ Phase 1 P1: read-your-writes from RAM instead of forcing a flush.","operationId":"get_history_api_history_get","parameters":[{"name":"since","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Since"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":500,"title":"Limit"}},{"name":"type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Type"}},{"name":"types","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Types"}},{"name":"major","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Major"}},{"name":"entity_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Entity Id"}},{"name":"clan_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Clan Id"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get History Api History Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/history/summary":{"get":{"summary":"Get History Summary","description":"BM-22: Server-side day-aggregated chronicle summary.\n1 Day = 1200 ticks. Pre-aggregates major events into day buckets.","operationId":"get_history_summary_api_history_summary_get","parameters":[{"name":"granularity","in":"query","required":false,"schema":{"type":"string","default":"day","title":"Granularity"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get History Summary Api History Summary Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/annals":{"get":{"summary":"Get Annals","description":"BM-26: Structured world lore highlights and era milestones for chronicle and LLM prompts.","operationId":"get_annals_api_annals_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Annals Api Annals Get"}}}}}}},"/api/clan/{clan_id}/biography":{"get":{"summary":"Get Clan Biography","description":"BM-12: Full biography of a clan (live or extinct) for the clan history panel.","operationId":"get_clan_biography_api_clan__clan_id__biography_get","parameters":[{"name":"clan_id","in":"path","required":true,"schema":{"type":"integer","title":"Clan Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Clan Biography Api Clan  Clan Id  Biography Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/clans/{clan_id}/history":{"get":{"summary":"Get Clan History","description":"§AT-1: the FULL filtered event stream for a clan — paginated over the\nin-memory chronicle (newest page first), plus the clan's own internal log\n(leader changes, takeovers, wars, schisms).","operationId":"get_clan_history_api_clans__clan_id__history_get","parameters":[{"name":"clan_id","in":"path","required":true,"schema":{"type":"integer","title":"Clan Id"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Clan History Api Clans  Clan Id  History Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/worlds":{"get":{"summary":"Get Worlds","description":"All world runs recorded in the database (newest first).","operationId":"get_worlds_api_worlds_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Worlds Api Worlds Get"}}}}}}},"/api/clans/{clan_id}":{"get":{"summary":"Get Clan","description":"Single clan details with members and history.","operationId":"get_clan_api_clans__clan_id__get","parameters":[{"name":"clan_id","in":"path","required":true,"schema":{"type":"integer","title":"Clan Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Clan Api Clans  Clan Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/clans":{"get":{"summary":"Get Clans","description":"Clan roster with lineage, territory and war record.","operationId":"get_clans_api_clans_get","parameters":[{"name":"include_extinct","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Extinct"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Clans Api Clans Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/analytics/summary":{"get":{"summary":"Get Analytics Summary","operationId":"get_analytics_summary_api_analytics_summary_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Analytics Summary Api Analytics Summary Get"}}}}}}},"/api/analytics/timeseries":{"get":{"summary":"Get Analytics Timeseries","operationId":"get_analytics_timeseries_api_analytics_timeseries_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Analytics Timeseries Api Analytics Timeseries Get"}}}}}}},"/api/analytics/trophic":{"get":{"summary":"Get Analytics Trophic","operationId":"get_analytics_trophic_api_analytics_trophic_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Analytics Trophic Api Analytics Trophic Get"}}}}}}},"/api/analytics/hegemony":{"get":{"summary":"Get Analytics Hegemony","operationId":"get_analytics_hegemony_api_analytics_hegemony_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Analytics Hegemony Api Analytics Hegemony Get"}}}}}}},"/api/analytics/warnings":{"get":{"summary":"Get Analytics Warnings","operationId":"get_analytics_warnings_api_analytics_warnings_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Analytics Warnings Api Analytics Warnings Get"}}}}}}},"/api/creature/{creature_id}":{"get":{"summary":"Get Creature","description":"Live status + personal chronicle + family tree for one creature.","operationId":"get_creature_api_creature__creature_id__get","parameters":[{"name":"creature_id","in":"path","required":true,"schema":{"type":"integer","title":"Creature Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Creature Api Creature  Creature Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/state":{"get":{"summary":"Get State","operationId":"get_state_api_state_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StateMessage"}}}}}}},"/guide":{"get":{"summary":"Get Guide","description":"Living guide — merged into /wiki (returns rich wiki HTML or JSON).","operationId":"get_guide_guide_get","parameters":[{"name":"format","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Format"}},{"name":"lang","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lang"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/wiki":{"get":{"summary":"Get Wiki","description":"Wiki — richer guide with presets, sustainability, playground with i18n (en/vi/fr).","operationId":"get_wiki_wiki_get","parameters":[{"name":"lang","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lang"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/wiki":{"get":{"summary":"Get Wiki Json","description":"Structured wiki data for frontend Wiki.tsx with i18n support.","operationId":"get_wiki_json_api_wiki_get","parameters":[{"name":"lang","in":"query","required":false,"schema":{"type":"string","default":"en","title":"Lang"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/robots.txt":{"get":{"summary":"Get Robots Txt","description":"Robots.txt for SEO.","operationId":"get_robots_txt_robots_txt_get","responses":{"200":{"description":"Successful Response","content":{"text/plain":{"schema":{"type":"string"}}}}}}},"/sitemap.xml":{"get":{"summary":"Get Sitemap Xml","description":"Sitemap.xml for SEO.","operationId":"get_sitemap_xml_sitemap_xml_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/docs/god-laws.md":{"get":{"summary":"Get God Laws Md","description":"Serve the markdown docs for god laws — used by wiki + GodPanel hints.","operationId":"get_god_laws_md_docs_god_laws_md_get","responses":{"200":{"description":"Successful Response","content":{"text/plain":{"schema":{"type":"string"}}}}}}},"/api/control":{"post":{"summary":"Post Control","operationId":"post_control_api_control_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ControlMessage"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Post Control Api Control Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"ControlAction":{"type":"string","enum":["pause","resume","step","reset","set_speed"],"title":"ControlAction"},"ControlMessage":{"properties":{"action":{"$ref":"#/components/schemas/ControlAction"},"value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Value"}},"type":"object","required":["action"],"title":"ControlMessage"},"EntityState":{"properties":{"id":{"type":"integer","title":"Id"},"kind":{"type":"string","enum":["creature","food","house","corpse"],"title":"Kind"},"x":{"type":"number","title":"X"},"y":{"type":"number","title":"Y"},"angle":{"type":"number","title":"Angle"},"shape":{"anyOf":[{"type":"string","enum":["polygon","line"]},{"type":"null"}],"title":"Shape"},"sides":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sides"},"caste":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Caste"},"energy":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Energy"},"growth":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Growth"},"variant":{"anyOf":[{"type":"string","enum":["grass","grain","berry","medicinal_herb","mushroom","poisonous"]},{"type":"null"}],"title":"Variant"},"withering":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Withering"},"cultivated":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Cultivated"},"irrigated":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Irrigated"},"size":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Size"},"status":{"anyOf":[{"type":"string","enum":["","hungry","starving"]},{"type":"null"}],"title":"Status"},"radius":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Radius"},"age":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Age"},"lifespan":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lifespan"},"stage":{"anyOf":[{"type":"string","enum":["infant","juvenile","adult","elder"]},{"type":"null"}],"title":"Stage"},"irregularity":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Irregularity"},"health":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Health"},"infected":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Infected"},"scars":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Scars"},"meals":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Meals"},"sex":{"anyOf":[{"type":"string","enum":["male","female"]},{"type":"null"}],"title":"Sex"},"mother_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Mother Id"},"father_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Father Id"},"clan_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Clan Id"},"clan_color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Clan Color"},"clan_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Clan Name"},"is_predator":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Predator"},"is_herbivore":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Herbivore"},"sleeping":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Sleeping"},"indoors":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Indoors"},"generation":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Generation"},"born_tick":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Born Tick"},"personal_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Personal Name"},"glyph":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Glyph"},"hue_shift":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Hue Shift"},"scale_jitter":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Scale Jitter"},"angle_jitter":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Angle Jitter"},"chill":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Chill"},"body_temp":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Body Temp"},"torpid":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Torpid"},"trait":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Trait"},"iso_angle":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Iso Angle"},"morph_k":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Morph K"},"morph_traits":{"anyOf":[{"items":{"type":"number"},"type":"array"},{"type":"null"}],"title":"Morph Traits"},"morph_radii":{"anyOf":[{"items":{"type":"number"},"type":"array"},{"type":"null"}],"title":"Morph Radii"},"morph_angles":{"anyOf":[{"items":{"type":"number"},"type":"array"},{"type":"null"}],"title":"Morph Angles"},"archetype":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Archetype"},"nn_genome":{"anyOf":[{"items":{"type":"number"},"type":"array"},{"type":"null"}],"title":"Nn Genome"},"door_width":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Door Width"},"door_offset":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Door Offset"},"door_side":{"anyOf":[{"type":"string","enum":["north","east","south","west"]},{"type":"null"}],"title":"Door Side"},"is_ruin":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Ruin"},"abandoned_ticks":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Abandoned Ticks"},"takeover_age":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Takeover Age"},"material":{"anyOf":[{"type":"string","enum":["straw","wood","stone","clay"]},{"type":"null"}],"title":"Material"},"murals":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Murals"},"hearth_lit":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Hearth Lit"},"hp_frac":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Hp Frac"},"rubble":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Rubble"},"nn_hidden":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Nn Hidden"},"nn_outputs":{"anyOf":[{"items":{"type":"number"},"type":"array"},{"type":"null"}],"title":"Nn Outputs"},"nn_genome_preview":{"anyOf":[{"items":{"type":"number"},"type":"array"},{"type":"null"}],"title":"Nn Genome Preview"}},"type":"object","required":["id","kind","x","y","angle"],"title":"EntityState"},"GodLaws":{"properties":{"boundary":{"anyOf":[{"type":"string","enum":["wrap","clamp"]},{"type":"null"}],"title":"Boundary"},"food_count":{"anyOf":[{"type":"integer","maximum":2000.0,"minimum":0.0},{"type":"null"}],"title":"Food Count"},"energy_max":{"anyOf":[{"type":"number","maximum":10000.0,"exclusiveMinimum":1.0},{"type":"null"}],"title":"Energy Max"},"energy_decay_per_tick":{"anyOf":[{"type":"number","maximum":2.0,"minimum":0.0},{"type":"null"}],"title":"Energy Decay Per Tick"},"energy_from_food":{"anyOf":[{"type":"number","maximum":1000.0,"minimum":0.0},{"type":"null"}],"title":"Energy From Food"},"plant_variants_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Plant Variants Enabled"},"plant_growth_rate":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Plant Growth Rate"},"plant_spread_rate":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Plant Spread Rate"},"nutrient_cycle_rate":{"anyOf":[{"type":"number","maximum":10.0,"minimum":0.0},{"type":"null"}],"title":"Nutrient Cycle Rate"},"poison_rate":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Poison Rate"},"food_decay_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Food Decay Enabled"},"food_lifespan_ticks":{"anyOf":[{"type":"integer","maximum":1000000.0,"minimum":100.0},{"type":"null"}],"title":"Food Lifespan Ticks"},"agriculture_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Agriculture Enabled"},"granaries_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Granaries Enabled"},"granary_capacity":{"anyOf":[{"type":"number","maximum":100000.0,"minimum":0.0},{"type":"null"}],"title":"Granary Capacity"},"perceive_radius":{"anyOf":[{"type":"number","maximum":60.0,"exclusiveMinimum":0.5},{"type":"null"}],"title":"Perceive Radius"},"eat_radius":{"anyOf":[{"type":"number","maximum":10.0,"exclusiveMinimum":0.1},{"type":"null"}],"title":"Eat Radius"},"hungry_ratio":{"anyOf":[{"type":"number","maximum":1.0,"exclusiveMinimum":0.0},{"type":"null"}],"title":"Hungry Ratio"},"starving_ratio":{"anyOf":[{"type":"number","maximum":1.0,"exclusiveMinimum":0.0},{"type":"null"}],"title":"Starving Ratio"},"steer_turn":{"anyOf":[{"type":"number","maximum":3.2,"minimum":0.0},{"type":"null"}],"title":"Steer Turn"},"birth_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Birth Enabled"},"lifespan_mult":{"anyOf":[{"type":"number","maximum":100.0,"minimum":0.01},{"type":"null"}],"title":"Lifespan Mult"},"adult_age":{"anyOf":[{"type":"number","maximum":100000.0,"minimum":0.0},{"type":"null"}],"title":"Adult Age"},"birth_rate":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Birth Rate"},"carrying_capacity":{"anyOf":[{"type":"integer","maximum":10000.0,"minimum":-1.0},{"type":"null"}],"title":"Carrying Capacity"},"max_population":{"anyOf":[{"type":"integer","maximum":15000.0,"minimum":-1.0},{"type":"null"}],"title":"Max Population"},"mutation_rate":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Mutation Rate"},"mutation_heritability":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Mutation Heritability"},"sex_ratio":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Sex Ratio"},"max_sides":{"anyOf":[{"type":"integer","maximum":64.0,"minimum":3.0},{"type":"null"}],"title":"Max Sides"},"euthanasia_threshold":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Euthanasia Threshold"},"mutation_sigma":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Mutation Sigma"},"crossover_rate":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Crossover Rate"},"morphology_annealing_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Morphology Annealing Enabled"},"annealing_start_generation":{"anyOf":[{"type":"integer","maximum":1000.0,"minimum":0.0},{"type":"null"}],"title":"Annealing Start Generation"},"annealing_decay_generations":{"anyOf":[{"type":"integer","maximum":5000.0,"minimum":1.0},{"type":"null"}],"title":"Annealing Decay Generations"},"morph_lambda_override":{"anyOf":[{"type":"number","maximum":1.0,"minimum":-1.0},{"type":"null"}],"title":"Morph Lambda Override"},"vertex_mutation_std":{"anyOf":[{"type":"number","maximum":0.5,"minimum":0.0},{"type":"null"}],"title":"Vertex Mutation Std"},"angle_mutation_std":{"anyOf":[{"type":"number","maximum":0.5,"minimum":0.0},{"type":"null"}],"title":"Angle Mutation Std"},"topological_mutation_rate":{"anyOf":[{"type":"number","maximum":0.2,"minimum":0.0},{"type":"null"}],"title":"Topological Mutation Rate"},"safeguard_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Safeguard Enabled"},"safeguard_critical_pop":{"anyOf":[{"type":"integer","maximum":50.0,"minimum":2.0},{"type":"null"}],"title":"Safeguard Critical Pop"},"safeguard_relief_ratio":{"anyOf":[{"type":"number","maximum":0.5,"minimum":0.05},{"type":"null"}],"title":"Safeguard Relief Ratio"},"safeguard_genesis_batch":{"anyOf":[{"type":"integer","maximum":20.0,"minimum":1.0},{"type":"null"}],"title":"Safeguard Genesis Batch"},"safeguard_morph_mercy":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Safeguard Morph Mercy"},"safeguard_max_miracles":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Safeguard Max Miracles"},"soft_cap_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Soft Cap Enabled"},"damping_steepness":{"anyOf":[{"type":"number","maximum":20.0,"minimum":1.0},{"type":"null"}],"title":"Damping Steepness"},"crowding_stress_mult":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Crowding Stress Mult"},"resource_strain_mult":{"anyOf":[{"type":"number","maximum":2.0,"minimum":0.0},{"type":"null"}],"title":"Resource Strain Mult"},"boom_ramp_days":{"anyOf":[{"type":"number","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Boom Ramp Days"},"boom_birth_floor":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Boom Birth Floor"},"boom_cooldown_mult":{"anyOf":[{"type":"number","maximum":10.0,"minimum":1.0},{"type":"null"}],"title":"Boom Cooldown Mult"},"boom_energy_mult":{"anyOf":[{"type":"number","maximum":10.0,"minimum":1.0},{"type":"null"}],"title":"Boom Energy Mult"},"initial_season_offset":{"anyOf":[{"type":"integer","maximum":3.0,"minimum":0.0},{"type":"null"}],"title":"Initial Season Offset"},"disease_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Disease Enabled"},"disease_outbreak_rate":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Disease Outbreak Rate"},"disease_rate":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Disease Rate"},"disease_energy_drain":{"anyOf":[{"type":"number","maximum":10.0,"minimum":0.0},{"type":"null"}],"title":"Disease Energy Drain"},"disease_lethality":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Disease Lethality"},"weather_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Weather Enabled"},"sleep_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Sleep Enabled"},"day_length":{"anyOf":[{"type":"integer","maximum":200000.0,"minimum":2.0},{"type":"null"}],"title":"Day Length"},"season_length":{"anyOf":[{"type":"integer","maximum":1000000.0,"minimum":2.0},{"type":"null"}],"title":"Season Length"},"winter_food_mult":{"anyOf":[{"type":"number","maximum":2.0,"minimum":0.1},{"type":"null"}],"title":"Winter Food Mult"},"night_sight_mult":{"anyOf":[{"type":"number","maximum":2.0,"minimum":0.05},{"type":"null"}],"title":"Night Sight Mult"},"weather_change_rate":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Weather Change Rate"},"weather_sickness_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Weather Sickness Enabled"},"chill_drain":{"anyOf":[{"type":"number","maximum":5.0,"minimum":0.0},{"type":"null"}],"title":"Chill Drain"},"shelter_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Shelter Enabled"},"exposure_drain":{"anyOf":[{"type":"number","maximum":10.0,"minimum":0.0},{"type":"null"}],"title":"Exposure Drain"},"house_capacity":{"anyOf":[{"type":"integer","maximum":64.0,"minimum":1.0},{"type":"null"}],"title":"House Capacity"},"house_decay_ticks":{"anyOf":[{"type":"integer","maximum":100000.0,"minimum":100.0},{"type":"null"}],"title":"House Decay Ticks"},"rest_recovery_mult":{"anyOf":[{"type":"number","maximum":10.0,"minimum":0.0},{"type":"null"}],"title":"Rest Recovery Mult"},"territory_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Territory Enabled"},"territory_radius":{"anyOf":[{"type":"number","maximum":50.0,"minimum":1.0},{"type":"null"}],"title":"Territory Radius"},"trespass_decay":{"anyOf":[{"type":"number","maximum":5.0,"minimum":0.0},{"type":"null"}],"title":"Trespass Decay"},"max_clans":{"anyOf":[{"type":"integer","maximum":64.0,"minimum":-1.0},{"type":"null"}],"title":"Max Clans"},"totems_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Totems Enabled"},"succession_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Succession Enabled"},"communication_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Communication Enabled"},"knowledge_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Knowledge Enabled"},"schism_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Schism Enabled"},"schism_threshold":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Schism Threshold"},"war_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"War Enabled"},"attack_damage":{"anyOf":[{"type":"number","maximum":1000.0,"minimum":0.0},{"type":"null"}],"title":"Attack Damage"},"predation_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Predation Enabled"},"predator_ratio":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Predator Ratio"},"hunt_radius":{"anyOf":[{"type":"number","maximum":40.0,"minimum":1.0},{"type":"null"}],"title":"Hunt Radius"},"bite_damage":{"anyOf":[{"type":"number","maximum":1000.0,"minimum":0.0},{"type":"null"}],"title":"Bite Damage"},"energy_from_prey":{"anyOf":[{"type":"number","maximum":1000.0,"minimum":0.0},{"type":"null"}],"title":"Energy From Prey"},"fear_radius":{"anyOf":[{"type":"number","maximum":40.0,"minimum":1.0},{"type":"null"}],"title":"Fear Radius"},"coalitions_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Coalitions Enabled"},"coalition_threshold":{"anyOf":[{"type":"integer","maximum":100.0,"minimum":-100.0},{"type":"null"}],"title":"Coalition Threshold"},"leader_decisions_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Leader Decisions Enabled"},"resource_sharing_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Resource Sharing Enabled"},"larder_capacity":{"anyOf":[{"type":"number","maximum":5000.0,"minimum":0.0},{"type":"null"}],"title":"Larder Capacity"},"cannibalism_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Cannibalism Enabled"},"eat_kin_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Eat Kin Enabled"},"cannibalism_energy":{"anyOf":[{"type":"number","maximum":1000.0,"minimum":0.0},{"type":"null"}],"title":"Cannibalism Energy"},"theology_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Theology Enabled"},"tithe_rate":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Tithe Rate"},"temple_faith_cost":{"anyOf":[{"type":"number","maximum":100000.0,"minimum":0.0},{"type":"null"}],"title":"Temple Faith Cost"},"age_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Age Enabled"},"age_length":{"anyOf":[{"type":"integer","maximum":1000000.0,"minimum":100.0},{"type":"null"}],"title":"Age Length"},"culture_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Culture Enabled"},"culture_spread_rate":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Culture Spread Rate"},"rivers_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Rivers Enabled"},"river_count":{"anyOf":[{"type":"integer","maximum":8.0,"minimum":0.0},{"type":"null"}],"title":"River Count"},"relief_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Relief Enabled"},"structural_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Structural Enabled"},"earthquake_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Earthquake Enabled"},"earthquake_rate":{"anyOf":[{"type":"number","maximum":0.01,"minimum":0.0},{"type":"null"}],"title":"Earthquake Rate"},"lightning_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Lightning Enabled"},"lightning_strike_rate":{"anyOf":[{"type":"number","maximum":0.05,"minimum":0.0},{"type":"null"}],"title":"Lightning Strike Rate"},"wildfire_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Wildfire Enabled"},"fire_rate":{"anyOf":[{"type":"number","maximum":0.05,"minimum":0.0},{"type":"null"}],"title":"Fire Rate"},"disaster_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Disaster Enabled"},"disaster_rate":{"anyOf":[{"type":"number","maximum":0.05,"minimum":0.0},{"type":"null"}],"title":"Disaster Rate"},"anomaly_count":{"anyOf":[{"type":"integer","maximum":8.0,"minimum":0.0},{"type":"null"}],"title":"Anomaly Count"},"door_clearance":{"anyOf":[{"type":"number","maximum":5.0,"minimum":1.0},{"type":"null"}],"title":"Door Clearance"},"house_min_size":{"anyOf":[{"type":"number","maximum":60.0,"minimum":3.0},{"type":"null"}],"title":"House Min Size"},"house_max_size":{"anyOf":[{"type":"number","maximum":80.0,"minimum":3.0},{"type":"null"}],"title":"House Max Size"},"aid_rate":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Aid Rate"},"alarm_call_rate":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Alarm Call Rate"},"alignment_weight":{"anyOf":[{"type":"number","maximum":10.0,"minimum":0.0},{"type":"null"}],"title":"Alignment Weight"},"alliance_threshold":{"anyOf":[{"type":"integer","maximum":100.0,"minimum":-100.0},{"type":"null"}],"title":"Alliance Threshold"},"attack_radius":{"anyOf":[{"type":"number","maximum":10.0,"minimum":0.0},{"type":"null"}],"title":"Attack Radius"},"banquets_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Banquets Enabled"},"beast_ratio":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Beast Ratio"},"betrayal_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Betrayal Enabled"},"birth_energy_cost":{"anyOf":[{"type":"number","maximum":1000.0,"minimum":0.0},{"type":"null"}],"title":"Birth Energy Cost"},"bite_cooldown":{"anyOf":[{"type":"integer","maximum":1000.0,"minimum":0.0},{"type":"null"}],"title":"Bite Cooldown"},"cannibalism_hunger_ratio":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Cannibalism Hunger Ratio"},"chill_rate":{"anyOf":[{"type":"number","maximum":10.0,"minimum":0.0},{"type":"null"}],"title":"Chill Rate"},"chill_threshold":{"anyOf":[{"type":"number","maximum":1000.0,"minimum":0.0},{"type":"null"}],"title":"Chill Threshold"},"coalition_min_size":{"anyOf":[{"type":"integer","maximum":100.0,"minimum":1.0},{"type":"null"}],"title":"Coalition Min Size"},"cohesion_weight":{"anyOf":[{"type":"number","maximum":10.0,"minimum":0.0},{"type":"null"}],"title":"Cohesion Weight"},"corpse_energy":{"anyOf":[{"type":"number","maximum":1000.0,"minimum":0.0},{"type":"null"}],"title":"Corpse Energy"},"corpse_ttl":{"anyOf":[{"type":"integer","maximum":100000.0,"minimum":0.0},{"type":"null"}],"title":"Corpse Ttl"},"corpses_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Corpses Enabled"},"creature_density":{"anyOf":[{"type":"number","maximum":10.0,"minimum":0.0},{"type":"null"}],"title":"Creature Density"},"defection_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Defection Enabled"},"defense_weight":{"anyOf":[{"type":"number","maximum":10.0,"minimum":0.0},{"type":"null"}],"title":"Defense Weight"},"desperate_perceive_mult":{"anyOf":[{"type":"number","maximum":10.0,"minimum":1.0},{"type":"null"}],"title":"Desperate Perceive Mult"},"desperate_speed_mult":{"anyOf":[{"type":"number","maximum":10.0,"minimum":1.0},{"type":"null"}],"title":"Desperate Speed Mult"},"dialect_drift_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Dialect Drift Enabled"},"diet_strictness":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Diet Strictness"},"disease_radius":{"anyOf":[{"type":"number","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Disease Radius"},"eat_enemy_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Eat Enemy Enabled"},"energy_start":{"anyOf":[{"type":"number","maximum":1000.0,"minimum":0.0},{"type":"null"}],"title":"Energy Start"},"envoys_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Envoys Enabled"},"exile_on_kin_eat":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Exile On Kin Eat"},"fertile_food_bias":{"anyOf":[{"type":"number","maximum":10.0,"minimum":0.0},{"type":"null"}],"title":"Fertile Food Bias"},"fertile_patches":{"anyOf":[{"type":"integer","maximum":1000.0,"minimum":-1.0},{"type":"null"}],"title":"Fertile Patches"},"fire_spread_rate":{"anyOf":[{"type":"number","maximum":10.0,"minimum":0.0},{"type":"null"}],"title":"Fire Spread Rate"},"flock_radius":{"anyOf":[{"type":"number","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Flock Radius"},"fog_mushroom_mult":{"anyOf":[{"type":"number","maximum":10.0,"minimum":0.0},{"type":"null"}],"title":"Fog Mushroom Mult"},"fog_sight_mult":{"anyOf":[{"type":"number","maximum":10.0,"minimum":0.0},{"type":"null"}],"title":"Fog Sight Mult"},"food_call_rate":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Food Call Rate"},"food_giveup_ticks":{"anyOf":[{"type":"integer","maximum":100000.0,"minimum":0.0},{"type":"null"}],"title":"Food Giveup Ticks"},"hearths_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Hearths Enabled"},"height":{"anyOf":[{"type":"number","maximum":10000.0,"minimum":10.0},{"type":"null"}],"title":"Height"},"help_call_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Help Call Enabled"},"help_radius":{"anyOf":[{"type":"number","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Help Radius"},"history_max":{"anyOf":[{"type":"integer","maximum":1000000.0,"minimum":0.0},{"type":"null"}],"title":"History Max"},"house_claim_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"House Claim Enabled"},"house_density":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"House Density"},"house_gap":{"anyOf":[{"type":"number","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"House Gap"},"hungry_perceive_mult":{"anyOf":[{"type":"number","maximum":10.0,"minimum":1.0},{"type":"null"}],"title":"Hungry Perceive Mult"},"kin_stigma":{"anyOf":[{"type":"number","maximum":1000.0,"minimum":0.0},{"type":"null"}],"title":"Kin Stigma"},"knowledge_share_rate":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Knowledge Share Rate"},"knowledge_ttl":{"anyOf":[{"type":"integer","maximum":1000000.0,"minimum":0.0},{"type":"null"}],"title":"Knowledge Ttl"},"markets_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Markets Enabled"},"mate_energy_min":{"anyOf":[{"type":"number","maximum":1000.0,"minimum":0.0},{"type":"null"}],"title":"Mate Energy Min"},"mate_radius":{"anyOf":[{"type":"number","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Mate Radius"},"nn_inference_hz":{"anyOf":[{"type":"integer","maximum":1000.0,"minimum":1.0},{"type":"null"}],"title":"Nn Inference Hz"},"num_hexagons":{"anyOf":[{"type":"integer","maximum":100.0,"minimum":-1.0},{"type":"null"}],"title":"Num Hexagons"},"num_houses":{"anyOf":[{"type":"integer","maximum":100.0,"minimum":-1.0},{"type":"null"}],"title":"Num Houses"},"num_pentagons":{"anyOf":[{"type":"integer","maximum":100.0,"minimum":-1.0},{"type":"null"}],"title":"Num Pentagons"},"num_priests":{"anyOf":[{"type":"integer","maximum":100.0,"minimum":-1.0},{"type":"null"}],"title":"Num Priests"},"num_squares":{"anyOf":[{"type":"integer","maximum":100.0,"minimum":-1.0},{"type":"null"}],"title":"Num Squares"},"num_triangles":{"anyOf":[{"type":"integer","maximum":100.0,"minimum":-1.0},{"type":"null"}],"title":"Num Triangles"},"num_women":{"anyOf":[{"type":"integer","maximum":100.0,"minimum":-1.0},{"type":"null"}],"title":"Num Women"},"omens_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Omens Enabled"},"omp_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Omp Enabled"},"omp_threshold":{"anyOf":[{"type":"integer","maximum":10000.0,"minimum":0.0},{"type":"null"}],"title":"Omp Threshold"},"rain_growth_mult":{"anyOf":[{"type":"number","maximum":10.0,"minimum":0.0},{"type":"null"}],"title":"Rain Growth Mult"},"rain_speed_mult":{"anyOf":[{"type":"number","maximum":10.0,"minimum":0.0},{"type":"null"}],"title":"Rain Speed Mult"},"recovery_rate":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Recovery Rate"},"relation_drift_rate":{"anyOf":[{"type":"number","maximum":10.0,"minimum":0.0},{"type":"null"}],"title":"Relation Drift Rate"},"reproduction_cooldown":{"anyOf":[{"type":"integer","maximum":100000.0,"minimum":0.0},{"type":"null"}],"title":"Reproduction Cooldown"},"rivalry_threshold":{"anyOf":[{"type":"integer","maximum":100.0,"minimum":-100.0},{"type":"null"}],"title":"Rivalry Threshold"},"rock_count":{"anyOf":[{"type":"integer","maximum":1000.0,"minimum":-1.0},{"type":"null"}],"title":"Rock Count"},"rubble_blocking_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Rubble Blocking Enabled"},"scent_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Scent Enabled"},"schism_min_pop":{"anyOf":[{"type":"integer","maximum":1000.0,"minimum":1.0},{"type":"null"}],"title":"Schism Min Pop"},"seed":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Seed"},"separation_weight":{"anyOf":[{"type":"number","maximum":10.0,"minimum":0.0},{"type":"null"}],"title":"Separation Weight"},"signal_radius":{"anyOf":[{"type":"number","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Signal Radius"},"signal_speed":{"anyOf":[{"type":"number","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Signal Speed"},"sleep_energy_mult":{"anyOf":[{"type":"number","maximum":10.0,"minimum":0.0},{"type":"null"}],"title":"Sleep Energy Mult"},"soil_depletion_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Soil Depletion Enabled"},"spawn_variance":{"anyOf":[{"type":"number","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Spawn Variance"},"storm_plant_damage":{"anyOf":[{"type":"number","maximum":10.0,"minimum":0.0},{"type":"null"}],"title":"Storm Plant Damage"},"storm_wander_bonus":{"anyOf":[{"type":"number","maximum":10.0,"minimum":0.0},{"type":"null"}],"title":"Storm Wander Bonus"},"tick_rate":{"anyOf":[{"type":"number","maximum":1000.0,"minimum":0.1},{"type":"null"}],"title":"Tick Rate"},"trait_mutation_rate":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Trait Mutation Rate"},"tribute_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Tribute Enabled"},"vocalizations_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Vocalizations Enabled"},"wander_turn":{"anyOf":[{"type":"number","maximum":10.0,"minimum":0.0},{"type":"null"}],"title":"Wander Turn"},"wet_disease_mult":{"anyOf":[{"type":"number","maximum":10.0,"minimum":0.0},{"type":"null"}],"title":"Wet Disease Mult"},"width":{"anyOf":[{"type":"number","maximum":10000.0,"minimum":10.0},{"type":"null"}],"title":"Width"}},"type":"object","title":"GodLaws","description":"Laws of nature god may set across the 6 macro domains. God cannot touch individual creatures."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HistoryEvent":{"properties":{"type":{"type":"string","enum":["death","birth","promotion","demotion","outbreak","recovery","bloom","alliance","rivalry","predation","war","ruin","settlement","succession","schism","fire","disaster","conquest","culture","coalition_formed","coalition_joined","coalition_dissolved","peace","tribute","betrayal","defection","cannibalism","exile","wither","takeover","miracle","sermon","synod","temple","epiphany","resonance","compost","banquet","raid","hospitality","peace_envoy","market","caravan","omen","regicide","herald","anomaly","clan_extinction","extinction"],"title":"Type","default":"death"},"tick":{"type":"integer","title":"Tick"},"entity_id":{"type":"integer","title":"Entity Id"},"caste":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Caste"},"cause":{"type":"string","title":"Cause","default":""},"x":{"type":"number","title":"X","default":0.0},"y":{"type":"number","title":"Y","default":0.0},"payload":{"additionalProperties":true,"type":"object","title":"Payload"}},"type":"object","required":["tick","entity_id"],"title":"HistoryEvent"},"SetupPasskey":{"properties":{"passkey":{"type":"string","title":"Passkey"}},"type":"object","required":["passkey"],"title":"SetupPasskey"},"StateMessage":{"properties":{"type":{"type":"string","const":"state","title":"Type","default":"state"},"tick":{"type":"integer","title":"Tick"},"seed":{"type":"integer","title":"Seed","default":0},"width":{"type":"number","title":"Width"},"height":{"type":"number","title":"Height"},"boundary":{"type":"string","title":"Boundary"},"population":{"additionalProperties":{"type":"integer"},"type":"object","title":"Population"},"entities":{"items":{"$ref":"#/components/schemas/EntityState"},"type":"array","title":"Entities"},"creatures_alive":{"type":"integer","title":"Creatures Alive","default":0},"creatures_dead":{"type":"integer","title":"Creatures Dead","default":0},"dead_by_cause":{"additionalProperties":{"type":"integer"},"type":"object","title":"Dead By Cause"},"infected_count":{"type":"integer","title":"Infected Count","default":0},"time_of_day":{"type":"number","title":"Time Of Day","default":0.25},"day":{"type":"integer","title":"Day","default":1},"season":{"type":"string","enum":["spring","summer","autumn","winter"],"title":"Season","default":"spring"},"weather":{"type":"string","enum":["clear","rain","fog","storm"],"title":"Weather","default":"clear"},"terrain_fertile":{"items":{"additionalProperties":{"type":"number"},"type":"object"},"type":"array","title":"Terrain Fertile"},"terrain_rocks":{"items":{"additionalProperties":{"type":"number"},"type":"object"},"type":"array","title":"Terrain Rocks"},"relations":{"items":{"additionalProperties":{"type":"integer"},"type":"object"},"type":"array","title":"Relations"},"clans":{"additionalProperties":{"additionalProperties":true,"type":"object"},"type":"object","title":"Clans"},"events":{"items":{"$ref":"#/components/schemas/HistoryEvent"},"type":"array","title":"Events"},"signals":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Signals"},"fires":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Fires"},"campfires":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Campfires"},"boundary_stones":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Boundary Stones"},"markets":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Markets"},"wind":{"additionalProperties":{"type":"number"},"type":"object","title":"Wind"},"rivers":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Rivers"},"bridges":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Bridges"},"dams":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Dams"},"elevation":{"additionalProperties":true,"type":"object","title":"Elevation"},"lightning":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Lightning"},"anomalies":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Anomalies"},"law_wave":{"additionalProperties":true,"type":"object","title":"Law Wave"},"age":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Age"},"age_tick":{"type":"integer","title":"Age Tick","default":0},"age_day":{"type":"integer","title":"Age Day","default":1},"age_total_days":{"type":"integer","title":"Age Total Days","default":10},"paused":{"type":"boolean","title":"Paused","default":false},"safeguard_active":{"type":"boolean","title":"Safeguard Active","default":false},"softcap_active":{"type":"boolean","title":"Softcap Active","default":false}},"type":"object","required":["tick","width","height","boundary"],"title":"StateMessage"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}