|
15 | 15 |
|
16 | 16 | ### 直近の限定作業 |
17 | 17 |
|
| 18 | +- 再開ポイント: |
| 19 | + - ここまでで `dependency.xml` の report directory / report bundle ZIP / monthly SVG ZIP は Node upstream と byte-level parity 済み |
| 20 | + - ここまでで WBS XLSX / SVG / report ZIP 系の大きな簡略化は潰し、`mvn package` と opt-in Node parity が通っている |
| 21 | + - 次に再開するなら、report 系より `projectxlsx` の残差分を優先する |
| 22 | + - 具体的には `ProjectXlsxExport*` の editable cell styling、sheet theme、Project sheet の Settings section / merged range を upstream TypeScript と照合して実装へ反映する |
| 23 | + - その次の候補は `projectpatchjson` の warning / blocker details を upstream と構造比較すること |
18 | 24 | - [x] 残作業を新規機能追加ではなく、既存範囲の確認 / docs 整理 / upstream 差分確認へ絞る |
19 | 25 | - [x] `README.md`, `docs/remaining-migration-items.md`, `docs/upstream-class-mapping.md`, `docs/upstream-followup-log.md`, `docs/msprojectxml-import-design.md` の現在フェーズ表現を揃える |
20 | 26 | - [ ] Agent Skills 側で `project_draft_view` 生成時に `planned_start` / `planned_finish` を入れる前提になっているか確認する |
|
28 | 34 | - [x] `exportWorkbook(...)` が実 Excel OOXML zip ではなく独自 `mikuproject_xlsx_workbook_v1` 形式を返している問題を修正し、主要導線を OOXML ZIP へ切り替える |
29 | 35 | - `exportWorkbookArchive(...)` / `importWorkbookArchive(...)` はあるが、report / CLI / Core API の主要導線から使われていない |
30 | 36 | - [x] upstream の `dataValidations` と style descriptor の主要部を Java 側の OOXML build / parse に反映する |
31 | | - - `formula`, `freezePane` はまだ Java 側 model / OOXML build / parse に十分反映されていない |
| 37 | + - [x] `formula`, `freezePane` を Java 側 model / OOXML build / parse に反映する |
32 | 38 | - 優先度 A: `projectxlsx` |
33 | | - - `ProjectXlsxExport*` が upstream の列幅、merged range、data validation、editable cell styling、boolean option sheet、sheet theme を大きく省略している |
| 39 | + - [x] `ProjectXlsxExport*` の列幅、boolean data validation、boolean option sheet を upstream 寄りに補強する |
| 40 | + - `ProjectXlsxExport*` の editable cell styling、sheet theme、Project sheet の Settings section / merged range はまだ薄い |
34 | 41 | - import 側も upstream の workbook validation / editable cell 前提とズレがないか、fixture round-trip だけでなく sheet 構造で確認する |
35 | 42 | - 優先度 A: `wbsxlsx` |
36 | 43 | - [x] WBS workbook の主要導線が独自 workbook bytes を出しており、`wbs.xlsx` というファイル名と実体が合っていない問題を修正する |
37 | 44 | - [x] upstream 相当の row height、hidden columns、style、date band cell、progress band、summary / legend へ寄せる |
38 | | - - `freeze` と byte-level の worksheet XML serialization / package XML までは未一致 |
| 45 | + - [x] `dependency.xml` の Node parity で `wbs.xlsx` の OOXML ZIP / worksheet XML / styles XML / workbook XML が byte-level 一致するところまで寄せる |
| 46 | + - `freeze` / `formula` は Java 側 model / OOXML build / parse へ反映済み。WBS workbook 自体は現時点でこれらを使っていない |
39 | 47 | - 優先度 B: `wbssvg` |
40 | | - - 日付軸 / 月次カレンダー / style / bar 形状は修正を進めたが、label placement、viewport trim、dependency connector routing はまだ TypeScript 版より薄い |
| 48 | + - [x] `dependency.xml` の Node parity で `daily.svg` / `weekly.svg` / `monthly-calendar/*.svg` が byte-level 一致するところまで寄せる |
| 49 | + - 週次 SVG は viewport trim / label placement / dependency connector routing の主要部を Java 側へ反映済み |
41 | 50 | - daily / weekly / monthly について、見た目の目視だけでなく class / shape / path 構造比較テストを追加する |
42 | 51 | - 優先度 B: `projectpatchjson` |
43 | 52 | - `first cut` 制限自体は upstream 由来だが、Java 側の warning 詳細や参照 blocker が薄くなりやすい |
|
61 | 70 | - [x] `.xlsx` の主要導線を独自 `mikuproject_xlsx_workbook_v1` 出力から OOXML ZIP 出力へ切り替える |
62 | 71 | - [x] `styles.xml` を固定 2 スタイルから upstream 相当の動的 style book 生成へ寄せる |
63 | 72 | - [x] `wbs.xlsx` の worksheet model を upstream 相当の project info / task rows / legend / summary / progress band へ寄せる |
64 | | - - [ ] `.xlsx` の worksheet XML / styles XML / workbook XML の byte-level parity を entry 単位で確認する |
65 | | - - 現状: `dependency.xml` の opt-in Node parity は `wbs.md` まで一致し、`wbs.xlsx` で停止する |
66 | | - - 残差分: worksheet XML の空白 / `xml:space` / empty cell serialization、package XML の entry 順と整形、timestamp 行、`formula` / `freezePane` |
| 73 | + - [x] `.xlsx` の worksheet XML / styles XML / workbook XML の byte-level parity を entry 単位で確認する |
| 74 | + - 現状: `dependency.xml` の opt-in Node parity は report directory 出力一式で一致する |
| 75 | + - [x] `dependency.xml` の opt-in Node parity で report bundle ZIP / monthly SVG ZIP の byte-level parity を確認する |
| 76 | + - `CoreApiReport` の bundle entry 順も upstream と同じ `wbs.xlsx`, `wbs.md`, `mermaid.mmd`, `daily.svg`, `weekly.svg`, `monthly-calendar/*.svg` に揃える |
| 77 | + - 残差分: Project XLSX 側の editable styling / sheet theme / Settings section などの workbook layout 差分は継続する |
67 | 78 | - parity が難しい場合の例外は、差分理由を固定値、entry 順、JSON key order、XML serialization、数値丸め、locale / timezone、CLI diagnostics のどれかへ分類し、正規化比較へ逃げる箇所を TODO ではなく明示的な仕様として記録する |
68 | 79 | - [ ] report 生成物全体の品質を再点検する |
69 | 80 | - SVG の日付軸 / 月次カレンダーが簡略実装へ退化していたため、同じ report 系の XLSX / ZIP / directory export も信用しすぎない |
| 81 | + - [x] `dependency.xml` の report directory 出力で、SVG / XLSX / MD / MMD の Node 版 byte-level parity を確認する |
| 82 | + - [x] `dependency.xml` の report bundle ZIP / monthly SVG ZIP 出力で Node 版 byte-level parity を確認する |
70 | 83 | - SVG は既存 TypeScript 版に寄せ、title 位置、style class、bar / milestone / phase の形状、dependency connector、weekly meta、monthly calendar の見た目を構造比較する |
71 | 84 | - `export-report-dir`, `export-report-bundle`, `export-monthly-svg-zip`, `export-wbs-xlsx` を同一 fixture で出力し、entry 名、0 バイト有無、主要シート / 主要セル / SVG 構造を確認する |
72 | 85 | - `wbs.xlsx` と standalone `export-wbs-xlsx` の内容が同等か確認する |
|
77 | 90 | - [ ] XLSX / OOXML 系の簡略実装を upstream 相当へ戻す |
78 | 91 | - [x] `CoreApiReport` の `wbs.xlsx` entry と `export-wbs-xlsx` が `XlsxWorkbookCodec.exportWorkbook(...)` の独自 `mikuproject_xlsx_workbook_v1` 形式を出しており、実 Excel workbook zip ではない問題を修正する |
79 | 92 | - [x] `XlsxWorkbookCodec.exportWorkbookArchive(...)` / `importWorkbookArchive(...)` を report / CLI の主要導線から使う |
80 | | - - `XlsxSheetLike` に upstream の `freezePane` がなく、`XlsxCellLike` に upstream の `formula` がない |
| 93 | + - [x] `XlsxSheetLike` に upstream の `freezePane`、`XlsxCellLike` に upstream の `formula` を追加する |
81 | 94 | - [x] `ExcelIoWorksheetBuild` が `dataValidations` を OOXML へ出していない問題を修正する |
82 | | - - `ExcelIoWorksheetBuild` が `freezePane` を OOXML へ出していない |
| 95 | + - [x] `ExcelIoWorksheetBuild` / parse が `freezePane` と formula cell を OOXML へ出し入れできるようにする |
83 | 96 | - [x] `ExcelIoStylesBuild` が実際の `fillColor` / alignment / number format / wrap / border の組み合わせを十分に反映せず、ほぼ固定 style へ潰している問題を修正する |
84 | | - - `ProjectXlsxExport*` が upstream の列幅、merged range、data validation、editable cell styling、boolean option sheet などを大きく省略している |
| 97 | + - `ProjectXlsxExport*` は列幅、boolean data validation、boolean option sheet を補強済み。editable cell styling、sheet theme、Project sheet の Settings section / merged range は継続 |
85 | 98 | - テストは byte size / decode だけでなく、zip entry、worksheet XML、styles XML、data validation、freeze pane、主要セル style を確認する |
86 | 99 |
|
87 | 100 | ### 今週 |
|
0 commit comments