Skip to content

fix: remove Scratch tutorials for trademark compliance#9

Merged
takaokouji merged 4 commits into
developfrom
fix/remove-tutorials
Jan 23, 2026
Merged

fix: remove Scratch tutorials for trademark compliance#9
takaokouji merged 4 commits into
developfrom
fix/remove-tutorials

Conversation

@takaokouji
Copy link
Copy Markdown

Summary

Removed all Scratch-branded tutorial content from smalruby3-editor to comply with Scratch Foundation's trademark policy. Tutorial content included Scratch and Scratch Cat images that are not permitted for use in derivative works.

Changes Made

Components Removed

  • Cards component (src/components/cards/)
  • TipsLibrary container (src/containers/tips-library.jsx)
  • Tutorial deck files (1400+ assets across 12+ languages)

State Management Updates

  • Removed cards reducer and state
  • Removed initTutorialCard function from gui reducer
  • Removed MODAL_TIPS_LIBRARY from modals reducer
  • Removed activateDeck action from exported reducers

UI Updates

  • Removed tutorial button from menu bar
  • Removed Cards and TipsLibrary rendering from GUI component
  • Updated library component to define CATEGORIES locally
  • Converted query-parser HOC to no-op (tutorial URL params no longer supported)

Dependencies

  • Added graphql package for Mesh V2 extension compatibility

Tests

  • Removed 4 tutorial-related test files:
    • test/unit/components/cards.test.jsx
    • test/unit/util/translate-video.test.js
    • test/unit/util/tutorial-from-url.test.js
    • test/unit/components/__snapshots__/cards.test.jsx.snap

Test Coverage

Build: All webpack compilations successful (build:dev, build:dist, build:dist-standalone)
Unit Tests: 69 test suites passed, 705 tests passed
Trademark Compliance: All Scratch-branded tutorial content removed

Implementation Details

This change mirrors the tutorial removal from smalruby3-gui (commit 85aa2e300) to maintain consistency across the codebase. The removal was necessary because:

  1. Tutorial content contained Scratch and Scratch Cat images
  2. Scratch Foundation's TRADEMARK policy prohibits use of these images in derivative works
  3. Smalruby is a derivative work of Scratch and must comply with trademark restrictions

Related

  • Reference: smalruby3-gui commit 85aa2e300
  • Trademark policy: Scratch Foundation TRADEMARK file

🤖 Generated with Claude Code

takaokouji and others added 4 commits January 23, 2026 19:36
Tutorial content included Scratch and Scratch Cat images as specified
in the Scratch Foundation TRADEMARK file, which are not permitted for
use in derivative works under their trademark policy.

Changes:
- Removed Cards component and TipsLibrary container
- Removed tutorial deck files (1400+ assets across 12+ languages)
- Removed tutorial-related reducers and state management
- Updated menu bar to remove tutorial menu item
- Updated GUI component to remove Cards and TipsLibrary rendering
- Removed tutorial URL query parameter handling
- Added graphql dependency for Mesh V2 compatibility
- Removed 4 tutorial-related test files

All builds pass and 69 test suites pass successfully.

This change mirrors the tutorial removal from smalruby3-gui
(commit 85aa2e300) to maintain trademark compliance.

🤖 Generated with [Claude Code](https://claude.ai/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Fixed runtime error caused by referencing deleted reducers in mapStateToProps:
- Removed cardsVisible reference to deleted cards reducer
- Removed tipsLibraryVisible reference to deleted modal state

This completes the tutorial removal changes.

Error: Cannot read properties of undefined (reading 'visible')
at mapStateToProps (gui.jsx:167:1)

🤖 Generated with [Claude Code](https://claude.ai/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Added monaco-editor@0.55.1 to dependencies to resolve:
- Module not found error for 'monaco-editor/esm/nls.messages.ja.js'
- Failed to load Monaco Japanese locale error in ruby-tab

This enables Japanese UI localization for the Ruby code editor (Monaco Editor).
The version matches the CDN version configured in monaco-i18n-helper.js.

🤖 Generated with [Claude Code](https://claude.ai/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Replaced static/favicon.ico with the Smalruby-branded version from
smalruby3-gui to complete the branding update.

The original Scratch favicon was still present in the codebase.
This change aligns with the branding updates made in PR #8.

🤖 Generated with [Claude Code](https://claude.ai/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@takaokouji takaokouji merged commit daa486f into develop Jan 23, 2026
@takaokouji takaokouji deleted the fix/remove-tutorials branch January 23, 2026 11:26
takaokouji pushed a commit that referenced this pull request Mar 8, 2026
takaokouji pushed a commit that referenced this pull request Mar 8, 2026
takaokouji added a commit that referenced this pull request Apr 17, 2026
Rename smalrubyRuby_stringMethodR → smalrubyRuby_methodR and
smalrubyRuby_stringMethodC → smalrubyRuby_methodC to support
methods on all receiver types (string, array, hash).

New REPORTER methods: lines, max, sort, join, keys, values
New COMMAND methods: sort!, reverse!

Add automatic migration for old project files (stringMethodR/C
opcodes are replaced with methodR/C on load, unconditionally).

Refs #524 (Phase 1 #4-#9)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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