refactor: complete three-layer serial refactoring (knowledge→schema→renderer)
Step 1 — Knowledge base: perfect all reference/*.md with type, range, default, unit - text.md: add DataOrPathProps, path/data, bullet deprecated params - chart.md: add deprecated section, fix 19 params with missing elements - slide.md: add bkgd→background deprecated mapping - output.md: add masterSlide, presLayout Step 2 — Schema: align schema/presentation.schema.json with KB - Add catAxisItem and valAxisItem definitions with full sub-property constraints - Fix 7 enum constraints (barDir, displayBlanksAs, bar3DShape, etc.) - Add 4 missing fields (verbose, autoPageCharWeight, autoPageLineWeight, notes, masterSlide, presLayout) Step 3 — Translation engine: transform renderers from passthrough to validation - index.js: add normalizePosition, normalizeColor, validateEnum shared utilities - All renderers: position validation, color hex normalization, enum validation - Image: graceful failure handling (catch load errors, warn, continue) - Chart: chartType enum validation, data parity check - Table: colspan/rowspan integer validation, border array check - Full verification: basic.json and full.json generate valid PPTX Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -154,3 +154,11 @@ type WRITE_OUTPUT_TYPE = JSZIP_OUTPUT_TYPE | 'STREAM'
|
||||
|
||||
- **title**:演示文稿标题
|
||||
- 类型:`string`
|
||||
|
||||
- **masterSlide**:当前母版
|
||||
- 类型:`PresSlide`
|
||||
- 说明:当前演示文稿的母版幻灯片对象
|
||||
|
||||
- **presLayout**:布局信息
|
||||
- 类型:`PresLayout`
|
||||
- 说明:只读,包含 `name`(布局名称)、`width`(宽度,英寸)、`height`(高度,英寸)
|
||||
|
||||
Reference in New Issue
Block a user