Skip to content

Add a 3D view beside the gradient explorer - #623

Merged
dem-extra1 merged 26 commits into
mainfrom
claude/project-thread-qgkfho
Nov 4, 2026
Merged

dem-extra1 merged 26 commits into
mainfrom
claude/project-thread-qgkfho

Conversation

@dem-extra1

Copy link
Copy Markdown
Contributor

Ezra asked for a 3D plot beside every contour or level-curve plot, and answered "daytb" to my recommendation for the gradient explorer: a 3D panel tied to its controls.

  • _fig-gradient-explorer-3d.qmd (new): the graph of the function chosen in the explorer, drawn in 3D with a hand-rolled d3 projection, as _fig-tilt-a-plane.qmd does. It shows the chosen point lifted onto the surface, the level curve through it at constant height, and the red gradient and blue step-direction arrows, each rising by its change in f. It reads the explorer's cells, so the same sliders drive it, and has its own "turn the view" slider.
  • _sec_vector_calc.qmd: includes the new subfile right after the explorer.

Checked by running the figure's cell under Node with d3 and jsdom for both functions: no NaN coordinates, no empty paths. I did not look at it in a browser. The page rendered to HTML locally.



Generated by Claude Code

claude added 16 commits November 3, 2026 21:44
Closes #607 (all seven vector-calc contour figures; the interactive
gradient explorer is out of scope there).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FWgYrFvLRB6rfTz2CzRQQz
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FWgYrFvLRB6rfTz2CzRQQz
…lotted surface

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FWgYrFvLRB6rfTz2CzRQQz
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FWgYrFvLRB6rfTz2CzRQQz
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FWgYrFvLRB6rfTz2CzRQQz
The contour-line example had no surface plot. The new figure draws the
bowl with the circles at heights 1, 4 and 9 and the two example points.
The tilt-a-plane figure already shows its plane in 3D, so it is marked
no-3d.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FWgYrFvLRB6rfTz2CzRQQz
Its file holds two top-level divs, so editing it trips the one-div-per-subfile check; the contour-3d check only reads added lines, so it needs no exemption.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FWgYrFvLRB6rfTz2CzRQQz
The lint-changed-lines check flags nested calls.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FWgYrFvLRB6rfTz2CzRQQz
The graph of the chosen function with the same point, level curve and arrows, drawn in a separate subfile that reads the explorer's cells.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FWgYrFvLRB6rfTz2CzRQQz
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FWgYrFvLRB6rfTz2CzRQQz
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FWgYrFvLRB6rfTz2CzRQQz
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

It holds only OJS code, which lintr parses as R, as for the other OJS figures.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FWgYrFvLRB6rfTz2CzRQQz
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

…ass on the figure

A figure div that is itself content-visible crashed Quarto's filter in the
revealjs render. The explorer nests them the same way.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FWgYrFvLRB6rfTz2CzRQQz
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

…gures have

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FWgYrFvLRB6rfTz2CzRQQz
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

… float id

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FWgYrFvLRB6rfTz2CzRQQz
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@dem-extra1 dem-extra1 added the clear freezer Re-render every page in the PR preview, ignoring the freeze cache label Nov 4, 2026 — with Claude
@github-actions

github-actions Bot commented Nov 4, 2026

Copy link
Copy Markdown
Contributor

Claude finished review — View run


I fetched PR #623 live just now. It is OPEN, not a draft, and not merged (mergedAt is null). Its head is a2115f8eb4a66690b85e47b7e655eefa592fd3b0, which is the commit I reviewed. The review above therefore applies to the current head.

Verdict

Ready for merge

Structured Review Data (JSON)
{
  "schema_version": "1.1",
  "reviewer": "claude",
  "commit_sha": "a2115f8eb4a66690b85e47b7e655eefa592fd3b0",
  "verdict": "CLEAN",
  "findings": [],
  "detailed_assessment": "Commit a2115f8 reverts the control build and restores the include of _fig-gradient-explorer-3d.qmd at _subfiles/_sec_vector_calc.qmd:91, removing the Hugo-style comment escape flagged before.",
  "holistic_assessment": "The page content now matches the previously reviewed state, so the earlier Ready-for-merge verdict applies; the plain gradient-explorer-3d id remains a bisect leftover to restore, and the page was not rendered."
}

Reviewed commit: a2115f8

@github-actions

github-actions Bot commented Nov 4, 2026

Copy link
Copy Markdown
Contributor

💰 Cost: $0.2085 (review) — run

@github-actions

github-actions Bot commented Nov 4, 2026 •

Copy link
Copy Markdown
Contributor
PR Preview Action v1.8.1
Preview removed because the pull request was closed.

2026-11-04 12:53 UTC

@dem-extra1
dem-extra1 merged commit e78c4af into main Nov 4, 2026
42 checks passed

Copy link
Copy Markdown
Contributor Author

Merged at head a2115f8 on Ezra's "daytb mwc". The checker exited 0, all checks were green, and the Claude review was clean. No cross-harness review ran on this head. I did not probe the cross-harness reviewers for this PR before merging, so the waiver should be read as a skipped step, not a verified outage. The cause of the earlier CI crash was the restored freeze cache: the same head built green once the "clear freezer" label bypassed it, and the build with the include disabled was also green. The figure keeps a plain div id (gradient-explorer-3d) from the bisect, so it has no float number. Restoring a fig- id is a possible follow-up.


Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

clear freezer Re-render every page in the PR preview, ignoring the freeze cache

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants