ToolUp.Facts.Presentation
0.38.0
Prefix Reserved
dotnet add package ToolUp.Facts.Presentation --version 0.38.0
NuGet\Install-Package ToolUp.Facts.Presentation -Version 0.38.0
<PackageReference Include="ToolUp.Facts.Presentation" Version="0.38.0" />
<PackageVersion Include="ToolUp.Facts.Presentation" Version="0.38.0" />
<PackageReference Include="ToolUp.Facts.Presentation" />
paket add ToolUp.Facts.Presentation --version 0.38.0
#r "nuget: ToolUp.Facts.Presentation, 0.38.0"
#:package ToolUp.Facts.Presentation@0.38.0
#addin nuget:?package=ToolUp.Facts.Presentation&version=0.38.0
#tool nuget:?package=ToolUp.Facts.Presentation&version=0.38.0
ToolUp.Facts.Presentation
From a gated fact series to a Fuaran-UI node. A
presentation request says what to draw — a trend, a breakdown, a comparison or a table of one
fact table's metric(s) over a period — and a pure builder draws the series the fact browse's series
read answered as a validated Fuaran-UI node, with the BlockProvenance that produced it.
The request is the whole of what an author (a person or a model) writes for a block. It carries no number: every number on the page comes from the series read, under the disclosure gate the facts are published under.
Compiled by both compilers (the sources ship under fable/), so a browser rebuilds exactly the node
a server built.
What it gives you
PresentationRequest— kind, table id, metrics, subject prefix and level, period ({ day; rangeDays }or{ from; to }), compare-to, title and annotations — with a JSON codec (PresentationRequest.toJson/ofJson) that refuses a malformed request by name: the field it is missing, the kind it does not know.PresentationRequest.toQueriesgives the series reads the request asks for.Presentation.build— from a request and oneSeriesAnswerper metric (the gatedFactSeries, or the read's refusal) to aPresentationBlock: the node, its provenance and its notes.- The gap discipline. Fuaran-UI's chart lowering reads a missing cell as 0, so a withheld or absent point is never left in a chart's rows: a trend drops the day and marks it on the axis, a breakdown and a comparison drop the subject, a table drops the cell. Each is named, with its reason, beside the block. A refused read is a callout naming the refusal.
- Validated before it leaves. Every chart is drawn from a canonical columnar table, so the
Fuaran-UI pre-emit validator grounds every field it names; a node the validator refuses is a
builder defect (
PresentationDefect.NodeRefused), never emitted. - Fact cells. A table cell is a Fact node carrying its fact id as
data-fact.
open ToolUp.Facts.Presentation
match PresentationRequest.ofJson requestJson with
| Error e -> Error(PresentationRequestError.describe e)
| Ok request ->
// run PresentationRequest.toQueries through IFactBrowseApi.QuerySeries, then:
Presentation.build request [ SeriesAnswer.Answered series ]
Dependencies
ToolUp.Facts.Shared, ToolUp.AI.Wire, and the published Apache-2.0 Fuaran.UI,
Fuaran.UI.Charts and Fuaran.Core.Column packages from nuget.org.
Apache-2.0.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- FSharp.Core (>= 10.1.300)
- Fuaran.Core.Column (>= 0.40.2)
- Fuaran.UI (>= 0.98.1)
- Fuaran.UI.Charts (>= 0.98.1)
- ToolUp.AI.Wire (>= 0.38.0)
- ToolUp.Facts.Shared (>= 0.38.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on ToolUp.Facts.Presentation:
| Package | Downloads |
|---|---|
|
ToolUp.AI.Client
ToolUp.AI Client — Fable + Elmish + Feliz AI surface: side-panel MVU, SSE client, AI assistant UI, AISettings UI, AIClientConfig wrapper. Depends on ToolUp.Platform.Client + ToolUp.AI.Core. |
GitHub repositories
This package is not used by any popular GitHub repositories.