Sfoglia il codice sorgente

feat(query):创作Demo 加「模态」轴(视频/图文),正交进全部 5 家族

模态=被创作内容的形态(视频/图文),与教学帖本身格式/平台无关——视频可讲图文创作、
图文也可讲视频创作,故必须作为独立维度正交进每条 query。拼法置于实质后、形式前:
「公共安全 视频 戏剧张力 为什么」「人物故事 图文 引用史料 为什么」。前端加模态列。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
SamLee 2 settimane fa
parent
commit
7f256e37b6

File diff suppressed because it is too large
+ 0 - 0
acquisition/web/app/dist/assets/index-DVogz9-e.js


+ 1 - 1
acquisition/web/app/dist/index.html

@@ -4,7 +4,7 @@
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
     <title>创作知识 · 找帖子</title>
-    <script type="module" crossorigin src="/app/assets/index-D_CDTkr4.js"></script>
+    <script type="module" crossorigin src="/app/assets/index-DVogz9-e.js"></script>
     <link rel="stylesheet" crossorigin href="/app/assets/index-C_LZCGg-.css">
   </head>
   <body>

+ 1 - 1
acquisition/web/app/src/pages/CreationDemo.jsx

@@ -3,7 +3,7 @@ import React, { useEffect, useState } from 'react'
 // 创作Query正交 Demo:仿"制作query"的多列 UI——左侧若干「轴列」(实质/形式/目的池/阶段/知识类型),
 // 右侧「Query 词」列出该家族机械正交出的原串(过 query_filter 后标 留/扔)。顶部 5 家族切换。
 const AXIS_KEY = {        // 家族里写的轴名 → axis_values 里的键
-  '实质': '实质', '形式': '形式', '作用/感受/意图': '目的池',
+  '实质': '实质', '模态': '模态', '形式': '形式', '作用/感受/意图': '目的池',
   '创作阶段': '创作阶段', '知识类型': '知识类型',
 }
 

+ 14 - 13
scripts/build_creation_demo.py

@@ -25,6 +25,7 @@ OUT = ROOT / "data" / "queries" / "creation_demo.json"
 PER = 20
 STAGES = ["灵感", "选题", "脚本"]
 KTYPE = ["怎么做", "有哪些", "为什么"]
+MODALITY = ["视频", "图文"]   # 被创作内容的形态(与教学帖本身格式无关),正交进所有家族
 
 
 def _segs(p):
@@ -106,21 +107,21 @@ def main():
 
     # 每家族:生成器 + 用到的轴(给前端标列)
     families = [
-        {"key": "f1", "name": "实质 × 形式", "axes": ["实质", "形式", "知识类型"],
-         "gen": lambda: {"parts": {"实质": pick(SHI), "形式": pick(XING), "知识类型": pick(KTYPE)}}},
-        {"key": "f2", "name": "实质 × (作用/感受/意图)", "axes": ["实质", "作用/感受/意图", "知识类型"],
-         "gen": lambda: {"parts": {"实质": pick(SHI), "目的": pick(POOL), "知识类型": pick(KTYPE)}}},
-        {"key": "f3", "name": "纯形式", "axes": ["形式", "知识类型"],
-         "gen": lambda: {"parts": {"形式": pick(XING), "知识类型": pick(KTYPE)}}},
-        {"key": "f4", "name": "形式 × (作用/感受/意图)", "axes": ["形式", "作用/感受/意图", "知识类型"],
-         "gen": lambda: {"parts": {"形式": pick(XING), "目的": pick(POOL), "知识类型": pick(KTYPE)}}},
-        {"key": "f5", "name": "创作阶段 × 实质", "axes": ["实质", "创作阶段", "知识类型"],
-         "gen": lambda: {"parts": {"实质": pick(SHI), "创作阶段": pick(STAGES), "知识类型": pick(KTYPE)}}},
+        {"key": "f1", "name": "实质 × 形式", "axes": ["实质", "模态", "形式", "知识类型"],
+         "gen": lambda: {"parts": {"实质": pick(SHI), "模态": pick(MODALITY), "形式": pick(XING), "知识类型": pick(KTYPE)}}},
+        {"key": "f2", "name": "实质 × (作用/感受/意图)", "axes": ["实质", "模态", "作用/感受/意图", "知识类型"],
+         "gen": lambda: {"parts": {"实质": pick(SHI), "模态": pick(MODALITY), "目的": pick(POOL), "知识类型": pick(KTYPE)}}},
+        {"key": "f3", "name": "纯形式", "axes": ["模态", "形式", "知识类型"],
+         "gen": lambda: {"parts": {"模态": pick(MODALITY), "形式": pick(XING), "知识类型": pick(KTYPE)}}},
+        {"key": "f4", "name": "形式 × (作用/感受/意图)", "axes": ["模态", "形式", "作用/感受/意图", "知识类型"],
+         "gen": lambda: {"parts": {"模态": pick(MODALITY), "形式": pick(XING), "目的": pick(POOL), "知识类型": pick(KTYPE)}}},
+        {"key": "f5", "name": "创作阶段 × 实质", "axes": ["实质", "模态", "创作阶段", "知识类型"],
+         "gen": lambda: {"parts": {"实质": pick(SHI), "模态": pick(MODALITY), "创作阶段": pick(STAGES), "知识类型": pick(KTYPE)}}},
     ]
-    # 各部件按固定顺序拼成原串
-    order = ["实质", "形式", "目的", "创作阶段", "知识类型"]
+    # 各部件按固定顺序拼成原串(模态紧跟实质、在形式/目的之前)
+    order = ["实质", "模态", "形式", "目的", "创作阶段", "知识类型"]
 
-    out = {"axis_values": {"实质": SHI, "形式": XING, "目的池": POOL, "创作阶段": STAGES, "知识类型": KTYPE},
+    out = {"axis_values": {"实质": SHI, "模态": MODALITY, "形式": XING, "目的池": POOL, "创作阶段": STAGES, "知识类型": KTYPE},
            "families": []}
     for fam in families:
         seen, items = set(), []

Some files were not shown because too many files changed in this diff