Skip to content

test(draft): combined WebGL + Mono 3D compatibility validation (#294 + #296) - #300

Draft
PawelTroka wants to merge 18 commits into
masterfrom
validation/pr294-pr296-combined-3d-20261027
Draft

PawelTroka wants to merge 18 commits into
masterfrom
validation/pr294-pr296-combined-3d-20261027

Conversation

@PawelTroka

@PawelTroka PawelTroka commented Oct 27, 2026 •

Copy link
Copy Markdown
Owner

Temporary cross-platform integration validation ONLY

This is an isolated, draft-only combined candidate to verify that the independently passing WebGL 3D and native Mono 3D workstreams can coexist. Do not merge this PR or either source PR without explicit owner approval.

Exact sources

  • feat(web): interactive f(x,y) 3D surface charts with numerical sampling and WebGL #294 Web head 9fc1b7949fab5dab4cd3ce04cfef2bf944511b01 — 21/21 CI workflows successful independently.
  • feat(mono): native interactive f(x,y) 3D surfaces in Linux WinForms #296 Mono original head 4769084a36af7983a152367bb619aeb10c7ffaa3 — 21/21 CI workflows independently successful. Its subsequent pan/export fix head db44d1d700c6133714bed0a913d71d0b69578a28 passed native X11 44/44 acceptance; full new-head matrix is separately checked.
  • Original combined merge commit 04492b3d6f0540ff0bf8623387f2eef2b9d2315e (two parents: both original heads), used for initial integrated CI.
  • Current candidate head e9dc7b8d6378dc66d564a36d4681db58659dda5e: adds the exact Mono pan fix and a cross-platform 33×33 grid acceptance fixture, with an additional merge parent of Mono fix db44d1d7. Both source PRs remain separate drafts.

Acceptance questions

  • Combined solution inventory, cross-target csproj compilation and exact Windows + Mono projects.
  • Windows real browser/API WebGL 3D, frontend tests, worker isolation, cancellation, export and numerical samples.
  • Native X11 3D, custom function evaluation, missing samples, point plotting, on-screen camera movement and export.
  • Preserve existing Windows WPF desktop and real/complex chart behavior.

Important limitations

A green source branch is not integrated evidence. The numerical implementations share the expression engine and weighted grid interpolation but use different rendering/cancellation mechanisms, so visual pixel identity is neither expected nor required. Sparse valid points without renderable triangles, extremely large interval spans, macOS GUI and standalone Linux/macOS API hosting require separately scoped decisions.

This PR is a validation artifact, not a merge request.

Numerical parity fixtures (current integration head)

Matched [-2,2] domains, 33 points/axis (Web gridSize=33, Mono Quality=20):

  • x*x+y*y: 1,089 finite values; corner 8, center 0; verify every grid coordinate and sampled vertex.
  • sin(x)*cos(y): 1,089 finite values; corner sin(-2)*cos(-2), center 0.
  • 1/(x-y): 1,056 finite vertices and exactly 33 missing diagonal vertices. Web asserts JSON null holes; Mono asserts native finite sample count.
  • Other preexisting tests cover real unsaved two-argument custom functions, 3D rotations/zoom, resizing, cancellation (Web), singular/all-invalid recovery, image export (both), on-screen X11 pointer gestures and point series (Mono).

The GitHub Actions workflow matrix started for this updated candidate is a new exact-head run: do not reuse completed original-branch or initial integration outcomes as its result. The source PRs and #300 must remain Draft/unmerged pending owner approval.

#296)

Source tree retains the exact file contents of both independently validated draft heads. This is for CI cross-platform acceptance only; do not merge without owner approval.
Scale viewport pan offsets in GetImage instead of resetting them. Capture native before/after right-button XTEST screenshots and enforce that the exported image retains the resulting pan.
…xtures

Assert matched native/Web sampling coordinates and heights for paraboloid and sin/cos, and exactly 33 missing diagonal points for 1/(x-y); carry forward real-X11 pan/export regression from #296.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant