@66rpg/lumimaker 0.1.54 → 0.1.56

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.
@@ -1,117 +1,117 @@
1
- # 幻光文游社区模板规范协议
2
-
3
- | 项 | 内容 |
4
- |---|---|
5
- | 协议版本 | 1.0 |
6
- | 最新更新 | 2026-09-22 |
7
- | 修订日期 | 2026-09-22 |
8
-
9
- 本协议约定幻光文游社区模板工程的基础结构、`package.json` 配置与构建产物要求。未在本文中列出的目录、文件与配置字段,均不属于本协议的约定范围。
10
-
11
- **约束用词定义**:
12
- - **必须**:模板工程必须满足的硬性要求,未满足则视为不合规。
13
- - **可选**:模板工程可自行决定是否提供;若提供,须符合本协议规定的格式。
14
- - **建议**:推荐的最佳实践做法,不作为合规与否的判断条件。
15
-
16
- ---
17
-
18
- ## 1. 目录结构
19
-
20
- 模板工程根目录即为项目的源码根目录。
21
-
22
- ### 1.1 结构全景
23
-
24
- ```text
25
- .
26
- ├── package.json # 必须:工程配置与脚本清单
27
- ├── README.md # 必须:模板使用说明(供人阅读)
28
- ├── AGENTS.md # 必须:AI 协同指南(说明工程结构与修改建议)
29
- ├── src/ # 必须:模板源代码目录
30
- ├── assets/ # 可选:模板资源目录(包含作品数据、图片、音频等;若有资源放入此目录,也可没有任何资源,纯 index.html)
31
- └── skill/ # 可选:模板自带的玩法技能目录
32
- └── SKILL.md # 可选:供 AI 阅读的玩法说明
33
- ```
34
-
35
- ### 1.2 目录与文件说明
36
-
37
- | 路径 | 属性 | 作用与要求 |
38
- |---|---|---|
39
- | `package.json` | **必须** | 模板工程的包清单,声明平台展示名、英文标识、版本号、数据包版本与必要脚本。详见第 2 节。 |
40
- | `README.md` | **必须** | 供创作者阅读的工程说明与使用指引。 |
41
- | `AGENTS.md` | **必须** | 供 AI 助手阅读的协同指南,须明确说明工程组织方式与推荐的修改位置(若包含 `assets/` 须说明其子目录划分)。 |
42
- | `src/` | **必须** | 模板的完整源代码目录,不限制编程语言或开发框架(如 React、Vue、Pixi、原生 Canvas 均可)。 |
43
- | `assets/` | **可选** | 模板的资源目录(包含作品数据、图片、音频、样式等)。若模板包含静态资源,统一存放于此;也可以没有任何资源文件或不创建此目录,工程最终可仅依赖纯 `index.html` 运行。 |
44
- | `skill/SKILL.md` | **可选** | 本模板特定的玩法技能说明文件,指导 AI 助手如何协助创作者调整作品规则。若无独立玩法技能可不提供。 |
45
-
46
- ---
47
-
48
- ## 2. package.json
49
-
50
- `package.json` 文件必须位于工程根目录,且内容为合法的 JSON 对象。
51
-
52
- ### 2.1 基础配置字段
53
-
54
- 所有字段集中约定如下:
55
-
56
- | 字段 | 属性 | 数据类型 | 格式与要求 | 示例 |
57
- |---|---|---|---|---|
58
- | `name` | **必须** | string | 平台展示名称,供人阅读,支持中文;去掉首尾空格后长度至少为 1;不能包含字符 `/` 或 `@`。 | `"趣味问答"`、`"quiz-react"` |
59
- | `slug` | **必须** | string | 模板英文短名,在平台中唯一标识本模板;格式须匹配 `^[a-z0-9][a-z0-9-]{0,62}$`。详见下方细则。 | `"quiz-react"` |
60
- | `version` | **必须** | string | 模板版本号;格式须匹配 `^(?=.{1,16}$)[a-z0-9]+(?:[.-][a-z0-9]+)*$`。详见下方细则。 | `"0.1.0"`、`"1.0.0-a"` |
61
- | `data_ver` | **必须** | string 或 number | 配套数据包版本;非空字符串或有限数字。详见下方细则。 | `"1"` 或 `1` |
62
- | `description` | **可选** | string | 模板简介。若省略或填写空字符串,按空简介处理。有内容时:中文不超过 60 个字,英文及其他不超过 120 个字符;写在一起时,一个中文按两个字符计,合计不超过 120。 | `"基于 React 的题库答题作品模板"` |
63
-
64
- #### 字段格式细则
65
-
66
- - **`slug`(英文短名)**
67
- - 正则表达式:`^[a-z0-9][a-z0-9-]{0,62}$`
68
- - 长度限制:1 至 63 个字符。
69
- - 字符范围:仅允许小写英文字母(`a-z`)、数字(`0-9`)和连字符(`-`)。
70
- - 起始字符:必须以小写字母或数字开头(首字符不能是连字符 `-`)。
71
-
72
- - **`version`(模板版本号)**
73
- - 正则表达式:`^(?=.{1,16}$)[a-z0-9]+(?:[.-][a-z0-9]+)*$`
74
- - 长度限制:1 至 16 个字符。
75
- - 字符范围:仅允许小写英文字母(`a-z`)、数字(`0-9`)、英文点号(`.`)和连字符(`-`)。
76
- - 边界要求:必须以小写字母或数字开头,且以小写字母或数字结尾。
77
- - 连续符号限制:点号与连字符不能相邻或连续出现(例如禁止 `..`、`--`、`.-`、`-.`)。
78
- - 合法示例:`0.1.0`、`1.0.0-a`、`1.0.0-rc1`。
79
-
80
- - **`data_ver`(数据包版本)**
81
- - 当类型为字符串(string)时:去除首尾空白字符后,长度至少为 1。示例:`"1"`。
82
- - 当类型为数字(number)时:必须为合法的有限数值。示例:`1`。
83
-
84
- ### 2.2 必须脚本命令 (`scripts`)
85
-
86
- `package.json` 中的 `scripts` 字段必须为对象,且必须包含以下 5 个指定脚本。每个脚本对应的值必须为字符串,且去除首尾空白后不可为空。脚本的具体执行命令由模板自身的技术栈决定。
87
-
88
- | 脚本名称 | 属性 | 作用与要求 |
89
- |---|---|---|
90
- | `dev` | **必须** | 启动正式内容的本地开发服务。 |
91
- | `dev:demo` | **必须** | 启动试玩内容的本地开发服务。若模板未制作独立的试玩内容,命令可与 `dev` 保持完全一致。 |
92
- | `build` | **必须** | 构建正式版产物到根目录 `dist/`。详见第 3 节。 |
93
- | `build:demo` | **必须** | 构建试玩版产物到根目录 `dist/`。若模板未制作独立的试玩内容,命令可与 `build` 保持完全一致。 |
94
- | `validate` | **必须** | 执行模板自身的数据检查。若模板包含独立的试玩数据,此单条脚本须同时覆盖正式数据与试玩数据的校验。 |
95
-
96
- ---
97
-
98
- ## 3. 构建产物 (dist/)
99
-
100
- 构建产物用于静态托管与作品发布,统一约定如下:
101
-
102
- 1. **产物目录**:`scripts.build` 与 `scripts.build:demo` 的输出目录必须是工程根目录下的 `dist/`,两者共用该目录。
103
- 2. **入口文件**:`dist/` 根目录下**必须**产出 `index.html` 入口文件。可以仅产出纯 `index.html`,无需任何其他静态资源文件。
104
- 3. **静态资源(建议)**:若构建产物包含 JavaScript、CSS、图片等静态资源,建议放置于与 `index.html` 同级的 `dist/assets/` 目录下。
105
- 4. **其他产物**:除 `dist/index.html` 外,产物目录内的其他文件组织形式本协议不作强制限制。
106
- 5. **社区播放页能打开的玩法 HTML**:写包内 `.html` 路径,例如 `staff.html` 或 `assets/index.html`。目录地址(如 `jubenba/`)打不开,也不会自动改成该目录的 `index.html`。页内锚点写 `#id`,不要写 `./#id`。下一页用 `<a href>` 或 `openPlayHtml`,不要用 `location.href`、`location.assign`、`location.replace`。链接写法见 `lumimaker-play-sdk`。
107
-
108
- ---
109
-
110
- ## 修订记录
111
-
112
- | 文档版本 | 修订日期 | 变更说明 |
113
- |---|---|---|
114
- | 1.0 | 2026-09-22 | 初始版本。明确工程目录结构、`package.json` 配置字段与脚本规范,以及 `dist/` 构建产物约定(assets 为可选,支持纯 index.html)。 |
115
- | 1.1 | 2026-10-05 | 补充:社区播放页只签 `dist/` 根目录的玩法 HTML;目录地址不会回落为该目录的 `index.html`。 |
116
- | 1.2 | 2026-10-09 | 播放页改为签包内 `.html` 路径,子目录里的页面可以打开;目录地址仍然不会变成该目录的 `index.html`。 |
117
- | 1.3 | 2026-10-12 | 播放页换页用 `<a href>` 或 `openPlayHtml`,不要用 `location.href`、`location.assign`、`location.replace`。 |
1
+ # 幻光文游社区模板规范协议
2
+
3
+ | 项 | 内容 |
4
+ |---|---|
5
+ | 协议版本 | 1.0 |
6
+ | 最新更新 | 2026-09-22 |
7
+ | 修订日期 | 2026-09-22 |
8
+
9
+ 本协议约定幻光文游社区模板工程的基础结构、`package.json` 配置与构建产物要求。未在本文中列出的目录、文件与配置字段,均不属于本协议的约定范围。
10
+
11
+ **约束用词定义**:
12
+ - **必须**:模板工程必须满足的硬性要求,未满足则视为不合规。
13
+ - **可选**:模板工程可自行决定是否提供;若提供,须符合本协议规定的格式。
14
+ - **建议**:推荐的最佳实践做法,不作为合规与否的判断条件。
15
+
16
+ ---
17
+
18
+ ## 1. 目录结构
19
+
20
+ 模板工程根目录即为项目的源码根目录。
21
+
22
+ ### 1.1 结构全景
23
+
24
+ ```text
25
+ .
26
+ ├── package.json # 必须:工程配置与脚本清单
27
+ ├── README.md # 必须:模板使用说明(供人阅读)
28
+ ├── AGENTS.md # 必须:AI 协同指南(说明工程结构与修改建议)
29
+ ├── src/ # 必须:模板源代码目录
30
+ ├── assets/ # 可选:模板资源目录(包含作品数据、图片、音频等;若有资源放入此目录,也可没有任何资源,纯 index.html)
31
+ └── skill/ # 可选:模板自带的玩法技能目录
32
+ └── SKILL.md # 可选:供 AI 阅读的玩法说明
33
+ ```
34
+
35
+ ### 1.2 目录与文件说明
36
+
37
+ | 路径 | 属性 | 作用与要求 |
38
+ |---|---|---|
39
+ | `package.json` | **必须** | 模板工程的包清单,声明平台展示名、英文标识、版本号、数据包版本与必要脚本。详见第 2 节。 |
40
+ | `README.md` | **必须** | 供创作者阅读的工程说明与使用指引。 |
41
+ | `AGENTS.md` | **必须** | 供 AI 助手阅读的协同指南,须明确说明工程组织方式与推荐的修改位置(若包含 `assets/` 须说明其子目录划分)。 |
42
+ | `src/` | **必须** | 模板的完整源代码目录,不限制编程语言或开发框架(如 React、Vue、Pixi、原生 Canvas 均可)。 |
43
+ | `assets/` | **可选** | 模板的资源目录(包含作品数据、图片、音频、样式等)。若模板包含静态资源,统一存放于此;也可以没有任何资源文件或不创建此目录,工程最终可仅依赖纯 `index.html` 运行。 |
44
+ | `skill/SKILL.md` | **可选** | 本模板特定的玩法技能说明文件,指导 AI 助手如何协助创作者调整作品规则。若无独立玩法技能可不提供。 |
45
+
46
+ ---
47
+
48
+ ## 2. package.json
49
+
50
+ `package.json` 文件必须位于工程根目录,且内容为合法的 JSON 对象。
51
+
52
+ ### 2.1 基础配置字段
53
+
54
+ 所有字段集中约定如下:
55
+
56
+ | 字段 | 属性 | 数据类型 | 格式与要求 | 示例 |
57
+ |---|---|---|---|---|
58
+ | `name` | **必须** | string | 平台展示名称,供人阅读,支持中文;去掉首尾空格后长度至少为 1;不能包含字符 `/` 或 `@`。 | `"趣味问答"`、`"quiz-react"` |
59
+ | `slug` | **必须** | string | 模板英文短名,在平台中唯一标识本模板;格式须匹配 `^[a-z0-9][a-z0-9-]{0,62}$`。详见下方细则。 | `"quiz-react"` |
60
+ | `version` | **必须** | string | 模板版本号;格式须匹配 `^(?=.{1,16}$)[a-z0-9]+(?:[.-][a-z0-9]+)*$`。详见下方细则。 | `"0.1.0"`、`"1.0.0-a"` |
61
+ | `data_ver` | **必须** | string 或 number | 配套数据包版本;非空字符串或有限数字。详见下方细则。 | `"1"` 或 `1` |
62
+ | `description` | **可选** | string | 可以不写。发布简介不读这个字段。简介写在文案 JSON 的 `summary`,用 `--content-file` 提交。若写了,必须是字符串。 | `""` |
63
+
64
+ #### 字段格式细则
65
+
66
+ - **`slug`(英文短名)**
67
+ - 正则表达式:`^[a-z0-9][a-z0-9-]{0,62}$`
68
+ - 长度限制:1 至 63 个字符。
69
+ - 字符范围:仅允许小写英文字母(`a-z`)、数字(`0-9`)和连字符(`-`)。
70
+ - 起始字符:必须以小写字母或数字开头(首字符不能是连字符 `-`)。
71
+
72
+ - **`version`(模板版本号)**
73
+ - 正则表达式:`^(?=.{1,16}$)[a-z0-9]+(?:[.-][a-z0-9]+)*$`
74
+ - 长度限制:1 至 16 个字符。
75
+ - 字符范围:仅允许小写英文字母(`a-z`)、数字(`0-9`)、英文点号(`.`)和连字符(`-`)。
76
+ - 边界要求:必须以小写字母或数字开头,且以小写字母或数字结尾。
77
+ - 连续符号限制:点号与连字符不能相邻或连续出现(例如禁止 `..`、`--`、`.-`、`-.`)。
78
+ - 合法示例:`0.1.0`、`1.0.0-a`、`1.0.0-rc1`。
79
+
80
+ - **`data_ver`(数据包版本)**
81
+ - 当类型为字符串(string)时:去除首尾空白字符后,长度至少为 1。示例:`"1"`。
82
+ - 当类型为数字(number)时:必须为合法的有限数值。示例:`1`。
83
+
84
+ ### 2.2 必须脚本命令 (`scripts`)
85
+
86
+ `package.json` 中的 `scripts` 字段必须为对象,且必须包含以下 5 个指定脚本。每个脚本对应的值必须为字符串,且去除首尾空白后不可为空。脚本的具体执行命令由模板自身的技术栈决定。
87
+
88
+ | 脚本名称 | 属性 | 作用与要求 |
89
+ |---|---|---|
90
+ | `dev` | **必须** | 启动正式内容的本地开发服务。 |
91
+ | `dev:demo` | **必须** | 启动试玩内容的本地开发服务。若模板未制作独立的试玩内容,命令可与 `dev` 保持完全一致。 |
92
+ | `build` | **必须** | 构建正式版产物到根目录 `dist/`。详见第 3 节。 |
93
+ | `build:demo` | **必须** | 构建试玩版产物到根目录 `dist/`。若模板未制作独立的试玩内容,命令可与 `build` 保持完全一致。 |
94
+ | `validate` | **必须** | 执行模板自身的数据检查。若模板包含独立的试玩数据,此单条脚本须同时覆盖正式数据与试玩数据的校验。 |
95
+
96
+ ---
97
+
98
+ ## 3. 构建产物 (dist/)
99
+
100
+ 构建产物用于静态托管与作品发布,统一约定如下:
101
+
102
+ 1. **产物目录**:`scripts.build` 与 `scripts.build:demo` 的输出目录必须是工程根目录下的 `dist/`,两者共用该目录。
103
+ 2. **入口文件**:`dist/` 根目录下**必须**产出 `index.html` 入口文件。可以仅产出纯 `index.html`,无需任何其他静态资源文件。
104
+ 3. **静态资源(建议)**:若构建产物包含 JavaScript、CSS、图片等静态资源,建议放置于与 `index.html` 同级的 `dist/assets/` 目录下。
105
+ 4. **其他产物**:除 `dist/index.html` 外,产物目录内的其他文件组织形式本协议不作强制限制。
106
+ 5. **社区播放页能打开的玩法 HTML**:写包内 `.html` 路径,例如 `staff.html` 或 `assets/index.html`。目录地址(如 `jubenba/`)打不开,也不会自动改成该目录的 `index.html`。页内锚点写 `#id`,不要写 `./#id`。下一页用 `<a href>` 或 `openPlayHtml`,不要用 `location.href`、`location.assign`、`location.replace`。链接写法见 `lumimaker-play-sdk`。
107
+
108
+ ---
109
+
110
+ ## 修订记录
111
+
112
+ | 文档版本 | 修订日期 | 变更说明 |
113
+ |---|---|---|
114
+ | 1.0 | 2026-09-22 | 初始版本。明确工程目录结构、`package.json` 配置字段与脚本规范,以及 `dist/` 构建产物约定(assets 为可选,支持纯 index.html)。 |
115
+ | 1.1 | 2026-10-05 | 补充:社区播放页只签 `dist/` 根目录的玩法 HTML;目录地址不会回落为该目录的 `index.html`。 |
116
+ | 1.2 | 2026-10-09 | 播放页改为签包内 `.html` 路径,子目录里的页面可以打开;目录地址仍然不会变成该目录的 `index.html`。 |
117
+ | 1.3 | 2026-10-12 | 播放页换页用 `<a href>` 或 `openPlayHtml`,不要用 `location.href`、`location.assign`、`location.replace`。 |