PrompTugal.newsStorm CharlesUpdated 12:18 UTCNew here?v0.1.1061Repo
Not a warning service. Follow IPMA, ANEPC and your local authorities. We aggregate public sources, each with its source and the time we read it.

The library: app (162)

Kept by incident.librarian@web-summit.dinis. Built by tools/library-index.mjs on every push; nobody writes it by hand. What runs in the browser. Back to the library · every kind as data: index.json.

By is who the file itself says wrote or keeps it (the agents in its commits follow when they differ); Changed is the last commit (UTC) when known, else the file's own date; Made from is the sources its header names.

FileWhat it isByChangedMade from
account/account.mdAccount: the operator's login, and how it works. Kept by incident.identity@web-summit.dinis, 11 November 2026, 02:30 UTCincident.identity@11-11 02:14SECURITY.md, account/index.html
account/inbox.jsonReplies to Dinis Cruz, each sealed to his public key (ciphertext: sgit's hybrid v2 envelope as an m1 code). Written by tools/lane-seal.mjs --inbox; opened at /account/ with his key. Never a vault …incident.identity@11-10 23:53tools/lane-seal.mjs, SECURITY.md
account/index.htmlnot said in the file; commits: incident.identity@11-11 03:23
app/agents/about.mdThe agents page: how it works. Kept by incident.observability@web-summit.dinis, 11 November 2026, 09:53 UTCincident.observability@11-11 09:54agents/README.md
app/agents/agents.css/app/agents/: the team console (incident.observability@web-summit.dinis). Uses app/site.css's tokens; adds nothing global.incident.observability@11-11 10:22
app/agents/agents.jsThe team console (incident.observability@web-summit.dinis): every agent, what it is doing, what it asks, its last push. Mounts into <div id="agents-live" data-base="<path to the site root". Reads …incident.observability@11-11 10:22
app/agents/commit.mdOne push, or one file's history. Kept by incident.observability@web-summit.dinis, 11 November 2026, 02:17 UTCincident.observability@11-11 02:19agents/README.md, data/agents/commits.json, data/agents/sessions.json
app/agents/index.htmlnot said in the file; commits: incident.observability@11-11 00:05
app/agents/jobs.mdThe jobs, drawn: who owns what, doing what, blocked on whom. Kept by incident.observability@web-summit.dinis, 11 November 2026, 02:20 UTCincident.observability@11-11 02:21agents/JOBS.md, agents/policy.json, data/agents/index.json
app/agents/live-adapter.jsThe adapter between this repository's commits and Angelo's live map (incident.observability@web-summit.dinis). The engine is an unchanged, pinned copy: vendor/live-map@57636ac/ (live.js, live3d.js by …incident.observability@11-11 03:14
app/agents/now.cssThe team at work, now (kept by incident.observability@web-summit.dinis, 11 November 2026). Tokens only (design/README.md):incident.observability@2026-11-11
app/agents/now.jsThe team at work, now (kept by incident.observability@web-summit.dinis, 11 November 2026, WS-214). Mounts into <div id="team-at-work" data-base="<path to the site root"</div (or any element with …incident.observability@2026-11-11
app/agents/now.mdThe team at work, now. Kept by incident.observability@web-summit.dinis, 11 November 2026, 11:52 UTCincident.observability@11-11 11:52data/agents/commits.json, data/ci/index.json, tools/agents-now.mjs, ipma.pt, prociv.gov.pt
app/agents/obs.jsPage views and reads for storm-charles.promptugal.news (incident.observability@web-summit.dinis, 10 November 2026; the city and country added 11 November 2026 at Dinis Cruz's word of ~09:47 UTC, …incident.observability@11-11 09:54
app/agents/universe-adapter.jsThe adapter between this repository's team and Silvio's Universe (incident.observability@web-summit.dinis). The engine is an unchanged, pinned copy: vendor/universe@57636ac/ (brain.js, brain.css by …incident.observability@11-11 00:17
app/agents/vendor/live-map@57636ac/live.jsThe live map: Team and the machine's graph as a small always-on view, lines and dots only, in a hexagon (dev.map@PrompTugal.angelo, 7 November 2026, at Angelo's go; spec: …dev.map@PrompTugal.angelo (commits: incident.observability@)11-10 23:47
app/agents/vendor/live-map@57636ac/live3d.jsThe live graph in 3D (backlog 0c; Angelo, 8 November: "interacting with the mouse is very slow, it lags heavily, and more importantly, dots and lines don't light up, so it's cool static graph but not …dev.map@PrompTugal.angelo (commits: incident.observability@)11-10 23:47
app/agents/vendor/live-map@57636ac/pin.jsonUnchanged copies, pinned so the authors' daily changes never break this site. Not forked: our side is one adapter in app/agents/. To update: run tools/agents-pin.mjs on a newer checkout (a new …incident.observability@11-10 23:54tools/agents-pin.mjs
app/agents/vendor/universe@57636ac/brain.cssSilvio's brain, the 3D map (Lab only), premium: the sky is drawn by the 3D engine (stars, nebulae, glow);not said in the file; commits: incident.observability@11-10 23:51
app/agents/vendor/universe@57636ac/brain.jsThe Universe, read live (dashboard@web-summit.silvio, 10 November 2026; Silvio: "everything must be in live data"). Every time the map opens it reads, from their sources, at that moment: - the team …dashboard@web-summit.silvio (commits: incident.observability@)11-10 23:51
app/agents/vendor/universe@57636ac/pin.jsonUnchanged copies, pinned so the authors' daily changes never break this site. Not forked: our side is one adapter in app/agents/. To update: run tools/agents-pin.mjs on a newer checkout (a new …incident.observability@11-10 23:54tools/agents-pin.mjs
app/board/board.cssThe board (incident.board@web-summit.dinis). Tokens from app/site.css only: no hex colour here (design/README.md, rule 7).incident.board@11-11 02:23
app/board/board.jsThe board (incident.board@web-summit.dinis): board/index.json drawn as columns by state, filtered by kind, owner and "waiting on Dinis"; a card opens with its evidence, its history and what would …incident.board@11-11 02:32
app/broadcast/broadcast.cssincident.broadcast@web-summit.dinis: /broadcast/, the news-channel wall. Tokens only (design/README.md): no hex colour here.not said in the file; commits: incident.broadcast@11-11 10:43
app/broadcast/broadcast.jsincident.broadcast@web-summit.dinis: /broadcast/, Storm Charles as a live news channel would show it. Reads only this site's own files (the data room's JSON and broadcast/data/); makes no outside …not said in the file; commits: incident.broadcast@11-11 11:41
app/ci/ci.cssThe CI pages (incident.ci@web-summit.dinis). Tokens only (design/README.md): states of things we run wear --ok, --bad, --warn,incident.ci@11-11 02:28
app/ci/ci.jsThe pipeline and the repository, drawn (incident.ci@web-summit.dinis). One script for the five pages under /ci/: the mount element's data-view says which (pipeline, commits, collaboration, …incident.ci@11-11 05:48
app/desk/desk.cssthe Contact us form (incident.desk@web-summit.dinis): the site's tokens only (design/README.md)incident.desk@
app/desk/desk.jsdesk.js: the Contact us form of storm-charles.promptugal.news (incident.desk@web-summit.dinis, 11 November 2026, at Dinis Cruz's word of ~11:45 UTC: BRIEF.md, last section; CLAUDE.md, "Contact …incident.desk@2026-11-11
app/desk/index.mdContact us. Kept by incident.desk@web-summit.dinis, 11 November 2026, 11:50 UTCincident.desk@11-11 11:50prociv.gov.pt, ipma.pt
app/evidence/evidence.cssThe evidence pages (incident.archivist@). Tokens only: design/README.md. evidence { margin: 0 0 24px }not said in the file; commits: incident.archivist@11-11 02:22
app/evidence/evidence.jsThe evidence page: our capture of an outside page, Wayback-style. Reads the record (evidence/<id.json), the index (earlier and later captures of the same address) and, where the source may be shown, …incident.archivist@11-11 04:28
app/evidence/vault-reader.jsThe read-only vault reader of the evidence pages. The derivations are sgit.ai's house reader (https://sgit.ai/assets/vault-embed.js, SGVaultEmbed.Reader, read 11 November 2026), copied here as its …incident.archivist@11-11 02:22
app/flows/core.jsFlows: the core (incident.motion@web-summit.dinis, 11 November 2026, WS-214; Dinis, ~10:10 UTC, BRIEF.md). One small format for a flow of the team's work (data/flows/schema.json, flows/README.md), …incident.motion@2026-11-11
app/flows/embed.htmlnot said
app/flows/flows.cssFlows: the player's look (incident.motion@web-summit.dinis, 11 November 2026). The site's tokens (design/README.md), withincident.motion@11-11 10:33
app/flows/gallery.jsFlows: the gallery at /flows/ (incident.motion@web-summit.dinis, 11 November 2026). Reads data/flows/index.json and puts a player for each flow in the page's mount, with the one line that embeds it. …incident.motion@2026-11-11
app/flows/player.jsFlows: the player (incident.motion@web-summit.dinis, 11 November 2026, WS-214). An experiment. Draws one flow (data/flows/schema.json) as lanes, one per actor, and plays it step by step; every step …incident.motion@2026-11-11
app/graph/README.mdThe graph of the storm. One graph of Storm Charles: actors, decisions, warnings, signals, sources, places, datasets and agents, each node and link with its label, its source and the time read. Built from the incident's JSON.incident.graph@11-11 02:16data/graph/storm.json
app/graph/common.jsWhat the graph's pages share (incident.graph@web-summit.dinis): reading the graph's files, the look of a node (shape = kind; colour by the design rules), small DOM helpers. Text from data is always …incident.graph@11-11 07:55
app/graph/engine.jsA small adapter onto Silvio's graph engine (incident.graph@web-summit.dinis). The engine is the bundle behind web-summit.sgit.ai's Universe (assets/cc/brain.js): brain-libs.js, which holds …incident.graph@11-11 02:16
app/graph/graph.cssThe query page and the graph page (incident.graph@web-summit.dinis). Every colour is one of app/site.css's tokensincident.graph@11-11 02:33
app/graph/graph.jsThe graph page (/app/graph/). It never draws the whole graph first: it starts from a QUESTION, and what is drawn is that question's answer (after graphs.sgit.ai: "never render the whole graph, render …not said in the file; commits: incident.graph@11-11 03:54
app/graph/lead-times.jsLead times (/app/graph/lead-times/): one line of time, every warning and decision with a time known to the minute, with the time between each and the next and how long before the first red warning …not said in the file; commits: incident.graph@11-11 02:16
app/graph/lead-times/README.mdLead times. How far ahead could we have known? Every warning and decision of Storm Charles with a time known to the minute, on one line of time, with the hours between them and before the red warnings start. …incident.graph@11-11 02:16data/graph/tables/timeline.json, tools/graph-build.mjs, prociv.gov.pt, ipma.pt
app/graph/ontology.jsThe ontology, drawn (/app/graph/ontology/): the kinds of thing as shapes, the verbs as arrows between them, each verb with its inverse. Press a kind or a verb to read what it means, how many there …not said in the file; commits: incident.graph@11-11 03:41
app/graph/ontology/README.mdThe ontology, drawn. The kinds of thing in the graph of Storm Charles and the verbs between them, each verb with its inverse, drawn from the ontology file and the graph itself. Press any of them to read it and open …incident.graph@11-11 02:16data/graph/ontology.json, graphs.sgit.ai
app/graph/query.jsThe query page (/data/query/): SQLite in the reader's browser over the tables of the storm's graph. incident.graph@web-summit.dinis. The engine is sql.js 1.14.2 (SQLite compiled to WebAssembly), the …not said in the file; commits: incident.graph@11-11 07:55
app/guide/guide.cssincident.sherpa@web-summit.dinis: /guide/. Tokens only (design/README.md); phone first (390 px).not said
app/guide/guide.jsincident.sherpa@web-summit.dinis: /guide/, "Are you in Lisbon right now?": the use cases as guided paths. Reads only this site's own files (the data room's JSON); makes no outside request. Not a …not said
app/journal/journal.cssThe journal's pictures and article (incident.journalist@web-summit.dinis). Tokens only (design/README.md): ink and greys for our ownincident.journalist@11-11 04:18
app/journal/journal.jsThe journal: each picture arrives above the text (the frame's mount) and is moved under the heading it belongs to. Without this script the pictures stay at the top, and their tables are at the foot …not said in the file; commits: incident.journalist@11-11 02:59
app/labs/decisions.jsLabs, decisions (incident.labs@web-summit.dinis): flow, lead-times, days, state. Data: decisions/graph.json, weather/analysis.json. Never the whole graph: each view is the result of a question (what …incident.labs@11-11 06:46
app/labs/labs.cssThe Labs (incident.labs@web-summit.dinis). Tokens only (design/README.md): warning colours for IPMA's levels alone, with the levelincident.labs@11-11 06:46
app/labs/labs.jsThe Labs core (incident.labs@web-summit.dinis). Every experiment is a function registered with Labs.exp(name, fn) and mounted on <div class="lab" data-lab="<area/<name" data-root="../../". It reads …incident.labs@
app/labs/timelines.jsLabs, timelines (incident.labs@web-summit.dinis): lanes, known-when, story. Data: signals.json, decisions/graph.json, weather/cap.json.incident.labs@
app/labs/weather.jsLabs, weather (incident.labs@web-summit.dinis): stations, day-bands, models. Data: weather/.json and decisions/graph.json. Not a warning service: every forecast drawn here is somebody else's (IPMA, …incident.labs@
app/lens/hop.cssThe one-hop drawing on a node page (incident.entities@web-summit.dinis; drawn by app/lens/hop.js). Tokens only (design/README.md).incident.entities@11-11 08:50
app/lens/hop.jsThe one-hop drawing on a node page (incident.entities@web-summit.dinis). tools/entities-build.mjs mounts <figure class="ent-hop" data-base data-node; this fills it from entities/index.json (names, …incident.entities@11-11 08:50
app/lens/lens.cssThe lens's marks for linked names (incident.entities@web-summit.dinis). Tokens only (design/README.md rule 7).incident.entities@11-11 02:23
app/lens/lens.jsThe lens's content (incident.entities@web-summit.dinis). The panel, its switches and its slots are incident.designer@'s (app/design/panel.js: window.stormPanel). This script: - fills the "Lens" slot …incident.entities@11-11 03:25
app/login/README.mdThe login's code. Kept by incident.identity@web-summit.dinis, 11 November 2026, 03:35 UTCincident.identity@11-11 03:23SECURITY.md, account/account.md, account/index.html, app/login/account.js, app/login/dom.js, app/login/feedback.js, and 5 more
app/login/account.jsaccount.js: the page at /account/ (incident.identity@; the design is /SECURITY.md). A log-in first: one action (make the key, or unlock it), the explanation below. Three states: no key in this …not said in the file; commits: incident.identity@11-11 03:23
app/login/dom.jsdom.js: the few DOM helpers the login pages share. Text only, never markup: nothing read from a message is parsed as HTML.not said in the file; commits: incident.identity@11-10 23:47
app/login/feedback.jsfeedback.js: the feedback box, on any page that loads it (incident.identity@; the design is /SECURITY.md, section b). <script type="module" src="<root/app/login/feedback.js"</script It draws nothing …not said in the file; commits: incident.identity@11-10 23:47
app/login/id.jsid.js: Dinis's key in this browser (incident.identity@web-summit.dinis; the design is /SECURITY.md, section a). passkey ──PRF──▶ door seed (pki/door.js) ──▶ AES-256-GCM ──▶ localStorage …incident.identity@11-10 23:47
app/login/lane.jslane.js: what travels between Dinis's browser and the conductor (the design is /SECURITY.md, sections b and c). feedback pki/message.js compose (signed by his key; to = the conductor's signing …not said in the file; commits: incident.identity@11-10 23:47
app/login/login.cssThe login and the feedback box (incident.identity@). Tokens from app/site.css only (design/README.md): no colour isnot said in the file; commits: incident.identity@11-11 02:14
app/login/package.jsonnot said in the file; commits: incident.identity@11-10 23:47
app/login/pki/PIN.jsonCopies of pki.sgit.ai's modules, byte for byte, read on 10 November 2026 (23:30 UTC) by incident.identity@web-summit.dinis. Not edited here: to change one, change it at its source and pin the new …incident.identity@11-10 23:53tools/lane-test.mjs
app/login/pki/door.jsdoor.js: from a passkey's PRF bytes (or a recovery code) to a door vault's key, the way the article says. Moved out of passkey/lab.js so that the vault pane (assets/vault-pane/) and the lab derive …not said in the file; commits: incident.identity@11-10 23:41
app/login/pki/keys.jskeys.js: the key material of the directory of people, in the browser and in Node, byte-compatible with sgit pki. Everything here is Web Crypto and nothing else. Each construction was checked against …not said in the file; commits: incident.identity@11-10 23:41
app/login/pki/local.jslocal.js: an account kept in this browser only, opened by the passkey alone. No access key, no vault, no passphrase. The passkey's PRF bytes already give a door (door.js). When no vault answers at …not said in the file; commits: incident.identity@11-10 23:41
app/login/pki/message.jsmessage.js: a message to someone in the register, as a link and a QR code, or into their inbox; and an invitation. A message is JSON, signed by the sender when the sender has a key, then sealed in …not said in the file; commits: incident.identity@11-10 23:41
app/meteorology/map.jsincident.meteorology@web-summit.dinis: the lineage map. The SVG is drawn at build time from meteorology/graph.json and works without this script (every box is a link). This only lights a node's own …not said in the file; commits: incident.meteorology@11-11 02:37
app/models/models.cssOther models, measured (incident.models@web-summit.dinis). Tokens only; never IPMA's warning colours: nothing here is a warning.incident.models@11-11 02:36
app/models/models.jsOther models, measured (incident.models@web-summit.dinis): draws the charts of models/ from models/results.json and models/ledger-summary.json, both made by tools/models-report.mjs. Reads nothing …incident.models@11-11 03:00
app/perplexity/perplexity.cssPerplexity as a research tool (incident.perplexity@web-summit.dinis). Tokens only. The marks are states of a check we ranincident.perplexity@11-11 03:01
app/perplexity/perplexity.jsPerplexity as a research tool: the scorecard as small charts (incident.perplexity@web-summit.dinis, WS-214). Reads research/perplexity/scorecard.json only; the same figures are in the page's tables. …incident.perplexity@11-11 03:01
app/site.cssstorm-charles.promptugal.news: one stylesheet, no dependencies. Tokens first; the dashboard (app/storm.js) uses the same names.not said
app/social/social.cssBluesky as a section (incident.social@web-summit.dinis). Tokens only (design/README.md): no hex colours here. social { margin: 0 0 28px; } social .card { margin-top: 16px; } social .wx-tile b { font: …incident.social@11-11 02:30
app/social/social.jsBluesky as a section: draws research/social/.json (incident.social@web-summit.dinis). No dependencies; reads only this site's own files.incident.social@11-11 02:30
app/sources/ipma/ipma-more.jsThe IPMA section, two more views: the sea (data-view="sea") and the cities' forecasts beside what was observed (data-view="cities"). Registered for app/sources/ipma/ipma.js, which mounts them and …incident.ipma@11-11 02:32
app/sources/ipma/ipma.cssThe IPMA section (sources/ipma/). Tokens only (design/README.md): IPMA's warning colours for IPMA's levels, with theincident.ipma@11-11 02:32
app/sources/ipma/ipma.jsThe IPMA section (sources/ipma/): every view is drawn here from the small JSON files that tools/ipma-views.mjs writes from IPMA's open data. No dependency, no outside request: the page reads this …incident.ipma@11-11 02:32
app/sources/meteoalarm/browser.cssThe MeteoAlarm feed browser (sources/meteoalarm/portugal). Tokens only; IPMA's warning colours only on IPMA's levels. incident.sources@not said in the file; commits: incident.sources@11-11 02:21
app/sources/meteoalarm/browser.jsThe MeteoAlarm feed browser: our dated copy of a country's feed as a readable table, with its schema, what changed between our reads, and the raw files one click away. Reads only this site's JSON …incident.sources@11-11 07:28
app/stories/channels.jsThe warnings box of a Lisbon story, by the front page's rule (incident.stories@web-summit.dinis, 11 November 2026, WS-214). IPMA speaks on two channels: its open-data feed (warnings.json) and its CAP …incident.stories@11-11 07:59
app/stories/story.cssStories (incident.stories@web-summit.dinis): a story is a list of labelled sentences, each opening its support. Tokens only (design/README.md):incident.stories@11-11 07:59
app/stories/story.jsStories (incident.stories@web-summit.dinis). The page is already complete HTML (tools/stories-build.mjs): this file only (1) works the switches, (2) opens every support at once, (3) reads IPMA's …incident.stories@11-11 07:59
app/storm.jsThe incident dashboard (incident.dev@web-summit.dinis, 10 November 2026, WS-214, at Dinis's word: "a full-blown new dashboard" that leverages Silvio's and Angelo's work). It reads the incident's data …incident.dev@ (commits: incident.conductor@, incident.designer@)11-11 09:26
app/studio/agents.mjsThe cast: a small character for every agent of this site (incident.studio@web-summit.dinis), at Dinis Cruz's word (BRIEF.md, 11 November 2026, ~02:20 UTC: "a little identity ... start to sprinkle …incident.studio@11-11 02:59
app/studio/agents/accountant.mark.svgnot said in the file; commits: incident.studio@11-11 02:59
app/studio/agents/accountant.svgnot said in the file; commits: incident.studio@11-11 02:59
app/studio/agents/archivist.mark.svgnot said in the file; commits: incident.studio@11-11 02:36
app/studio/agents/archivist.svgnot said in the file; commits: incident.studio@11-11 02:23
app/studio/agents/board.mark.svgnot said in the file; commits: incident.studio@11-11 02:36
app/studio/agents/board.svgnot said in the file; commits: incident.studio@11-11 02:23
app/studio/agents/ci.mark.svgnot said in the file; commits: incident.studio@11-11 02:36
app/studio/agents/ci.svgnot said in the file; commits: incident.studio@11-11 02:23
app/studio/agents/conductor.mark.svgnot said in the file; commits: incident.studio@11-11 02:36
app/studio/agents/conductor.svgnot said in the file; commits: incident.studio@11-11 02:36
app/studio/agents/designer.mark.svgnot said in the file; commits: incident.studio@11-11 02:36
app/studio/agents/designer.svgnot said in the file; commits: incident.studio@11-11 02:23
app/studio/agents/dev.mark.svgnot said in the file; commits: incident.studio@11-11 02:36
app/studio/agents/dev.svgnot said in the file; commits: incident.studio@11-11 02:23
app/studio/agents/entities.mark.svgnot said in the file; commits: incident.studio@11-11 02:36
app/studio/agents/entities.svgnot said in the file; commits: incident.studio@11-11 02:36
app/studio/agents/graph.mark.svgnot said in the file; commits: incident.studio@11-11 02:36
app/studio/agents/graph.svgnot said in the file; commits: incident.studio@11-11 02:23
app/studio/agents/identity.mark.svgnot said in the file; commits: incident.studio@11-11 02:36
app/studio/agents/identity.svgnot said in the file; commits: incident.studio@11-11 02:36
app/studio/agents/index.jsonThe cast: a small character for every agent of this site, one family (the same head and shoulders, one thing worn or held that says the job). Two files each: the figure for the agent's home and the …incident.studio@11-11 02:59BRIEF.md
app/studio/agents/ipma.mark.svgnot said in the file; commits: incident.studio@11-11 02:36
app/studio/agents/ipma.svgnot said in the file; commits: incident.studio@11-11 02:23
app/studio/agents/journalist.mark.svgnot said in the file; commits: incident.studio@11-11 02:59
app/studio/agents/journalist.svgnot said in the file; commits: incident.studio@11-11 02:59
app/studio/agents/labs.mark.svgnot said in the file; commits: incident.studio@11-11 02:36
app/studio/agents/labs.svgnot said in the file; commits: incident.studio@11-11 02:36
app/studio/agents/librarian.mark.svgnot said in the file; commits: incident.studio@11-11 02:36
app/studio/agents/librarian.svgnot said in the file; commits: incident.studio@11-11 02:23
app/studio/agents/media.mark.svgnot said in the file; commits: incident.studio@11-11 02:36
app/studio/agents/media.svgnot said in the file; commits: incident.studio@11-11 02:23
app/studio/agents/meteorologist.mark.svgnot said in the file; commits: incident.studio@11-11 02:36
app/studio/agents/meteorologist.svgnot said in the file; commits: incident.studio@11-11 02:23
app/studio/agents/meteorology.mark.svgnot said in the file; commits: incident.studio@11-11 02:36
app/studio/agents/meteorology.svgnot said in the file; commits: incident.studio@11-11 02:23
app/studio/agents/models.mark.svgnot said in the file; commits: incident.studio@11-11 02:36
app/studio/agents/models.svgnot said in the file; commits: incident.studio@11-11 02:23
app/studio/agents/observability.mark.svgnot said in the file; commits: incident.studio@11-11 02:36
app/studio/agents/observability.svgnot said in the file; commits: incident.studio@11-11 02:36
app/studio/agents/perplexity.mark.svgnot said in the file; commits: incident.studio@11-11 02:59
app/studio/agents/perplexity.svgnot said in the file; commits: incident.studio@11-11 02:59
app/studio/agents/reporter.mark.svgnot said in the file; commits: incident.studio@11-11 02:59
app/studio/agents/reporter.svgnot said in the file; commits: incident.studio@11-11 02:59
app/studio/agents/researcher.mark.svgnot said in the file; commits: incident.studio@11-11 02:36
app/studio/agents/researcher.svgnot said in the file; commits: incident.studio@11-11 02:36
app/studio/agents/shadow.mark.svgnot said in the file; commits: incident.studio@11-11 02:36
app/studio/agents/shadow.svgnot said in the file; commits: incident.studio@11-11 02:23
app/studio/agents/social.mark.svgnot said in the file; commits: incident.studio@11-11 02:36
app/studio/agents/social.svgnot said in the file; commits: incident.studio@11-11 02:36
app/studio/agents/sources.mark.svgnot said in the file; commits: incident.studio@11-11 02:36
app/studio/agents/sources.svgnot said in the file; commits: incident.studio@11-11 02:36
app/studio/agents/stories.mark.svgnot said in the file; commits: incident.studio@11-11 02:36
app/studio/agents/stories.svgnot said in the file; commits: incident.studio@11-11 02:36
app/studio/agents/studio.mark.svgnot said in the file; commits: incident.studio@11-11 02:36
app/studio/agents/studio.svgnot said in the file; commits: incident.studio@11-11 02:23
app/studio/agents/weather.mark.svgnot said in the file; commits: incident.studio@11-11 02:36
app/studio/agents/weather.svgnot said in the file; commits: incident.studio@11-11 02:23
app/studio/agents/weatherwatch.mark.svgnot said in the file; commits: incident.studio@11-11 02:36
app/studio/agents/weatherwatch.svgnot said in the file; commits: incident.studio@11-11 02:36
app/studio/agents/wikipedia.mark.svgnot said in the file; commits: incident.studio@11-11 02:36
app/studio/agents/wikipedia.svgnot said in the file; commits: incident.studio@11-11 02:36
app/studio/characters.jsThe Studio's characters (incident.studio@web-summit.dinis): small inline SVG, drawn here, coloured only by the site's tokens (currentColor and var(--token); never a hex colour, never IPMA's warning …incident.studio@11-11 02:27
app/studio/index.jsThe Studio's index (incident.studio@web-summit.dinis): draws each card's characters, and sends an older link (/studio/#<name/<chapter/<scene, from before each explanation had its own page) to that …incident.studio@11-11 02:15
app/studio/player.jsThe Studio's storyboard player (incident.studio@web-summit.dinis). It plays animations that are data: studio/animations/index.json lists them; each studio/animations/<id.json holds chapters of …incident.studio@11-11 03:54
app/studio/studio.cssThe Studio's storyboard player (incident.studio@web-summit.dinis). Tokens only (design/README.md): no hex colour here;incident.studio@11-11 03:54
app/studio/twin.mjsThe Studio's pages, written from its data (incident.studio@web-summit.dinis): studio/README.md (the index: a card per explanation) and studio/<id/README.md (one page per explanation: the player …incident.studio@11-11 03:54
app/transport/transport.cssincident.transport@web-summit.dinis: /transport/. Tokens only (design/README.md). Works at 390 px.not said in the file; commits: incident.transport@11-11 11:39
app/transport/transport.jsincident.transport@web-summit.dinis: /transport/, flights and public transport during Storm Charles. Reads only this site's own files (the data room's JSON); makes no outside request. Not a warning …not said
app/weather/weather.cssThe Weather face (incident.weather@web-summit.dinis). Tokens only (design/README.md): no hex colour here.incident.weather@
app/weather/weather.jsThe Weather face (incident.weather@web-summit.dinis): Storm Charles as a weather channel would show it. It reads ONLY what the data room publishes (api/v1/<incident/..., incident.json), fetches …incident.weather@