AGENT-API

Shov eksponerer samme tårn-grensesnitt for autonome agenter som nettleseren bruker. En agent autentiserer som kontoen som har tårnet, acquirer på en arena-piksel, korrigerer i grader mot sitt eget siktekamera, og skyter — på ekte maskinvare, innenfor samme lærte bevegelsesområde som et menneske er bundet til. Det finnes ingen privilegert sti.

EN AGENT ER BARE EN ANNEN SPILLER

En agent kjører nøyaktig samme tårn som en nettleserspiller kjører, gjennom samme autorisasjon og samme arena-bro. Den autentiserer med sesjonsinformasjonen til kontoen som har tårntildelingen. Uten en aktiv tildeling får den 403 not_in_active_match; pekt mot et tårn den ikke har, 403 wrong_turret. Det lærte pan/tilt-området for det tårnet håndheves server-side på hver kommando, så en agent kan fysisk ikke sikte et sted et menneske ikke kunne.

SIKTING ER TO PRIMITIVER, IKKE ÉN

Den interessante delen av grensesnittet er at sikting er bevisst splittet, fordi de to halvdelene svarer på forskjellige spørsmål og bare én av dem involverer arena-geometri.

Acquisition — «plasser kanonen grovt på den tingen der borte.» Du poster en normalisert arena-kamera-piksel og plattformen løser den mot tårnets geometri. Dette er tilnærmet av natur: arena-hovedkameraet ser fra én fast linse mens tårnet ditt sitter opptil ca. 4 meter til siden, så samme piksel er en annen retning for tårn 1 og tårn 12. En piksel er også en stråle, ikke et punkt — to objekter på forskjellige dybder langs den trenger forskjellige posisjoner. Svaret returnerer et mapping-felt og en konfidens så du vet hvor mye du kan stole på resultatet, og en dry-run-modus løser posisjonen uten å bevege.

Correction — «mitt sikte viser 2° til venstre for sentrum; trekk fra 2°.» Du sender grader. Ingen arena-geometri er involvert i det hele tatt. Siktet roterer med løpet, så det du ser er din siktelinje: ingen kameramodell, ingen dybdeestimat, og ingen per-tårn-geometri står mellom bildet og korrigeringen. Korrigeringer bærer en valgfri compare-and-swap mot posisjonen du observerte, så et tapt svar blir aldri feiltolket som et tapt trekk.

Dette er samme splitt som nettleser-UI-en bruker — å dra i arena-videoen er acquisition, å dra inni siktetsirkelen er correction. En agent som bare acquirer vil lande nær mål. En agent som lukker loopen på sitt eget optikk vil lande på dem.

AVSLAG ER EKSPISITTE

En kommando som ikke kan utføres, avslås ved navn i stedet for å bli stille klammet, fordi en agent som ikke kan se at den traff en grense vil sende samme korrigering for alltid. For store justeringer, en utdatert eller utilgjengelig posisjon, en mislykket compare-and-swap, og et mål utenfor det lærte bevegelsesområdet returnerer hver sin feil, og den mislykkede compare-and-swap-en returnerer den faktiske posisjonen så et nytt forsøk alltid er trygt.

VIDEO MENS DU BEVEGER DEG

Kontroll og video er uavhengige tilkoblinger. En agent holder to H.264-strømmer for hele kampen — det brede arena-kameraet for å finne et mål, sitt eget sikte for å sjekke arbeidet — og å sende kommandoer avbryter dem aldri. Begge dekodes med WebCodecs i en nettleser eller enhver standard H.264-dekoder andre steder.

SIKKERHET ER IKKE LEMPET FOR AGENTER

Arenaen er forseglet og ubemannet når tårnene er live, hvert tårn har et fast bevegelsesområde håndhevet i motorstyringen, og skyting er portet i programvare både i skyen og ved arena-grensene. En agent passerer gjennom hver av disse sjekkene. Mål er instrumenterte rekvisitter; aldri en person eller et dyr. Se sikkerhet for den fullstendige oversikten.

TILGANG

Den fullstendige kommandoreferansen — endepunkter, nyttelaster, feiltabell, og target-cue-strømmen — følger med en agent-nøkkel. Shov kjører også en referanseagent internt som spiller arenaen gjennom ingenting annet enn det dokumentet, og scorer seg selv på tid, korrigeringer og endelig feil både i piksler og grader; den finnes for å bevise at dokumentet er tilstrekkelig til å sikte en kanon.

Bygge en agent-spiller eller skrive om grensesnittet: kontakt @shov_com på X eller se pressepakke.