Symbol depth: instance animation, button states, and the sixteen symbol.* commands the shell never binds

オープン
#137 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
25/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
活発
技術スタック
rust
領域
desktop-dev

調査の方向性

Start with the parity matrix in docs/planning/generated/dom-parity.md and decision 0044, which list the setAnimInstance* verbs as carried in the engine, then find where the shell's menus, panels and tools dispatch commands. Each of the sixteen symbol.* commands needs a real dispatch from the shell surface, and the renderer must honour any value it writes. Done means the reachability measurement rises, the floor is re-pinned with cargo run -p xtask -- reachability --bless, and a regression test fails when a binding is removed.

索引モデルが issue の本文から書いたものです。

説明

enhancement parity

The engine already carries these sixteen symbol.* commands; the shell's designed surface never binds any of them.

The DOM parity matrix (docs/planning/generated/dom-parity.md) marks all six setAnimInstance* verbs as carried (decision 0044) — the engine writes the ANNi / ANXf / ANYf / ANRi carriers and they round-trip. What is missing is the surface: a user cannot set an instance's frame count, loop count, offset, rotation, scale or start/end opacity, and CS6 exposes all six. The loop count also closes a residual already recorded in docs/NEXT.md (20.3) and docs/TASKS.md row 8 — "a document-level loop count (CS6's {loopCount:%Ai})".

The commands:

  • symbol.setAnimInstanceNumFrames, symbol.setAnimInstanceLoopCount, symbol.setAnimInstanceOffsetDist, symbol.setAnimInstanceRotationAmount, symbol.setAnimInstanceScaleAmount, symbol.setAnimInstanceStartEndOpacity — the instance animation properties.
  • symbol.setButtonOptions, symbol.setButtonAutoSlice, symbol.setButtonShowDownOnLoad, symbol.setButtonIncludeDownState, symbol.setButtonIncludeOverWhileDownState — the button-symbol states and the auto-slice wiring.
  • symbol.setParam, symbol.setCustomData — the parameter and custom-data carriers.
  • symbol.editDetach, symbol.editReorder — the symbol editor's detach and reorder verbs.
  • symbol.duplicateSymbolForAlias — the alias duplication path (decision 0053).

Acceptance:

  • each command named here is dispatched from the shell's designed surface — a menu row, a panel field or a tool action. A literal in a comment does not count: the gate is a literal scan, and the binding has to be a real dispatch.
  • where the surface writes a value the renderer ignores, the renderer honours it too. A field that engages and changes nothing observable is not a binding.
  • the reachability measurement rises accordingly and the floor is re-pinned deliberately with cargo run -p xtask -- reachability --bless (the bless refuses to lower it).
  • a regression test fails when the binding is removed.
主要言語
Rust
スター
11
フォーク
1
平均マージ
13時間 16分
マージ済み PR(30日)
38

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

aliasfoxkde/FireCraft のほかの issue

aliasfoxkde/FireCraft の issue をすべて見る

似ている issue

Rust の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。