@kubohiroya/turbowarp-extension-data-editor 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/README.md +24 -3
  2. package/dist/build-info.json +7 -2
  3. package/dist/descendants.js +11 -2
  4. package/dist/index.d.ts +1 -0
  5. package/dist/json-value.d.ts +4 -0
  6. package/dist/json-value.js +12 -0
  7. package/dist/prepared-save.d.ts +5 -0
  8. package/dist/prepared-save.js +47 -0
  9. package/dist/prepared-types.d.ts +13 -0
  10. package/dist/prepared-types.js +1 -0
  11. package/dist/registry.d.ts +2 -0
  12. package/dist/registry.js +57 -45
  13. package/dist/rjsf.d.ts +25 -1
  14. package/dist/rjsf.js +70 -6
  15. package/dist/schema-compose.d.ts +6 -0
  16. package/dist/schema-compose.js +103 -0
  17. package/dist/schema-engine.d.ts +18 -0
  18. package/dist/schema-engine.js +298 -0
  19. package/dist/schema-json.d.ts +10 -0
  20. package/dist/schema-json.js +68 -0
  21. package/dist/schema-types.d.ts +161 -0
  22. package/dist/schema-types.js +2 -0
  23. package/dist/schema-view.d.ts +7 -0
  24. package/dist/schema-view.js +102 -0
  25. package/dist/schema.d.ts +8 -0
  26. package/dist/schema.js +86 -0
  27. package/dist/session.d.ts +1 -1
  28. package/dist/session.js +18 -5
  29. package/dist/source-document.d.ts +3 -0
  30. package/dist/source-document.js +415 -0
  31. package/dist/source-editor.d.ts +13 -0
  32. package/dist/source-editor.js +235 -0
  33. package/dist/source-schema-hints.d.ts +3 -0
  34. package/dist/source-schema-hints.js +13 -0
  35. package/dist/source-types.d.ts +47 -0
  36. package/dist/source-types.js +1 -0
  37. package/dist/source-view.d.ts +3 -0
  38. package/dist/source-view.js +318 -0
  39. package/dist/types.d.ts +2 -4
  40. package/dist/webpack4/index.js +4 -2
  41. package/dist/webpack4/metafile.json +9551 -8644
  42. package/dist/webpack4/react.js +2 -1
  43. package/dist/webpack4/react.js.map +1 -1
  44. package/dist/webpack4/rjsf.js +15014 -20975
  45. package/dist/webpack4/rjsf.js.map +4 -4
  46. package/dist/webpack4/schema.js +17 -0
  47. package/dist/webpack4/schema.js.map +7 -0
  48. package/dist/webpack4/shared-BKTRZUZH.js +42 -0
  49. package/dist/webpack4/{shared-KIFRVTSM.js.map → shared-BKTRZUZH.js.map} +1 -1
  50. package/dist/webpack4/shared-KQOUMWJ4.js +8490 -0
  51. package/dist/webpack4/shared-KQOUMWJ4.js.map +7 -0
  52. package/dist/webpack4/shared-MRPGBJIH.js +75 -0
  53. package/dist/webpack4/shared-MRPGBJIH.js.map +7 -0
  54. package/dist/webpack4/{shared-WHOAW2VF.js → shared-N6YQE2X6.js} +116 -44
  55. package/dist/webpack4/shared-N6YQE2X6.js.map +7 -0
  56. package/dist/webpack4/{shared-KIFRVTSM.js → shared-RN7GOT65.js} +2 -41
  57. package/dist/webpack4/shared-RN7GOT65.js.map +7 -0
  58. package/dist/webpack4/turbowarp.js +4 -2
  59. package/dist/webpack4/turbowarp.js.map +1 -1
  60. package/docs/README.md +1 -0
  61. package/docs/block-editor-e2e.md +98 -16
  62. package/docs/ci-success-gate.md +84 -0
  63. package/docs/editor/issue-12-public-validation/README.md +61 -0
  64. package/docs/editor/issue-12-public-validation/dark-invalid.png +0 -0
  65. package/docs/editor/issue-12-public-validation/dark-styles.json +173 -0
  66. package/docs/editor/issue-12-public-validation/dark-valid.png +0 -0
  67. package/docs/editor/issue-12-public-validation/deployment-target.json +5 -0
  68. package/docs/editor/issue-12-public-validation/deployment-wait.json +7 -0
  69. package/docs/editor/issue-12-public-validation/light-invalid.png +0 -0
  70. package/docs/editor/issue-12-public-validation/light-styles.json +173 -0
  71. package/docs/editor/issue-12-public-validation/light-valid.png +0 -0
  72. package/docs/editor/issue-12-public-validation/provenance.json +88 -0
  73. package/docs/editor/issue-12-public-validation/results.json +677 -0
  74. package/docs/editor/issue-12-public-validation/summary.json +206 -0
  75. package/docs/github-pages.md +48 -41
  76. package/docs/package-distribution.md +2 -2
  77. package/docs/schema-stage1-browser.json +10 -0
  78. package/docs/schema-stage1-contracts.json +242 -0
  79. package/docs/schema-stage1-dependencies.json +202 -0
  80. package/docs/schema-stage1-git-artifact-20261018.ja.md +17 -0
  81. package/docs/schema-stage1-profile-compat.json +30 -0
  82. package/docs/schema-stage1-review-fixes-20261018.ja.md +36 -0
  83. package/docs/schema-stage1-verification.json +541 -0
  84. package/docs/schema-stage1.ja.md +80 -0
  85. package/docs/schema.md +43 -0
  86. package/docs/source-forms.ja.md +19 -0
  87. package/docs/stage-2-publication.ja.md +29 -0
  88. package/docs/template-fixture-separation.ja.md +43 -0
  89. package/package.json +11 -3
  90. package/webpack4.cjs +1 -1
  91. package/dist/webpack4/shared-WHOAW2VF.js.map +0 -7
@@ -0,0 +1,206 @@
1
+ {
2
+ "status": "passed",
3
+ "plannedTests": 6,
4
+ "recordedTests": 6,
5
+ "byTheme": {
6
+ "light": {
7
+ "total": 1,
8
+ "passed": 1,
9
+ "failed": 0,
10
+ "skipped": 0
11
+ },
12
+ "dark": {
13
+ "total": 1,
14
+ "passed": 1,
15
+ "failed": 0,
16
+ "skipped": 0
17
+ }
18
+ },
19
+ "platform": "linux 6.17.0-1022-azure",
20
+ "results": [
21
+ {
22
+ "title": "専用エディターの検証・保存・キャンセルと実sb3の保存/再読込",
23
+ "project": "chromium-file-input",
24
+ "status": "passed",
25
+ "retry": 0,
26
+ "duration": 8765,
27
+ "baseURL": "https://kubohiroya.github.io/scratch-gui/",
28
+ "browser": "156.0.8078.4",
29
+ "platform": "linux 6.17.0-1022-azure",
30
+ "nativeOSPicker": "not-run",
31
+ "stage": "completed",
32
+ "expectedGUI": "4222d70005a59540dc454cf689668b1a9daa351e",
33
+ "expectedCore": "9e041e5278a1ea70146a76c10732d1401955a12a",
34
+ "configuredReloadRoute": "file-input/filechooser",
35
+ "userAgent": "Mozilla/5.0 (Linux; Android 14; Pixel 7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/156.0.8078.4 Mobile Safari/537.36",
36
+ "before": {
37
+ "repository": "https://github.com/kubohiroya/scratch-gui",
38
+ "revision": "4222d70005a59540dc454cf689668b1a9daa351e",
39
+ "coreRepository": "https://github.com/kubohiroya/turbowarp-extension-data-editor",
40
+ "coreRevision": "9e041e5278a1ea70146a76c10732d1401955a12a"
41
+ },
42
+ "after": {
43
+ "repository": "https://github.com/kubohiroya/scratch-gui",
44
+ "revision": "4222d70005a59540dc454cf689668b1a9daa351e",
45
+ "coreRepository": "https://github.com/kubohiroya/turbowarp-extension-data-editor",
46
+ "coreRevision": "9e041e5278a1ea70146a76c10732d1401955a12a"
47
+ },
48
+ "failureCategory": null,
49
+ "error": ""
50
+ },
51
+ {
52
+ "title": "通常起動では専用エディターが既定OFF",
53
+ "project": "chromium-file-input",
54
+ "status": "passed",
55
+ "retry": 0,
56
+ "duration": 3389,
57
+ "baseURL": "https://kubohiroya.github.io/scratch-gui/",
58
+ "browser": "156.0.8078.4",
59
+ "platform": "linux 6.17.0-1022-azure",
60
+ "nativeOSPicker": "not-run",
61
+ "stage": "default-off",
62
+ "expectedGUI": "4222d70005a59540dc454cf689668b1a9daa351e",
63
+ "expectedCore": "9e041e5278a1ea70146a76c10732d1401955a12a",
64
+ "configuredReloadRoute": "file-input/filechooser",
65
+ "userAgent": "Mozilla/5.0 (Linux; Android 14; Pixel 7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/156.0.8078.4 Mobile Safari/537.36",
66
+ "before": {
67
+ "repository": "https://github.com/kubohiroya/scratch-gui",
68
+ "revision": "4222d70005a59540dc454cf689668b1a9daa351e",
69
+ "coreRepository": "https://github.com/kubohiroya/turbowarp-extension-data-editor",
70
+ "coreRevision": "9e041e5278a1ea70146a76c10732d1401955a12a"
71
+ },
72
+ "after": {
73
+ "repository": "https://github.com/kubohiroya/scratch-gui",
74
+ "revision": "4222d70005a59540dc454cf689668b1a9daa351e",
75
+ "coreRepository": "https://github.com/kubohiroya/turbowarp-extension-data-editor",
76
+ "coreRevision": "9e041e5278a1ea70146a76c10732d1401955a12a"
77
+ },
78
+ "failureCategory": null,
79
+ "error": ""
80
+ },
81
+ {
82
+ "title": "専用エディターの検証・保存・キャンセルと実sb3の保存/再読込",
83
+ "project": "chromium-project-url",
84
+ "status": "passed",
85
+ "retry": 0,
86
+ "duration": 8881,
87
+ "baseURL": "https://kubohiroya.github.io/scratch-gui/",
88
+ "browser": "156.0.8078.4",
89
+ "platform": "linux 6.17.0-1022-azure",
90
+ "nativeOSPicker": "not-run",
91
+ "stage": "completed",
92
+ "expectedGUI": "4222d70005a59540dc454cf689668b1a9daa351e",
93
+ "expectedCore": "9e041e5278a1ea70146a76c10732d1401955a12a",
94
+ "configuredReloadRoute": "project_url",
95
+ "userAgent": "browser-default",
96
+ "before": {
97
+ "repository": "https://github.com/kubohiroya/scratch-gui",
98
+ "revision": "4222d70005a59540dc454cf689668b1a9daa351e",
99
+ "coreRepository": "https://github.com/kubohiroya/turbowarp-extension-data-editor",
100
+ "coreRevision": "9e041e5278a1ea70146a76c10732d1401955a12a"
101
+ },
102
+ "after": {
103
+ "repository": "https://github.com/kubohiroya/scratch-gui",
104
+ "revision": "4222d70005a59540dc454cf689668b1a9daa351e",
105
+ "coreRepository": "https://github.com/kubohiroya/turbowarp-extension-data-editor",
106
+ "coreRevision": "9e041e5278a1ea70146a76c10732d1401955a12a"
107
+ },
108
+ "failureCategory": null,
109
+ "error": ""
110
+ },
111
+ {
112
+ "title": "通常起動では専用エディターが既定OFF",
113
+ "project": "chromium-project-url",
114
+ "status": "passed",
115
+ "retry": 0,
116
+ "duration": 3273,
117
+ "baseURL": "https://kubohiroya.github.io/scratch-gui/",
118
+ "browser": "156.0.8078.4",
119
+ "platform": "linux 6.17.0-1022-azure",
120
+ "nativeOSPicker": "not-run",
121
+ "stage": "default-off",
122
+ "expectedGUI": "4222d70005a59540dc454cf689668b1a9daa351e",
123
+ "expectedCore": "9e041e5278a1ea70146a76c10732d1401955a12a",
124
+ "configuredReloadRoute": "project_url",
125
+ "userAgent": "browser-default",
126
+ "before": {
127
+ "repository": "https://github.com/kubohiroya/scratch-gui",
128
+ "revision": "4222d70005a59540dc454cf689668b1a9daa351e",
129
+ "coreRepository": "https://github.com/kubohiroya/turbowarp-extension-data-editor",
130
+ "coreRevision": "9e041e5278a1ea70146a76c10732d1401955a12a"
131
+ },
132
+ "after": {
133
+ "repository": "https://github.com/kubohiroya/scratch-gui",
134
+ "revision": "4222d70005a59540dc454cf689668b1a9daa351e",
135
+ "coreRepository": "https://github.com/kubohiroya/turbowarp-extension-data-editor",
136
+ "coreRevision": "9e041e5278a1ea70146a76c10732d1401955a12a"
137
+ },
138
+ "failureCategory": null,
139
+ "error": ""
140
+ },
141
+ {
142
+ "title": "invalid表示と修正後の解除・ブロック色の保持 (light)",
143
+ "project": "chromium-project-url",
144
+ "status": "passed",
145
+ "retry": 0,
146
+ "duration": 13661,
147
+ "theme": "light",
148
+ "scenario": "invalid-theme",
149
+ "baseURL": "https://kubohiroya.github.io/scratch-gui/",
150
+ "browser": "156.0.8078.4",
151
+ "platform": "linux 6.17.0-1022-azure",
152
+ "nativeOSPicker": "not-run",
153
+ "stage": "completed",
154
+ "expectedGUI": "4222d70005a59540dc454cf689668b1a9daa351e",
155
+ "expectedCore": "9e041e5278a1ea70146a76c10732d1401955a12a",
156
+ "configuredReloadRoute": "project_url",
157
+ "userAgent": "browser-default",
158
+ "before": {
159
+ "repository": "https://github.com/kubohiroya/scratch-gui",
160
+ "revision": "4222d70005a59540dc454cf689668b1a9daa351e",
161
+ "coreRepository": "https://github.com/kubohiroya/turbowarp-extension-data-editor",
162
+ "coreRevision": "9e041e5278a1ea70146a76c10732d1401955a12a"
163
+ },
164
+ "after": {
165
+ "repository": "https://github.com/kubohiroya/scratch-gui",
166
+ "revision": "4222d70005a59540dc454cf689668b1a9daa351e",
167
+ "coreRepository": "https://github.com/kubohiroya/turbowarp-extension-data-editor",
168
+ "coreRevision": "9e041e5278a1ea70146a76c10732d1401955a12a"
169
+ },
170
+ "failureCategory": null,
171
+ "error": ""
172
+ },
173
+ {
174
+ "title": "invalid表示と修正後の解除・ブロック色の保持 (dark)",
175
+ "project": "chromium-project-url",
176
+ "status": "passed",
177
+ "retry": 0,
178
+ "duration": 13818,
179
+ "theme": "dark",
180
+ "scenario": "invalid-theme",
181
+ "baseURL": "https://kubohiroya.github.io/scratch-gui/",
182
+ "browser": "156.0.8078.4",
183
+ "platform": "linux 6.17.0-1022-azure",
184
+ "nativeOSPicker": "not-run",
185
+ "stage": "completed",
186
+ "expectedGUI": "4222d70005a59540dc454cf689668b1a9daa351e",
187
+ "expectedCore": "9e041e5278a1ea70146a76c10732d1401955a12a",
188
+ "configuredReloadRoute": "project_url",
189
+ "userAgent": "browser-default",
190
+ "before": {
191
+ "repository": "https://github.com/kubohiroya/scratch-gui",
192
+ "revision": "4222d70005a59540dc454cf689668b1a9daa351e",
193
+ "coreRepository": "https://github.com/kubohiroya/turbowarp-extension-data-editor",
194
+ "coreRevision": "9e041e5278a1ea70146a76c10732d1401955a12a"
195
+ },
196
+ "after": {
197
+ "repository": "https://github.com/kubohiroya/scratch-gui",
198
+ "revision": "4222d70005a59540dc454cf689668b1a9daa351e",
199
+ "coreRepository": "https://github.com/kubohiroya/turbowarp-extension-data-editor",
200
+ "coreRevision": "9e041e5278a1ea70146a76c10732d1401955a12a"
201
+ },
202
+ "failureCategory": null,
203
+ "error": ""
204
+ }
205
+ ]
206
+ }
@@ -1,57 +1,64 @@
1
1
  # GitHub Pages 公開
2
2
 
3
- 対象: [scratch-gui Issue #4](https://github.com/kubohiroya/scratch-gui/issues/4)。
4
- この文書の `.github/`・`scripts/`・`site/`・`build/` とGUI用コマンドはscratch-guiのルートを基準とします。
5
- 開発の統合先は `develop`、Pages の公開ソースは `feat/site/github-pages` です。
6
- 公開ブランチの YAML 互換・初版受け入れ修正・Pages 配信機構を `develop` に統合しています。
7
- Pages の自動配信は公開ソース branch の push で実行します。`develop` の変更を配信する際は、公開ソースへ反映した上で同じ workflow を使います。
3
+ 公開と運用の正本は共通リポジトリです。[運用Issue #26](https://github.com/kubohiroya/turbowarp-extension-data-editor/issues/26) を使用します。
4
+ GUIフォークにはエディターAPIへの接続を置き、サイト・公開用ビルド・Pages・公開E2E起動は共通側が所有します。
8
5
 
9
- ## 公開物
6
+ ## 公開物と固定ソース
10
7
 
11
- - 入口: `https://kubohiroya.github.io/scratch-gui/`
12
- - 日本語: `/scratch-gui/ja/`、英語: `/scratch-gui/en/`
13
- - 拡張版: `/scratch-gui/editor.html?blockEditorDialogs=1`
14
- - 通常版: `/scratch-gui/editor.html`。機能フラグの既定 OFF は維持。
15
- - `build-info.json` に GUI と共通 API のリポジトリ・完全 SHA を記録。公開ソースへのリンクと GPL の LICENSE を同梱。
8
+ - 入口: https://kubohiroya.github.io/turbowarp-extension-data-editor/
9
+ - 日本語 `/ja/`、英語 `/en/`、拡張版 `editor.html?blockEditorDialogs=1`、通常版 `editor.html`。
10
+ - `site/source.json` にGUIのrepository/完全SHAと、GUI lockfileで取得するnpm配布物のcore完全SHAを固定します。
11
+ - `build-info.json` の `revision` はGUI SHA、`coreRevision` は実配布物のcore SHA、`siteRevision` はサイト生成・公開を所有する共通SHAです。3つを混同しません。
12
+ - 移行は公開配置だけを変更し、既存npm製品版の差替えや未公開Schema機能の導入は行いません。新しい製品版へ切替えるときはGUI lockfileとcore pinを合わせます。
16
13
 
17
- GitHub Pages は静的配信であり、HTTP Accept-Language をサーバーで交渉する機能は使いません。
18
- 入口の JS は保存した手動選択、navigator.languages の優先順、英語フォールバックの順で日英を選びます。
19
- 各言語は HTML の実体を持ち、言語切替リンクと JavaScript 無効時の入口を提供します。
20
- エディターの `lang` は既存の言語設定機構へ渡します。エディターで保存した言語設定は上流の優先順位に従います。
14
+ 日英の実HTML、言語の手動選択とnavigator.languages、Octocatリンク、本家TurboWarp/Scratchへのクレジットと独自拡張の説明を維持します。
15
+ Pagesは静的配信のため、サーバーのAccept-Language交渉は使いません。フラグ `blockEditorDialogs` は既定OFFです。
16
+ GUIのGPL LICENSEを取得したGUIソースから同梱し、GUIとcoreの公開ソースへの完全SHAリンクを残します。
21
17
 
22
- サンプルは案内ページで同梱のコードをコピーし、カスタム拡張の「テキスト」へ貼り付け、サンドボックスなしで実行することをユーザーが選択します。
23
- URL の直接読込は上流が未信頼URLに sandbox を強制するため、このサンプルには使いません。コピーできない環境ではソースのテキスト欄を表示します。
24
- セキュリティマネージャーの信頼するURLや権限確認は変更しません。
18
+ ## ビルド
25
19
 
26
- ## ビルドと依存
27
-
28
- 共通APIの固定SHAはscratch-guiの `.github/workflows/pages.yml` のcheckout設定で管理します。通常CIと公開版E2Eも同じ完全SHAへ揃えます。[webpack設定API](webpack4.md)と[共通E2E・CI手順](block-editor-e2e.md)を参照してください。
29
- `build:pages` はインストールされた共通APIの `/build-info` から公開元の完全SHAを取得し、`build-info.json` と日英クレジットのソースリンクに使います。依存先にGit checkoutは不要です。metadataが欠落・不正な場合は失敗させ、GUIのSHAを代用しません。
30
- Actionsは検証手順を所有する共通リポジトリを別途checkoutし、pnpm 11.18.0とNode 22で検証します。GUIはnpm配布物を利用し、そのmetadataのSHAとworkflowの固定SHAが一致することを確認します。
31
- GUI は npm ci、既存のアセット生成、限定テストの後に `npm run build:pages` を実行します。
20
+ 共通ルートで実行します。GUI checkoutは `site/source.json` の完全SHAへ合わせ、依存と上流生成資材を準備します。
32
21
 
33
22
  ```sh
34
- ROOT=/scratch-gui/ npm run build:pages
23
+ pnpm install --frozen-lockfile
24
+ cd /absolute/path/scratch-gui
25
+ npm ci --ignore-scripts --no-audit --no-fund
26
+ node scripts/prepublish.mjs
27
+ cd /absolute/path/turbowarp-extension-data-editor
28
+ E2E_GUI_ROOT=/absolute/path/scratch-gui node scripts/site/build.mjs
35
29
  ```
36
30
 
37
- このコマンドは生成物 `build/` を作り直し、production のアプリだけをビルドします。UMD ライブラリ配布物 `dist/` は公開しません。
38
- 通常プレイヤーは `player.html` に残し、`index.html` は日英振り分けの入口です。
39
- `site/` の日英文面と共通CSS、`scripts/generate-pages.mjs` が案内HTMLを生成します。
40
- Node の旧 OpenSSL 互換設定はビルドスクリプト内で webpack 4 に限定して渡します。
31
+ 公開用設定は `scripts/site/webpack.config.cjs` がGUIのブラウザ用設定を選択します。
32
+ `build/` はGUI checkoutの作業領域に生成しますが、GUIへコミットしません。
33
+ 案内HTML・言語選択・CSS・公開metadata・favicon選択は共通側の処理です。
34
+
35
+ ## 公開と検証
36
+
37
+ 共通mainへのpushとmainからの `workflow_dispatch` だけが公開対象です。
38
+ GitHub PagesのsourceはActions、github-pages環境はmain branchだけを許可します。
39
+
40
+ ```sh
41
+ gh workflow run pages.yml --repo kubohiroya/turbowarp-extension-data-editor --ref main
42
+ ```
41
43
 
42
- ## 検証と公開
44
+ build前とdeploy直前に共通mainの鮮度、固定GUI SHAのdevelop push CI全体の最新attempt成功を確認します。
45
+ GUI CIは公開APIで読み取り、他repoへのtokenやwriteは不要です。実行中・失敗・確認不能なら公開を止めます。
46
+ GUI CIの確認は短い上限で失敗するため、未完了だった場合は成功後に新しい公開runを起動します。
47
+ さらに共通側の同一site SHAの通常CI全体成功を既存ゲートで待ち、最新attemptの失敗・実行中で古い成功を採用しません。
48
+ buildとCIゲートの両方が成功したときだけdeployへ進み、鮮度を再確認します。
49
+ 公開jobだけがPages:write/id-token:writeを持ちます。最新attemptテストや公開E2Eへ渡しません。
43
50
 
44
- `npm run test:pages` で優先言語・保存選択・フォールバック、日英 HTML のクレジット、GUI・共通 API のソース SHA の一致と不正 SHA の拒否、フラグ opt-in / 通常版のリンクとサブパスを確認します。
45
- `npm run test:block-editor` と共通 API テストを実行し、公開URLでもモーダル・検証・保存・キャンセルを確認します。
46
- サブパスで確認するときは、親ディレクトリに `scratch-gui` として build を置き、静的HTTPサーバーで配信します。
51
+ 公開前と公開後に既存E2E6件を実行します。GUI/core/siteの期待SHAはソースのpinから決め、配信された値を自己採用しません。
52
+ 専用エディター起動・validation・保存・cancel・実sb3の書出し/再読込・明暗テーマを検証します。
53
+ 必要時の手動公開版E2Eは共通 `site-public.yml` が起動します。定期起動は設定しません。
54
+ OSネイティブファイル選択は対話可能なmacOSで行う既存手順を維持し、Linux CI成功で代替しません。
47
55
 
48
- `.github/workflows/pages.yml` は公開ソース branch の push と手動実行を入口にします。
49
- GitHub Pages の配信元は GitHub Actions。公開 job だけが `pages: write` と `id-token: write` を持ちます。
50
- 検証対象は今回の公開経路と変更部分です。この公開は実験版で、安定版リリースのフル検証を完了したものではありません。
56
+ ## 移行とロールバック
51
57
 
52
- ## ロールバック
58
+ 新サイトの公開と公開版E2Eが成功してから、GUI側のサイト資材・公開workflowを撤去します。
59
+ 旧 `https://kubohiroya.github.io/scratch-gui/` の既存配信は移行中に維持し、公開workflow撤去後は凍結した旧版として扱います。
60
+ 旧URLから新URLへの自動redirectを実現したとは扱いません。旧URLの廃止・redirect公開は別の明示判断で行います。
53
61
 
54
- 公開物の切戻しは、公開ソースの直前の正常コミットへ戻すコミットを作り、同じ workflow で再デプロイします。
55
- 公開を取り消す場合は GitHub Pages の unpublish を実施します。
56
- 拡張 UI だけを外す場合は `blockEditorDialogs=1` なしの通常版を使用します。保存済み JSON は通常引数に残ります。
57
- 本番の既定フラグを ON に変更する前には、回帰結果とロールバックを別タスクで確認します。
62
+ 新サイト不具合は共通mainのGUI/core pinを前の検証済み値へ戻し、通常CIとゲート経由で再公開します。
63
+ 失敗時にゲートを解除しません。公開を止める場合は共通pages workflowを無効化します。
64
+ GUIのコードと既定OFFの機能フラグ、sb3保存形式には公開配置による変更を加えません。
@@ -7,9 +7,9 @@
7
7
  リポジトリは `kubohiroya/turbowarp-extension-data-editor`、npm名は `@kubohiroya/turbowarp-extension-data-editor`。初回実験版は `0.1.0`。
8
8
  旧 `turbowarp-block-editor` からの改名であり、ブロック定義ではなく拡張が扱う構造化データの編集を提供する。
9
9
 
10
- 公開入口はroot、`/rjsf`、`/react`、`/react/styles.css`、`/turbowarp`、`/webpack4`、`/build-info`。
10
+ 公開入口はroot、`/rjsf`、`/react`、`/react/styles.css`、`/turbowarp`、`/webpack4`、`/build-info`、`/schema`の8つ。`/schema`はDOM・React不要のpure入口です。
11
11
  既存の型・関数・`Scratch.gui.blockEditors`・起動時固定で既定OFFの機能フラグは維持する。
12
- importと依存のキーだけを新npm名へ移し、GUIの`file:`依存を公開versionの完全固定へ変更する。
12
+ importと依存のキーだけを新npm名へ移し、GUIの`file:`依存を公開versionまたは検証済みGit完全SHAへ固定する。
13
13
 
14
14
  ## ソースの追跡
15
15
 
@@ -0,0 +1,10 @@
1
+ {
2
+ "platform": "browser",
3
+ "consumer": "fusion-pose2d",
4
+ "version": 2,
5
+ "result": "valid",
6
+ "globalAccesses": 0,
7
+ "imports": 367,
8
+ "forbiddenImports": [],
9
+ "bundleBytes": 719822
10
+ }
@@ -0,0 +1,242 @@
1
+ {
2
+ "contracts": 16,
3
+ "packageCount": 9,
4
+ "sourceImports": false,
5
+ "results": [
6
+ {
7
+ "contract": "aframe-template",
8
+ "identity": {
9
+ "ownerId": "turbowarp-aframe",
10
+ "contractId": "aframe-template",
11
+ "revision": "parser-v0.7.0",
12
+ "variantId": "template-json"
13
+ },
14
+ "dialect": "2020-12",
15
+ "resourceCount": 1,
16
+ "valid": true,
17
+ "invalidRejected": true,
18
+ "inputUnchanged": true
19
+ },
20
+ {
21
+ "contract": "scene-document",
22
+ "identity": {
23
+ "ownerId": "turbowarp-scene-graph",
24
+ "contractId": "scene-document",
25
+ "revision": "parser-v0.2.0-ar0.3.0",
26
+ "variantId": "bare"
27
+ },
28
+ "dialect": "2020-12",
29
+ "resourceCount": 3,
30
+ "valid": true,
31
+ "invalidRejected": true,
32
+ "inputUnchanged": true
33
+ },
34
+ {
35
+ "contract": "camera-profile",
36
+ "identity": {
37
+ "ownerId": "turbowarp-camera-source",
38
+ "contractId": "camera-profile",
39
+ "revision": "profile-v0.16.0",
40
+ "variantId": "twcs"
41
+ },
42
+ "dialect": "2020-12",
43
+ "resourceCount": 1,
44
+ "valid": true,
45
+ "invalidRejected": true,
46
+ "inputUnchanged": true
47
+ },
48
+ {
49
+ "contract": "calibration-profile",
50
+ "identity": {
51
+ "ownerId": "turbowarp-camera-calibration",
52
+ "contractId": "calibration-profile",
53
+ "revision": "parser-v0.14.0",
54
+ "variantId": "camerasource"
55
+ },
56
+ "dialect": "2020-12",
57
+ "resourceCount": 1,
58
+ "valid": true,
59
+ "invalidRejected": true,
60
+ "inputUnchanged": true
61
+ },
62
+ {
63
+ "contract": "motion-calibration",
64
+ "identity": {
65
+ "ownerId": "turbowarp-realtime-motion-capture",
66
+ "contractId": "motion-calibration",
67
+ "revision": "typebox-v0.7.0",
68
+ "variantId": "v1"
69
+ },
70
+ "dialect": "draft-07",
71
+ "resourceCount": 1,
72
+ "valid": true,
73
+ "invalidRejected": true,
74
+ "inputUnchanged": true
75
+ },
76
+ {
77
+ "contract": "pose2d",
78
+ "identity": {
79
+ "ownerId": "turbowarp-realtime-motion-capture",
80
+ "contractId": "pose2d",
81
+ "revision": "typebox-v0.7.0",
82
+ "variantId": "v1"
83
+ },
84
+ "dialect": "draft-07",
85
+ "resourceCount": 1,
86
+ "valid": true,
87
+ "invalidRejected": true,
88
+ "inputUnchanged": true
89
+ },
90
+ {
91
+ "contract": "pose2d-v2",
92
+ "identity": {
93
+ "ownerId": "turbowarp-realtime-motion-capture",
94
+ "contractId": "pose2d-v2",
95
+ "revision": "typebox-v0.7.0",
96
+ "variantId": "v2"
97
+ },
98
+ "dialect": "draft-07",
99
+ "resourceCount": 1,
100
+ "valid": true,
101
+ "invalidRejected": true,
102
+ "inputUnchanged": true
103
+ },
104
+ {
105
+ "contract": "pose3d",
106
+ "identity": {
107
+ "ownerId": "turbowarp-realtime-motion-capture",
108
+ "contractId": "pose3d",
109
+ "revision": "typebox-v0.7.0",
110
+ "variantId": "v1"
111
+ },
112
+ "dialect": "draft-07",
113
+ "resourceCount": 1,
114
+ "valid": true,
115
+ "invalidRejected": true,
116
+ "inputUnchanged": true
117
+ },
118
+ {
119
+ "contract": "performance-dsl",
120
+ "identity": {
121
+ "ownerId": "turbowarp-realtime-motion-capture",
122
+ "contractId": "performance-dsl",
123
+ "revision": "typebox-v0.7.0",
124
+ "variantId": "v1"
125
+ },
126
+ "dialect": "draft-07",
127
+ "resourceCount": 1,
128
+ "valid": true,
129
+ "invalidRejected": true,
130
+ "inputUnchanged": true
131
+ },
132
+ {
133
+ "contract": "protocol-union",
134
+ "identity": {
135
+ "ownerId": "turbowarp-realtime-motion-capture",
136
+ "contractId": "protocol-union",
137
+ "revision": "typebox-v0.7.0",
138
+ "variantId": "fixed-union"
139
+ },
140
+ "dialect": "draft-07",
141
+ "resourceCount": 7,
142
+ "valid": true,
143
+ "invalidRejected": true,
144
+ "inputUnchanged": true
145
+ },
146
+ {
147
+ "contract": "pose2d-union",
148
+ "identity": {
149
+ "ownerId": "turbowarp-realtime-motion-capture",
150
+ "contractId": "pose2d-union",
151
+ "revision": "typebox-v0.7.0",
152
+ "variantId": "fixed-union"
153
+ },
154
+ "dialect": "draft-07",
155
+ "resourceCount": 3,
156
+ "valid": true,
157
+ "invalidRejected": true,
158
+ "inputUnchanged": true
159
+ },
160
+ {
161
+ "contract": "motion-calibration-import",
162
+ "identity": {
163
+ "ownerId": "turbowarp-realtime-motion-capture",
164
+ "contractId": "motion-calibration-import",
165
+ "revision": "delegate-off-v0.7.0-on-source-v0.16.0",
166
+ "variantId": "delegate-off-legacy"
167
+ },
168
+ "dialect": "draft-07",
169
+ "resourceCount": 1,
170
+ "valid": true,
171
+ "invalidRejected": true,
172
+ "inputUnchanged": true
173
+ },
174
+ {
175
+ "contract": "placement-reference",
176
+ "identity": {
177
+ "ownerId": "turbowarp-time-space-sync",
178
+ "contractId": "placement-reference",
179
+ "revision": "spec-v0.2.0",
180
+ "variantId": "v1-json"
181
+ },
182
+ "dialect": "2020-12",
183
+ "resourceCount": 1,
184
+ "valid": true,
185
+ "invalidRejected": true,
186
+ "inputUnchanged": true
187
+ },
188
+ {
189
+ "contract": "placement-observation",
190
+ "identity": {
191
+ "ownerId": "turbowarp-time-space-sync",
192
+ "contractId": "placement-observation",
193
+ "revision": "spec-v0.2.0",
194
+ "variantId": "v1-json"
195
+ },
196
+ "dialect": "2020-12",
197
+ "resourceCount": 1,
198
+ "valid": true,
199
+ "invalidRejected": true,
200
+ "inputUnchanged": true
201
+ },
202
+ {
203
+ "contract": "scene-example",
204
+ "identity": {
205
+ "ownerId": "turbowarp-extension-template",
206
+ "contractId": "scene-example",
207
+ "revision": "schema-v0.4.0",
208
+ "variantId": "json"
209
+ },
210
+ "dialect": "draft-07",
211
+ "resourceCount": 1,
212
+ "valid": true,
213
+ "invalidRejected": true,
214
+ "inputUnchanged": true
215
+ },
216
+ {
217
+ "contract": "note-example",
218
+ "identity": {
219
+ "ownerId": "turbowarp-extension-template",
220
+ "contractId": "note-example",
221
+ "revision": "schema-v0.4.0",
222
+ "variantId": "yaml"
223
+ },
224
+ "dialect": "draft-07",
225
+ "resourceCount": 1,
226
+ "valid": true,
227
+ "invalidRejected": true,
228
+ "inputUnchanged": true
229
+ }
230
+ ],
231
+ "reviewRegressions": {
232
+ "legacyRosKeyCompatibility": true,
233
+ "calibrationDiagnosticVariants": [
234
+ "camerasource",
235
+ "legacy",
236
+ "twcs",
237
+ "ros"
238
+ ],
239
+ "malformedSourceContextGetterReads": 0,
240
+ "emptySceneContextFree": true
241
+ }
242
+ }