Marey.Core
0.7.0
dotnet add package Marey.Core --version 0.7.0
NuGet\Install-Package Marey.Core -Version 0.7.0
<PackageReference Include="Marey.Core" Version="0.7.0" />
<PackageVersion Include="Marey.Core" Version="0.7.0" />
<PackageReference Include="Marey.Core" />
paket add Marey.Core --version 0.7.0
#r "nuget: Marey.Core, 0.7.0"
#:package Marey.Core@0.7.0
#addin nuget:?package=Marey.Core&version=0.7.0
#tool nuget:?package=Marey.Core&version=0.7.0
Marey.Core
The foundation of Marey, a dimensionally-typed
visualization system for F#. Zero dependencies, netstandard2.1.
Take this package on its own for the types without the plotting: dimension vectors, unit witnesses, unit-indexed geometry, scales, and the scene graph that backends consume.
open Marey
// A unit witness ties a compile-time [<Measure>] to runtime metadata, which is what makes an
// axis able to label itself. F# erases measures; this is how the information survives.
let metre = U.metre // U<m>
printfn "%A" (U.dim metre) // the SI dimension vector
// Scales are unit-indexed, so a scale over metres cannot be handed seconds.
let scale = Scale.linear U.metre (0.0<m>, 10.0<m>)
printfn "%A" (scale.Forward 5.0<m>) // normalized panel space
What is in it
Dim— the seven-element SI dimension vector, with group laws checked by property tests.U<'u>— the unit witness: a symbol, a dimension, a factor to SI, and an offset for affine units like degrees Celsius.U.mul/div/recip/square/cubecompose them, carrying the factorisation structurally so a composed unit can still name itself.Vec2/Vec3,Affine,Coord— unit-indexed geometry and coordinate transforms.Scale— seven scale kinds, each withForward/Inverseverified as mutual inverses.Scene— a small closed IR of ten cases. Every backend consumes this and nothing else.Wire— a scene or a patch as bytes and back, exactly: little-endian float64, versioned, with the text metrics its layout used (TextTable). What a kernel sends a page to draw.Interp, tick generation, and text metrics.
Zero dependencies
Nothing is added to this package's references. That is what lets the same IR run in a notebook, in
a browser through Fable, and in an AOT-compiled binary. FSharp.Core is the language runtime, not
a dependency.
Related packages
Marey.Core has no units table, no chart API and no renderer. For the usual case install
Marey.Plot and a backend, or
Marey.Html, which pulls in everything.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. 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. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- FSharp.Core (>= 8.0.100)
NuGet packages (13)
Showing the top 5 NuGet packages that depend on Marey.Core:
| Package | Downloads |
|---|---|
|
Marey.Units
SI, derived and common non-SI unit witnesses; Dim-driven symbol canonicalisation, prefix selection, and Unicode/ASCII/LaTeX/siunitx rendering. |
|
|
Marey.Plot
Themes, palettes, constraint layout, and the axis/legend compiler that turns figures into Scene IR. |
|
|
Marey.Backend.Svg
The reference backend. Pure F#, zero dependencies, doubles as the golden-image test oracle. |
|
|
Marey.Anim
Animation as a pure function of time: a seekable, composable Anim<'a> with a verified algebra, the easing catalogue, and arc-length path morphing. Depends only on Marey.Core. |
|
|
Marey.Backend.Tikz
TikZ/PGF backend. Emits a tikzpicture that inherits the host document's fonts and typesets siunitx units. Pure F#, zero dependencies. |
GitHub repositories
This package is not used by any popular GitHub repositories.