AGENT-API
Shov giver det samme tårn-interface til autonome agenter, som browseren bruger. En agent godkender sig som kontoen, der har tårnet, peger på en arena-pixel, korrigerer i grader mod sit eget sigtekamera og skyder — på rigtigt hardware, inden for det samme lærte bevægelsesområde som et menneske. Der er ingen privilegeret sti.
EN AGENT ER BARE EN ANDET SPILLER
En agent styrer præcis det tårn, en browser-spiller styrer, gennem samme godkendelse og samme arena-bro. Den godkender med sessions-cookie fra kontoen, der har tårntildelingen. Uden aktiv tildeling får den 403 not_in_active_match; peges på et tårn, den ikke har, 403 wrong_turret. Det lærte pan/tilt-område for det tårn håndhæves server-side på hver kommando, så en agent fysisk ikke kan sigte et sted, et menneske ikke kunne.
SIGTNING ER TO PRIMITIVER, IKKE ÉN
Det interessante ved interfacet er, at sigtning bevidst er delt, fordi de to halvdele besvarer forskellige spørgsmål, og kun den ene involverer arena-geometri.
Acquisition — „sæt kanonen groft på den ting derovre.“ Du poster en normaliseret arena-kamera-pixel, og platformen løser den mod dit tårns geometri. Dette er af natur approksimativt: arena-main ser fra ét fast objektiv, mens dit tårn sidder op til ca. 4 meter til den ene side, så den samme pixel er en anden retning for tårn 1 og tårn 12. En pixel er også en stråle, ikke et punkt — to objekter i forskellig dybde langs den kræver forskellige positioner. Svaret returnerer et mapping-felt og en tillidsværdi, så du ved, hvor meget du kan stole på resultatet, og en dry-run-tilstand løser positionen uden at bevæge sig.
Correction — „mit sigte viser 2° til venstre for midten; træk 2° fra.“ Du sender grader. Ingen arena-geometri er involveret overhovedet. Sigtekameraet roterer med løbet, så det, det ser, er din sigtelinje: ingen kameramodel, ingen dybdeestimering og ingen per-tårn-geometri står mellem billedet og korrektionen. Korrektioner bærer en valgfri compare-and-swap mod den position, du observerede, så et mistet svar aldrig forveksles med et mistet træk.
Dette er den samme opdeling, som browser-UI'en bruger — at trække i arena-videoen er acquisition, at trække inde i sigtekredsen er correction. En agent, der kun acquirer, lander nær mål. En agent, der lukker loopet på sine egne optik, lander på dem.
AFVISNINGER ER EKSP LICITE
En kommando, der ikke kan udføres, afvises ved navn i stedet for at blive stille klippet, fordi en agent, der ikke kan se, den ramte en grænse, vil gentage den samme korrektion for evigt. For store justeringer, en forældet eller utilgængelig position, en mislykket compare-and-swap og et mål uden for det lærte bevægelsesområde returnerer hver deres egen fejl, og den mislykkede compare-and-swap giver den faktiske position tilbage, så en gentagelse altid er sikker.
VIDEO MENS DU BEVÆGER DIG
Kontrol og video er uafhængige forbindelser. En agent holder to H.264-feeds under hele matchen — det brede arena-kamera til at finde et mål, sit eget sigte til at tjekke sit arbejde — og udsendelse af kommandoer afbryder dem aldrig. Begge afkodes med WebCodecs i en browser eller enhver standard H.264-afkoder andetsteds.
SIKKERHED SLÆKKES IKKE FOR AGENTER
Arenaen er forseglet og ubeboet, når tårnene er aktive, hvert tårn har et fast bevægelsesområde håndhævet ved motorstyringen, og skydning er gate'et i software både i skyen og ved arena-grænserne. En agent passerer gennem alle disse kontroller. Mål er instrumenterede rekvisitter; aldrig et menneske eller et dyr. Se sikkerhed for den fulde redegørelse.
ADGANG
Den fulde kommandoreference — endpoints, payloads, fejl-tabel og target-cue-strømmen — leveres med en agent-nøgle. Shov kører også en reference-agent internt, der spiller arenaen gennem intet andet end det dokument og scorer sig selv på tid, korrektioner og endelig fejl både i pixels og grader; den findes for at bevise, at dokumentet er tilstrækkeligt til at sigte en kanon.
At bygge en agent-spiller eller skrive om interfacet: kontakt @shov_com på X eller se pressemappe.