| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| semiotic-3.13.1.provenance.json | 2026-10-26 | 1.6 kB | |
| semiotic-3.13.1.sbom.cdx.json | 2026-10-26 | 80.6 kB | |
| semiotic-3.13.1.tgz | 2026-10-26 | 6.5 MB | |
| semiotic-3.13.1.tgz.sha512 | 2026-10-26 | 150 Bytes | |
| README.md | 2026-10-26 | 4.8 kB | |
| Semiotic v3.13.1 source code.tar.gz | 2026-10-26 | 84.0 MB | |
| Semiotic v3.13.1 source code.zip | 2026-10-26 | 87.3 MB | |
| Totals: 7 Items | 177.9 MB | 0 | |
Added
EventDropChartsourceRail.side: "right"places producer tiles on the right edge. The plot insets from the right, travel starts at those tiles, and the late gutter stays on the left.- LiteLLM evaluation provider with configurable proxy URLs, model pricing
discovery, reasoning-token cost estimates, and spend checks that reject
partially priced model deployments. Run it with
npm run eval:ai:litellm.
Fixed
- Keyboard focus on a
TemporalHistogramorRealtimeHistogrambin stays on that bin when the scene rebuilds, as it does on a data push or when a linked selection restyles the bars. A histogram that publisheslinkedHoverand consumes aselectionlost focus on each arrow press, so its tooltip showed on every other press and focus never moved past the first bin. - Render preparation and inspection return blocked reports for renderer errors. Render memoization preserves color-map insertion order, and error observers cannot leak synchronous exceptions or rejected promises into agent workflows.
- MCP widgets enforce SVG and CSS allowlists, including local-only mask references. Widget evidence identifies the final themed, sanitized SVG.
- Canvas
nonepaint and accessible mark counts agree with the rendered marks. Stacked domains retain zero-sum samples, while heatmap ticks, brushes, crosshairs, and marginal bins follow the visible data extent. - Atlas queries now scope evidence references to relevant graph relations and matching traces. Preparation rejects duplicate trace IDs and measure rows; derived section totals retain the most uncertain status regardless of row order and distinguish IDs containing delimiters.
- Evidence publication checks resolve claim references, including upstream observations and artifact transformations, and reject missing, ambiguous, or cyclic references. Model-authored support requires explicit human review.
- MCP cancellation now handles zero and empty-string request IDs without changing caller-visible IDs or confusing numeric and string identities. Every MCP scenario suite now rejects missing or stale executable artifacts.
- MCP startup validates profiles and options, supports equals-form arguments, and rejects configuration typos that previously exposed developer tools. All tool responses now share a configurable size ceiling before child IPC and transport serialization, including SDK-generated errors. Shutdown signal handling remains active between tool calls so idle child cleanup cannot swallow a concurrent termination signal.
- MCP tool execution runs in bounded child processes, so deadlines and cancellation stop synchronous rendering and native PNG work while the server remains responsive. HTTP and stdio share argument limits; stdio also caps each input line before JSON parsing. Chart creation reuses one render for its SVG, evidence, and widget instead of rendering repeatedly.
- MCP processes load the optional DOM runtime only for interactive widgets, avoiding repeated startup work on schema lookups, diagnostics, artifact audits, and static renders.
- MCP HTTP request quotas are isolated by client, refill continuously, and keep bounded accounting alongside the shared concurrency cap. Forwarded client addresses require explicit trusted-proxy configuration. Authorization rejects trailing credentials and uses constant-time token comparison.
- Unknown chart names matching JavaScript prototype properties no longer claim built-in accessibility capabilities.
- Categorical heatmap axes accept string
tickValues. Each string is the column or row key and is drawn at that cell's center. - A log axis keeps an explicit positive end when no positive sample remains,
including an empty axis. The open end stays one decade away.
[1, 10]is used only when neither end is fixed. - A long heatmap axis no longer throws when it sorts its keys or formats a date axis. Extents and the sorted key list are copied in a loop.
- A candlestick log domain includes open and close, so a positive body stays visible when the wick low is not positive.
- An empty log axis with only a lower bound opens one decade above that bound. An explicit upper bound still opens one decade below it.
- A line with stroke
nonestays unstroked in SVG when a stroke gradient is set, matching canvas. The fill under that line still paints. - Update the MCP SDK's transitive
ip-addressdependency to10.7.4, fixing CVE-2026-111997 and clearing the release security audit. - Update transitive
body-parser,fast-uri,undici, andzodso the preflightnpm auditgate is clean. - Align Vitest's coverage and UI packages with the test runner so release validation uses a supported dependency combination.