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

Aperta
#137 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
25/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
rust
Ambito
desktop-dev

Direzione di ricerca

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.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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.
Lingua principale
Rust
Stelle
11
Fork
1
Merge medio
13h 16m
PR unite (30g)
38

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di aliasfoxkde/FireCraft

Tutte le issue di aliasfoxkde/FireCraft

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.