@cyber-dash-tech/revela 0.18.11 → 0.18.13

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.
package/README.md CHANGED
@@ -2,39 +2,24 @@
2
2
 
3
3
  **English** | [中文](README.zh-CN.md)
4
4
 
5
- [![npm version](https://img.shields.io/npm/v/@cyber-dash-tech/revela)](https://www.npmjs.com/package/@cyber-dash-tech/revela) [![license](https://img.shields.io/npm/l/@cyber-dash-tech/revela)](LICENSE) [![tests](https://img.shields.io/badge/tests-727%20passing-brightgreen)](tests/) [![OpenCode plugin](https://img.shields.io/badge/OpenCode-plugin-blue)](https://opencode.ai) [![Bun](https://img.shields.io/badge/Bun-%E2%89%A51.0-orange)](https://bun.sh)
5
+ [![npm version](https://img.shields.io/npm/v/@cyber-dash-tech/revela)](https://www.npmjs.com/package/@cyber-dash-tech/revela) [![license](https://img.shields.io/npm/l/@cyber-dash-tech/revela)](LICENSE) [![tests](https://img.shields.io/badge/tests-729%20passing-brightgreen)](tests/) [![Codex MCP](https://img.shields.io/badge/Codex-MCP-blue)](https://github.com/openai/codex) [![Bun](https://img.shields.io/badge/Bun-%E2%89%A51.0-orange)](https://bun.sh)
6
6
 
7
7
  <p align="center">
8
- <img src="assets/img/logo.png" alt="Revela" width="560" />
8
+ <img src="assets/img/logo-wordmark.png" alt="Revela" width="320" />
9
9
  </p>
10
10
 
11
- Revela works from [OpenCode](https://opencode.ai) and Codex to turn source materials, research, data, and intent into trusted, traceable, presentation-ready decision artifacts.
11
+ Revela is a Codex plugin for turning source materials, research, data, and intent into trusted, traceable, presentation-ready decision artifacts.
12
12
 
13
- Its deck-first workspace reviews local materials, saves source-linked research, builds an explicit `deck-plan.md`, generates HTML decks, reviews them, and exports PDF/PPTX/PNG artifacts.
13
+ In your local workspace, Revela reviews materials, saves source-linked research, builds an explicit `deck-plan.md`, generates HTML decks, reviews them, and exports PDF/PPTX/PNG artifacts.
14
14
 
15
15
  ## Install
16
16
 
17
- ### OpenCode
18
-
19
- Install Revela through `opencode.json` with the npm package `@cyber-dash-tech/revela`:
20
-
21
- ```json
22
- {
23
- "$schema": "https://opencode.ai/config.json",
24
- "plugin": ["@cyber-dash-tech/revela"]
25
- }
26
- ```
27
-
28
- Restart OpenCode.
29
-
30
- To install globally, add the same entry to `~/.config/opencode/opencode.json`.
31
-
32
17
  ### Codex
33
18
 
34
19
  Requirements:
35
20
 
36
21
  - The Codex CLI must be installed and the `codex` command must be available in your shell.
37
- - Your environment must be able to run `npx`; Revela uses `npx -y @cyber-dash-tech/revela@0.18.11 mcp` to start the MCP server.
22
+ - Your environment must be able to run `npx`; Revela uses `npx -y @cyber-dash-tech/revela@0.18.13 mcp` to start the MCP server.
38
23
  - For interactive Review Apply actions, `codex exec` must also work because the Review UI uses it after saved comments are applied.
39
24
 
40
25
  Optional preflight:
@@ -55,11 +40,11 @@ npm_config_cache=/tmp/revela-npm-cache bun run smoke:mcp-pack
55
40
  Install Revela through the Codex Git marketplace:
56
41
 
57
42
  ```bash
58
- codex plugin marketplace add https://github.com/cyber-dash-tech/revela --ref v0.18.11
43
+ codex plugin marketplace add https://github.com/cyber-dash-tech/revela --ref v0.18.13
59
44
  codex plugin add revela@revela
60
45
  ```
61
46
 
62
- The Git marketplace install provides the Codex plugin shell, skills, hooks, and MCP configuration. When Codex starts the Revela MCP server for the first time, it runs `npx -y @cyber-dash-tech/revela@0.18.11 mcp` so npm can fetch the published package and its dependencies.
47
+ The Git marketplace install provides the Codex plugin shell, skills, hooks, and MCP configuration. When Codex starts the Revela MCP server for the first time, it runs `npx -y @cyber-dash-tech/revela@0.18.13 mcp` so npm can fetch the published package and its dependencies.
63
48
 
64
49
  You do not need to run `bun install` inside the Codex marketplace clone.
65
50
 
@@ -111,13 +96,19 @@ Revela includes built-in deck designs:
111
96
  <img src="assets/img/monet-03.jpg" alt="Monet design preview 3" width="32%" />
112
97
  </p>
113
98
 
99
+ ### [lucent](designs/lucent/preview.html)
100
+
101
+ <p align="center">
102
+ <img src="assets/img/lucent-01.jpg" alt="Lucent design cover preview" width="32%" />
103
+ <img src="assets/img/lucent-02.jpg" alt="Lucent design table of contents preview" width="32%" />
104
+ <img src="assets/img/lucent-03.jpg" alt="Lucent design Sankey preview" width="32%" />
105
+ </p>
106
+
114
107
  `starter` is the clean default presentation style.
115
108
 
116
- Switch designs with:
109
+ To switch designs in Codex, ask:
117
110
 
118
- ```text
119
- /revela design --use summit
120
- ```
111
+ > [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.1.0+codex.20260524164007/skills/revela/SKILL.md), use summit as the design.
121
112
 
122
113
  In Codex, ask Revela to list or switch designs; the plugin uses the active design when making decks.
123
114
 
@@ -125,9 +116,7 @@ In Codex, ask Revela to list or switch designs; the plugin uses the active desig
125
116
 
126
117
  Domains add topic-specific communication guidance, such as consulting, product, or investor communication. Use them when you want Revela to adapt deck framing to a specific context.
127
118
 
128
- ```text
129
- /revela domain
130
- ```
119
+ > [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.1.0+codex.20260524164007/skills/revela/SKILL.md), list available domains.
131
120
 
132
121
  In Codex, ask Revela to list or switch domains; the active domain guides deck framing during init, research, and planning.
133
122
 
@@ -137,83 +126,61 @@ Use these prompts in Codex from the workspace that contains your source material
137
126
 
138
127
  1. Choose the narrative domain before authoring so Revela frames the audience, decision, risks, and objections for your context.
139
128
 
140
- ```text
141
- revela, use consulting as the domain.
142
- ```
129
+ > [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.1.0+codex.20260524164007/skills/revela/SKILL.md), use consulting as the domain.
143
130
 
144
131
  2. Choose the deck design before rendering so generated artifacts use the intended visual language.
145
132
 
146
- ```text
147
- revela, use summit as the design.
148
- ```
133
+ > [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.1.0+codex.20260524164007/skills/revela/SKILL.md), use summit as the design.
149
134
 
150
135
  3. Create a custom design when you want a different visual direction.
151
136
 
152
- ```text
153
- revela, create a new design named neon-finance with a crisp financial-dashboard style: dark surfaces, precise grids, and bright green accents.
154
- ```
137
+ > [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.1.0+codex.20260524164007/skills/revela/SKILL.md), create a new design named neon-finance with a crisp financial-dashboard style: dark surfaces, precise grids, and bright green accents.
155
138
 
156
139
  Revela may ask for references or constraints, then creates and validates the design. When it is ready, switch to it:
157
140
 
158
- ```text
159
- revela, use neon-finance as the design.
160
- ```
141
+ > [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.1.0+codex.20260524164007/skills/revela/SKILL.md), use neon-finance as the design.
161
142
 
162
143
  4. Initialize local material intake. Init scans, extracts, and reviews workspace sources; it does not create a Narrative Vault.
163
144
 
164
- ```text
165
- revela, help me init this workspace from the local materials.
166
- ```
145
+ > [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.1.0+codex.20260524164007/skills/revela/SKILL.md), help me init this workspace from the local materials.
167
146
 
168
147
  5. Research source-linked deck inputs and save findings.
169
148
 
170
- ```text
171
- revela, research the public evidence and examples needed for this deck.
172
- ```
149
+ > [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.1.0+codex.20260524164007/skills/revela/SKILL.md), research the public evidence and examples needed for this deck.
173
150
 
174
151
  6. Create or update the deck plan before generating HTML so slide order, chapter structure, source links, unresolved inputs, source limitations, and visual intent are explicit.
175
152
 
176
- ```text
177
- revela, create or update the deck plan before generating HTML.
178
- ```
153
+ > [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.1.0+codex.20260524164007/skills/revela/SKILL.md), create or update the deck plan before generating HTML.
179
154
 
180
155
  7. Make an HTML deck from the current deck plan.
181
156
 
182
- ```text
183
- revela, make the deck from the current deck plan.
184
- ```
157
+ > [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.1.0+codex.20260524164007/skills/revela/SKILL.md), make the deck from the current deck plan.
185
158
 
186
159
  8. Review the generated deck for Artifact QA and targeted edits.
187
160
 
188
- ```text
189
- revela, review the generated deck.
190
- ```
161
+ > [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.1.0+codex.20260524164007/skills/revela/SKILL.md), review the generated deck.
191
162
 
192
163
  9. Export a PDF after deck QA passes.
193
164
 
194
- ```text
195
- revela, export the deck to PDF.
196
- ```
165
+ > [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.1.0+codex.20260524164007/skills/revela/SKILL.md), export the deck to PDF.
197
166
 
198
167
  10. Export an editable PPTX after deck QA passes.
199
168
 
200
- ```text
201
- revela, export the deck to PPTX.
202
- ```
169
+ > [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.1.0+codex.20260524164007/skills/revela/SKILL.md), export the deck to PPTX.
203
170
 
204
171
  11. Export per-slide PNG files after deck QA passes.
205
172
 
206
- ```text
207
- revela, export the deck to PNG.
208
- ```
173
+ > [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.1.0+codex.20260524164007/skills/revela/SKILL.md), export the deck to PNG.
209
174
 
210
175
  ## Review A Deck
211
176
 
212
177
  Use Review after generating an HTML deck:
213
178
 
214
- ```text
215
- /revela review --deck
216
- ```
179
+ > [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.1.0+codex.20260524164007/skills/revela/SKILL.md), review the generated deck.
180
+
181
+ <p align="center">
182
+ <img src="assets/img/review-ui.png" alt="Revela Review UI showing @ref comments and deck QA" width="900" />
183
+ </p>
217
184
 
218
185
  Review opens a local deck workspace for QA and targeted edits:
219
186
 
package/README.zh-CN.md CHANGED
@@ -2,39 +2,24 @@
2
2
 
3
3
  [English](README.md) | **中文**
4
4
 
5
- [![npm version](https://img.shields.io/npm/v/@cyber-dash-tech/revela)](https://www.npmjs.com/package/@cyber-dash-tech/revela) [![license](https://img.shields.io/npm/l/@cyber-dash-tech/revela)](LICENSE) [![tests](https://img.shields.io/badge/tests-727%20passing-brightgreen)](tests/) [![OpenCode plugin](https://img.shields.io/badge/OpenCode-plugin-blue)](https://opencode.ai) [![Bun](https://img.shields.io/badge/Bun-%E2%89%A51.0-orange)](https://bun.sh)
5
+ [![npm version](https://img.shields.io/npm/v/@cyber-dash-tech/revela)](https://www.npmjs.com/package/@cyber-dash-tech/revela) [![license](https://img.shields.io/npm/l/@cyber-dash-tech/revela)](LICENSE) [![tests](https://img.shields.io/badge/tests-729%20passing-brightgreen)](tests/) [![Codex MCP](https://img.shields.io/badge/Codex-MCP-blue)](https://github.com/openai/codex) [![Bun](https://img.shields.io/badge/Bun-%E2%89%A51.0-orange)](https://bun.sh)
6
6
 
7
7
  <p align="center">
8
- <img src="assets/img/logo.png" alt="Revela" width="560" />
8
+ <img src="assets/img/logo-wordmark.png" alt="Revela" width="320" />
9
9
  </p>
10
10
 
11
- Revela 可在 [OpenCode](https://opencode.ai) 和 Codex 中使用,把来源材料、调研、数据和用户意图转成可信、可追踪、可直接用于决策沟通的 deck artifact。
11
+ Revela Codex plugin,用来把来源材料、调研、数据和用户意图转成可信、可追踪、可直接用于决策沟通的 deck artifact。
12
12
 
13
- 它的 deck-first workspace 会审阅本地资料、保存 source-linked research、生成明确的 `deck-plan.md`、产出 HTML deck,并支持 Review 与 PDF/PPTX/PNG 导出。
13
+ 在你的本地 workspace 中,Revela 会审阅本地资料、保存 source-linked research、生成明确的 `deck-plan.md`、产出 HTML deck,并支持 Review 与 PDF/PPTX/PNG 导出。
14
14
 
15
15
  ## 安装
16
16
 
17
- ### OpenCode
18
-
19
- 通过 `opencode.json` 安装 npm package `@cyber-dash-tech/revela`:
20
-
21
- ```json
22
- {
23
- "$schema": "https://opencode.ai/config.json",
24
- "plugin": ["@cyber-dash-tech/revela"]
25
- }
26
- ```
27
-
28
- 重启 OpenCode。
29
-
30
- 如果想全局安装,把同样配置写到 `~/.config/opencode/opencode.json`。
31
-
32
17
  ### Codex
33
18
 
34
19
  环境要求:
35
20
 
36
21
  - 需要已安装 Codex CLI,并且 shell 中可以执行 `codex`。
37
- - 环境中需要可以执行 `npx`;Revela 会用 `npx -y @cyber-dash-tech/revela@0.18.11 mcp` 启动 MCP server。
22
+ - 环境中需要可以执行 `npx`;Revela 会用 `npx -y @cyber-dash-tech/revela@0.18.13 mcp` 启动 MCP server。
38
23
  - 如果使用 Review UI 的 Apply,需要 `codex exec` 可用;评论会先保存,点击 Apply 后才执行修复。
39
24
 
40
25
  可选的安装前检查:
@@ -55,11 +40,11 @@ npm_config_cache=/tmp/revela-npm-cache bun run smoke:mcp-pack
55
40
  通过 Codex Git marketplace 安装 Revela:
56
41
 
57
42
  ```bash
58
- codex plugin marketplace add https://github.com/cyber-dash-tech/revela --ref v0.18.11
43
+ codex plugin marketplace add https://github.com/cyber-dash-tech/revela --ref v0.18.13
59
44
  codex plugin add revela@revela
60
45
  ```
61
46
 
62
- Git marketplace 安装的是 Codex plugin 壳、skills、hooks 和 MCP 配置。Codex 第一次启动 Revela MCP server 时,会运行 `npx -y @cyber-dash-tech/revela@0.18.11 mcp`,由 npm 获取已发布 package 及其 dependencies。
47
+ Git marketplace 安装的是 Codex plugin 壳、skills、hooks 和 MCP 配置。Codex 第一次启动 Revela MCP server 时,会运行 `npx -y @cyber-dash-tech/revela@0.18.13 mcp`,由 npm 获取已发布 package 及其 dependencies。
63
48
 
64
49
  不需要在 Codex marketplace clone 里运行 `bun install`。
65
50
 
@@ -111,13 +96,19 @@ Revela 内置多个 deck design:
111
96
  <img src="assets/img/monet-03.jpg" alt="Monet design preview 3" width="32%" />
112
97
  </p>
113
98
 
99
+ ### [lucent](designs/lucent/preview.html)
100
+
101
+ <p align="center">
102
+ <img src="assets/img/lucent-01.jpg" alt="Lucent design cover preview" width="32%" />
103
+ <img src="assets/img/lucent-02.jpg" alt="Lucent design table of contents preview" width="32%" />
104
+ <img src="assets/img/lucent-03.jpg" alt="Lucent design Sankey preview" width="32%" />
105
+ </p>
106
+
114
107
  `starter` 是简洁默认演示风格。
115
108
 
116
- 切换设计:
109
+ 在 Codex 中切换 design,可以这样问:
117
110
 
118
- ```text
119
- /revela design --use summit
120
- ```
111
+ > [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.1.0+codex.20260524164007/skills/revela/SKILL.md),use summit as design.
121
112
 
122
113
  在 Codex 中,可以直接让 Revela 列出或切换 design;生成 deck 时会使用 active design。
123
114
 
@@ -125,9 +116,7 @@ Revela 内置多个 deck design:
125
116
 
126
117
  Domain 提供特定场景的沟通 guidance,例如 consulting、product 或 investor communication。需要让 Revela 按具体沟通场景调整 deck framing 时使用。
127
118
 
128
- ```text
129
- /revela domain
130
- ```
119
+ > [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.1.0+codex.20260524164007/skills/revela/SKILL.md),列出 available domains。
131
120
 
132
121
  在 Codex 中,可以直接让 Revela 列出或切换 domain;active domain 会用于 init、research 和 deck planning 阶段的 framing。
133
122
 
@@ -137,83 +126,61 @@ Domain 提供特定场景的沟通 guidance,例如 consulting、product 或 in
137
126
 
138
127
  1. 先选择 domain,让 Revela 按你的沟通场景 framing 受众、决策、风险和潜在质疑。
139
128
 
140
- ```text
141
- revela,use consulting as domain.
142
- ```
129
+ > [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.1.0+codex.20260524164007/skills/revela/SKILL.md),use consulting as domain.
143
130
 
144
131
  2. 再选择 design,让后续生成的 deck 使用指定视觉风格。
145
132
 
146
- ```text
147
- revela,use summit as design.
148
- ```
133
+ > [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.1.0+codex.20260524164007/skills/revela/SKILL.md),use summit as design.
149
134
 
150
135
  3. 如果需要不同的视觉方向,可以创建一个自定义 design。
151
136
 
152
- ```text
153
- revela,创建一个名为 neon-finance 的新 design:金融仪表盘风格,深色界面、精密网格、亮绿色重点色。
154
- ```
137
+ > [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.1.0+codex.20260524164007/skills/revela/SKILL.md),创建一个名为 neon-finance 的新 design:金融仪表盘风格,深色界面、精密网格、亮绿色重点色。
155
138
 
156
139
  Revela 可能会继续询问参考图、风格约束或禁忌项,然后创建并校验 design。创建完成后再切换使用:
157
140
 
158
- ```text
159
- revela,使用 neon-finance 作为 design。
160
- ```
141
+ > [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.1.0+codex.20260524164007/skills/revela/SKILL.md),使用 neon-finance 作为 design。
161
142
 
162
143
  4. 初始化本地 material intake。Init 会扫描、抽取并审阅 workspace source;它不会创建 Narrative Vault。
163
144
 
164
- ```text
165
- revela,帮我 init 这个 workspace,先读本地材料。
166
- ```
145
+ > [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.1.0+codex.20260524164007/skills/revela/SKILL.md),帮我 init 这个 workspace,先读本地材料。
167
146
 
168
147
  5. 针对 deck 所需输入做 research,并保存带来源的 findings。
169
148
 
170
- ```text
171
- revela,research 这个 deck 需要的公开证据、案例和 source。
172
- ```
149
+ > [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.1.0+codex.20260524164007/skills/revela/SKILL.md),research 这个 deck 需要的公开证据、案例和 source。
173
150
 
174
151
  6. 先创建或更新 deck plan,明确 slide 顺序、章节结构、source links、unresolved inputs、source limitations 和 visual intent,再生成 HTML。
175
152
 
176
- ```text
177
- revela,生成 HTML 前先 create or update deck plan。
178
- ```
153
+ > [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.1.0+codex.20260524164007/skills/revela/SKILL.md),生成 HTML 前先 create or update deck plan。
179
154
 
180
155
  7. 基于当前 deck plan 生成 HTML deck。
181
156
 
182
- ```text
183
- revela,基于当前 deck plan make deck。
184
- ```
157
+ > [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.1.0+codex.20260524164007/skills/revela/SKILL.md),基于当前 deck plan make deck。
185
158
 
186
159
  8. Review 生成后的 deck,检查 Artifact QA,并做定向修改。
187
160
 
188
- ```text
189
- revela,review 生成好的 deck。
190
- ```
161
+ > [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.1.0+codex.20260524164007/skills/revela/SKILL.md),review 生成好的 deck。
191
162
 
192
163
  9. QA 通过后导出 PDF。
193
164
 
194
- ```text
195
- revela,把 deck export 成 PDF。
196
- ```
165
+ > [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.1.0+codex.20260524164007/skills/revela/SKILL.md),把 deck export 成 PDF。
197
166
 
198
167
  10. QA 通过后导出可编辑 PPTX。
199
168
 
200
- ```text
201
- revela,把 deck export 成 PPTX。
202
- ```
169
+ > [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.1.0+codex.20260524164007/skills/revela/SKILL.md),把 deck export 成 PPTX。
203
170
 
204
171
  11. QA 通过后导出每页 PNG。
205
172
 
206
- ```text
207
- revela,把 deck export 成 PNG。
208
- ```
173
+ > [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.1.0+codex.20260524164007/skills/revela/SKILL.md),把 deck export 成 PNG。
209
174
 
210
175
  ## Review Deck
211
176
 
212
177
  生成 HTML deck 后可以进入 Review:
213
178
 
214
- ```text
215
- /revela review --deck
216
- ```
179
+ > [$revela:revela](/Users/mengdigao/.codex/plugins/cache/revela/revela/0.1.0+codex.20260524164007/skills/revela/SKILL.md),review 生成好的 deck。
180
+
181
+ <p align="center">
182
+ <img src="assets/img/review-ui.png" alt="Revela Review UI showing @ref comments and deck QA" width="900" />
183
+ </p>
217
184
 
218
185
  Review 会打开本地 deck 工作台,用于 QA 和定向修改:
219
186
 
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,171 @@
1
+ ---
2
+ name: lucent
3
+ description: Luminous report design with pale analytical pages, glassy blue-violet accents, and data-forward layouts
4
+ author: cyber-dash
5
+ version: 1.0.0
6
+ preview:
7
+ ---
8
+
9
+ ## Visual Style - Lucent
10
+
11
+ Lucent is a clean executive report design for analytical and strategic decks. It uses bright pages, restrained glass textures, crisp Chinese/English typography, and blue-violet-cyan accent gradients. The design is optimized for source-backed narrative, charts, Sankey flows, tables, recommendation cards, and polished cover/closing moments.
12
+
13
+ <!-- @design:foundation:start -->
14
+
15
+ ### Foundation
16
+
17
+ Use a fixed `1920px` x `1080px` `.slide-canvas` inside a dark navy browser frame. Scale the canvas with JavaScript transform on viewport resize. Keep all dimensions fixed in pixels; do not use viewport-scaled typography.
18
+
19
+ ```css
20
+ :root {
21
+ --bg-frame: #07111f;
22
+ --bg-page: #f7f9fc;
23
+ --bg-page-alt: #eef3f9;
24
+ --surface: #ffffff;
25
+ --surface-tint: #f1f6fc;
26
+ --surface-blue: #e7f0fb;
27
+ --text-primary: #101a2b;
28
+ --text-secondary: #42526a;
29
+ --text-muted: #7b8aa0;
30
+ --line: rgba(44, 70, 108, 0.14);
31
+ --line-strong: rgba(44, 70, 108, 0.28);
32
+ --accent-primary: #315eea;
33
+ --accent-secondary: #6e5df6;
34
+ --accent-cyan: #18a8d8;
35
+ --accent-coral: #f06370;
36
+ --accent-soft: #dbe8ff;
37
+ --shadow-soft: rgba(30, 65, 130, 0.13);
38
+ --font-display: DengXian, "Microsoft YaHei", "PingFang SC", Arial, ui-sans-serif, sans-serif;
39
+ --font-body: DengXian, "Microsoft YaHei", "PingFang SC", Arial, ui-sans-serif, sans-serif;
40
+ }
41
+ ```
42
+
43
+ Asset policy:
44
+ - Use `assets/cover-background.jpg` and `assets/closing-background.jpg` for full-bleed hero backgrounds.
45
+ - Use `assets/toc-orb.png` only when transparency is needed for the Lucent glass orb.
46
+ - Use `assets/soft-texture.jpg`, `assets/card-lens.jpg`, and `assets/report-visual.jpg` as subtle report accents; never inline base64 images in generated decks.
47
+
48
+ <!-- @design:foundation:end -->
49
+
50
+ <!-- @design:rules:start -->
51
+
52
+ ### Rules
53
+
54
+ - Use Lucent for strategy, operating review, research synthesis, market diagnosis, and data-backed decision decks.
55
+ - Prefer bright report pages with subtle radial accents. Reserve dark full-bleed imagery for cover, section divider, and closing slides.
56
+ - Put the slide-level title in each layout's title slot or hero text area. Do not hide the main claim inside a card.
57
+ - Use `box` for one idea, evidence item, operating gap, risk, or action. Use 2-4 boxes on dense synthesis slides.
58
+ - Use ECharts for all data charts, including Sankey. Do not fake charts with CSS shapes.
59
+ - Keep typography quiet and legible: large claim headings, compact metadata, and source notes in muted color.
60
+ - Avoid decorative orbs except the Lucent glass assets provided in `assets/`; do not create new gradient blobs.
61
+ - All image assets in design previews must be local package assets under `designs/lucent/assets/`.
62
+
63
+ <!-- @design:rules:end -->
64
+
65
+ <!-- @design:layouts:start -->
66
+
67
+ <!-- @layout:cover:start qa=false -->
68
+ Full-bleed opening slide with one dominant background image, dark overlay, and bottom-left hero title. Slots: `hero`.
69
+ <!-- @layout:cover:end -->
70
+
71
+ <!-- @layout:toc:start qa=true -->
72
+ Two-column table of contents with a left title rail, right numbered agenda, and optional glass orb. Slots: `left`, `list`, `asset`.
73
+ <!-- @layout:toc:end -->
74
+
75
+ <!-- @layout:report-story:start qa=true -->
76
+ Report slide with top title block and a two-column body for narrative text plus supporting media or evidence. Slots: `title`, `left`, `right`.
77
+ <!-- @layout:report-story:end -->
78
+
79
+ <!-- @layout:card-grid:start qa=true -->
80
+ Top title block with three card columns. Use for insight clusters, operating gaps, or comparison. Slots: `title`, `cards`.
81
+ <!-- @layout:card-grid:end -->
82
+
83
+ <!-- @layout:chart-with-takeaways:start qa=true -->
84
+ Top title block with a dominant chart on the left and stacked takeaway cards on the right. Slots: `title`, `chart`, `takeaways`.
85
+ <!-- @layout:chart-with-takeaways:end -->
86
+
87
+ <!-- @layout:sankey:start qa=true -->
88
+ Top title block with a wide Sankey chart and a right explanation column. Slots: `title`, `sankey`, `takeaways`.
89
+ <!-- @layout:sankey:end -->
90
+
91
+ <!-- @layout:table:start qa=true -->
92
+ Top title block with one large table panel and explanatory reading notes. Slots: `title`, `table`.
93
+ <!-- @layout:table:end -->
94
+
95
+ <!-- @layout:roadmap:start qa=true -->
96
+ Top title block with a horizontal four-phase roadmap across the body. Slots: `title`, `roadmap`.
97
+ <!-- @layout:roadmap:end -->
98
+
99
+ <!-- @layout:recommendation:start qa=true -->
100
+ Three-column recommendation page with primary recommendation, reasoning, and next steps. Slots: `recommendation`, `rationale`, `steps`.
101
+ <!-- @layout:recommendation:end -->
102
+
103
+ <!-- @layout:closing:start qa=false -->
104
+ Full-bleed closing slide with a background image, soft overlay, and concise final title. Slots: `hero`.
105
+ <!-- @layout:closing:end -->
106
+
107
+ <!-- @design:layouts:end -->
108
+
109
+ <!-- @design:components:start -->
110
+
111
+ <!-- @component:hero:start -->
112
+ Full-canvas image-backed hero with `.hero`, `.hero-bg`, `.hero-shade`, and `.hero-title`. Use only for cover, section divider, and closing slides.
113
+ <!-- @component:hero:end -->
114
+
115
+ <!-- @component:toc:start -->
116
+ Lucent agenda component using `.toc-wrap`, `.toc-title`, `.toc-list`, and optional `.toc-orb`. Use for navigation, not for normal text-heavy content.
117
+ <!-- @component:toc:end -->
118
+
119
+ <!-- @component:text-panel:start -->
120
+ Focused text module for setup, reading guidance, and narrative explanation. Use inside report layouts or boxes.
121
+ <!-- @component:text-panel:end -->
122
+
123
+ <!-- @component:box:start -->
124
+ Card/group primitive for insights, evidence, operating gaps, recommendations, and rationale. Use `.box`, `.insight-card`, or `.rec-panel` depending on density.
125
+ <!-- @component:box:end -->
126
+
127
+ <!-- @component:media:start -->
128
+ Image frame for screenshots, report visuals, diagrams, and supporting photography. Use local assets and keep evidence visuals readable.
129
+ <!-- @component:media:end -->
130
+
131
+ <!-- @component:stat-card:start -->
132
+ Compact metric tile with `.stat-card` and `.stat-value`. Use for one number plus one interpretation line.
133
+ <!-- @component:stat-card:end -->
134
+
135
+ <!-- @component:echart-panel:start -->
136
+ Chart frame with `.echart-panel`, `.chart-header`, `.echart-container`, and caption/source text. Use ECharts after DOM initialization and call resize on viewport changes. Sankey charts are an `echart-panel` usage pattern, not a separate primary component; keep the chart wide, labels muted, and interpretation in the layout's takeaway slot.
137
+ <!-- @component:echart-panel:end -->
138
+
139
+ <!-- @component:data-table:start -->
140
+ Structured table component with `.table-panel`, tabular numbers, muted headers, and right-aligned numeric columns.
141
+ <!-- @component:data-table:end -->
142
+
143
+ <!-- @component:roadmap-horizontal:start -->
144
+ Four-phase horizontal roadmap with alternating cards around a gradient axis. Use for staged plans, milestones, or migration paths.
145
+ <!-- @component:roadmap-horizontal:end -->
146
+
147
+ <!-- @component:steps:start -->
148
+ Ordered action list for next steps. Keep it short: three to five steps, each with a number and one concise action.
149
+ <!-- @component:steps:end -->
150
+
151
+ <!-- @component:page-number:start -->
152
+ Small absolute page number utility. Use muted color on report pages and light color on dark hero pages.
153
+ <!-- @component:page-number:end -->
154
+
155
+ <!-- @component:brand-watermark:start -->
156
+ Small top-right logo or brand mark. Keep it clear, restrained, and never use logos as decorative backgrounds.
157
+ <!-- @component:brand-watermark:end -->
158
+
159
+ <!-- @design:components:end -->
160
+
161
+ <!-- @design:chart-rules:start -->
162
+
163
+ ### Chart Rules
164
+
165
+ - Use ECharts for line, bar, and Sankey charts.
166
+ - Initialize charts after `SlidePresentation` setup and resize them on `window.resize`.
167
+ - Use Lucent chart colors: `#315eea`, `#6e5df6`, `#18a8d8`, `#f06370`, and muted text `#7b8aa0`.
168
+ - Keep chart backgrounds transparent and place charts inside stable `.echart-container` regions with explicit height or flex sizing.
169
+ - Sankey charts inside `echart-panel` should use low-curvature links, restrained labels, and a separate takeaway column for interpretation.
170
+
171
+ <!-- @design:chart-rules:end -->