Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Masking

Abierto
#228 1 comentario 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

@hobbsythe6th ya está trabajando en esto.

Desde el 26/8/2026.

  • #204 de @hobbsythe6th — abierto

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
28/100
Tipo de issue
Nueva funcionalidad
Claridad
Necesita aclaración
Estado de actividad
Activo
Stack tecnológico
javascript

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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).

Lenguaje dominante
JavaScript
Estrellas
53
Forks
22
Merge medio
2 d 10 h
PR fusionados (30 d)
12

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de Candlestickers/Candlestick

Todos los issues de Candlestickers/Candlestick

Issues similares

Más issues de JavaScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.