JS Playground: Swap Files panel with Variables/Console column + persist #135

Closed
opened 2026-05-13 15:51:33 +00:00 by spikerj · 1 comment
Owner

Goal

Let users swap the Files side of the layout with the area that holds Variables and Console (i.e. alternate which stack lives on which side or primary column), matching common IDE patterns.

UX / behavior

  • Provide a clear action (e.g. View → Swap panes once the new menu exists, or a temporary control until then) that toggles between two layout arrangements:
    • Default: files in current position vs. variables/console in current position.
    • Swapped: files and variables/console exchange placement.
  • Persist swap preference in localStorage alongside splitter sizes (same storage story as the CDK slider ticket).
  • Ensure Start debugging / run and editor focus still target the correct sources after swap (relate to any bugs where stale lesson/sandbox model is used).

Acceptance criteria

  • One action reliably toggles file column vs variables+console column placement.
  • Preference survives reload.
  • No broken bindings to lesson vs sandbox content after layout change.

Related

  • Pairs with CDK resizable panes ticket for splitter persistence.
  • Top menu ticket exposes View → Swap panes.
## Goal Let users **swap** the **Files** side of the layout with the area that holds **Variables** and **Console** (i.e. alternate which stack lives on which side or primary column), matching common IDE patterns. ## UX / behavior - Provide a clear action (e.g. **View → Swap panes** once the new menu exists, or a temporary control until then) that **toggles** between two layout arrangements: - Default: files in current position vs. variables/console in current position. - Swapped: files and variables/console **exchange** placement. - Persist swap preference in **`localStorage`** alongside splitter sizes (same storage story as the CDK slider ticket). - Ensure **Start debugging / run** and **editor focus** still target the correct sources after swap (relate to any bugs where stale lesson/sandbox model is used). ## Acceptance criteria - [ ] One action reliably toggles file column vs variables+console column placement. - [ ] Preference survives reload. - [ ] No broken bindings to lesson vs sandbox content after layout change. ## Related - Pairs with **CDK resizable panes** ticket for splitter persistence. - **Top menu** ticket exposes **View → Swap panes**.
Author
Owner

Closing as superseded. The JavaScript playground was rebuilt on the shared LanguageRunner (libraries/platform/language-runner) + dev-tools-javascript-runner rather than the bespoke layout described here (swap Files panel with the Variables/Console column + persist). Panel composition is now governed by the shared shell across all language playgrounds, so this JS-specific column-swap/persist design no longer maps to the current architecture. If the swap/persist behaviour is still wanted, it should be re-scoped against the shared LanguageRunner as a new ticket.

Closing as **superseded**. The JavaScript playground was rebuilt on the shared `LanguageRunner` (`libraries/platform/language-runner`) + `dev-tools-javascript-runner` rather than the bespoke layout described here (swap Files panel with the Variables/Console column + persist). Panel composition is now governed by the shared shell across all language playgrounds, so this JS-specific column-swap/persist design no longer maps to the current architecture. If the swap/persist behaviour is still wanted, it should be re-scoped against the shared `LanguageRunner` as a new ticket.
Sign in to join this conversation.