Feature discussion: synchronizing layer visibility across views

Aperta
#2,479 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à
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
25/100
Tipo di issue
Funzionalità
Chiarezza
Da chiarire
Stato di attività
Attiva
Stack tecnologico
cpp
Ambito
design, desktop

Direzione di ricerca

Start by reading issue #2448 and compare its view-level synchronization proposal with the technology-based approach described here. Investigate requirements for technology-shared layer visibility, visibility groups, and undo behavior. Done means the requirements and preferred architecture are documented well enough to guide a later implementation.

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

Descrizione

From the discussion in #2448 (a view-level "synchronized layers" button, like "Synchronized views" but for layer visibility).

There, @klayoutmatthias proposed taking this to a feature discussion first, with these starting points:

  • synchronizing on technology objects instead of views: a technology keeps a layer properties map with a dynamic bidirectional update path between technology and view, so all layouts sharing one technology stay synchronized; less intrusive than view-level sync and avoids some of its logic issues
  • possible synergy with visibility groups, which are currently emulated with tabs: a technology-global visibility state with presets could address several requests at once
  • undo: layer visibility in the main undo stack is contentious; candidates are dropping it from undo or giving it a separate stack

The view-level approach from #2448 is one data point, the technology-based scheme the other candidate. Opening this to collect requirements and settle the architecture before any (re)implementation.

Lingua principale
C++
Stelle
1.2k
Fork
305
Merge medio
3g 2h
PR unite (30g)
11

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 KLayout/klayout

Tutte le issue di KLayout/klayout

Issue simili

Altre issue su C++

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.