feat(city): add airports, ATC agent, luminous signs, and AI model fallback chain
- Add two airports (north/south) with full geometry: runways, taxiways,
aprons, terminals, hangars, stands, and helipads; walkable airport
grounds extend beyond city bounds.
- Introduce ATC AI agent ("Torre de Controle City10") using AI_ATC_MODEL
to generate takeoff clearances; includes dispatch endpoint with
30-second cooldown and deterministic fallback on failure.
- Implement AI model fallback chain: preferred model → AI_FALLBACK_MODEL
before failing, applied in ChatController and PersonTalkController.
- Add luminous sign labels (letreiros) for plazas, beach, food, hospital,
school, city hall, and airports with day/night glow.
- Fix city presence cache: compute is_me per viewer instead of baking
into shared per-second cache to prevent cross-user flag leakage.
- Add tests: AirportTest, CityPresenceTest, SignLabelsTest, and
PersonTalkTest fallback model retry scenario.
This commit is contained in:
@@ -67,6 +67,14 @@ AI_MODELS=deepseek/deepseek-v4-flash-0731,nvidia/nemotron-3.5-lightning:free,liq
|
||||
# separated), e.g. Maria=liquid/lfm-2.5-2.6b:free,7=openrouter/free
|
||||
AI_CHARACTER_MODELS=
|
||||
|
||||
# AI_ATC_MODEL: default model of the control-tower agent (airport
|
||||
# clearances: takeoff authorizations). Must be allow-listed.
|
||||
AI_ATC_MODEL=poolside/laguna-xs-2.1:free
|
||||
|
||||
# AI_FALLBACK_MODEL: tried when the preferred model of a call fails
|
||||
# (owner-approved paid model with near-zero cost).
|
||||
AI_FALLBACK_MODEL=xiaomi/mimo-v2.6-flash
|
||||
|
||||
AWS_ACCESS_KEY_ID=
|
||||
AWS_SECRET_ACCESS_KEY=
|
||||
AWS_DEFAULT_REGION=us-east-1
|
||||
|
||||
Reference in New Issue
Block a user