feat(content): make the reach-saturation curve interactive (foundations-08)#13
Merged
Merged
Conversation
…ns-08)
foundations-08 ("Logarithms, growth, and decay") illustrated reach saturation
(R = Rmax(1 - e^(-kx))) with a static lineChart that was the section's only visual
and no interactive. Swap it for the live responseCurve so the learner drags spend
and watches each extra dollar buy less new reach -- the diminishing returns the
lesson teaches, made manipulable. The self-contained predict that follows is
unchanged. Validator green (5,271 checks).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Roadmap depth ("make it do, not read"), applied to the one clean static-chart conversion a full audit surfaced.
Change
foundations-08illustrated reach saturationR = Rmax(1 − e^(−kx))with a static lineChart that was the section's only visual. Swapped it for the liveresponseCurve— the learner now drags spend and watches each extra dollar buy less new reach (the diminishing returns the lesson teaches, made manipulable). The self-contained predict after it is unchanged../Scripts/test.sh→ 5,271 pass.Audit finding (why just one chart)
I audited all 164 static charts. The headline count overstates the opportunity:
budgetAllocator, dsp-07 →pacingController, dsp-03/foundations-05), load-bearing worked-example data the prose narrates (foundations-11's spend ladder), or pure-data benchmarks (CPM-by-format, ad-tech-tax donut) that a generic widget can't represent. Converting those would duplicate widgets or break the lesson.funnelExplorercan't reproduce — so most would be a specificity downgrade, not an upgrade.Recommendation: the static-chart lever is largely exhausted with this PR. Genuine further interactivity would mean new parameterized widgets (e.g., a funnel that accepts custom stages), which is engine work, not chart-swapping.
🤖 Generated with Claude Code