解决水平重叠、 跟踪盲点和计时错误
- fly ToHomeRow:计算每个跟踪器的实际dx范围以获得右缓冲/左缓冲 独立地放置锚,以防止环形追随者与 相邻的家排头( 仅留下 19px 间隙对 77px 需要) - 解析组合:包括被取消的团体追随者作为只读障碍,这样可以自由头 而其他单位则不能再被安排在跟随者位置之上 - 在Make Room / 在Wr...
Bake 大小滑动器通过视图框裁剪放大为已保存的 SVG
阿凡达造物主的内部尺度 放大了SVG内部的阿凡达体 帆布,但效果在小显示尺寸(例如a)时是无法察觉的。 140x140 Avatar组件). 预览使用冗余 CSS 变换: 缩放( ) 以显示缩放, 但 CSS 绝不是其中的一部分 保存了 SVG,所以预览和保存总是看起来不同. 新方法: - 从可选变形器中去除缩放( ...
从 Avatar 预览中删除冗余 CSS 缩放转换
Avatar 创建器的缩放选项已经作为 SVG 组应用了缩放( N/ 100) 变相体上. 预览容器也在应用中 CSS变换:分级(N/100),复合效应(2.5×2.5=6.25x) (以250%计) 这让预览看起来与 保存了 SVG, 特别是在滑动器最大值被提升到250后特别显著 。 删除 CSS 变换使预览准确匹...
执行 make Room 和后碰撞分辨率
以真正的处理器替换无操作的六角头: make Room listener 在新工具窗口的 DOM 矩形后运行解析度 稳定。 修复收听者泄露(匿名,从未清理). 包装后还要运行解析度 。 最终在停靠的窗户后面被重新定位.
Fly ToHomeRow 中的组意识槽宽度
组现在保留与其跟踪者成比例的横向槽 环范围(使用正确的平顶轴公式),防止群 来自入侵相邻锚地空间的追随者. 还添加a 双RAF解析器在安放后作为安全网通过.
使用 Callback 添加解析度
探测到头到头和头到脚的Window空间违规情况 然后把头移到最近的干净位置 螺旋搜索器。 必须通过双RAF调用以避免读取 中动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能动能...
添加 MIN GAP 常数和螺旋搜索助手
添加 5px 最小间隙的变异常数和螺旋搜索 函数查找最近的无相撞像素位置 一个六分头,检查 头对头和头对工具 Window 清除.
Add hexhead collision fixes implementation plan
5-task plan covering: spiralSearch helper, resolveCollisions useCallback, group-aware flyToHomeRow, onUp non-snap/swarm wiring, and makeRoom/ wrapAroundDock eve...
Remove z-index DOM sort to prevent click events being dropped on focus
Sorting windows by zIndex in ToolDock caused DOM node reordering on every focus event (mousedown). Browsers drop the click event when its target element moves b...
Add hexhead collision fixes design spec
Spec covers three hexhead UX bugs: horizontal bottom-row vertex overlap, bottom-right stacking when dropping without snap, and hexheads ending up behind tool wi...
Bake background color/gradient into saved Avatar Creator avatar SVG
Avatar Creator generates transparent-background SVGs by default. The background was only applied as a CSS wrapper on the preview container, so the stored MinIO ...
Dispatch member-panel-toggle via useEffect to avoid stale Framer Motion closure
onAnimationStart/Complete hold the last rendered props, so the exit animation always saw isOpen=true and windows never relayed to the right on close. Using a us...
Correct member-panel-toggle event property so tool windows respect panel offset
The event was dispatching `{ isOpen }` but ToolWindowsContext read `detail.open`, causing memberPanelOpenRef to always be falsy and the 500px panel offset to ne...
Eliminate hexhead spawn overlap by computing unique column positions
Each head now initialises its MotionValue at its own home-row column X and below the viewport (h + SIZE), then springs up to its final slot. Previously all head...
Use inline style for icon colors to prevent CSS specificity override
sx-generated color classes were being overridden by Tab card context styles. Switching color to inline style prop ensures icons always render with the correct c...
Prevent overflow:hidden on tab card from clipping status widget
Move overflow:hidden from the Card to the Tabs wrapper Box so scrollable tabs are contained but the right-aligned status/substatus widget remains fully visible.
Correct hexhead geometry, z-index layering, and viewport clamping
- Fix axialToPixel to use flat-top hex formula (was pointy-top) so honeycomb aligns flat-edge to flat-edge as the hex SVG shape requires - Fix generateRing to...
Add status/substatus widget to lead view tab bar
- Extract LEAD_STATUS_TYPES, getStatusIcon, getSubStatusIcon to shared app/lib/leadStatuses.tsx utility; update LeadManager to import from it - Add inline sta...
Rewrite HexHead system with framer-motion physics
Replace the broken 1800-line HexHeadGroup with a clean physics-based implementation using framer-motion springs and motion values. Key changes: - Remove wiggle...
Use Next.js client-side navigation for all MUI Link components
MUI Link without component={NextLink} renders as a plain <a> tag, causing full page reloads that reset all React state including tool windows. Added component={...
Replace window.location hard navigations with router.push/refresh
All window.location.href, window.location.assign(), and window.location.reload() calls in page components caused full page reloads, wiping all React state inclu...
Flat-top honeycomb layout, 5px gaps, cluster-aware groups, tool window relayout
HexHeadGroup: - Switch to flat-top hex geometry (HEX_INRADIUS/HEX_STEP) — hexes now share flat top/bottom edges with adjacent group members, giving a proper h...
Move ToolDock above auth gate to prevent tool window wipe on navigation
PresenceWrapper switches its component tree structure when auth resolves (Fragment > children → ChatWebSocketProvider > PresenceProvider > children). This unmou...
将工具栏和搜索更改应用到嵌入式聊天模式
ChatBox总是通过ChatTool以嵌入模式提供. 移动 带有搜索字段和滚动到下键的调用控制工具栏 输入嵌入的段落,使修改在工具窗口中可见.
添加聊天工具栏, 包含呼叫控制、 实时搜索和智能自动滚动
将呼叫按钮从信头移动到带有50%打火机的专用工具栏行 背景情况。 添加显示匹配和自动滚动的活搜索字段 最近的结果。 添加滚动到下方的按钮以清除搜索。 执行在用户滚动时停止的智能自动滚动 并回滚回下方.
软手机拨号板更短 聊天呼叫控制器 螺旋头相机 钙光主题
- 将软手机拨号板按键从12px降低到9px(6px更短) - 在 ChatBox 中添加呼叫控制工具栏(音频、视频、屏幕共享) 嵌入模式使其出现在工具WindowShell标题下 - 修复六头蛇取回:通过成员Id到产卵事件,所以是HexheadGroup 使用真实成员ID而不是窗口 ID 来搜索外观 - 重排计算器,...
将 Hex HeadGroup 选择器从数据交换箱根端更新到数据工具窗口
工具窗口系统在工具WindowShell上使用数据工具窗口,但 HexHeadGroup仍在查询数据-聊天箱-root以进行脚印检测. 这导致六头蛇看不到任何打开的工具窗口,打破了蜂窝 校正,包接-dock,聊天-避免回击,惯性聊天-避免回击.
统一工具窗口尺寸并完善 UI
- 现在所有工具都具有320x650的统一尺寸(手机高25%,其他匹配) - 从UI中删除程序员和图形计算器模式(保留组件) - 聊天六头蛇使用有用户相片的可视化变体,而不是图标变体 - 工具窗口下角现在是正方形(上角仍为圆形)
添加科学模型计算器组件
基于表达式的科学计算器,并预览现场结果. 支持 trig(sin/cos/tan +倒数),log/ln,权限(x2,x3,x^y,), 前,第10x条),根(√,∛),因子(n!),常数(π,e,φ), 括号,DEG/RAD切换和M+/M-/MR/MC内存. 键盘输入 数字、运算符、 Enter/=、 Escape ...