Přeskočit na obsah

Tato stránka byla automaticky přeložena z angličtiny, jediného jazyka, ve kterém se tento web píše. Číst originál.

Observatory na /ui/observatory a /ui/kiosk zobrazí scénu, jen když schopnosti, které vyžaduje, odpověděly něčím k vykreslení, nebo — u scény meshe, kde žádný mesh neběží — když repozitář nese jeho nahrávku, kterou označí jako replay; scéna bez obojího nenese žádný model a uvede důvod zdroje, na serveru i v publikovaném snímku stejně

Observatory (/ui/observatory a /ui/kiosk jako jeho předvolba bez obsluhy) kreslí

deklarovaný stavdeklarovaný stav: zaručeno Deklarováno jako deterministické a blokující, implementováno a s uvedeným behaviorálním testem, který to má dokázat. Zda to zaznamenaný běh podporuje, říká verdikt důkazů zobrazený vedle.

zaznamenané důkazyzaznamenané důkazy: nespuštěno Deklarováno jako zaručené, ale nepodložené zaznamenaným během: test je pojmenován, ale žádný úspěšný běh nad současnými vstupy zaznamenán není. jak se zaznamenávají důkazy

Případ spustí server nad čerstvě inicializovaným repozitářem a pořídí z něj snímek UI a na obojím čte projekci, kterou stránka nese: osm scén v deklarovaném pořadí, každý zdroj uvedený se svým stavem a selhavší s důvodem, dostupnou scénu s modelem a nedostupnou bez něj a s důvodem, tři scény meshe nedostupné tam, kde žádný mesh neběží, kiosk nesoucí stejné scény, dvě přesměrování a snímek obsahující stránku a její skript. Čte projekci, ne plátno: co skript vykreslí z modelu dostupné scény, se tu netvrdí.

Co to znamená

Observatory (/ui/observatory a /ui/kiosk jako jeho předvolba bez obsluhy) kreslí repozitář a jeho mesh jako rotující scény. Každá scéna je deklarována jednou, se schopnostmi, které vyžaduje. Scéna je dostupná, jen když tyto schopnosti odpověděly něčím, co lze nakreslit; jinak nenese žádný model, uvede vlastní důvod zdroje a rotace ji neukáže. Proces, který mesh neprovozuje, což je ten, který čte publikovaný snímek, nemá žádnou živou scénu meshe k zobrazení: tam scéna meshe kreslí nahrávku, kterou repozitář nese, a říká, že jde o přehrání, a bez nahrávky říká, že je nedostupná.

Princip

apps/majordomus-cli/src/ui/observatory.rs drží jediný inventář, SCENES, a promítá odpovědi devíti schopností do jednoho omezeného dokumentu, observatory/v1, který stránka nese ve svém atributu data-observatory. share/ui/observatory.js tento dokument vykresluje a nerozhoduje o něm. Stejná projekce je na stránce tabulkou, jeden řádek na scénu, pro čtenáře bez skriptu.

test/cases/3011_the_observatory_draws_nothing_it_did_not_read.sh to dokazuje na serveru nad čerstvě inicializovaným repozitářem a na majordomus web report ui-snapshot:

  • /ui/observatory a /ui/kiosk odpovídají a nesou tytéž scény ve stejném pořadí;
  • dokument jmenuje každý zdroj se stavem, v jakém odpověděl, a selhavší s důvodem;
  • dostupná scéna má model, nedostupná ho nemá a má důvod, a žádná dostupná sémantická scéna nevyžaduje zdroj, který selhal;
  • tři scény meshe jsou nedostupné tam, kde žádný mesh neběží a není nesen žádný záznam; se záznamem je zaznamenaná scéna dostupná, říká replay s časem zaznamenání a scény, které záznam nenese, zůstávají nedostupné; záznam, který záznamem není, je selhaný zdroj a nikdy se nevykreslí;
  • /ui/screensaver přesměrovává na /ui/kiosk a /ui/obsrvatory na /ui/observatory;
  • snímek drží stránku a její skript.

Jak to vidět

majordomus serve                       # logs the URL of the shared server
# open <url>/ui/observatory, or <url>/ui/kiosk for the unattended display
bash test/run.sh 3011_the_observatory_draws_nothing_it_did_not_read

Co nepokrývá

Dokazuje, které scény jsou dostupné a že nedostupná nenese žádný model. Nedokazuje, co plátno vykreslí: že každá značka dostupné scény je umístěna a obarvena podle svého modelu, je věcí skriptu a žádný test nečte pixely. Unit testy modulu drží samotnou projekci, včetně toho, že tělo události se nikdy nepromítá.

Nedokazuje snímkovou frekvenci, kompozici 4K ani to, že kiosek zůstane běžet; to měří scripts/lib/ui-observatory.mjs a zaznamenává se i se strojem v .ai/repo/benchmarks/observatory/. Kurzor, který displej sleduje mezi čteními (observatory.events), dokazuje test spolupráce meshe, ne tento případ.

Proč existuje

Nástěnnému displeji se věří z druhého konce místnosti lidé, kteří nikdy neotevřou řádek zdroje. Obraz, který by nakreslil zdravé souhvězdí tam, kde žádný mesh neběžel, nebo řeku událostí, které se nestaly, by byl nejpřesvědčivějším nepravdivým tvrzením, jaké tento repozitář může učinit. Tvrzení dělá z absence uvedený fakt stránky a případ ji drží na obou procesech, které stránku servírují: server a čtenář publikovaného snímku.

Detail vykreslen z docs/claims/observatory-draws-nothing-it-did-not-read.md.

Od tvrzení k důkazu

  1. 1 · veřejné tvrzení

    Observatory na /ui/observatory a /ui/kiosk zobrazí scénu, jen když schopnosti, které vyžaduje, odpověděly něčím k vykreslení, nebo — u scény meshe, kde žádný mesh neběží — když repozitář nese jeho nahrávku, kterou označí jako replay; scéna bez obojího nenese žádný model a uvede důvod zdroje, na serveru i v publikovaném snímku stejně

    Vzniklo na Observatory.

  2. 2 · kanonické tvrzení

    observatory-draws-nothing-it-did-not-readdeklarovaný stav: zaručeno v docs/CLAIMS.yaml

    Definováno v přečtěte si to na tomto webu · docs/MAJORDOMUS_UI.md

  3. 3 · implementace

    apps/majordomus-cli/src/ui/observatory.rs

  4. 4 · test a scénáře

    Test: test/cases/3011_the_observatory_draws_nothing_it_did_not_read.sh

  5. 5 · zaznamenané běhy

    zaznamenané důkazy: nespuštěno jak se zaznamenávají důkazy

Ověřte si to sami

Test běží v jednorázovém dočasném repozitáři a ověřuje chování, ne řetězec ve zdrojovém kódu.

z klonu repozitáře
bash test/run.sh 3011_the_observatory_draws_nothing_it_did_not_read

Prohledává názvy a popisy všech stránek, které tento web publikuje.