feat: ClassIsland / ClassHelper 灵动岛提示词套件
- 重构版主提示词(14 parts,面向 ClassHelper 灵动岛重构) - ClassIsland 全量规格提示词(20 parts,含分卷与逐章版本) - 投喂指南、分卷、逐节文件 - 调研记录、一致性基线、生成与质检脚本
This commit is contained in:
commit
22c1784bab
117 files changed
+47759
No files matched your search
@@ -0,0 +1,59 @@
|
||||
# 一致性基准(Lead 已核对的 canonical 数值,供各 part 对齐与 Lead 审校)
|
||||
|
||||
> 本文件由 Lead 从源码核对;队友的 part 若与本文件冲突,以源码为准并在交付说明中指出;Lead 汇总时统一。
|
||||
|
||||
## 主界面(Fluent 主题)
|
||||
- `IslandContainerHeight = 40`(行内容/背景高度,FluentTheme/Styles.axaml:65)
|
||||
- 行内容区 `MinWidth=20`,`Margin="12 0"`(FluentTheme/Styles.axaml:107-110)
|
||||
- 行背景:`BorderThickness=1`,背景 `SolidBackgroundFillColorSecondaryBrush`,边框 `ControlElevationBorderBrush`,阴影 `0 4 8 2 #48000000`,圆角 = RadiusX(默认 8,`ConverterParameter=1.0`)(FluentTheme/Styles.axaml:40-50)
|
||||
- 背景过渡:`Opacity 100ms`、`BackgroundWidth 300ms cubic-bezier(0.65, 0, 0.35, 1.0)`(FluentTheme/Styles.axaml:268-269;MainWindow.axaml:197-198)
|
||||
- Classic 主题:`BackgroundWidth 550ms cubic-bezier(0.00, 1.00, 0.50, 1.10)`、`Opacity 100ms`(ClassicTheme/Styles.axaml:206-207)
|
||||
- 组件外边距:根组件 `Margin="6 0"`(MainWindow.axaml:396)
|
||||
- 行垂直间距 = `MainWindowLineVerticalMargin` 默认 5(Settings.cs:219;MainWindow.axaml:344)
|
||||
- 选择框(编辑模式):`StrokeThickness=1.5`、`StrokeDashArray="1, 1.5"`、`Opacity=0.75`、`StrokeLineCap=Round`、`StrokeJoin=Bevel`(MainWindow.axaml:353-363)
|
||||
- 编辑模式窗口:背景 `SmokeFillColorDefaultBrush`,`TransparencyLevelHint=AcrylicBlur,Transparent`;窗口模式窗口 `SystemDecorations=Full` 等(MainWindow.axaml:165-191)
|
||||
- 主窗口:`ShowActivated=False`、`TransparencyBackgroundFallback=Transparent`、默认 `Height=1`(自适应)、`CanResize/Maximize/Minimize=False`、`SystemDecorations=None`(MainWindow.axaml:8,32,168-176)
|
||||
|
||||
## 窗口与设置默认值(ClassIsland/Models/Settings.cs)
|
||||
- `Theme=2`(跟随系统;0 亮 1 暗 2 跟随); `PrimaryColor=DeepSkyBlue`; `SecondaryColor=Aquamarine`
|
||||
- `WindowDockingLocation=1`(中上侧;0 左上 1 中上 2 右上 3 左下 4 中下 5 右下)
|
||||
- `WindowDockingOffsetX/Y=0`; `WindowDockingMonitorIndex=0`; `WindowLayer=1`; `IsMouseClickingEnabled=false`
|
||||
- `Opacity=0.5`; `Scale=1.0`; `RadiusX=RadiusY=8.0`; `MainWindowFont=默认`; `MainWindowFontWeight2=Medium(500)`
|
||||
- 字号:Secondary 14 / Body 16 / Emphasized 18 / Large 20
|
||||
- `MainWindowLineVerticalMargin=5`; `IsIslandSeperated=false`; `ReduceProgressAccuracy=true`
|
||||
- `IsMainWindowVisible=true`; `HideOnClass=false`; `HideOnMaxWindow=false`; `HideOnFullscreen=false`
|
||||
- `ClassPrepareNotifySeconds=60`; `IsClassPrepareNotificationEnabled=true`; `IsClassChangingNotificationEnabled=true`; `IsClassOffNotificationEnabled=true`
|
||||
- `NotificationSoundVolume=1.0`; `IsNotificationEffectEnabled=true`; `IsNotificationSoundEnabled=true`; `IsNotificationTopmostEnabled=true`; `IsSpeechEnabled=true`; `SpeechVolume=1.0`
|
||||
- `IsAutoBackupEnabled=true`; `AutoBackupIntervalDays=7`; `AutoBackupLimit=16`
|
||||
- `AnimationLevel=1`; `IsAutomationEnabled=false`
|
||||
- `TaskBarIconClickBehavior`:Windows 0(打开主菜单),其他平台 4(打开设置窗口)
|
||||
|
||||
## 状态与枚举(待各 part 细化)
|
||||
- `TimeState`:OnClass / Breaking / ...(LessonsService.CurrentState)
|
||||
- TimeLayoutItem 类型:上课/课间/分割线/行动
|
||||
- NotificationPriority:见 Shared/Models/Notification
|
||||
- 隐藏模式 `HideMode`:0 基本(上课/最大窗口/全屏)、1 高级(规则集)
|
||||
|
||||
## ClassHelper 技术栈(固定)
|
||||
- pnpm 11.8.0;Node >= 20.19;Electron ^44.3.0;Vue ^3.5.42;Element Plus ^2.14.5;Pinia ^4.0.3;Vue Router ^5.3.1;Vite ^8.3.0;TypeScript ~5.9.3
|
||||
- 岛:独立 `island.html` + 独立 BrowserWindow;`squircle.ts`(p=2/4.2,14 段/角);`spring.ts`(stiffness 0.10,damping 0.68,snap 0.05px,动量保留 0.35,最大距离比 0.2,最大 dt 6 帧);`classic-island.css` 字号全部由 `--island-font` calc 推导;`tokens.css` 基础:`--ch-ui-primary:#5d6bfa`、radius 8px、gap 16px 等
|
||||
- 安全:preload contextBridge 白名单;CSP;不暴露 ipcRenderer;渲染层不持文件能力
|
||||
|
||||
## 已确认的动画片段(供 part 14 交叉核对)
|
||||
- 背景色 BrushTransition 200ms(MainWindow.axaml:40-44)
|
||||
- WrapPanel 尺寸动画 300ms cubic-bezier(0.65,0,0.35,1.0)(MainWindow.axaml:197-198)
|
||||
- Fluent 行背景 BoxShadowsTransition 100ms;进度条 Value 过渡 50ms Linear(FluentTheme/Styles.axaml:97,139-142)
|
||||
- Fluent 遮罩/背景:Opacity 100ms、BackgroundWidth 300ms;出现位移动画 250ms cubic-bezier(0.25,1,0.5,1)、延迟 260ms;尺寸动画 750ms 同曲线;延迟 600ms/100ms(FluentTheme/Styles.axaml:331-357,378-403)
|
||||
- Classic 主题:Opacity 100ms、BackgroundWidth 550ms cubic-bezier(0,1,0.5,1.1);动画 200ms 等(ClassicTheme/Styles.axaml:206-207,268-321)
|
||||
- 页面切换:PageSlide 300ms cubic-bezier(0.76,0,0.24,1) + CrossFade 300ms(ClassChangingWindow/DataTransferPage/WelcomePages)
|
||||
- OOBE 开场:3000ms cubic-bezier(0.00,0.83,0.17,0.90);后续 250ms cubic-bezier(0.76,0,0.24,1)、700ms cubic-bezier(0.33,1,0.68,1)(Controls/OobeIntroAnimationControl.axaml:16,47-48,93-105)
|
||||
- 教程聚光灯:750ms cubic-bezier(0.16,1,0.3,1);高亮环 1750ms(Controls/Tutorial/*.axaml)
|
||||
- 关于页 Logo:延迟 250ms、持续 200ms、Easing 0,0 0,1(AboutSettingsPage.axaml:136-137)
|
||||
|
||||
## 待核对项(Lead 会在汇总时检索)
|
||||
- 通知气泡的精确尺寸/圆角/间距(ClassNotificationProviderControl.axaml)
|
||||
- 强提醒特效的参数(TopmostEffectWindow + NotificationHostService)
|
||||
- 天气组件布局尺寸(WeatherComponent.axaml)
|
||||
- 课程表组件列宽/行高(ScheduleComponent.axaml)
|
||||
- OOBE 各页尺寸(WelcomeWindow.axaml)
|
||||
- 设置窗口尺寸(SettingsWindowNew.axaml)
|
||||
Reference in new issue
Block a user