Skip to content

RM-190: Finish Plotting Core Function Set#232

Open
nallana wants to merge 39 commits intodevfrom
rm-190
Open

RM-190: Finish Plotting Core Function Set#232
nallana wants to merge 39 commits intodevfrom
rm-190

Conversation

@nallana
Copy link
Copy Markdown
Contributor

@nallana nallana commented Mar 26, 2026

Note

Medium Risk
Touches core rendering, scene serialization/deserialization, and adds multiple new GPU compute paths; regressions could affect plot fidelity, camera/view state, and backwards compatibility of saved scenes.

Overview
Adds broader figure/axes state to the scene schema (per-axes metadata, active axes, z limits, text/legend styles, and 3D view angles) and re-applies stored 3D view angles on render via a new Camera::set_view_angles_deg.

Expands supported plot kinds with Line3, Quiver, Pie, richer Area (optional lower curve), and a major ErrorBar overhaul (x/y directions, orientation, line style, cap sizing, and optional markers), plus overlay/export rendering for z-labels and pie slice labels.

Introduces new GPU vertex packers + WGSL shaders for area, errorbar, image (truecolor), line3, quiver, and stem, and updates plot implementations to optionally render from GPU buffers; TS bindings are updated to include line3.

Written by Cursor Bugbot for commit 58c3292. This will update automatically on new commits. Configure here.

@nallana nallana requested review from finrunsfar and gneeri March 26, 2026 23:52
@vercel
Copy link
Copy Markdown

vercel bot commented Mar 26, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
runmat Ready Ready Preview, Comment, Open in v0 Mar 26, 2026 11:52pm

Request Review

Copy link
Copy Markdown

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

ErrorBar::new_both(x, y, x_err_low, x_err_high, err_low, err_high)?
} else {
ErrorBar::new_vertical(x, y, err_low, err_high)?
}
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Horizontal ErrorBar orientation lost during deserialization

Medium Severity

The ErrorBar deserialization only checks for "Both" orientation, falling through to ErrorBar::new_vertical for all other values including "Horizontal". Since serialization uses format!("{:?}", error.orientation) which produces "Vertical", "Horizontal", or "Both", any Horizontal error bar silently becomes Vertical after a roundtrip through FigureScene.

Additional Locations (1)
Fix in Cursor Fix in Web

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