nonvioce

nonvioce запушил(а) main в nonvioce/library

  • 0c372a48f4 添加高质量C#手册(两本C#著作合并整理)

1 день назад

nonvioce запушил(а) main в nonvioce/library

  • 2667098d4c docs: 将架构设计笔记重构为架构设计手册 - 重构为 7 部分、42 章、3 个附录的完整手册 - 补充架构方法、架构风格、质量属性、分布式/云原生与游戏服务器专题 - 增加 ADR、评审、质量属性场景、选型、风险等模板与术语表 - 保留《架构漫谈》精读与 GitHub 游戏服务器项目调研 - 更新 README 索引 Co-Authored-By: Claude Code <noreply@anthropic.com>

2 недель назад

nonvioce запушил(а) main в nonvioce/library

2 недель назад

nonvioce запушил(а) main в nonvioce/library

  • 54cf3b1482 添加架构读书笔记与游戏服务器架构综述 总结《架构漫谈》与《游戏服务器架构与优化》两本书,并结合 GitHub 开源项目梳理游戏服务器架构模式、同步方案与选型建议。 Co-Authored-By: Claude Code <noreply@anthropic.com>

2 недель назад

nonvioce запушил(а) main в nonvioce/mathtool2

  • 0d2c8e25ae 对称变换的直线方程改数学排版、圆的方程加"一般方程";绘图按钮改叫「绘制」;输入框统一数字键盘 - 对称变换(直线关于点/直线关于直线):直线方程用 LaTeX 渲染,正负号、省略 系数 1、系数为 0 的项不写都交给新的 polyEqualsZero;系数是分数时另给一条 小数版。顺带把 cuo_wei 里的 _frac 提成共用的 texNum - 圆的方程:结果最前面加一条**圆的一般方程** x²+y²+Dx+Ey+F=0(系数代进去, LaTeX 渲染;F=0 时那一项自动不写) - 两个绘图工具的按钮从「计算」改成「绘制」(ToolScaffold 新增 runLabel/runIcon) - **所有工具的输入框统一用数字键盘**(原来表达式栏是全键盘):工具页绝大多数 输入是数,输入法本身能切到字母,表达式栏照样打得进 Sin[x] —— 现在每个框点 下去手感一致 - 补一条 polyEqualsZero 的单元测试(0 不写、±1 省 1、正负号) Co-Authored-By: Claude Code <noreply@anthropic.com>

3 недель назад

nonvioce запушил(а) main в nonvioce/mathtool2

  • 0260d705b3 卷积:每组的增删按钮贴着自己那组输入框 原来两组的按钮都在 intro 里,于是 X 和 Y 的按钮一起跑到最上面, 看着像"Y 的按钮管着 X 那组"。 外壳加了个 beforeField(在指定输入框前插一块自定义 widget), 卷积把 X 的按钮插在第一个 X 框前、Y 的插在第一个 Y 框前(下标 = X 行数×2)。 Co-Authored-By: Claude Code <noreply@anthropic.com>

3 недель назад

nonvioce запушил(а) main в nonvioce/mathtool2

  • d3c651c919 键盘:C 直接显示(shift 是 P)、阶乘收进括号的 shift、π 与 i 换位; 圆的方程改求半径;函数绘图能画多条曲线、范围滑条搬到「计算」上方 - 组合数 C 挪到基座(原来在 `!` 的 shift 里),它的 shift 是排列数 P; 阶乘收进 `(` 的 shift(用得比组合数少)。π 和 i 互换位置 - 圆的方程:半径平方 → **半径** √(D²+E²−4F)/2,精确值仍是根号/分数, 旁边配近似值(真机上 (0,0)(2,0)(0,2) 给的是 Sqrt(2) ≈ 1.4142) - 函数绘图修了两个问题: · **画不出多条曲线**:图表原来是个有状态的 widget,只在第一帧吃了 series, 后来加的函数进不去(改成无状态的 CurvePlot,series 每次重画都是新的) · 横轴/纵轴范围两个滑动条搬到「计算」上方 —— **先定范围再画图**, 采样区间和显示窗口都用它(原来滑条在图下面、只管显示窗口) · 顺带补回第一个输入框的默认 x^2(丢了之后打开就报"请至少填一个表达式") Co-Authored-By: Claude Code <noreply@anthropic.com>

3 недель назад

nonvioce запушил(а) main в nonvioce/mathtool2

  • db4516217a 近似值改成按"小数位数"截断(Symja 的 N 忽略位数参数);键盘行高跟着排数算 - **Symja 的 `N[expr, k]` 根本不看第二个参数**(实测 4 位和 15 位打印一模一样), `NumberForm` / `SetPrecision` 也没实现(原样返回)。改用 `N[Round[expr, 1/10^k]]` 真截到 k 位小数,文本和 LaTeX 都跟着变干净, 顺带把 `3.5999999999999996` 这种浮点尾巴一起解决了(现在是 3.6) - 设置项随之改成"近似值小数位数",范围 0~15、默认 10(原来写的"有效位数" 名不副实);计算器的"近似"和工具页所有"(近似)"共用同一个值 - 键盘行高按**实际排数**算:之前写死 9 排,缩到 8 排后底下空出一条 Co-Authored-By: Claude Code <noreply@anthropic.com>

3 недель назад

nonvioce запушил(а) main в nonvioce/mathtool2

  • 36c6214498 键盘重排成 8 排(∫ 收进 d/dx、运算符收进变量行);设置里加"近似值位数" 键盘 - 求和/求积一层、求导/求积分一层:Σ 的 shift 是 ∏,d/dx 的 shift 是 ∫, ∫ 不再单独占一个键(原来"∫ 自己一个键、shift 却是 ∏")。空出来的位置给 √ - 变量那一行 x y a t n 的 shift 收下整排运算符(=、==、/.→、,、{), 于是键盘从 9 排压到 8 排,键也更高更好按 - 基座只留常用的:数字、. + − × / ^、括号、⇧ ⌫ CLR ANS ✓、π e i - 测试里加了 pressShift():按 shift 层的键要先按 ⇧ 设置 - 新增"近似值位数"滑动条(2~20,默认 15)。计算器顶栏的"近似"和工具页里 所有"(近似)"那行都听它 —— 位数只有一个来源(AppSettings,落到会话上) - 近似值改成先 Rationalize 再取小数:输入写成 0.2/0.3 时机器浮点会带出 `3.5999999999999996` 这种尾巴,还原成分数再取小数就是干净的 3.6 - 各工具的 N[...] 位数统一从硬编码换成设置里的值 Co-Authored-By: Claude Code <noreply@anthropic.com>

3 недель назад

nonvioce запушил(а) main в nonvioce/mathtool2

  • 1cab0d65d1 键盘加 ⇧ 层:不常用的功能收进 shift,含排列数与组合数 - 右下角新增 ⇧ 键。开着的时候键盘整体换成 shift 层(有 shift 层的键显示备用 功能),按一次只生效一次,跟计算器上的 shift 一样 - shift 层:∫→∏(连乘)、solve→nsolve、sin/cos/tan→asin/acos/atan、ln→lg、 √→|x|、`(`→P(排列数 FactorialPower[n,k])、`!`→C(组合数 Binomial[n,k]) - 排列数/组合数直接给出两个参数槽,填完第一个按逗号进第二个 (FactorialPower[5,2]=20、Binomial[5,2]=10,都在 JVM 上验过) Co-Authored-By: Claude Code <noreply@anthropic.com>

3 недель назад

nonvioce запушил(а) main в nonvioce/mathtool2

  • f1f0155c0c 工具页:精确+近似都要、去掉多余的说明文字、E-Ink 改白底黑字 - 精确值走 Rationalize:输入写成小数时 Symja 会一路按小数算,均值显示成 `3.6` 就不再是精确值了,现在还原成分数 `18/5`,旁边配 `≈ 3.6`。 去重也比**数值**而不是字符串(`N[5]` 打印成 `5.0`,比字符串会多出没用的行) - 补齐近似值:圆的方程(D/E/F、圆心、半径平方)、对称变换、二项/超几何分布 的每一个 P(X=k)、卷积的每一项与概率总和 - 去掉剩下的说明文字:法向量、二分法、函数图像、圆的方程、卡方检验、 错位相减法、卷积的分组标题、统计图表的"图表类型"(只留控件) - E-Ink 从"灰阶滤镜"升级成"白底黑字":配色整体压成白底黑字黑线,卡片改用 描边而不是阴影,键盘按键改描边区分(白底白键会糊成一片),工具卡片白底黑框 Co-Authored-By: Claude Code <noreply@anthropic.com>

3 недель назад

nonvioce запушил(а) main в nonvioce/mathtool2

  • 4b38cb7ed0 工具页细节:行内并排的输入框、结果公式渲染、滑动条自动延展、若干修错 - 错位相减法直接给出渲染后的 Sₙ = (A·n + B)·qⁿ − B(值仍是 Symja 算的, Dart 只把数字摆进公式、分数写成 \frac)。**修了一处符号错**:尾巴那项是 −B,之前跟括号里的 A·n + B 写成了一样,B = 2 时会显示成 `+ 2` 整个公式就错了 —— 公式拼装抽成 sFormula() 并补了直接测它的用例 - 输入框可以并排:ToolField.rowWithPrevious。卷积(取值/概率一行)、卡方检验 (a b / c d 的列联表)、对称变换与圆的方程(点的 x y 一行)、法向量(x y z 一行) - 直方图:频率填小数时 Total 回的是 `1.0`,原来拿 Dart 字符串比 `1` 会把合法 输入判成错的。判等也交给 Symja(`Total[f] == 1`)。卷积的概率和同样处理 - 函数图像:滑动条拉出采样区间后曲线就断了,现在视野超出采样范围会自动 重新采样(CurvePlot 新增 onViewChanged,只报信,谁采的样谁负责延展) - 分组分配、n 边形染色去掉说明文字,注册表位置挪到统计图表后面 Co-Authored-By: Claude Code <noreply@anthropic.com>

3 недель назад

nonvioce запушил(а) main в nonvioce/mathtool2

  • 8874572e45 工具页:计算全部交给 Symja,输出分开可复制、加重置;新增两个工具;控制台设置(MCP 端口 / E-Ink);函数面板支持中文检索 工具页 - 15 个工具的计算全部改走 Symja(原来 11 个在 Dart 里用 rational / math_expressions 自己算),Dart 只剩取输入、排版和绘图采样 - 新增公共外壳 lib/tools/tool_kit.dart:输入框 + 计算/重置 + 一条条可点复制的输出 (图表不参与复制)。每个工具因此都自带重置按钮 - 表达式里**乘号必须显式写**:Symja 会把 `n (v+1)` 解析成函数调用、静默算错, 这次逐个表达式在 JVM 上对着 Symja 3.2.0 验过 - 算式不受计算器顶栏"近似模式"影响(SymjaSession.compute 新增 applyMode,默认关) - 删掉 lib/utils/math_utils.dart、rationalsqrt2.dart,pubspec 去掉 rational 与 math_expressions —— 同一个算式不再有 Dart 和 Symja 两份实现 - 新增工具:分组分配(k!·S(n,k))、n 边形染色((k−1)ⁿ+(k−1)(−1)ⁿ) - 工具页原本没有的说明文字不加(二项分布那种公式只存在于代码注释里) 控制台设置 - 齿轮按钮 / `settings` 命令:MCP 端口、E-Ink 模式 - 端口存 settings.json,启动 MCP 时传给原生侧;服务在跑而端口变了会先停再起 - E-Ink:一个全局灰阶滤镜 + 关动画(零时长主题动画、无路由过渡、无水波纹、 MediaQuery.disableAnimations)。切换时保持 widget 树形状不变,否则 Navigator 会被重建、一开就被踢回首页 - 计算器的函数面板现在也能按中文说明搜("方差" → Variance) Co-Authored-By: Claude Code <noreply@anthropic.com>

3 недель назад

nonvioce запушил(а) main в nonvioce/mathtool2

  • 4641a75737 控制台顶栏去掉应用名 三个 tab 里只有控制台还挂着标题,切页面时顶栏忽长忽短。应用名在启动器和 最近任务里都看得到,这里没必要占一行。 Co-Authored-By: Claude Code <noreply@anthropic.com>
  • 8e45e84726 工具页搜索框让开状态栏 工具页是 IndexedStack 里唯一没有自己的 Scaffold/AppBar 的 tab,直接返回 一个 Column,于是搜索框顶到了状态栏上、和时钟叠在一起。加 SafeArea (bottom: false —— 下面就是 Shell 的 NavigationBar,底部安全区它已经吃了)。 带一个回归测试:给视口一个 120px 的顶部安全区,断言搜索框落在它下面。 Co-Authored-By: Claude Code <noreply@anthropic.com>
  • Просмотр сравнение для этих 2 коммитов »

4 недель назад

nonvioce запушил(а) main в nonvioce/mathtool2

  • d35b49ec3e i 与逗号换位置:逗号上到第 4 行,i 挪到最后一行 Co-Authored-By: Claude Code <noreply@anthropic.com>
  • f26a27c3ba /. 与 -> 合成一个 /.→ 键;加 i 键;窄字形点击区加最小宽度 - `/.` 和 `->` 永远成对出现(代入就是 `式子 /. x -> 值`),合成一个键直接 给出骨架,光标落在最后,腾出来的位置给虚数单位 - i 键送进引擎的是大写 `I`(Symja 里小写 i 只是未定义符号),编辑框和按键 按用户习惯显示小写 `i`,和 π/Pi、e/E、ANS/% 同一套做法 - 字面量给 12px 最小宽度:`i`、`.` 这类窄字形点击区只有字形那么宽(22 号 衬线体里才 5~6px),真机手指点不中。上限卡在 12 是因为它是布局宽度, 再宽 `1 + 2` 这类常见写法就会露出肉眼可见的空隙 - 补三个回归测试(i 的显示与送出的文本、窄字形点击区、/.→ 骨架) Co-Authored-By: Claude Code <noreply@anthropic.com>
  • Просмотр сравнение для этих 2 коммитов »

4 недель назад

nonvioce запушил(а) main в nonvioce/mathtool2

  • dc0714647d 函数图像绘制去掉 x/y 范围输入框 横纵范围现在由图下面的滑动条控制,输入框就多余了。 顺带删掉那行已经过时的说明(写着"双指缩放、拖动" —— 早就改成滑动条了)。 采样区间改成固定值:x ∈ [-10, 10]、800 个点。点比原来的 240 密, 这样用滑动条放大到一小段时还剩足够多的点。 97 个测试通过。 Co-Authored-By: Claude Code <noreply@anthropic.com>

4 недель назад

nonvioce запушил(а) main в nonvioce/mathtool2

  • 8ca741db1e 参数方程绘图改成等比例:圆不再画成椭圆 两个原因叠加,都得修: 1. 边界计算**只给 y 加了 5% 留白**,x 没加 —— 就算数据是 cos/sin 这种 对称的,两轴跨度也不相等。 2. 绘图区是 Rect(46, 12) → (w-12, h-26),**宽度比高度少 58px**(左右要留 轴标签的位置)—— 外层 widget 就算是正方形,里面也不是。 给 CurvePlot 加了 equalAspect:两轴同留白、同跨度、同中心,且绘图区 收成正方形。参数方程绘图开这个(圆/椭圆/螺线必须等比例);函数图像 不开 —— 它更希望横向铺满,而不是为了比例留白。 "两轴调成同跨度同中心"抽成了纯函数 equalizeAspect,直接测 —— "圆看起来圆不圆"没法靠断言像素回归。顺带测出它在退化成一点时返回 零跨度,已加保护。 96 个测试通过(新增 4 个)。 Co-Authored-By: Claude Code <noreply@anthropic.com>

4 недель назад

nonvioce запушил(а) main в nonvioce/mathtool2

  • 9c5afa2262 去掉计算器页的绘图按钮 绘图只保留在工具页(函数图像绘制 / 参数方程绘图)和控制台的 plot 命令。 计算器顶栏现在只剩:精确/近似 和 函数面板。 Co-Authored-By: Claude Code <noreply@anthropic.com>

4 недель назад

nonvioce запушил(а) main в nonvioce/mathtool2

  • c55471f180 a 与 y 换位;变量键标签改成斜体衬线 等宽字体里 `x`(变量)和 `×`(乘号)几乎一模一样,用户实测反馈"太像了"。 数学排版的老办法本来就是变量斜体、运算符正体,所以变量键(x y a t n) 的标签改用斜体衬线、字号也放大一档,和运算符一眼分得开。 顺带 a 与 y 换位:x y a t n Co-Authored-By: Claude Code <noreply@anthropic.com>

4 недель назад

nonvioce запушил(а) main в nonvioce/mathtool2

  • 22752a3396 { 与 π 换位置 Co-Authored-By: Claude Code <noreply@anthropic.com>

4 недель назад