Add Masyu Solver Chrome Extension (WASM/Python)#73
Add Masyu Solver Chrome Extension (WASM/Python)#73google-labs-jules[bot] wants to merge 3 commits intodevelopfrom
Conversation
- Created `ChromeExtensions/Masyu/` structure. - Implemented `solver_logic.py` as a pure Python solver (Constraint Propagation + Backtracking) to replace the OR-Tools based solver for browser compatibility. - Added `manifest.json`, `popup.html`, `popup.js`, and `content.js`. - Configured Pyodide to load and run the solver in the extension popup. - Added scraping logic to `content.js` based on `GridPuzzleMasyuGridProvider`. - Added logic to apply the solution to the canvas grid.
|
👋 Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with For security, I will only act on instructions from the user who triggered this task. New to Jules? Learn more at jules.google/docs. |
Qodana Community for Python126 new problems were found
☁️ View the detailed Qodana report Contact Qodana teamContact us at qodana-support@jetbrains.com
|
- Created `ChromeExtensions/Masyu/` structure. - Implemented `solver_logic.py` as a pure Python solver (Constraint Propagation + Backtracking) to replace the OR-Tools based solver for browser compatibility. - Added `manifest.json`, `popup.html`, `popup.js`, and `content.js`. - Downloaded and bundled Pyodide locally in `ChromeExtensions/Masyu/lib/` to comply with Manifest V3 CSP. - Configured Pyodide to load from local resources in `popup.js`. - Added scraping logic to `content.js` based on `GridPuzzleMasyuGridProvider`. - Added logic to apply the solution to the canvas grid.
- Created `ChromeExtensions/Masyu/` structure. - Implemented `solver_logic.py` as a pure Python solver (Constraint Propagation + Backtracking) to replace the OR-Tools based solver for browser compatibility. - Added `manifest.json`, `popup.html`, `popup.js`, and `content.js`. - Downloaded and bundled Pyodide locally in `ChromeExtensions/Masyu/lib/` to comply with Manifest V3 CSP. - Configured Pyodide to load from local resources in `popup.js`. - Added scraping logic to `content.js` based on `GridPuzzleMasyuGridProvider`. - Added logic to apply the solution to the canvas grid. - Generated a valid 16x16 PNG for `icon.png` to fix manifest loading error.
This PR adds a Chrome Extension to solve Masyu puzzles on
gridpuzzle.com.The extension leverages WebAssembly (WASM) via Pyodide to run a custom Python solver directly in the browser.
Key changes:
solver_logic.py) using constraint propagation and backtracking, asortoolsis not compatible with standard Pyodide distributions.gplvariables and simulates clicks on the canvas to apply the solution.activeTab,scripting,wasm-unsafe-eval).Note: The original
MasyuSolver(using OR-Tools) was preserved in the main codebase, while the extension uses the lightweightsolver_logic.py.PR created automatically by Jules for task 246911397604775007 started by @newtomsoft