Skip to content

Learn: the tabs, skill and tutorial rows and Back run commands - #7450

Merged
bflatastic merged 7 commits into
storytold:mainfrom
dotCooCoo:fix/learn-panel-commands
Nov 14, 2026
Merged

bflatastic merged 7 commits into
storytold:mainfrom
dotCooCoo:fix/learn-panel-commands

Conversation

@dotCooCoo

@dotCooCoo dotCooCoo commented Nov 14, 2026 •

Copy link
Copy Markdown
Contributor

What and why

On the Learn panel, the For you and Skills tab buttons, a skill's row, a tutorial's row and Back changed the view directly, so the control channel and MCP could not choose a tab, open a skill's tutorials or go back. Each control now runs a command:

  • learn.tab {tab: forYou|skills} shows the panel on that tab. The Skills tab keeps the skill and tutorial it had open, as clicking the tab does. It returns {tab, skill, tutorial}. A tab button runs it when the panel shows the other tab; a click on the tab the panel already shows runs no command.
  • learn.skill {skill} shows the panel on the Skills tab with that skill's tutorials, and returns the skill as learn.list lists it.
  • learn.back {} goes up one level, from a tutorial's steps to its skill's tutorials and from a skill's tutorials to the list of skills. On the list of skills or the For you tab the view stays as it is.
  • A tutorial's row runs learn.show.

A missing, non-string or unknown tab or skill is an error and changes nothing. The new commands are in both UI command catalogs, their labels have a row in every catalog, and their errors reuse messages that every catalog already translates. docs/mcp.md describes them, and the Learn lines in docs/target-app-parity.md and docs/ui-parity.md name them.

How it was tested

New tests in crates/ui-egui/src/panels/learn/tests.rs, each shown failing with the three commands removed from the dispatch:

  • the_tabs_rows_and_back_run_their_commands: clicks each tab, a skill row, a tutorial row and Back with the panel hidden, and checks the view and that the panel shows, as the command does.
  • learn_tab_skill_and_back_move_the_view
  • learn_tab_and_learn_skill_reject_a_missing_or_unknown_value

a_click_on_the_shown_tab_runs_no_command clicks each tab twice and checks that the second click runs no command.

Commands run on dac3fe54d (with main at 676f0524c merged in):

  • cargo fmt --all -- --check: clean.
  • cargo clippy -p vectorcraft-ui-egui -p vectorcraft-mcp --all-targets -- -D warnings: clean.
  • cargo test -p vectorcraft-ui-egui --lib -- panels::learn i18n:: control:: menus::: 256 passed.
  • cargo test -p vectorcraft-mcp: 191 passed.

Checklist

  • cargo xtask ci passes (fmt, clippy, tests, assets, brands, layers, wasm).
  • No panics in shipped code: no unwrap(), expect(), panic!, unreachable!, todo! or
    unimplemented! outside tests, and no unchecked indexing on data from files, parameters or
    messages. Errors are returned as Result and shown to the user
    (why and how).
  • Clean-room: nothing copied from Adobe products or GPL/AGPL code (AGENTS.md).
  • Every new asset has a row in ASSETS.md.

The For you and Skills tab buttons, a skill's row, a tutorial's row and
Back changed the Learn panel's view directly, so the control channel and
MCP could not choose a tab, open a skill's tutorials or go back.

- learn.tab {tab: forYou|skills} shows the panel on that tab; the Skills
  tab keeps the skill and tutorial it had open.
- learn.skill {skill} shows the panel on the Skills tab with that skill's
  tutorials and returns the skill as learn.list lists it.
- learn.back {} goes up one level, as Back does.
- A tutorial's row runs learn.show.
- The commands are listed in both UI command catalogs, and their labels
  have a row in every catalog.
- Docs: docs/mcp.md, docs/target-app-parity.md, docs/ui-parity.md.
@coderabbitai

coderabbitai Bot commented Nov 14, 2026 •

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 11 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used all 10 included reviews currently available.

Learn how review limits work.

Review configuration:

Run configuration

Commits

Reviewing files that changed from the base of the PR and between 67f6d3a and e1da80a.

Files ignored due to path filters: 28

  • crates/ui-egui/src/i18n/bg.tsv is excluded by !**/*.tsv
  • crates/ui-egui/src/i18n/bs.tsv is excluded by !**/*.tsv
  • crates/ui-egui/src/i18n/ca.tsv is excluded by !**/*.tsv
  • crates/ui-egui/src/i18n/cs.tsv is excluded by !**/*.tsv
  • crates/ui-egui/src/i18n/da.tsv is excluded by !**/*.tsv
  • crates/ui-egui/src/i18n/de.tsv is excluded by !**/*.tsv
  • crates/ui-egui/src/i18n/el.tsv is excluded by !**/*.tsv
  • crates/ui-egui/src/i18n/es.tsv is excluded by !**/*.tsv
  • crates/ui-egui/src/i18n/fi.tsv is excluded by !**/*.tsv
  • crates/ui-egui/src/i18n/fr.tsv is excluded by !**/*.tsv
  • crates/ui-egui/src/i18n/gu.tsv is excluded by !**/*.tsv
  • crates/ui-egui/src/i18n/hi.tsv is excluded by !**/*.tsv
  • crates/ui-egui/src/i18n/hu.tsv is excluded by !**/*.tsv
  • crates/ui-egui/src/i18n/id.tsv is excluded by !**/*.tsv
  • crates/ui-egui/src/i18n/it.tsv is excluded by !**/*.tsv
  • crates/ui-egui/src/i18n/ja.tsv is excluded by !**/*.tsv
  • crates/ui-egui/src/i18n/ka.tsv is excluded by !**/*.tsv
  • crates/ui-egui/src/i18n/ko.tsv is excluded by !**/*.tsv
  • crates/ui-egui/src/i18n/nl.tsv is excluded by !**/*.tsv
  • crates/ui-egui/src/i18n/pl.tsv is excluded by !**/*.tsv
  • crates/ui-egui/src/i18n/pt-br.tsv is excluded by !**/*.tsv
  • crates/ui-egui/src/i18n/ru.tsv is excluded by !**/*.tsv
  • crates/ui-egui/src/i18n/sv.tsv is excluded by !**/*.tsv
  • crates/ui-egui/src/i18n/tr.tsv is excluded by !**/*.tsv
  • crates/ui-egui/src/i18n/uk.tsv is excluded by !**/*.tsv
  • crates/ui-egui/src/i18n/vi.tsv is excluded by !**/*.tsv
  • crates/ui-egui/src/i18n/zh-hans.tsv is excluded by !**/*.tsv
  • crates/ui-egui/src/i18n/zh-hant.tsv is excluded by !**/*.tsv
Files selected for processing: 7

  • crates/mcp/src/ui_catalog.rs
  • crates/ui-egui/src/menus/ui_commands.rs
  • crates/ui-egui/src/panels/learn.rs
  • crates/ui-egui/src/panels/learn/tests.rs
  • docs/mcp.md
  • docs/target-app-parity.md
  • docs/ui-parity.md
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

A click on the For you or Skills tab the panel already shows ran learn.tab
although the view did not change. The tab buttons now run it only for the
other tab.
The Gujarati catalog lists every menu and command label, and it had no
rows for Show Learn Tab, Show Skill and Back One Level. It now has them.

docs/mcp.md said the For you and Skills tab buttons run learn.tab. A tab
button runs it only when the panel shows the other tab, and the page now
says so.
@bflatastic
bflatastic merged commit b0470e9 into storytold:main Nov 14, 2026
7 checks passed
@bflatastic

Copy link
Copy Markdown
Member

Merged, thanks @dotCooCoo! It passed its CI checks.

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.

2 participants