Skip to content

legal: independently replace the cursor values recovered from a proprietary binary #3293

Description

@Astro-Han
English

Part of #3268 — G1: incoming IP and provenance.

Outcome

The Computer Use cursor no longer carries values transcribed from a proprietary binary, and the values it does carry have a recorded, independently verifiable origin. This closes the G1 item by replacement rather than by determination.

#3268 allows either an ASF/legal determination that the retained facts may stay or independent replacement of those facts and the code that depends on them. This issue takes the second path because it can proceed without a determination and removes the question instead of answering it.

Exit criteria

  • A contributor who has not seen the current values derives a replacement set from Maka's own requirements.
  • The derivation is recorded publicly, so each new value has a verifiable origin of its own.
  • Every item in the replacement scope below is replaced.
  • The presentation deadline is re-derived from the new values and the presentation fence is at or above it.
  • apps/desktop/src/main/__tests__/cursor-engine.test.ts passes without changes to its assertions.
  • docs/computer-use-cursor-provenance.md is updated from retained facts to independent replacement.

Replacement scope

All symbols are in apps/desktop/src/renderer/computer-use-overlay/engine/cursor-engine.ts.

ItemSymbol
Glyph geometryCODEX_CURSOR_GLYPH: size, shadowBlur, normalized path coordinates
Motion configurationCODEX_CURSOR_MOTION: 30 fields
Close-enough gateCURSOR_CLOSE_ENOUGH: progress, distance
Path measurementSCORE_SAMPLES and the measures derived from it in measureCursorPath
Core scorerSCORE_DETOUR_WEIGHT, SCORE_ANGLE_ENERGY_WEIGHT, SCORE_MAX_ANGLE_WEIGHT, SCORE_TOTAL_TURN_WEIGHT, SCORE_OUT_OF_BOUNDS_PENALTY
Terminal heading blendterminalTangentBlendStart and the click-angle handling in cursorHeadingAt
Hotspot conventionCentre of the hosting view as the action hotspot

CURSOR_CLOSE_ENOUGH is not independently choosable. The presentation-ready deadline is derived from it together with the spring response and damping fraction, and a fence shorter than that deadline reintroduces the mid-flight click dispatch the gate exists to prevent.

Method

The replacement must be clean-room to be worth doing:

  1. The contributor who performed the original binary inspection does not carry out this work.
  2. New values are derived from Maka's product requirements — the glyph is legible at 1x over an arbitrary application, the cursor lands before the click is released, long moves do not sweep the desktop, and arrival does not visibly overshoot — and are tuned against the product rather than against the existing constants.
  3. The derivation is written down before the file is edited.

The existing tests are behavioural rather than value-pinned; they assert landing, ordering, cancellation, and tick bounds. A test that needs a new constant written into it was pinning the old one, and that should be raised on the pull request rather than edited silently.

Existing work

Out of scope

  • The Maka-authored constants and behavior recorded in docs/computer-use-cursor-provenance.md, including MAX_DESIRED_ARC, DEPARTURE_FAN, the backwards-arrival and rotation terms, the candidate family, viewport behavior, the frame clock, presentation fences, and the brand palette. Replacing these adds risk without advancing the gate.
  • The MIT trycua/cua lineage, which remains recorded as it is.
  • The published git history, which still contains the original values. Whether that requires any further record is a question for the mentors and is tracked on legal: close incoming IP provenance for the first Apache release #3268, not here.

Ownership

Unassigned. The clean-room requirement above constrains who can take it: the contributor who performed the original inspection cannot, and neither can anyone who has read the current constants. This is a process requirement, not a judgement about any contributor.

简体中文

#3268 的一部分——G1:代码来源与知识产权输入。

目标结果

Computer Use 光标不再包含从专有二进制转录的数值,其所用数值具备可记录、可独立验证的来源。本 issue 以替换而非判断的方式关闭该 G1 事项。

#3268 允许两种出口:由 ASF/法务判断保留的事实可以留下,或者独立替换这些事实及依赖它们的代码。本 issue 选择后者,因为它无需等待判断即可推进,并且是让问题消失而不是回答问题。

完成条件

  • 由未见过现有数值的贡献者,依据 Maka 自身需求推导出一套替换数值。
  • 公开记录推导过程,使每个新数值具备自身可验证的来源。
  • 完成下述替换范围内的全部项目。
  • 依据新数值重新推导 presentation deadline,并确保 presentation fence 不低于该值。
  • apps/desktop/src/main/__tests__/cursor-engine.test.ts 在断言未经修改的情况下通过。
  • docs/computer-use-cursor-provenance.md 从「保留的事实」更新为「已独立替换」。

替换范围

全部符号位于 apps/desktop/src/renderer/computer-use-overlay/engine/cursor-engine.ts

项目符号
字形几何CODEX_CURSOR_GLYPHsizeshadowBlur、归一化路径坐标
运动配置CODEX_CURSOR_MOTION:30 个字段
Close-enough 门限CURSOR_CLOSE_ENOUGHprogressdistance
路径度量SCORE_SAMPLESmeasureCursorPath 中由其派生的度量
核心评分SCORE_DETOUR_WEIGHTSCORE_ANGLE_ENERGY_WEIGHTSCORE_MAX_ANGLE_WEIGHTSCORE_TOTAL_TURN_WEIGHTSCORE_OUT_OF_BOUNDS_PENALTY
终点转向混合terminalTangentBlendStartcursorHeadingAt 中的点击角度处理
热点约定以宿主视图中心作为动作热点

CURSOR_CLOSE_ENOUGH 不可独立选取。presentation-ready deadline 由它连同弹簧响应与阻尼系数共同推导,而短于该 deadline 的 fence 会重新引入该门限本要防止的飞行中点击派发。

方法

替换必须采用 clean room 方式才有意义:

  1. 执行原始二进制检查的贡献者不承担这项工作。
  2. 新数值依据 Maka 的产品需求推导——字形在 1x 下能在任意应用之上清晰可辨、光标在点击释放前落位、长距离移动不会横扫桌面、落位不出现可见过冲——并针对产品调校,而非针对现有常量。
  3. 推导过程在编辑该文件之前写下。

现有测试是行为导向而非数值锁定的:它们断言落位、顺序、取消和 tick 范围。若某个测试需要把新常量写进去,说明它原本锁定了旧值,这一点应在 pull request 上提出,而不是悄悄修改。

已有工作

不在范围内

  • docs/computer-use-cursor-provenance.md 中记录的 Maka 自有常量与行为,包括 MAX_DESIRED_ARCDEPARTURE_FAN、backwards-arrival 与 rotation 相关项、candidate family、视口行为、帧时钟、presentation fences 和品牌配色。替换它们只增加风险,不推进 gate。
  • MIT 的 trycua/cua 血缘,按现有记录保持不变。
  • 已发布的 git 历史,其中仍包含原始数值。是否需要进一步记录属于 mentors 的问题,在 legal: close incoming IP provenance for the first Apache release #3268 跟踪,不在此处。

负责人边界

未指派。上述 clean room 要求限制了可承担者:执行原始检查的贡献者不能承担,读过现有常量的人同样不能。这是流程要求,不是对任何贡献者的评价。

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

    , 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
     blocks
    (function() {
    function addCopyButtons() {
    document.querySelectorAll('pre code').forEach(function(codeBlock) {
    if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
    codeBlock.parentElement.setAttribute('data-copy-added', 'true');
    var btn = document.createElement('button');
    btn.textContent = 'Copy';
    btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
    btn.onmouseover = function() { this.style.opacity = '1'; };
    btn.onmouseout = function() { this.style.opacity = '0.7'; };
    btn.onclick = function() {
    navigator.clipboard.writeText(codeBlock.textContent).then(function() {
    btn.textContent = 'Copied!';
    setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
    });
    };
    codeBlock.parentElement.style.position = 'relative';
    codeBlock.parentElement.appendChild(btn);
    });
    }
    addCopyButtons();
    // Re-run on dynamic content
    var observer = new MutationObserver(addCopyButtons);
    observer.observe(document.body, { childList: true, subtree: true });
    })();
    }
    } catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
    })();
    (function(){
    try {
    var __m = "github.com";
    var __re = new RegExp('^' + "github\\.com" + '
    legal: independently replace the cursor values recovered from a proprietary binary · Issue #3293 · apache/maka · GitHub
    Skip to content

    legal: independently replace the cursor values recovered from a proprietary binary #3293

    Description

    @Astro-Han
    English

    Part of #3268 — G1: incoming IP and provenance.

    Outcome

    The Computer Use cursor no longer carries values transcribed from a proprietary binary, and the values it does carry have a recorded, independently verifiable origin. This closes the G1 item by replacement rather than by determination.

    #3268 allows either an ASF/legal determination that the retained facts may stay or independent replacement of those facts and the code that depends on them. This issue takes the second path because it can proceed without a determination and removes the question instead of answering it.

    Exit criteria

    • A contributor who has not seen the current values derives a replacement set from Maka's own requirements.
    • The derivation is recorded publicly, so each new value has a verifiable origin of its own.
    • Every item in the replacement scope below is replaced.
    • The presentation deadline is re-derived from the new values and the presentation fence is at or above it.
    • apps/desktop/src/main/__tests__/cursor-engine.test.ts passes without changes to its assertions.
    • docs/computer-use-cursor-provenance.md is updated from retained facts to independent replacement.

    Replacement scope

    All symbols are in apps/desktop/src/renderer/computer-use-overlay/engine/cursor-engine.ts.

    ItemSymbol
    Glyph geometryCODEX_CURSOR_GLYPH: size, shadowBlur, normalized path coordinates
    Motion configurationCODEX_CURSOR_MOTION: 30 fields
    Close-enough gateCURSOR_CLOSE_ENOUGH: progress, distance
    Path measurementSCORE_SAMPLES and the measures derived from it in measureCursorPath
    Core scorerSCORE_DETOUR_WEIGHT, SCORE_ANGLE_ENERGY_WEIGHT, SCORE_MAX_ANGLE_WEIGHT, SCORE_TOTAL_TURN_WEIGHT, SCORE_OUT_OF_BOUNDS_PENALTY
    Terminal heading blendterminalTangentBlendStart and the click-angle handling in cursorHeadingAt
    Hotspot conventionCentre of the hosting view as the action hotspot

    CURSOR_CLOSE_ENOUGH is not independently choosable. The presentation-ready deadline is derived from it together with the spring response and damping fraction, and a fence shorter than that deadline reintroduces the mid-flight click dispatch the gate exists to prevent.

    Method

    The replacement must be clean-room to be worth doing:

    1. The contributor who performed the original binary inspection does not carry out this work.
    2. New values are derived from Maka's product requirements — the glyph is legible at 1x over an arbitrary application, the cursor lands before the click is released, long moves do not sweep the desktop, and arrival does not visibly overshoot — and are tuned against the product rather than against the existing constants.
    3. The derivation is written down before the file is edited.

    The existing tests are behavioural rather than value-pinned; they assert landing, ordering, cancellation, and tick bounds. A test that needs a new constant written into it was pinning the old one, and that should be raised on the pull request rather than edited silently.

    Existing work

    Out of scope

    • The Maka-authored constants and behavior recorded in docs/computer-use-cursor-provenance.md, including MAX_DESIRED_ARC, DEPARTURE_FAN, the backwards-arrival and rotation terms, the candidate family, viewport behavior, the frame clock, presentation fences, and the brand palette. Replacing these adds risk without advancing the gate.
    • The MIT trycua/cua lineage, which remains recorded as it is.
    • The published git history, which still contains the original values. Whether that requires any further record is a question for the mentors and is tracked on legal: close incoming IP provenance for the first Apache release #3268, not here.

    Ownership

    Unassigned. The clean-room requirement above constrains who can take it: the contributor who performed the original inspection cannot, and neither can anyone who has read the current constants. This is a process requirement, not a judgement about any contributor.

    简体中文

    #3268 的一部分——G1:代码来源与知识产权输入。

    目标结果

    Computer Use 光标不再包含从专有二进制转录的数值,其所用数值具备可记录、可独立验证的来源。本 issue 以替换而非判断的方式关闭该 G1 事项。

    #3268 允许两种出口:由 ASF/法务判断保留的事实可以留下,或者独立替换这些事实及依赖它们的代码。本 issue 选择后者,因为它无需等待判断即可推进,并且是让问题消失而不是回答问题。

    完成条件

    • 由未见过现有数值的贡献者,依据 Maka 自身需求推导出一套替换数值。
    • 公开记录推导过程,使每个新数值具备自身可验证的来源。
    • 完成下述替换范围内的全部项目。
    • 依据新数值重新推导 presentation deadline,并确保 presentation fence 不低于该值。
    • apps/desktop/src/main/__tests__/cursor-engine.test.ts 在断言未经修改的情况下通过。
    • docs/computer-use-cursor-provenance.md 从「保留的事实」更新为「已独立替换」。

    替换范围

    全部符号位于 apps/desktop/src/renderer/computer-use-overlay/engine/cursor-engine.ts

    项目符号
    字形几何CODEX_CURSOR_GLYPHsizeshadowBlur、归一化路径坐标
    运动配置CODEX_CURSOR_MOTION:30 个字段
    Close-enough 门限CURSOR_CLOSE_ENOUGHprogressdistance
    路径度量SCORE_SAMPLESmeasureCursorPath 中由其派生的度量
    核心评分SCORE_DETOUR_WEIGHTSCORE_ANGLE_ENERGY_WEIGHTSCORE_MAX_ANGLE_WEIGHTSCORE_TOTAL_TURN_WEIGHTSCORE_OUT_OF_BOUNDS_PENALTY
    终点转向混合terminalTangentBlendStartcursorHeadingAt 中的点击角度处理
    热点约定以宿主视图中心作为动作热点

    CURSOR_CLOSE_ENOUGH 不可独立选取。presentation-ready deadline 由它连同弹簧响应与阻尼系数共同推导,而短于该 deadline 的 fence 会重新引入该门限本要防止的飞行中点击派发。

    方法

    替换必须采用 clean room 方式才有意义:

    1. 执行原始二进制检查的贡献者不承担这项工作。
    2. 新数值依据 Maka 的产品需求推导——字形在 1x 下能在任意应用之上清晰可辨、光标在点击释放前落位、长距离移动不会横扫桌面、落位不出现可见过冲——并针对产品调校,而非针对现有常量。
    3. 推导过程在编辑该文件之前写下。

    现有测试是行为导向而非数值锁定的:它们断言落位、顺序、取消和 tick 范围。若某个测试需要把新常量写进去,说明它原本锁定了旧值,这一点应在 pull request 上提出,而不是悄悄修改。

    已有工作

    不在范围内

    • docs/computer-use-cursor-provenance.md 中记录的 Maka 自有常量与行为,包括 MAX_DESIRED_ARCDEPARTURE_FAN、backwards-arrival 与 rotation 相关项、candidate family、视口行为、帧时钟、presentation fences 和品牌配色。替换它们只增加风险,不推进 gate。
    • MIT 的 trycua/cua 血缘,按现有记录保持不变。
    • 已发布的 git 历史,其中仍包含原始数值。是否需要进一步记录属于 mentors 的问题,在 legal: close incoming IP provenance for the first Apache release #3268 跟踪,不在此处。

    负责人边界

    未指派。上述 clean room 要求限制了可承担者:执行原始检查的贡献者不能承担,读过现有常量的人同样不能。这是流程要求,不是对任何贡献者的评价。

    Metadata

    Metadata

    Assignees

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      , 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' legal: independently replace the cursor values recovered from a proprietary binary · Issue #3293 · apache/maka · GitHub
      Skip to content

      legal: independently replace the cursor values recovered from a proprietary binary #3293

      Description

      @Astro-Han
      English

      Part of #3268 — G1: incoming IP and provenance.

      Outcome

      The Computer Use cursor no longer carries values transcribed from a proprietary binary, and the values it does carry have a recorded, independently verifiable origin. This closes the G1 item by replacement rather than by determination.

      #3268 allows either an ASF/legal determination that the retained facts may stay or independent replacement of those facts and the code that depends on them. This issue takes the second path because it can proceed without a determination and removes the question instead of answering it.

      Exit criteria

      • A contributor who has not seen the current values derives a replacement set from Maka's own requirements.
      • The derivation is recorded publicly, so each new value has a verifiable origin of its own.
      • Every item in the replacement scope below is replaced.
      • The presentation deadline is re-derived from the new values and the presentation fence is at or above it.
      • apps/desktop/src/main/__tests__/cursor-engine.test.ts passes without changes to its assertions.
      • docs/computer-use-cursor-provenance.md is updated from retained facts to independent replacement.

      Replacement scope

      All symbols are in apps/desktop/src/renderer/computer-use-overlay/engine/cursor-engine.ts.

      ItemSymbol
      Glyph geometryCODEX_CURSOR_GLYPH: size, shadowBlur, normalized path coordinates
      Motion configurationCODEX_CURSOR_MOTION: 30 fields
      Close-enough gateCURSOR_CLOSE_ENOUGH: progress, distance
      Path measurementSCORE_SAMPLES and the measures derived from it in measureCursorPath
      Core scorerSCORE_DETOUR_WEIGHT, SCORE_ANGLE_ENERGY_WEIGHT, SCORE_MAX_ANGLE_WEIGHT, SCORE_TOTAL_TURN_WEIGHT, SCORE_OUT_OF_BOUNDS_PENALTY
      Terminal heading blendterminalTangentBlendStart and the click-angle handling in cursorHeadingAt
      Hotspot conventionCentre of the hosting view as the action hotspot

      CURSOR_CLOSE_ENOUGH is not independently choosable. The presentation-ready deadline is derived from it together with the spring response and damping fraction, and a fence shorter than that deadline reintroduces the mid-flight click dispatch the gate exists to prevent.

      Method

      The replacement must be clean-room to be worth doing:

      1. The contributor who performed the original binary inspection does not carry out this work.
      2. New values are derived from Maka's product requirements — the glyph is legible at 1x over an arbitrary application, the cursor lands before the click is released, long moves do not sweep the desktop, and arrival does not visibly overshoot — and are tuned against the product rather than against the existing constants.
      3. The derivation is written down before the file is edited.

      The existing tests are behavioural rather than value-pinned; they assert landing, ordering, cancellation, and tick bounds. A test that needs a new constant written into it was pinning the old one, and that should be raised on the pull request rather than edited silently.

      Existing work

      Out of scope

      • The Maka-authored constants and behavior recorded in docs/computer-use-cursor-provenance.md, including MAX_DESIRED_ARC, DEPARTURE_FAN, the backwards-arrival and rotation terms, the candidate family, viewport behavior, the frame clock, presentation fences, and the brand palette. Replacing these adds risk without advancing the gate.
      • The MIT trycua/cua lineage, which remains recorded as it is.
      • The published git history, which still contains the original values. Whether that requires any further record is a question for the mentors and is tracked on legal: close incoming IP provenance for the first Apache release #3268, not here.

      Ownership

      Unassigned. The clean-room requirement above constrains who can take it: the contributor who performed the original inspection cannot, and neither can anyone who has read the current constants. This is a process requirement, not a judgement about any contributor.

      简体中文

      #3268 的一部分——G1:代码来源与知识产权输入。

      目标结果

      Computer Use 光标不再包含从专有二进制转录的数值,其所用数值具备可记录、可独立验证的来源。本 issue 以替换而非判断的方式关闭该 G1 事项。

      #3268 允许两种出口:由 ASF/法务判断保留的事实可以留下,或者独立替换这些事实及依赖它们的代码。本 issue 选择后者,因为它无需等待判断即可推进,并且是让问题消失而不是回答问题。

      完成条件

      • 由未见过现有数值的贡献者,依据 Maka 自身需求推导出一套替换数值。
      • 公开记录推导过程,使每个新数值具备自身可验证的来源。
      • 完成下述替换范围内的全部项目。
      • 依据新数值重新推导 presentation deadline,并确保 presentation fence 不低于该值。
      • apps/desktop/src/main/__tests__/cursor-engine.test.ts 在断言未经修改的情况下通过。
      • docs/computer-use-cursor-provenance.md 从「保留的事实」更新为「已独立替换」。

      替换范围

      全部符号位于 apps/desktop/src/renderer/computer-use-overlay/engine/cursor-engine.ts

      项目符号
      字形几何CODEX_CURSOR_GLYPHsizeshadowBlur、归一化路径坐标
      运动配置CODEX_CURSOR_MOTION:30 个字段
      Close-enough 门限CURSOR_CLOSE_ENOUGHprogressdistance
      路径度量SCORE_SAMPLESmeasureCursorPath 中由其派生的度量
      核心评分SCORE_DETOUR_WEIGHTSCORE_ANGLE_ENERGY_WEIGHTSCORE_MAX_ANGLE_WEIGHTSCORE_TOTAL_TURN_WEIGHTSCORE_OUT_OF_BOUNDS_PENALTY
      终点转向混合terminalTangentBlendStartcursorHeadingAt 中的点击角度处理
      热点约定以宿主视图中心作为动作热点

      CURSOR_CLOSE_ENOUGH 不可独立选取。presentation-ready deadline 由它连同弹簧响应与阻尼系数共同推导,而短于该 deadline 的 fence 会重新引入该门限本要防止的飞行中点击派发。

      方法

      替换必须采用 clean room 方式才有意义:

      1. 执行原始二进制检查的贡献者不承担这项工作。
      2. 新数值依据 Maka 的产品需求推导——字形在 1x 下能在任意应用之上清晰可辨、光标在点击释放前落位、长距离移动不会横扫桌面、落位不出现可见过冲——并针对产品调校,而非针对现有常量。
      3. 推导过程在编辑该文件之前写下。

      现有测试是行为导向而非数值锁定的:它们断言落位、顺序、取消和 tick 范围。若某个测试需要把新常量写进去,说明它原本锁定了旧值,这一点应在 pull request 上提出,而不是悄悄修改。

      已有工作

      不在范围内

      • docs/computer-use-cursor-provenance.md 中记录的 Maka 自有常量与行为,包括 MAX_DESIRED_ARCDEPARTURE_FAN、backwards-arrival 与 rotation 相关项、candidate family、视口行为、帧时钟、presentation fences 和品牌配色。替换它们只增加风险,不推进 gate。
      • MIT 的 trycua/cua 血缘,按现有记录保持不变。
      • 已发布的 git 历史,其中仍包含原始数值。是否需要进一步记录属于 mentors 的问题,在 legal: close incoming IP provenance for the first Apache release #3268 跟踪,不在此处。

      负责人边界

      未指派。上述 clean room 要求限制了可承担者:执行原始检查的贡献者不能承担,读过现有常量的人同样不能。这是流程要求,不是对任何贡献者的评价。

      Metadata

      Metadata

      Assignees

      Labels

      No labels
      No labels

      Type

      No type

      Projects

      No projects

        Milestone

        No milestone

        Relationships

        None yet

        Development

        No branches or pull requests

        Issue actions

        , 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' legal: independently replace the cursor values recovered from a proprietary binary · Issue #3293 · apache/maka · GitHub
        Skip to content

        legal: independently replace the cursor values recovered from a proprietary binary #3293

        Description

        @Astro-Han
        English

        Part of #3268 — G1: incoming IP and provenance.

        Outcome

        The Computer Use cursor no longer carries values transcribed from a proprietary binary, and the values it does carry have a recorded, independently verifiable origin. This closes the G1 item by replacement rather than by determination.

        #3268 allows either an ASF/legal determination that the retained facts may stay or independent replacement of those facts and the code that depends on them. This issue takes the second path because it can proceed without a determination and removes the question instead of answering it.

        Exit criteria

        • A contributor who has not seen the current values derives a replacement set from Maka's own requirements.
        • The derivation is recorded publicly, so each new value has a verifiable origin of its own.
        • Every item in the replacement scope below is replaced.
        • The presentation deadline is re-derived from the new values and the presentation fence is at or above it.
        • apps/desktop/src/main/__tests__/cursor-engine.test.ts passes without changes to its assertions.
        • docs/computer-use-cursor-provenance.md is updated from retained facts to independent replacement.

        Replacement scope

        All symbols are in apps/desktop/src/renderer/computer-use-overlay/engine/cursor-engine.ts.

        ItemSymbol
        Glyph geometryCODEX_CURSOR_GLYPH: size, shadowBlur, normalized path coordinates
        Motion configurationCODEX_CURSOR_MOTION: 30 fields
        Close-enough gateCURSOR_CLOSE_ENOUGH: progress, distance
        Path measurementSCORE_SAMPLES and the measures derived from it in measureCursorPath
        Core scorerSCORE_DETOUR_WEIGHT, SCORE_ANGLE_ENERGY_WEIGHT, SCORE_MAX_ANGLE_WEIGHT, SCORE_TOTAL_TURN_WEIGHT, SCORE_OUT_OF_BOUNDS_PENALTY
        Terminal heading blendterminalTangentBlendStart and the click-angle handling in cursorHeadingAt
        Hotspot conventionCentre of the hosting view as the action hotspot

        CURSOR_CLOSE_ENOUGH is not independently choosable. The presentation-ready deadline is derived from it together with the spring response and damping fraction, and a fence shorter than that deadline reintroduces the mid-flight click dispatch the gate exists to prevent.

        Method

        The replacement must be clean-room to be worth doing:

        1. The contributor who performed the original binary inspection does not carry out this work.
        2. New values are derived from Maka's product requirements — the glyph is legible at 1x over an arbitrary application, the cursor lands before the click is released, long moves do not sweep the desktop, and arrival does not visibly overshoot — and are tuned against the product rather than against the existing constants.
        3. The derivation is written down before the file is edited.

        The existing tests are behavioural rather than value-pinned; they assert landing, ordering, cancellation, and tick bounds. A test that needs a new constant written into it was pinning the old one, and that should be raised on the pull request rather than edited silently.

        Existing work

        Out of scope

        • The Maka-authored constants and behavior recorded in docs/computer-use-cursor-provenance.md, including MAX_DESIRED_ARC, DEPARTURE_FAN, the backwards-arrival and rotation terms, the candidate family, viewport behavior, the frame clock, presentation fences, and the brand palette. Replacing these adds risk without advancing the gate.
        • The MIT trycua/cua lineage, which remains recorded as it is.
        • The published git history, which still contains the original values. Whether that requires any further record is a question for the mentors and is tracked on legal: close incoming IP provenance for the first Apache release #3268, not here.

        Ownership

        Unassigned. The clean-room requirement above constrains who can take it: the contributor who performed the original inspection cannot, and neither can anyone who has read the current constants. This is a process requirement, not a judgement about any contributor.

        简体中文

        #3268 的一部分——G1:代码来源与知识产权输入。

        目标结果

        Computer Use 光标不再包含从专有二进制转录的数值,其所用数值具备可记录、可独立验证的来源。本 issue 以替换而非判断的方式关闭该 G1 事项。

        #3268 允许两种出口:由 ASF/法务判断保留的事实可以留下,或者独立替换这些事实及依赖它们的代码。本 issue 选择后者,因为它无需等待判断即可推进,并且是让问题消失而不是回答问题。

        完成条件

        • 由未见过现有数值的贡献者,依据 Maka 自身需求推导出一套替换数值。
        • 公开记录推导过程,使每个新数值具备自身可验证的来源。
        • 完成下述替换范围内的全部项目。
        • 依据新数值重新推导 presentation deadline,并确保 presentation fence 不低于该值。
        • apps/desktop/src/main/__tests__/cursor-engine.test.ts 在断言未经修改的情况下通过。
        • docs/computer-use-cursor-provenance.md 从「保留的事实」更新为「已独立替换」。

        替换范围

        全部符号位于 apps/desktop/src/renderer/computer-use-overlay/engine/cursor-engine.ts

        项目符号
        字形几何CODEX_CURSOR_GLYPHsizeshadowBlur、归一化路径坐标
        运动配置CODEX_CURSOR_MOTION:30 个字段
        Close-enough 门限CURSOR_CLOSE_ENOUGHprogressdistance
        路径度量SCORE_SAMPLESmeasureCursorPath 中由其派生的度量
        核心评分SCORE_DETOUR_WEIGHTSCORE_ANGLE_ENERGY_WEIGHTSCORE_MAX_ANGLE_WEIGHTSCORE_TOTAL_TURN_WEIGHTSCORE_OUT_OF_BOUNDS_PENALTY
        终点转向混合terminalTangentBlendStartcursorHeadingAt 中的点击角度处理
        热点约定以宿主视图中心作为动作热点

        CURSOR_CLOSE_ENOUGH 不可独立选取。presentation-ready deadline 由它连同弹簧响应与阻尼系数共同推导,而短于该 deadline 的 fence 会重新引入该门限本要防止的飞行中点击派发。

        方法

        替换必须采用 clean room 方式才有意义:

        1. 执行原始二进制检查的贡献者不承担这项工作。
        2. 新数值依据 Maka 的产品需求推导——字形在 1x 下能在任意应用之上清晰可辨、光标在点击释放前落位、长距离移动不会横扫桌面、落位不出现可见过冲——并针对产品调校,而非针对现有常量。
        3. 推导过程在编辑该文件之前写下。

        现有测试是行为导向而非数值锁定的:它们断言落位、顺序、取消和 tick 范围。若某个测试需要把新常量写进去,说明它原本锁定了旧值,这一点应在 pull request 上提出,而不是悄悄修改。

        已有工作

        不在范围内

        • docs/computer-use-cursor-provenance.md 中记录的 Maka 自有常量与行为,包括 MAX_DESIRED_ARCDEPARTURE_FAN、backwards-arrival 与 rotation 相关项、candidate family、视口行为、帧时钟、presentation fences 和品牌配色。替换它们只增加风险,不推进 gate。
        • MIT 的 trycua/cua 血缘,按现有记录保持不变。
        • 已发布的 git 历史,其中仍包含原始数值。是否需要进一步记录属于 mentors 的问题,在 legal: close incoming IP provenance for the first Apache release #3268 跟踪,不在此处。

        负责人边界

        未指派。上述 clean room 要求限制了可承担者:执行原始检查的贡献者不能承担,读过现有常量的人同样不能。这是流程要求,不是对任何贡献者的评价。

        Metadata

        Metadata

        Assignees

        Labels

        No labels
        No labels

        Type

        No type

        Projects

        No projects

          Milestone

          No milestone

          Relationships

          None yet

          Development

          No branches or pull requests

          Issue actions

          , 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' legal: independently replace the cursor values recovered from a proprietary binary · Issue #3293 · apache/maka · GitHub
          Skip to content

          legal: independently replace the cursor values recovered from a proprietary binary #3293

          Description

          @Astro-Han
          English

          Part of #3268 — G1: incoming IP and provenance.

          Outcome

          The Computer Use cursor no longer carries values transcribed from a proprietary binary, and the values it does carry have a recorded, independently verifiable origin. This closes the G1 item by replacement rather than by determination.

          #3268 allows either an ASF/legal determination that the retained facts may stay or independent replacement of those facts and the code that depends on them. This issue takes the second path because it can proceed without a determination and removes the question instead of answering it.

          Exit criteria

          • A contributor who has not seen the current values derives a replacement set from Maka's own requirements.
          • The derivation is recorded publicly, so each new value has a verifiable origin of its own.
          • Every item in the replacement scope below is replaced.
          • The presentation deadline is re-derived from the new values and the presentation fence is at or above it.
          • apps/desktop/src/main/__tests__/cursor-engine.test.ts passes without changes to its assertions.
          • docs/computer-use-cursor-provenance.md is updated from retained facts to independent replacement.

          Replacement scope

          All symbols are in apps/desktop/src/renderer/computer-use-overlay/engine/cursor-engine.ts.

          ItemSymbol
          Glyph geometryCODEX_CURSOR_GLYPH: size, shadowBlur, normalized path coordinates
          Motion configurationCODEX_CURSOR_MOTION: 30 fields
          Close-enough gateCURSOR_CLOSE_ENOUGH: progress, distance
          Path measurementSCORE_SAMPLES and the measures derived from it in measureCursorPath
          Core scorerSCORE_DETOUR_WEIGHT, SCORE_ANGLE_ENERGY_WEIGHT, SCORE_MAX_ANGLE_WEIGHT, SCORE_TOTAL_TURN_WEIGHT, SCORE_OUT_OF_BOUNDS_PENALTY
          Terminal heading blendterminalTangentBlendStart and the click-angle handling in cursorHeadingAt
          Hotspot conventionCentre of the hosting view as the action hotspot

          CURSOR_CLOSE_ENOUGH is not independently choosable. The presentation-ready deadline is derived from it together with the spring response and damping fraction, and a fence shorter than that deadline reintroduces the mid-flight click dispatch the gate exists to prevent.

          Method

          The replacement must be clean-room to be worth doing:

          1. The contributor who performed the original binary inspection does not carry out this work.
          2. New values are derived from Maka's product requirements — the glyph is legible at 1x over an arbitrary application, the cursor lands before the click is released, long moves do not sweep the desktop, and arrival does not visibly overshoot — and are tuned against the product rather than against the existing constants.
          3. The derivation is written down before the file is edited.

          The existing tests are behavioural rather than value-pinned; they assert landing, ordering, cancellation, and tick bounds. A test that needs a new constant written into it was pinning the old one, and that should be raised on the pull request rather than edited silently.

          Existing work

          Out of scope

          • The Maka-authored constants and behavior recorded in docs/computer-use-cursor-provenance.md, including MAX_DESIRED_ARC, DEPARTURE_FAN, the backwards-arrival and rotation terms, the candidate family, viewport behavior, the frame clock, presentation fences, and the brand palette. Replacing these adds risk without advancing the gate.
          • The MIT trycua/cua lineage, which remains recorded as it is.
          • The published git history, which still contains the original values. Whether that requires any further record is a question for the mentors and is tracked on legal: close incoming IP provenance for the first Apache release #3268, not here.

          Ownership

          Unassigned. The clean-room requirement above constrains who can take it: the contributor who performed the original inspection cannot, and neither can anyone who has read the current constants. This is a process requirement, not a judgement about any contributor.

          简体中文

          #3268 的一部分——G1:代码来源与知识产权输入。

          目标结果

          Computer Use 光标不再包含从专有二进制转录的数值,其所用数值具备可记录、可独立验证的来源。本 issue 以替换而非判断的方式关闭该 G1 事项。

          #3268 允许两种出口:由 ASF/法务判断保留的事实可以留下,或者独立替换这些事实及依赖它们的代码。本 issue 选择后者,因为它无需等待判断即可推进,并且是让问题消失而不是回答问题。

          完成条件

          • 由未见过现有数值的贡献者,依据 Maka 自身需求推导出一套替换数值。
          • 公开记录推导过程,使每个新数值具备自身可验证的来源。
          • 完成下述替换范围内的全部项目。
          • 依据新数值重新推导 presentation deadline,并确保 presentation fence 不低于该值。
          • apps/desktop/src/main/__tests__/cursor-engine.test.ts 在断言未经修改的情况下通过。
          • docs/computer-use-cursor-provenance.md 从「保留的事实」更新为「已独立替换」。

          替换范围

          全部符号位于 apps/desktop/src/renderer/computer-use-overlay/engine/cursor-engine.ts

          项目符号
          字形几何CODEX_CURSOR_GLYPHsizeshadowBlur、归一化路径坐标
          运动配置CODEX_CURSOR_MOTION:30 个字段
          Close-enough 门限CURSOR_CLOSE_ENOUGHprogressdistance
          路径度量SCORE_SAMPLESmeasureCursorPath 中由其派生的度量
          核心评分SCORE_DETOUR_WEIGHTSCORE_ANGLE_ENERGY_WEIGHTSCORE_MAX_ANGLE_WEIGHTSCORE_TOTAL_TURN_WEIGHTSCORE_OUT_OF_BOUNDS_PENALTY
          终点转向混合terminalTangentBlendStartcursorHeadingAt 中的点击角度处理
          热点约定以宿主视图中心作为动作热点

          CURSOR_CLOSE_ENOUGH 不可独立选取。presentation-ready deadline 由它连同弹簧响应与阻尼系数共同推导,而短于该 deadline 的 fence 会重新引入该门限本要防止的飞行中点击派发。

          方法

          替换必须采用 clean room 方式才有意义:

          1. 执行原始二进制检查的贡献者不承担这项工作。
          2. 新数值依据 Maka 的产品需求推导——字形在 1x 下能在任意应用之上清晰可辨、光标在点击释放前落位、长距离移动不会横扫桌面、落位不出现可见过冲——并针对产品调校,而非针对现有常量。
          3. 推导过程在编辑该文件之前写下。

          现有测试是行为导向而非数值锁定的:它们断言落位、顺序、取消和 tick 范围。若某个测试需要把新常量写进去,说明它原本锁定了旧值,这一点应在 pull request 上提出,而不是悄悄修改。

          已有工作

          不在范围内

          • docs/computer-use-cursor-provenance.md 中记录的 Maka 自有常量与行为,包括 MAX_DESIRED_ARCDEPARTURE_FAN、backwards-arrival 与 rotation 相关项、candidate family、视口行为、帧时钟、presentation fences 和品牌配色。替换它们只增加风险,不推进 gate。
          • MIT 的 trycua/cua 血缘,按现有记录保持不变。
          • 已发布的 git 历史,其中仍包含原始数值。是否需要进一步记录属于 mentors 的问题,在 legal: close incoming IP provenance for the first Apache release #3268 跟踪,不在此处。

          负责人边界

          未指派。上述 clean room 要求限制了可承担者:执行原始检查的贡献者不能承担,读过现有常量的人同样不能。这是流程要求,不是对任何贡献者的评价。

          Metadata

          Metadata

          Assignees

          Labels

          No labels
          No labels

          Type

          No type

          Projects

          No projects

            Milestone

            No milestone

            Relationships

            None yet

            Development

            No branches or pull requests

            Issue actions

            , 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' legal: independently replace the cursor values recovered from a proprietary binary · Issue #3293 · apache/maka · GitHub
            Skip to content

            legal: independently replace the cursor values recovered from a proprietary binary #3293

            Description

            @Astro-Han
            English

            Part of #3268 — G1: incoming IP and provenance.

            Outcome

            The Computer Use cursor no longer carries values transcribed from a proprietary binary, and the values it does carry have a recorded, independently verifiable origin. This closes the G1 item by replacement rather than by determination.

            #3268 allows either an ASF/legal determination that the retained facts may stay or independent replacement of those facts and the code that depends on them. This issue takes the second path because it can proceed without a determination and removes the question instead of answering it.

            Exit criteria

            • A contributor who has not seen the current values derives a replacement set from Maka's own requirements.
            • The derivation is recorded publicly, so each new value has a verifiable origin of its own.
            • Every item in the replacement scope below is replaced.
            • The presentation deadline is re-derived from the new values and the presentation fence is at or above it.
            • apps/desktop/src/main/__tests__/cursor-engine.test.ts passes without changes to its assertions.
            • docs/computer-use-cursor-provenance.md is updated from retained facts to independent replacement.

            Replacement scope

            All symbols are in apps/desktop/src/renderer/computer-use-overlay/engine/cursor-engine.ts.

            ItemSymbol
            Glyph geometryCODEX_CURSOR_GLYPH: size, shadowBlur, normalized path coordinates
            Motion configurationCODEX_CURSOR_MOTION: 30 fields
            Close-enough gateCURSOR_CLOSE_ENOUGH: progress, distance
            Path measurementSCORE_SAMPLES and the measures derived from it in measureCursorPath
            Core scorerSCORE_DETOUR_WEIGHT, SCORE_ANGLE_ENERGY_WEIGHT, SCORE_MAX_ANGLE_WEIGHT, SCORE_TOTAL_TURN_WEIGHT, SCORE_OUT_OF_BOUNDS_PENALTY
            Terminal heading blendterminalTangentBlendStart and the click-angle handling in cursorHeadingAt
            Hotspot conventionCentre of the hosting view as the action hotspot

            CURSOR_CLOSE_ENOUGH is not independently choosable. The presentation-ready deadline is derived from it together with the spring response and damping fraction, and a fence shorter than that deadline reintroduces the mid-flight click dispatch the gate exists to prevent.

            Method

            The replacement must be clean-room to be worth doing:

            1. The contributor who performed the original binary inspection does not carry out this work.
            2. New values are derived from Maka's product requirements — the glyph is legible at 1x over an arbitrary application, the cursor lands before the click is released, long moves do not sweep the desktop, and arrival does not visibly overshoot — and are tuned against the product rather than against the existing constants.
            3. The derivation is written down before the file is edited.

            The existing tests are behavioural rather than value-pinned; they assert landing, ordering, cancellation, and tick bounds. A test that needs a new constant written into it was pinning the old one, and that should be raised on the pull request rather than edited silently.

            Existing work

            Out of scope

            • The Maka-authored constants and behavior recorded in docs/computer-use-cursor-provenance.md, including MAX_DESIRED_ARC, DEPARTURE_FAN, the backwards-arrival and rotation terms, the candidate family, viewport behavior, the frame clock, presentation fences, and the brand palette. Replacing these adds risk without advancing the gate.
            • The MIT trycua/cua lineage, which remains recorded as it is.
            • The published git history, which still contains the original values. Whether that requires any further record is a question for the mentors and is tracked on legal: close incoming IP provenance for the first Apache release #3268, not here.

            Ownership

            Unassigned. The clean-room requirement above constrains who can take it: the contributor who performed the original inspection cannot, and neither can anyone who has read the current constants. This is a process requirement, not a judgement about any contributor.

            简体中文

            #3268 的一部分——G1:代码来源与知识产权输入。

            目标结果

            Computer Use 光标不再包含从专有二进制转录的数值,其所用数值具备可记录、可独立验证的来源。本 issue 以替换而非判断的方式关闭该 G1 事项。

            #3268 允许两种出口:由 ASF/法务判断保留的事实可以留下,或者独立替换这些事实及依赖它们的代码。本 issue 选择后者,因为它无需等待判断即可推进,并且是让问题消失而不是回答问题。

            完成条件

            • 由未见过现有数值的贡献者,依据 Maka 自身需求推导出一套替换数值。
            • 公开记录推导过程,使每个新数值具备自身可验证的来源。
            • 完成下述替换范围内的全部项目。
            • 依据新数值重新推导 presentation deadline,并确保 presentation fence 不低于该值。
            • apps/desktop/src/main/__tests__/cursor-engine.test.ts 在断言未经修改的情况下通过。
            • docs/computer-use-cursor-provenance.md 从「保留的事实」更新为「已独立替换」。

            替换范围

            全部符号位于 apps/desktop/src/renderer/computer-use-overlay/engine/cursor-engine.ts

            项目符号
            字形几何CODEX_CURSOR_GLYPHsizeshadowBlur、归一化路径坐标
            运动配置CODEX_CURSOR_MOTION:30 个字段
            Close-enough 门限CURSOR_CLOSE_ENOUGHprogressdistance
            路径度量SCORE_SAMPLESmeasureCursorPath 中由其派生的度量
            核心评分SCORE_DETOUR_WEIGHTSCORE_ANGLE_ENERGY_WEIGHTSCORE_MAX_ANGLE_WEIGHTSCORE_TOTAL_TURN_WEIGHTSCORE_OUT_OF_BOUNDS_PENALTY
            终点转向混合terminalTangentBlendStartcursorHeadingAt 中的点击角度处理
            热点约定以宿主视图中心作为动作热点

            CURSOR_CLOSE_ENOUGH 不可独立选取。presentation-ready deadline 由它连同弹簧响应与阻尼系数共同推导,而短于该 deadline 的 fence 会重新引入该门限本要防止的飞行中点击派发。

            方法

            替换必须采用 clean room 方式才有意义:

            1. 执行原始二进制检查的贡献者不承担这项工作。
            2. 新数值依据 Maka 的产品需求推导——字形在 1x 下能在任意应用之上清晰可辨、光标在点击释放前落位、长距离移动不会横扫桌面、落位不出现可见过冲——并针对产品调校,而非针对现有常量。
            3. 推导过程在编辑该文件之前写下。

            现有测试是行为导向而非数值锁定的:它们断言落位、顺序、取消和 tick 范围。若某个测试需要把新常量写进去,说明它原本锁定了旧值,这一点应在 pull request 上提出,而不是悄悄修改。

            已有工作

            不在范围内

            • docs/computer-use-cursor-provenance.md 中记录的 Maka 自有常量与行为,包括 MAX_DESIRED_ARCDEPARTURE_FAN、backwards-arrival 与 rotation 相关项、candidate family、视口行为、帧时钟、presentation fences 和品牌配色。替换它们只增加风险,不推进 gate。
            • MIT 的 trycua/cua 血缘,按现有记录保持不变。
            • 已发布的 git 历史,其中仍包含原始数值。是否需要进一步记录属于 mentors 的问题,在 legal: close incoming IP provenance for the first Apache release #3268 跟踪,不在此处。

            负责人边界

            未指派。上述 clean room 要求限制了可承担者:执行原始检查的贡献者不能承担,读过现有常量的人同样不能。这是流程要求,不是对任何贡献者的评价。

            Metadata

            Metadata

            Assignees

            Labels

            No labels
            No labels

            Type

            No type

            Projects

            No projects

              Milestone

              No milestone

              Relationships

              None yet

              Development

              No branches or pull requests

              Issue actions

              , 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' legal: independently replace the cursor values recovered from a proprietary binary · Issue #3293 · apache/maka · GitHub
              Skip to content

              legal: independently replace the cursor values recovered from a proprietary binary #3293

              Description

              @Astro-Han
              English

              Part of #3268 — G1: incoming IP and provenance.

              Outcome

              The Computer Use cursor no longer carries values transcribed from a proprietary binary, and the values it does carry have a recorded, independently verifiable origin. This closes the G1 item by replacement rather than by determination.

              #3268 allows either an ASF/legal determination that the retained facts may stay or independent replacement of those facts and the code that depends on them. This issue takes the second path because it can proceed without a determination and removes the question instead of answering it.

              Exit criteria

              • A contributor who has not seen the current values derives a replacement set from Maka's own requirements.
              • The derivation is recorded publicly, so each new value has a verifiable origin of its own.
              • Every item in the replacement scope below is replaced.
              • The presentation deadline is re-derived from the new values and the presentation fence is at or above it.
              • apps/desktop/src/main/__tests__/cursor-engine.test.ts passes without changes to its assertions.
              • docs/computer-use-cursor-provenance.md is updated from retained facts to independent replacement.

              Replacement scope

              All symbols are in apps/desktop/src/renderer/computer-use-overlay/engine/cursor-engine.ts.

              ItemSymbol
              Glyph geometryCODEX_CURSOR_GLYPH: size, shadowBlur, normalized path coordinates
              Motion configurationCODEX_CURSOR_MOTION: 30 fields
              Close-enough gateCURSOR_CLOSE_ENOUGH: progress, distance
              Path measurementSCORE_SAMPLES and the measures derived from it in measureCursorPath
              Core scorerSCORE_DETOUR_WEIGHT, SCORE_ANGLE_ENERGY_WEIGHT, SCORE_MAX_ANGLE_WEIGHT, SCORE_TOTAL_TURN_WEIGHT, SCORE_OUT_OF_BOUNDS_PENALTY
              Terminal heading blendterminalTangentBlendStart and the click-angle handling in cursorHeadingAt
              Hotspot conventionCentre of the hosting view as the action hotspot

              CURSOR_CLOSE_ENOUGH is not independently choosable. The presentation-ready deadline is derived from it together with the spring response and damping fraction, and a fence shorter than that deadline reintroduces the mid-flight click dispatch the gate exists to prevent.

              Method

              The replacement must be clean-room to be worth doing:

              1. The contributor who performed the original binary inspection does not carry out this work.
              2. New values are derived from Maka's product requirements — the glyph is legible at 1x over an arbitrary application, the cursor lands before the click is released, long moves do not sweep the desktop, and arrival does not visibly overshoot — and are tuned against the product rather than against the existing constants.
              3. The derivation is written down before the file is edited.

              The existing tests are behavioural rather than value-pinned; they assert landing, ordering, cancellation, and tick bounds. A test that needs a new constant written into it was pinning the old one, and that should be raised on the pull request rather than edited silently.

              Existing work

              Out of scope

              • The Maka-authored constants and behavior recorded in docs/computer-use-cursor-provenance.md, including MAX_DESIRED_ARC, DEPARTURE_FAN, the backwards-arrival and rotation terms, the candidate family, viewport behavior, the frame clock, presentation fences, and the brand palette. Replacing these adds risk without advancing the gate.
              • The MIT trycua/cua lineage, which remains recorded as it is.
              • The published git history, which still contains the original values. Whether that requires any further record is a question for the mentors and is tracked on legal: close incoming IP provenance for the first Apache release #3268, not here.

              Ownership

              Unassigned. The clean-room requirement above constrains who can take it: the contributor who performed the original inspection cannot, and neither can anyone who has read the current constants. This is a process requirement, not a judgement about any contributor.

              简体中文

              #3268 的一部分——G1:代码来源与知识产权输入。

              目标结果

              Computer Use 光标不再包含从专有二进制转录的数值,其所用数值具备可记录、可独立验证的来源。本 issue 以替换而非判断的方式关闭该 G1 事项。

              #3268 允许两种出口:由 ASF/法务判断保留的事实可以留下,或者独立替换这些事实及依赖它们的代码。本 issue 选择后者,因为它无需等待判断即可推进,并且是让问题消失而不是回答问题。

              完成条件

              • 由未见过现有数值的贡献者,依据 Maka 自身需求推导出一套替换数值。
              • 公开记录推导过程,使每个新数值具备自身可验证的来源。
              • 完成下述替换范围内的全部项目。
              • 依据新数值重新推导 presentation deadline,并确保 presentation fence 不低于该值。
              • apps/desktop/src/main/__tests__/cursor-engine.test.ts 在断言未经修改的情况下通过。
              • docs/computer-use-cursor-provenance.md 从「保留的事实」更新为「已独立替换」。

              替换范围

              全部符号位于 apps/desktop/src/renderer/computer-use-overlay/engine/cursor-engine.ts

              项目符号
              字形几何CODEX_CURSOR_GLYPHsizeshadowBlur、归一化路径坐标
              运动配置CODEX_CURSOR_MOTION:30 个字段
              Close-enough 门限CURSOR_CLOSE_ENOUGHprogressdistance
              路径度量SCORE_SAMPLESmeasureCursorPath 中由其派生的度量
              核心评分SCORE_DETOUR_WEIGHTSCORE_ANGLE_ENERGY_WEIGHTSCORE_MAX_ANGLE_WEIGHTSCORE_TOTAL_TURN_WEIGHTSCORE_OUT_OF_BOUNDS_PENALTY
              终点转向混合terminalTangentBlendStartcursorHeadingAt 中的点击角度处理
              热点约定以宿主视图中心作为动作热点

              CURSOR_CLOSE_ENOUGH 不可独立选取。presentation-ready deadline 由它连同弹簧响应与阻尼系数共同推导,而短于该 deadline 的 fence 会重新引入该门限本要防止的飞行中点击派发。

              方法

              替换必须采用 clean room 方式才有意义:

              1. 执行原始二进制检查的贡献者不承担这项工作。
              2. 新数值依据 Maka 的产品需求推导——字形在 1x 下能在任意应用之上清晰可辨、光标在点击释放前落位、长距离移动不会横扫桌面、落位不出现可见过冲——并针对产品调校,而非针对现有常量。
              3. 推导过程在编辑该文件之前写下。

              现有测试是行为导向而非数值锁定的:它们断言落位、顺序、取消和 tick 范围。若某个测试需要把新常量写进去,说明它原本锁定了旧值,这一点应在 pull request 上提出,而不是悄悄修改。

              已有工作

              不在范围内

              • docs/computer-use-cursor-provenance.md 中记录的 Maka 自有常量与行为,包括 MAX_DESIRED_ARCDEPARTURE_FAN、backwards-arrival 与 rotation 相关项、candidate family、视口行为、帧时钟、presentation fences 和品牌配色。替换它们只增加风险,不推进 gate。
              • MIT 的 trycua/cua 血缘,按现有记录保持不变。
              • 已发布的 git 历史,其中仍包含原始数值。是否需要进一步记录属于 mentors 的问题,在 legal: close incoming IP provenance for the first Apache release #3268 跟踪,不在此处。

              负责人边界

              未指派。上述 clean room 要求限制了可承担者:执行原始检查的贡献者不能承担,读过现有常量的人同样不能。这是流程要求,不是对任何贡献者的评价。

              Metadata

              Metadata

              Assignees

              Labels

              No labels
              No labels

              Type

              No type

              Projects

              No projects

                Milestone

                No milestone

                Relationships

                None yet

                Development

                No branches or pull requests

                Issue actions

                , 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); legal: independently replace the cursor values recovered from a proprietary binary · Issue #3293 · apache/maka · GitHub
                Skip to content

                legal: independently replace the cursor values recovered from a proprietary binary #3293

                Description

                @Astro-Han
                English

                Part of #3268 — G1: incoming IP and provenance.

                Outcome

                The Computer Use cursor no longer carries values transcribed from a proprietary binary, and the values it does carry have a recorded, independently verifiable origin. This closes the G1 item by replacement rather than by determination.

                #3268 allows either an ASF/legal determination that the retained facts may stay or independent replacement of those facts and the code that depends on them. This issue takes the second path because it can proceed without a determination and removes the question instead of answering it.

                Exit criteria

                • A contributor who has not seen the current values derives a replacement set from Maka's own requirements.
                • The derivation is recorded publicly, so each new value has a verifiable origin of its own.
                • Every item in the replacement scope below is replaced.
                • The presentation deadline is re-derived from the new values and the presentation fence is at or above it.
                • apps/desktop/src/main/__tests__/cursor-engine.test.ts passes without changes to its assertions.
                • docs/computer-use-cursor-provenance.md is updated from retained facts to independent replacement.

                Replacement scope

                All symbols are in apps/desktop/src/renderer/computer-use-overlay/engine/cursor-engine.ts.

                ItemSymbol
                Glyph geometryCODEX_CURSOR_GLYPH: size, shadowBlur, normalized path coordinates
                Motion configurationCODEX_CURSOR_MOTION: 30 fields
                Close-enough gateCURSOR_CLOSE_ENOUGH: progress, distance
                Path measurementSCORE_SAMPLES and the measures derived from it in measureCursorPath
                Core scorerSCORE_DETOUR_WEIGHT, SCORE_ANGLE_ENERGY_WEIGHT, SCORE_MAX_ANGLE_WEIGHT, SCORE_TOTAL_TURN_WEIGHT, SCORE_OUT_OF_BOUNDS_PENALTY
                Terminal heading blendterminalTangentBlendStart and the click-angle handling in cursorHeadingAt
                Hotspot conventionCentre of the hosting view as the action hotspot

                CURSOR_CLOSE_ENOUGH is not independently choosable. The presentation-ready deadline is derived from it together with the spring response and damping fraction, and a fence shorter than that deadline reintroduces the mid-flight click dispatch the gate exists to prevent.

                Method

                The replacement must be clean-room to be worth doing:

                1. The contributor who performed the original binary inspection does not carry out this work.
                2. New values are derived from Maka's product requirements — the glyph is legible at 1x over an arbitrary application, the cursor lands before the click is released, long moves do not sweep the desktop, and arrival does not visibly overshoot — and are tuned against the product rather than against the existing constants.
                3. The derivation is written down before the file is edited.

                The existing tests are behavioural rather than value-pinned; they assert landing, ordering, cancellation, and tick bounds. A test that needs a new constant written into it was pinning the old one, and that should be raised on the pull request rather than edited silently.

                Existing work

                Out of scope

                • The Maka-authored constants and behavior recorded in docs/computer-use-cursor-provenance.md, including MAX_DESIRED_ARC, DEPARTURE_FAN, the backwards-arrival and rotation terms, the candidate family, viewport behavior, the frame clock, presentation fences, and the brand palette. Replacing these adds risk without advancing the gate.
                • The MIT trycua/cua lineage, which remains recorded as it is.
                • The published git history, which still contains the original values. Whether that requires any further record is a question for the mentors and is tracked on legal: close incoming IP provenance for the first Apache release #3268, not here.

                Ownership

                Unassigned. The clean-room requirement above constrains who can take it: the contributor who performed the original inspection cannot, and neither can anyone who has read the current constants. This is a process requirement, not a judgement about any contributor.

                简体中文

                #3268 的一部分——G1:代码来源与知识产权输入。

                目标结果

                Computer Use 光标不再包含从专有二进制转录的数值,其所用数值具备可记录、可独立验证的来源。本 issue 以替换而非判断的方式关闭该 G1 事项。

                #3268 允许两种出口:由 ASF/法务判断保留的事实可以留下,或者独立替换这些事实及依赖它们的代码。本 issue 选择后者,因为它无需等待判断即可推进,并且是让问题消失而不是回答问题。

                完成条件

                • 由未见过现有数值的贡献者,依据 Maka 自身需求推导出一套替换数值。
                • 公开记录推导过程,使每个新数值具备自身可验证的来源。
                • 完成下述替换范围内的全部项目。
                • 依据新数值重新推导 presentation deadline,并确保 presentation fence 不低于该值。
                • apps/desktop/src/main/__tests__/cursor-engine.test.ts 在断言未经修改的情况下通过。
                • docs/computer-use-cursor-provenance.md 从「保留的事实」更新为「已独立替换」。

                替换范围

                全部符号位于 apps/desktop/src/renderer/computer-use-overlay/engine/cursor-engine.ts

                项目符号
                字形几何CODEX_CURSOR_GLYPHsizeshadowBlur、归一化路径坐标
                运动配置CODEX_CURSOR_MOTION:30 个字段
                Close-enough 门限CURSOR_CLOSE_ENOUGHprogressdistance
                路径度量SCORE_SAMPLESmeasureCursorPath 中由其派生的度量
                核心评分SCORE_DETOUR_WEIGHTSCORE_ANGLE_ENERGY_WEIGHTSCORE_MAX_ANGLE_WEIGHTSCORE_TOTAL_TURN_WEIGHTSCORE_OUT_OF_BOUNDS_PENALTY
                终点转向混合terminalTangentBlendStartcursorHeadingAt 中的点击角度处理
                热点约定以宿主视图中心作为动作热点

                CURSOR_CLOSE_ENOUGH 不可独立选取。presentation-ready deadline 由它连同弹簧响应与阻尼系数共同推导,而短于该 deadline 的 fence 会重新引入该门限本要防止的飞行中点击派发。

                方法

                替换必须采用 clean room 方式才有意义:

                1. 执行原始二进制检查的贡献者不承担这项工作。
                2. 新数值依据 Maka 的产品需求推导——字形在 1x 下能在任意应用之上清晰可辨、光标在点击释放前落位、长距离移动不会横扫桌面、落位不出现可见过冲——并针对产品调校,而非针对现有常量。
                3. 推导过程在编辑该文件之前写下。

                现有测试是行为导向而非数值锁定的:它们断言落位、顺序、取消和 tick 范围。若某个测试需要把新常量写进去,说明它原本锁定了旧值,这一点应在 pull request 上提出,而不是悄悄修改。

                已有工作

                不在范围内

                • docs/computer-use-cursor-provenance.md 中记录的 Maka 自有常量与行为,包括 MAX_DESIRED_ARCDEPARTURE_FAN、backwards-arrival 与 rotation 相关项、candidate family、视口行为、帧时钟、presentation fences 和品牌配色。替换它们只增加风险,不推进 gate。
                • MIT 的 trycua/cua 血缘,按现有记录保持不变。
                • 已发布的 git 历史,其中仍包含原始数值。是否需要进一步记录属于 mentors 的问题,在 legal: close incoming IP provenance for the first Apache release #3268 跟踪,不在此处。

                负责人边界

                未指派。上述 clean room 要求限制了可承担者:执行原始检查的贡献者不能承担,读过现有常量的人同样不能。这是流程要求,不是对任何贡献者的评价。

                Metadata

                Metadata

                Assignees

                Labels

                No labels
                No labels

                Type

                No type

                Projects

                No projects

                  Milestone

                  No milestone

                  Relationships

                  None yet

                  Development

                  No branches or pull requests

                  Issue actions