Skip to content

finish plotlyjs 2.28 parity#502

Open
kMutagene wants to merge 7 commits into
devfrom
plotly2.28
Open

finish plotlyjs 2.28 parity#502
kMutagene wants to merge 7 commits into
devfrom
plotly2.28

Conversation

@kMutagene

Copy link
Copy Markdown
Collaborator

No description provided.

kMutagene and others added 7 commits April 16, 2026 19:31
…2.28.0)

Commit I — Sankey node align:
- Add `SankeyNodeAlign` StyleParam DU (Left/Right/Center/Justify)
- Add `?Align: StyleParam.SankeyNodeAlign` to `SankeyNodes.init`/`SankeyNodes.style`
- Add `?NodeAlign` to `Chart.Sankey` F# convenience overload
- Tests: 2 new assertions verifying `"align"` serializes correctly on the node object

Commit K — Sankey encoded node and link arrays:
- Add `?ColorEncoded`, `?CustomDataEncoded`, `?XEncoded`, `?YEncoded` to `SankeyNodes.init`/`SankeyNodes.style`
- Add `?SourceEncoded`, `?TargetEncoded`, `?ValueEncoded`, `?ColorEncoded`, `?CustomDataEncoded` to `SankeyLinks.init`/`SankeyLinks.style`
- Encoded params share the same plotly.js property key as their plain counterparts; encoded version wins when both are provided
- Tests: 9 new assertions verifying all node and link encoded fields serialize as `{"bdata":...}` objects
- Update PlotlyJS_2_28_Parity.md to reflect both commits as done (942 tests passing)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds encoded typed array convenience overloads to Plotly.NET.CSharp
for the most commonly used chart types, completing the H3 phase of
encoded array support:

Chart2D.cs:
- Chart.Scatter<TextType>(xEncoded, yEncoded, mode, ...)
- Chart.Bar<TextType,BaseType,WidthType>(valuesEncoded, ...)
- Chart.StackedBar<TextType,BaseType,WidthType>(valuesEncoded, ...)
- Chart.Column<TextType,BaseType,WidthType>(valuesEncoded, ...)
- Chart.StackedColumn<TextType,BaseType,WidthType>(valuesEncoded, ...)
- Chart.Heatmap<TextType>(zEncoded, ?xEncoded, ?yEncoded, ...)
- Chart.Histogram2D(xEncoded, yEncoded, ?zEncoded, ...)

Chart3D.cs:
- Chart.Scatter3D<TextType>(xEncoded, yEncoded, zEncoded, mode, ...)

Each overload delegates directly to the corresponding F# convenience
overload in the relevant Chart*_*.Chart module. Base/Width SRTP params
on Bar variants are exposed as generic type parameters BaseType/WidthType
to satisfy F# compiled IL requirements from C#.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…rloads (Commit L)

Adds `Chart.ParallelCoord(keyValuesEncoded = ...)` and
`Chart.ParallelCategories(keyValuesEncoded = ...)` convenience overloads
to ChartDomain_Relations.fs. Each overload maps `seq<string * EncodedTypedArray>`
pairs to `Dimension.initParallel(Label = key, ValuesEncoded = encodedVals)`,
delegating to the existing `dimensions` overload.

Tests: 2 new assertions verifying dimension values serialize as
`{"bdata":...}` encoded objects for both trace types.

Plan update: Commit L complete (944 tests passing), Commit M (C# surface)
marked done for foundational chart types.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…t N)

- Add docs/general/encoded-arrays.fsx: new General doc page covering
  EncodedTypedArray constructors, dtype table, and examples for
  Chart.Scatter, Chart.Bar, and Chart.Heatmap encoded overloads

- Update docs/categorical-charts/sankey.fsx: add NodeAlign section
  showing Chart.Sankey with StyleParam.SankeyNodeAlign.Left

- Update PlotlyJS_2_28_Parity.md: mark Virtual-WebGL as no surface
  needed (AdditionalHeadTags covers it), mark Commit N done,
  update test count to 944

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- docs/3D-charts/3d-isosurface-plots.fsx: Newtonsoft.JSON 13.0.1 → 13.0.3, DynamicObj 2.0.0 → 7.0.1
- docs/general/image-export.fsx: PuppeteerSharp 9.0.2 → 24.40.0

All docs now consistently reference DynamicObj 7.0.1, Newtonsoft.JSON 13.0.3,
Giraffe.ViewEngine 1.4.0, and PuppeteerSharp 24.40.0.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant