Skip to content

feat: submission v2 — block screenshots, carousel, comment/return#446

Merged
takaokouji merged 3 commits into
developfrom
feature/classroom-submission-v2
Apr 4, 2026
Merged

feat: submission v2 — block screenshots, carousel, comment/return#446
takaokouji merged 3 commits into
developfrom
feature/classroom-submission-v2

Conversation

@takaokouji
Copy link
Copy Markdown

Summary

  • Block screenshots: capture code for all sprites with blocks on submission, overlay sprite costume icon on top-right
  • Image carousel: teacher can browse stage thumbnail + block screenshots with prev/next buttons
  • Comment + Return: teacher can add comments and return submissions (orange grid color + ↩ mark)
  • PATCH /submissions/{id} API endpoint for teacher comment and return status
  • Multiple screenshot upload via presigned URLs (screenshotCount param)
  • Reducer unit tests for submission status actions

Related Issue

Closes #442 (remaining items except ZIP download and file size enforcement)

Test plan

  • Backend unit tests pass (validateTeacherComment, validateScreenshotCount)
  • Frontend reducer tests pass (9 tests including 3 new submission tests)
  • npm run lint passes
  • Build succeeds
  • CDK deploy (stg + prod) for PATCH route + screenshot support
  • Playwright: student submits with blocks → teacher sees carousel with multiple images
  • Playwright: teacher adds comment + clicks return → grid shows orange ↩

🤖 Generated with Claude Code

…return

- Backend: PATCH /submissions/{id} for teacher comment + return status
- Backend: screenshotCount param in createSubmission for multiple presigned URLs
- Backend: listSubmissions returns screenshotUrls[], teacherComment
- Frontend: capture block screenshots for all sprites with blocks on submit
- Frontend: overlay sprite costume image on top-right of each screenshot
- Frontend: image carousel (prev/next) in teacher detail panel
- Frontend: comment textarea + return button in teacher detail panel
- Frontend: orange (#ff8c1a) + ↩ mark for returned submissions in seat grid
- Frontend: submit progress indicator during screenshot capture
- Reducer unit tests for SET_SUBMISSION_STATUS action
- Export renderSVGToCanvas from blocks-screenshot.js

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 4, 2026

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add renderBlocksToCanvas() to blocks-screenshot.js — renders sprite
  costume at top-left above blocks instead of overlaid on top-right
- Update downloadBlocksAsImage() to accept optional costumeDataUri
- Pass sprite costume from blocks.jsx to downloadBlocksAsImage()
- Simplify classroom submission to use renderBlocksToCanvas()
- Fix distorted sprite image by preserving aspect ratio

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@takaokouji takaokouji merged commit 982b51b into develop Apr 4, 2026
15 checks passed
@takaokouji takaokouji deleted the feature/classroom-submission-v2 branch April 4, 2026 16:38
github-actions Bot pushed a commit that referenced this pull request Apr 4, 2026
…room-submission-v2

feat: submission v2 — block screenshots, carousel, comment/return
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.

feat: クラスルーム機能 — 作品提出(.sb3 アップロード・提出一覧・サムネイル)

1 participant