Skip to content

chore: retire the old playground; there is one Playground - #201

Merged
mnaimfaizy merged 1 commit into
mainfrom
chore/retire-old-playground
Oct 11, 2026
Merged

mnaimfaizy merged 1 commit into
mainfrom
chore/retire-old-playground

Conversation

@mnaimfaizy

Copy link
Copy Markdown
Owner

Summary

Implements decision 5 of ADR 0004: there is exactly one Playground, at /playground.

  • Old playground removed. src/components/playground/ was a problem-and-tests shell that never ran the learner's code: Run, Test and Submit were timed mocks. It goes, with its hook, scoring, types, memory monitor and theme entry.
  • Big-O and Data Structures pages. The "Interactive Playground" section is removed from both pages, Sidebar.tsx and moduleNavigation.ts. The Introduction cards that pointed at it now open /playground in a new tab. An old ?section=playground link falls back to Introduction.
  • Problem set parked. src/data/problems.ts and the types it needs move, unchanged, to src/features/playground/exercises/ for the future Exercise feature. Nothing imports them yet.
  • RxJS. The stub code editor, which printed canned output, is deleted. What remains is renamed the marble diagram tool (src/components/rxjs/marble/MarbleDiagramTool.tsx), and its copy now says the result is simulated and no RxJS code is run. The sidebar label "Visualization Tool" is unchanged.
  • Quiz bank. bigo-q22, q23 and q27 referenced the removed section; they now reference "Practice Challenges". The scenarios of q22 and q23 no longer mention a playground. Ids and count (31) are unchanged.
  • Docs. The README no longer advertises the old playground and corrects several claims about the new one (shortcuts, lens names, console cap, theme scoping). The Playground developer guide uses the glossary's words.

Checks

  • npx tsc -b, npm run lint, npm run test:run (33 files, 340 tests) and npm run build pass.
  • In a browser: /bigo and /datastructures have no "Interactive Playground" sidebar entry and their cards link to /playground with target="_blank"; the RxJS "Visualization Tool" section renders the Marble Diagram Tool with no console errors. Clicking through the marble tool's operators was not tested.

Known, not fixed here

  • Marble diagram tool: skip, debounceTime and distinctUntilChanged are selectable but leave the stream unchanged; map and filter recognise only two expressions each; typing in the editor does not drive the input stream. These predate this PR.
  • Five data-structure visualizations keep a debugState prop that nothing passes now, and AppContext.tsx keeps an unread interactivePlayground flag.
  • Other modules still use the word "playground" for their own visualizations (Git "Visualization Playground", Next.js ComponentPlayground).
  • README: conflicting module counts and a project tree that lists files which do not exist.

🤖 Generated with Claude Code

ADR 0004, decision 5. The shell in src/components/playground never ran
the learner's code (Run, Test and Submit were timed mocks).

- Remove src/components/playground, its hook, scoring, types, memory
  monitor and theme entry (about 5,700 lines).
- Remove the "Interactive Playground" section from the Big-O and Data
  Structures pages, the sidebar and moduleNavigation. Their Introduction
  cards now open /playground in a new tab.
- Park the problem set and its types under
  src/features/playground/exercises for the Exercise feature; not wired in.
- RxJS: delete the stub code editor (canned output) and rename the rest
  to the marble diagram tool.
- Big-O quiz bank: three questions referenced the removed section.
- README and the Playground developer guide describe the one Playground.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@mnaimfaizy mnaimfaizy self-assigned this Oct 11, 2026
@mnaimfaizy
mnaimfaizy merged commit b8b152b into main Oct 11, 2026
9 checks passed
@mnaimfaizy
mnaimfaizy deleted the chore/retire-old-playground branch October 11, 2026 09:55
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