Repository navigation
Phase 1: 基盤の刷新と不具合修正 - #1
Merged
Merged
Conversation
docs/REQUIREMENTS.md: requirements for the refactor and feature work. _config.yml: exclude development docs from GitHub Pages. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Use <script type="py" config="./pyscript.toml"> and pinned core.js/core.css. openpyxl 3.1.5 and et_xmlfile 2.0.0 are installed from PyPI via micropip. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Python 3.14, pandas 3.0.2, matplotlib 3.10.8, numpy 2.4.3, openpyxl 3.1.5. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Suppression is unchanged. Each suppression point (JS error/unhandledrejection/
console.error handlers and the Python except blocks) now emits
console.warn("[mplgui] suppressed parentNode error:", where, message).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
index.html is now markup only. JS becomes ES modules under js/ (functions the Python side calls are exposed on window), Python moves to py/main.py plus a DOM-free mplgui package (loader, runner, fonts) mapped via pyscript.toml [files]. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
__init__.py is listed under include (Jekyll skips underscore files); dev-only files are excluded. pytest runs tests/unit by default with py/ on pythonpath. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Delete the JS window error/unhandledrejection/console.error handlers, the success fallback in notify, and the Python parentNode branches. Unexpected errors now always surface as an error status with details. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
JS: defaults.js, state.js (single source of truth), bridge.js (JSON calls, debounced scheduling), ui/* bind inputs to the state and render payloads. Python: errors, settings (schema v1, Japanese validation), plotting (transitional create_figure), api (JSON in/out); loader/runner/fonts are pure. py/main.py only registers window.mplgui. Unit tests added. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…an test Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…, show file name and encoding Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…lure Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ings chosen during startup Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Decide the encoding on raw bytes, then parse decoded text. Japanese errors for parser/empty/xlsx/delimiter failures. Add euc_jp.csv fixture and make multi_sheet.xlsx generation deterministic. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…h UserWarning only) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…overy Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Abort the font download when no headers or no new bytes arrive for FONT_STALL_MS (counts as a failure: one warning, no retry). The first render waits at most FONT_FIRST_RENDER_WAIT_MS for the font, then renders with fallback fonts and re-renders once when the font becomes ready. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Drop the PlaceHolderLayoutEngine left by tight_layout() before savefig; real engines are kept. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
packages_cache=passthrough with only Pyodide-bundled packages; openpyxl and et_xmlfile are installed from version-pinned wheel URLs via loadPackage the first time an .xlsx is loaded, with a progress message and a Japanese error on failure. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…erving E2E server gains E2E_BASE_PATH so the app is served under /matplotlib_gui/ like GitHub Pages; the E2E job builds the site with jekyll-build-pages. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Add onerror handlers on the module script tags (js/main.js, PyScript core.js) that show a Japanese error in #status and #progress instead of staying on "loading". Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
REQUIREMENTS 2.1/A9: suppression removed in Phase 1 with the owner's approval. REQUIREMENTS 8 and PERFORMANCE.md: Phase 1 measurements are the new baseline; the remaining warm-start gap is accepted as runtime cost. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
docs/REQUIREMENTS.md 9章の Phase 1(F1–F6、A1–A7、A9–A11、B5–B7)を実装しました。A8 と Phase 2 以降には手を付けていません。
基盤(F1–F6)
<script type="py">とpyscript.tomlに移行しました。index.htmlを要件 4.1 の構成(css/、js/、py/main.py、py/mplgui/)に分割しました。Jekyll は_で始まるファイルを配信しないので、__init__.pyを_config.ymlのincludeに加えています。version: 1)に集約しました。Python は DOM を読まず、JSON を受け取って JSON を返します。settings、loader、plotting、runnerなどは純粋なモジュールです。plotting.pyは Phase 2 で codegen に置き換える前提の暫定実装です。_siteを/matplotlib_gui/配下で配信して行います。docs/PERFORMANCE.mdに記録しました。不具合の修正
その他
確認方法
uv run pytestuv run pytest tests/e2eE2E_BASE_PATH=/matplotlib_gui/ uv run pytest tests/e2e🤖 Generated with Claude Code