Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Masking

Aperta
#228 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@hobbsythe6th ci sta già lavorando.

Dal 26/8/2026.

  • #204 di @hobbsythe6th — aperta

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
28/100
Tipo di issue
Funzionalità
Chiarezza
Da chiarire
Stato di attività
Attiva
Stack tecnologico
javascript

Direzione di ricerca

Start by searching the codebase for clipMask in paper.js, then inspect the masking-related references in Brush.js and WickObject.js. Compare those entry points with the SVG-import workaround and current editor selection behavior, then establish whether the finished feature targets object masks, layer masks, or both and how mask visibility should work.

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

Descrizione

enhancement

Is your feature request related to a problem? Please describe.
Masking is a common feature in art programs that isn't readily available in Wick or Candlestick.

Describe the solution you'd like
A toggle for either objects or entire layers (or both??) to use them as a clipping mask.

I think layer masking makes the most sense since that's consistent with art programs, though object masking is a thing in Figma. However, it would likely rely on groups and good use of the outliner, and 1) I don't wanna add groups when clips also exist and 2) people might not want to use the outliner.

Describe alternatives you've considered
MayOlu on the forum found this workaround of using the SVG import to obtain an "illegal" path with a masking property. All SVGs that are imported seem to add a border rectangle, which can be used to mask.

Additional context
Couple random things:

Upon inspection, I noticed a masking boolean which can be read through project.activeFrame._children[0]._json[1].clipMask (you might have to change the _children index to find the right path). I was unable to just set that boolean to true or false to toggle masking, and I didn't figure out how to do it correctly. Supposedly though, there are paper.js functions to actually toggle masking. You can search for clipMask in the paper.js for some more info. mask reveals some stuff in Brush.js and WickObject.js but I don't know how useful those are.

I'm not sure if layers can be clipping masks of other layers without using groups.

With the object masking that "exists" right now in the editor (as MayOlu demoed), the masks are hard to select (you have to drag-select them) and they interfere with UI (the black drag-select rectangle also gets masked).

Lingua principale
JavaScript
Stelle
53
Fork
22
Merge medio
2g 10h
PR unite (30g)
12

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 Candlestickers/Candlestick

Tutte le issue di Candlestickers/Candlestick

Issue simili

Altre issue su JavaScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.