data/js-template/12/meta.yaml (28 lines of code) (raw):
metadata:
scenario_id: 12
scenario_name: vanilla_to_react
category: solution_migration
repository: piano_native_js
evaluation_steps:
completeness:
- Verify the application contains a button container with "Notes" and "Letters" buttons.
- Verify the application renders piano keys for both natural and sharp notes.
- Verify clicking on a piano key plays the correct sound and highlights the key.
- Verify releasing the mouse button or moving the cursor out of the key stops the sound and removes the highlight.
- Verify pressing and releasing keyboard keys play and stop the corresponding piano notes.
- Verify clicking the "Notes" button displays note names on the keys.
- Verify clicking the "Letters" button displays letter names on the keys.
- Verify the fullscreen button toggles fullscreen mode for the application.
- Verify the application correctly handles simultaneous multiple key presses.
accuracy:
- Ensure the application does not contain unused imports or code.
- Ensure the codebase is structured and follows React best practices (state, hooks, effects).
- Ensure the application is free of memory leaks and unnecessary re-renders.
- Ensure the application is compatible with the latest version of React and TypeScript.
- Verify the application works correctly across modern browsers.
- Ensure the application is free of console errors and warnings.
- Verify that the new React app initializes successfully without errors.
- Verify that the codebase does not contain any TODOs.
- Ensure the application has the same DOM tree structure and classes as in the original application.
- Verify the application UI matches the original HTML structure visually.
- Verify the application handles rapid sequential key presses without audio overlap issues.