Istunnonaikainen yhteinen taulu
Operaattori ja kenttäkäyttäjä piirtävät samalle kanvakselle reaaliajassa — mittoja, nuolia, "missä lommo on" -merkintöjä. Jokainen tallennus kaappaa sekä renderöidyn PNG:n että Excalidraw-scene-JSON:n, yhdessä hashattuna. Peukaloi kumpaa tahansa jälkikäteen, ja auditointiketju paljastaa sen.
Mitä kaapataan
Mitä kaikki näkivät
Pikselintarkka kuva renderöitynä tallennushetkellä. Kestää tapauskansion katselimessa vuosia ilman että Excalidrawin tarvitsee olla ladattavissa — pudota PNG oikeuden asiakirjaniteeseen, ja se puhuu puolestaan.
Muodot, jotka sen tekivät
Kanoninen JSON-vedos scenen elementeistä: jokainen veto, jokainen nuoli, jokainen nimilappu. Renderöi JSON myöhemmin uudelleen, ja saat tavu tavulta identtisen PNG:n — kryptografisen todisteen siitä, ettei renderöityä kuvaa väärennetty kaappauksen jälkeen.
Yhdistetty SHA-256 ankkuroi PNG:n ja kanonisen JSON:n yhdessä. Muuta yksi tavu kummassa tahansa, ja ketju rikkoutuu.
Miksi molemmat puolet
Pelkkä renderöity PNG on vakuuttava mutta teoriassa väärennettävissä — mikä tahansa kuvankäsittelyohjelma tuottaa pikselintarkan väärennöksen. Pelkkä scene-JSON on oikeudelle lukukelvoton — vetoja ja koordinaatteja katselimessa, jota tuomarilla ei ole. Yhdessä: JSON todistaa, että kuva on näiden muotojen deterministinen renderöinti; kuva todistaa, mitä osallistujat todella näkivät ruudulla. Peukaloi kuvaa koskematta JSON:iin, ja uudelleenrenderöintitarkistus laukeaa; peukaloi JSON:ia, ja hash ei täsmää.
Live-yhteistyömalli
Vedot leviävät reaaliajassa konfliktivapaalla yhdistämisellä, joten molemmat puolet voivat piirtää yhtä aikaa ilman lukitusta. Operaattori voi lukita ruudun itselleen (yksisuuntainen merkintä, yleistä korvausläpikäynneissä) tai avata sen aitoon yhteismuokkaukseen (yleistä etäkoulutuksessa).
| Tila | Kuka voi piirtää |
|---|---|
| Operaattorille lukittu | Vain operaattori. Kenttäkäyttäjä katsoo annotaatioiden ilmestyvän — yleistä kirjaimellisesti-sääntöjen-mukaan-tarkastuksissa. |
| Avoin kanvas | Molemmat puolet. Kenttäkäyttäjä voi ympyröidä "tätä tarkoitin" ilman vuoron ottamista. |
| Nappaa-ja-säilytä | "Nappaa nykyinen tila ja avaa yhteisannotaattori siihen" — kaappaa pysäytyskuvan ja avaa sen uudelleen myöhempää asynkronista annotaatiota varten. |
Lukeminen takaisin API:sta
Taulut tallentuvat Evidence-riveinä, joiden kind=whiteboard. Listaa ne kutsulla GET /api/v1/public/sessions/{id}/whiteboards, pyydä allekirjoitettu latauslinkki kutsulla GET /api/v1/public/evidence/{id}/download. Sekä renderöity PNG että scene-JSON:n verify-endpoint on dokumentoitu kohdassa Taulujen API-viittaus.
Kokeile live-kanvasta
Demoistunnon mukana operaattori- ja kenttäpuoli on jo paritettu. Avaa se kahdessa selaimessa, piirrä molemmissa — vedot leviävät; nappaus kaappaa molemmat kerrokset; auditointiketju ankkuroi molemmat.