Track Processing API coverage in libprocessing/mewnala
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 25/100
Direção de pesquisa
Comece pelas entradas não marcadas no Progress Tracker e compare as páginas de referência ou os Javadocs relevantes do Processing com a implementação atual de libprocessing/mewnala. Um item concluído deve corresponder ao comportamento do Processing, ser validado com um sketch de exemplo e ser incluído na versão mais recente do mewnala.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
This issue tracks progress toward implementing the Processing API in libprocessing/mewnala.
The goal is to reach broad compatibility with the existing Processing API so that sketches can be ported with minimal friction.
Guidelines
Keywords below are listed using the original Java syntax. Some differences are expected due to the specifics of Python.
Breaking changes should be intentional, and their motivation should be documented in the corresponding issues or PRs.
Definition of done
Mark items as done only once they:
- match the original Processing behavior (see the linked reference page)
- have been validated with example sketches (e.g. in Processing examples, Nature of Code, or the
examplesdirectory) - are included in the latest mewnala release (https://pypi.org/project/mewnala/)
Progress Tracker
[!IMPORTANT]
The list is based on the official Processing reference. This is NOT an exhaustive list of every class, method, or keyword in Processing. Parts of the API are undocumented or listed in individual class pages, see theMethodssection of PVector or PImage for example. For a more complete API overview, see the Processing 4 Javadoc.
Data
Composite
- Array
- ArrayList
- FloatDict
- FloatList
- HashMap
- IntDict
- IntList
- JSONArray
- JSONObject
- Object
- String
- StringDict
- StringList
- Table
- TableRow
- XML
Array Functions
Conversion
Primitive
String Functions
Input
Files
- BufferedReader
- createInput()
- createReader()
- launch()
- loadBytes()
- loadJSONArray()
- loadJSONObject()
- loadStrings()
- loadXML()
- parseJSONArray()
- parseJSONObject()
- parseXML()
- selectFolder()
- selectInput()
- loadTable()
Time & Date
Keyboard
Mouse
- mouseButton
- mouseClicked()
- mouseDragged()
- mouseMoved()
- mousePressed
- mousePressed()
- mouseReleased()
- mouseWheel()
- mouseX
- mouseY
- pmouseX
- pmouseY
Constants
Typography
Loading & Displaying
Attributes
Metrics
Rendering
Shaders
Image
Pixels
Loading & Displaying
Textures
Shape
2d primitives
Vertex
- beginContour()
- beginShape()
- bezierVertex()
- curveVertex()
- endContour()
- endShape()
- quadraticVertex()
- vertex()
Curves
- bezierDetail()
- bezierPoint()
- bezierTangent()
- bezier()
- curveDetail()
- curvePoint()
- curveTangent()
- curveTightness()
- curve()
3D Primitives
Attributes
Loading & Displaying
Math
Calculation
- abs()
- ceil()
- constrain()
- dist()
- exp()
- floor()
- lerp()
- log()
- mag()
- map()
- max()
- min()
- norm()
- pow()
- round()
- sq()
- sqrt()
Trigonometry
Operators
- += (add assign)
- + (addition)
- -- (decrement)
- / (divide)
- /= (divide assign)
- ++ (increment)
- - (minus)
- % (modulo)
- * (multiply)
- *= (multiply assign)
- -= (subtract assign)
Bitwise Operators
Random
Output
Files
- PrintWriter
- beginRaw()
- beginRecord()
- createOutput()
- createWriter()
- endRaw()
- endRecord()
- saveBytes()
- saveJSONArray()
- saveJSONObject()
- saveStream()
- saveStrings()
- saveTable()
- saveXML()
- selectOutput()
Text Area
Image
Color
Creating & Reading
Setting
Lights Camera
Lights
- ambientLight()
- directionalLight()
- lightFalloff()
- lightSpecular()
- lights()
- noLights()
- normal()
- pointLight()
- spotLight()
Material Properties
Camera
Coordinates
Transform
- applyMatrix()
- popMatrix()
- printMatrix()
- pushMatrix()
- resetMatrix()
- rotateX()
- rotateY()
- rotateZ()
- rotate()
- scale()
- shearX()
- shearY()
- translate()
Structure
- [] (array access)
- = (assign)
- catch
- class
- , (comma)
- // (comment)
- {} (curly braces)
- /** */ (doc comment)
- . (dot)
- draw()
- exit()
- extends
- false
- final
- implements
- import
- loop()
- /* */ (multiline comment)
- new
- noLoop()
- null
- () (parentheses)
- popStyle()
- pop()
- private
- public
- pushStyle()
- push()
- redraw()
- return
- ; (semicolon)
- setLocation()
- setResizable()
- setTitle()
- setup()
- static
- super
- this
- thread()
- true
- try
- void
Control
Conditionals
Relational Operators
- == (equality)
- > (greater than)
- >= (greater than or equal to)
- != (inequality)
- < (less than)
- <= (less than or equal to)
Iteration
Logical Operators
Environment
- cursor()
- delay()
- displayDensity()
- displayHeight
- displayWidth
- focused
- frameCount
- frameRate
- frameRate()
- fullScreen()
- height
- noCursor()
- noSmooth()
- pixelDensity()
- pixelHeight
- pixelWidth
- settings()
- size()
- smooth()
- width
- windowMove()
- windowMoved()
- windowRatio()
- windowResizable()
- windowResize()
- windowResized()
- windowTitle()
- Linguagem predominante
- Rust
- Estrelas
- 69
- Forks
- 14
- Merge médio
- 15d 22h
- PRs com merge (30d)
- 3
Guia de contribuição
Nenhum guia de contribuição indexado para este repositório
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de processing/libprocessing
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
processing/libprocessing#233 ·
-
Dropping Python 3.10 support Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
processing/libprocessing#229 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
processing/libprocessing#201 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
processing/libprocessing#194 ·
-
documentation
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
processing/libprocessing#146 · 1 comentário ·
Todas as issues de processing/libprocessing
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
Eynzof/Hermes-CN-Desktop#616 ·
-
bug rules
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
-
app bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
IronCoreLabs/ironcore-alloy#346 ·
-
good first issue
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100