| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| semiotic-3.11.2.provenance.json | 2026-09-29 | 1.6 kB | |
| semiotic-3.11.2.sbom.cdx.json | 2026-09-29 | 80.6 kB | |
| semiotic-3.11.2.tgz | 2026-09-29 | 5.8 MB | |
| semiotic-3.11.2.tgz.sha512 | 2026-09-29 | 150 Bytes | |
| README.md | 2026-09-29 | 5.6 kB | |
| Semiotic v3.11.2 source code.tar.gz | 2026-09-29 | 76.7 MB | |
| Semiotic v3.11.2 source code.zip | 2026-09-29 | 79.7 MB | |
| Totals: 7 Items | 162.4 MB | 7 | |
Added
bandandx-bandannotations acceptlayer: "under"on XY charts (including RealtimeHistogram and TemporalHistogram): the fill paints beneath the data marks, on the canvas and in static SVG, so bars and areas inside the range keep their color, and the label stays above the marks. Bands withoutlayerdraw above the data as before, as do bands on ordinal, geo, and network charts, which ignorelayer.histogramBinSelectionDatum(timeField)insemiotic/realtimeandsemiotic/utilsreturns a histogram bin as the chart's own selection matching sees it, souseSelection().predicatematches it for any selected time inside[binStart, binEnd). Code outside the chart, such as a tooltip on the matched bin, can find the bins a linked selection highlights.CircularBrushandSentenceFilteracceptonObservation(pluschartId/chartType, andcontrolId/controlTypeon CircularBrush) and emit thesemiotic/controlscontrol-start,control-change, andcontrol-endobservations. CircularBrush reports[start, end]for pointer drags and keyboard changes; SentenceFilter reports itsnumberandrangefilters, with the filter key ascontrolId.CircularBrushsupports Home/End (first and last step of the cycle) and PageUp/PageDown (largeStep), shows a focus ring for keyboard focus, and focuses the handle you grab.
Fixed
thresholdBandsForReserveandreserveAnnotationBandsclassify reserve margins from one table, so a mark's style rule and the band behind it agree (an 8% margin read "Tight" on the bar and "Watch" on the band). The classes followReserveLevelsas documented: tight< tight, watch[tight, watch), moderate[watch, comfortable)(new, info color,moderateFill), comfortable≥ comfortable. The table is exported asreserveClasses(levels)andclassifyReserve(value, levels)fromsemiotic/recipes, andreserveAnnotationBandstakes an optionalextentfor its outer bounds.reserveSeriesreportsnetLoadMwas demand minus wind and solar instead of repeating demand;gridEventAnnotationsno longer stamps a fixedconfidence: 0.85on authored events (passconfidenceto set one), andGridEventWindow.ttlHintdocuments its actual"P14D"default.CircularBrushworks for fractional cycles. Pointer values snap tostepinstead of whole units, so a phase brush (period: 1) no longer snaps both handles to 0, andperiod: 24, step: 0.5brushes half-hours. Withoutstep, a period that isn't an integer of 2 or more steps byperiod / 100(integer periods keep 1 and 7).aria-valuemaxis the last step before the wrap (period - step), and nudges no longer accumulate float noise.- BigNumber's
"duration"format carries rounded remainders into the next unit (1m, not60s;1h, not59m 60s;1d, not23h 60m), and a delta that rounds to zero reads0/0%with neutral sentiment instead of+0%or−0in a success or danger color. smartTickFormat, the default axis tick format, moves a value that rounds to 1000 of one suffix to the next (1M, not1000K).- Default tooltips show the time of intraday
Datevalues (midnight values still show the date alone), and the default tooltip value drops floating-point noise (0.3, not0.30000000000000004). - BumpChart labels
Dateperiods without anxFormatin UTC, at the periods' alignment (2024,Mar 2024,Mar 11), instead of the machine's locale date, so the browser, renderChart, and the tooltip agree in every time zone. - RealtimeHistogram and TemporalHistogram's default tooltip labels a bin's
range with the chart's
tickFormatTime, or as a UTC date and time for epoch-millisecond bins ("Mar 28 10:41–10:42"), instead of raw milliseconds. Smaller bounds, such as tick counters, stay numbers. - RealtimeHistogram and TemporalHistogram hide an axis that
showTimeAxis/showValueAxisturn off whenaxeslists only the other one, for exampleaxes={[{ orient: "bottom", tickValues }]}withshowValueAxis={false}, in the browser and static SVG. Explicitaxesentries still win. - BumpChart estimates endpoint-label widths per glyph (narrow, wide, capital, and wide-script classes at bold sans-serif widths) instead of a flat 0.65em per character, so labels that fit are no longer truncated and labeled margins stay close to the text. Estimates stay at or above the drawn width for Arial, Helvetica, and SF; pin the margin for much wider faces such as Verdana.
- GaugeChart string and number
centerContentshrinks to fit inside the arc when it is too wide for the readout's full size (for example"140 / 200"), instead of spilling over the arc. Short values keep their size; the browser and static SVG agree. wordTrailsLayoutsizes words by area (maxFontSize · √(weight / maxWeight)), so a word twice as frequent covers twice the area; before, weights 100 and 200 drew at 11px and 42px.minFontSizeis now a legibility floor, and words raised to it are listed in the result's newsizeFloored. A word that finds no free spot is left out and listed inunplacedinstead of being drawn over another word. Word boxes are measured with bold metrics and keep capitals' widths, rotated words collide by their rotated bounds, placement is cached by content, and the layout suppliesrestyle, so selection and color/opacity-only changes don't re-run the collision search, which now uses a spatial grid.