Skip to content

feat(content): make the reach-saturation curve interactive (foundations-08)#13

Merged
scumunna merged 1 commit into
mainfrom
feat/interactive-saturation-curve
Jun 24, 2026
Merged

feat(content): make the reach-saturation curve interactive (foundations-08)#13
scumunna merged 1 commit into
mainfrom
feat/interactive-saturation-curve

Conversation

@scumunna

Copy link
Copy Markdown
Owner

Roadmap depth ("make it do, not read"), applied to the one clean static-chart conversion a full audit surfaced.

Change

foundations-08 illustrated reach saturation R = Rmax(1 − e^(−kx)) with a static lineChart that was the section's only visual. Swapped it for the live responseCurve — 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:

  • Role tracks are already mature. Most static charts are intentional lead-ins to an interactive the lesson already has later (planning-07 → 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.
  • foundations-08 was the lone clean win — a generic saturation curve with no specific labeled data to lose.
  • Verticals hold ~33 modeled-relationship charts (funnels, pacing/flighting, reach), but they carry vertical-specific labeled stages (e.g., "VDP views → leads → test-drives → titled sales") that a generic funnelExplorer can'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

…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>
@scumunna scumunna merged commit a5c776b into main Jun 24, 2026
1 check passed
@scumunna scumunna deleted the feat/interactive-saturation-curve branch June 24, 2026 17:15
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