Skip to content

feat(archery): 新增环分数映射方案(线性/对数)与对数强度滑杆 - #6

Merged
TaylorHere merged 4 commits into
mainfrom
cursor/-bc-fcde01a0-f13f-4205-b18b-a3c4c9f587ba-6862
Mar 17, 2026
Merged

TaylorHere merged 4 commits into
mainfrom
cursor/-bc-fcde01a0-f13f-4205-b18b-a3c4c9f587ba-6862

Conversation

@TaylorHere

@TaylorHere TaylorHere commented Mar 17, 2026 •

Copy link
Copy Markdown
Owner

变更内容

  • 新增“环分数映射方案”配置:线性 / 对数
  • 新增“对数映射强度”滑杆(0-100),用于调节对数分布曲线
  • 对数映射默认强度调整为 10(3环时更接近示例分布 1,7,10)
  • 将关键数值参数改为滑杆交互(直径、最小间距、手动页边距、手动靶间距、目标数量、圆环数量)
  • 在参数无可行解时改为“当前参数就近吸附”,不再自动调整其他参数
  • 预览 SVG 与导出 PDF 统一使用同一分数映射配置
  • 颜色映射保持与分数严格对应(仍按分数段映射箭靶色板)

实现细节

  • shared/layout.ts
    • 新增 RingScoreMappingMode、RingScoreMappingConfig
    • ringScoreByIndex 支持传入映射配置(线性/对数 + 强度)
    • ringFillColor 支持按映射后的分数决定颜色
  • src/main.ts
    • 新增 UI 控件:映射方案下拉 + 对数强度滑杆
    • 对数模式下显示并启用滑杆,线性模式下隐藏并禁用
    • 将关键数值输入由数字框改为滑杆,并展示当前值标签
    • 增加滑杆动态边界同步(随页面尺寸/直径变化自动约束可选范围)
    • 吸附逻辑改为仅调整当前编辑参数(如直径、最小间距、手动页边距、手动靶间距)
    • 删除“当前参数不满足时自动改其他参数”的逻辑
  • src/pdf.ts
    • PdfRenderInput 新增映射模式与强度
    • 导出绘制环颜色与分数文字接入同一映射配置
  • src/style.css
    • 新增滑杆相关样式(宽度、值标签、滑杆字段布局)

验证

  • 在 archery 目录执行:npm run build
  • 结果:构建通过(tsc && vite build 成功)
Open in Web Open in Cursor 

cursoragent and others added 4 commits March 17, 2026 22:40
Co-authored-by: TaylorHere <TaylorHere@users.noreply.github.com>
Co-authored-by: TaylorHere <TaylorHere@users.noreply.github.com>
Co-authored-by: TaylorHere <TaylorHere@users.noreply.github.com>
Co-authored-by: TaylorHere <TaylorHere@users.noreply.github.com>
@TaylorHere
TaylorHere marked this pull request as ready for review March 17, 2026 23:05
@TaylorHere
TaylorHere merged commit da8f154 into main Mar 17, 2026
1 check passed
@TaylorHere
TaylorHere deleted the cursor/-bc-fcde01a0-f13f-4205-b18b-a3c4c9f587ba-6862 branch March 17, 2026 23:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants