Skip to content

aHaHaTeam/p5js-wasm-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

p5js-wasm-go

It is a Golang library with bindings to use p5js in the browser from webassembly.

Features

Here is a list of features that have already been implemented:

Environment

✅ Completed

describe()

describeElement()

textOutput()

gridOutput()

print()

frameCount

deltaTime

focused

cursor()

frameRate()

getTargetFrameRate()

noCursor()

webglVersion

displayWidth

displayHeight

windowWidth

windowHeight

windowResized()

width

height

fullscreen()

pixelDensity()

displayDensity()

getURL()

getURLPath()

getURLParams()

Color

Creating & Reading

✴️ In progress (10/11)

alpha()

blue()

brightness()

color()

green()

hue()

lerpColor()

lightness()

red()

saturation()

p5.Color

Setting

✅ Completed

beginClip()

endClip()

clip()

background()

clear()

colorMode()

fill()

noFill()

noStroke()

stroke()

erase()

noErase()

Shape

2D Primitives

✅ Completed

arc()

ellipse()

circle()

line()

point()

quad()

rect()

square()

triangle()

Attributes

✅ Completed

ellipseMode()

noSmooth()

rectMode()

smooth()

strokeCap()

strokeJoin()

strokeWeight()

Curves

⬜ In progress (0/9)

bezier()

bezierDetail()

bezierPoint()

bezierTangent()

curve()

curveDetail()

curveTightness()

curvePoint()

curveTangent()

Vertex

⬜ In progress (0/9)

beginContour()

beginShape()

bezierVertex()

curveVertex()

endContour()

endShape()

quadraticVertex()

vertex()

normal()

3D Primitives

⬜ In progress (0/12)

beginGeometry()

endGeometry()

buildGeometry()

freeGeometry()

plane()

box()

sphere()

cylinder()

cone()

ellipsoid()

torus()

p5.Geometry

3D Models

⬜ In progress (0/2)

loadModel()

model()

Structure

✴️ In progress (10/12)

preload()

setup()

draw()

remove()

disableFriendlyErrors

noLoop()

loop()

isLooping()

push()

pop()

redraw()

p5()

DOM

⬜ In progress (0/25)

p5.Element

select()

selectAll()

removeElements()

changed()

input()

createDiv()

createP()

createSpan()

createImg()

createA()

createSlider()

createButton()

createCheckbox()

createSelect()

createRadio()

createColorPicker()

createInput()

createFileInput()

createVideo()

createAudio()

createCapture()

createElement()

p5.MediaElement

p5.File

Rendering

✴️ In progress (9/11)

p5.Graphics

createCanvas()

resizeCanvas()

noCanvas()

createGraphics()

createFramebuffer()

clearDepth()

blendMode()

drawingContext

setAttributes()

p5.Framebuffer

Transform

⬜ In progress (0/10)

applyMatrix()

resetMatrix()

rotate()

rotateX()

rotateY()

rotateZ()

scale()

shearX()

shearY()

translate()

Events

Acceleration

⬜ In progress (0/38)

deviceOrientation

accelerationX

accelerationY

accelerationZ

pAccelerationX

pAccelerationY

pAccelerationZ

rotationX

rotationY

rotationZ

pRotationX

pRotationY

pRotationZ

turnAxis

setMoveThreshold()

setShakeThreshold()

deviceMoved()

deviceTurned()

deviceShaken()

Keyboard

✅ Completed

keyIsPressed

key

keyCode

keyPressed()

keyReleased()

keyTyped()

keyIsDown()

Mouse

✅ Completed

movedX

movedY

mouseX

mouseY

pmouseX

pmouseY

winMouseX

winMouseY

pwinMouseX

pwinMouseY

mouseButton

mouseIsPressed

mouseMoved()

mouseDragged()

mousePressed()

mouseReleased()

mouseClicked()

doubleClicked()

mouseWheel()

requestPointerLock()

exitPointerLock()

Touch

⬜ In progress (0/4)

touches

touchStarted()

touchMoved()

touchEnded()

Image

Image

⬜ In progress (0/4)

createImage()

saveCanvas()

saveFrames()

p5.Image

Loading & Displaying

⬜ In progress (0/6)

loadImage()

saveGif()

image()

tint()

noTint()

imageMode()

Pixels

⬜ In progress (0/8)

pixels

blend()

copy()

filter()

get()

loadPixels()

set()

updatePixels()

IO

Input

⬜ In progress (0/9)

loadJSON()

loadStrings()

loadTable()

loadXML()

loadBytes()

httpGet()

httpPost()

httpDo()

p5.XML

Output

⬜ In progress (0/6)

createWriter()

p5.PrintWriter

save()

saveJSON()

saveStrings()

saveTable()

Table

⬜ In progress (0/2)

p5.Table

p5.TableRow

Time & Date

⬜ In progress (0/7)

day()

hour()

minute()

millis()

month()

second()

year()

Math

Noise

⬜ In progress (0/3)

noise()

noiseDetail()

noiseSeed()

Typography

Attributes

✅ Completed

textAlign()

textLeading()

textSize()

textStyle()

textWidth()

textAscent()

textDescent()

textWrap()

Loading & Displaying

✴️ In progress (3/4)

loadFont()

text()

textFont()

p5.Font

3D

Interaction

⬜ In progress (0/3)

orbitControl()

debugMode()

noDebugMode()

Lights

⬜ In progress (0/10)

ambientLight()

specularColor()

directionalLight()

pointLight()

imageLight()

panorama()

lights()

lightFalloff()

spotLight()

noLights()

Material

✴️ In progress (14/15)

loadShader()

createShader()

createFilterShader()

shader()

resetShader()

texture()

textureMode()

textureWrap()

normalMaterial()

ambientMaterial()

emissiveMaterial()

specularMaterial()

shininess()

metalness()

p5.Shader

Camera

⬜ In progress (0/8)

camera()

perspective()

linePerspective()

ortho()

frustum()

createCamera()

p5.Camera

setCamera()

Packages that are not planned to be implemented:

We considered that these packages are useless because they provide features that the standard Go library does.

  • Constants

  • Foundation

  • Data

  • Math:

    • Calculation

    • Vector

    • Random

    • Trigonometry

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages