the build tree for p5js looks like this
.
├── CODEOF_CONDUCT.md
├── CONTRIBUTING.md
├── Gruntfile.js
├── README.md
├── contributor_docs
│ ├── README.md
│ ├── access.md
│ ├── ar
│ │ └── README.md
│ ├── archive
│ │ ├── benchmarking_p5.md
│ │ ├── discussions.md
│ │ ├── es6-adoption.md
│ │ └── roadmap.md
│ ├── contributing_documentation.md
│ ├── contributor_guidelines.md
│ ├── creating_libraries.md
│ ├── custom_p5_build.md
│ ├── design_principles.md
│ ├── documentation_style_guide.md
│ ├── es
│ │ └── README.md
│ ├── fes_reference_dev_notes.md
│ ├── friendly_error_system.md
│ ├── hi
│ │ ├── README.md
│ │ ├── access.md
│ │ ├── benchmarking_p5.md
│ │ ├── contributing_documentation.md
│ │ ├── design_principles.md
│ │ ├── discussions.md
│ │ ├── es6-adoption.md
│ │ ├── issue_labels.md
│ │ ├── organization.md
│ │ ├── preparing_a_pull_request.md
│ │ ├── roadmap.md
│ │ └── unit_testing.md
│ ├── images
│ │ ├── method-template-example.png
│ │ ├── mobile-draft-1.png
│ │ ├── mobile-feature-map.png
│ │ ├── mobile-final-proposals.png
│ │ ├── p5-graphics-diagram.png
│ │ └── release-action.png
│ ├── inline_documentation.md
│ ├── internationalization.md
│ ├── issue_labels.md
│ ├── ko
│ │ ├── README.md
│ │ ├── benchmarking_p5.md
│ │ ├── contributing_documentation.md
│ │ ├── creating_libraries.md
│ │ ├── custom_p5_build.md
│ │ ├── design_principles.md
│ │ ├── discussions.md
│ │ ├── es6-adoption.md
│ │ ├── friendly_error_system.md
│ │ ├── inline_documentation.md
│ │ ├── internationalization.md
│ │ ├── issue_labels.md
│ │ ├── method.example.js
│ │ ├── organization.md
│ │ ├── preparing_a_pull_request.md
│ │ ├── release_process.md
│ │ ├── roadmap.md
│ │ ├── sidebar.md
│ │ ├── supported_browsers.md
│ │ ├── unit_testing.md
│ │ └── webgl_mode_architecture.md
│ ├── method.example.js
│ ├── navbar.md
│ ├── organization.md
│ ├── project_wrapups
│ │ ├── DIVYANSHU_RAJ_GSOC_20.md
│ │ ├── L05_GSOC_2019.md
│ │ ├── README.md
│ │ ├── acheng_ogarcia_gsoc_2019.md
│ │ ├── adilrabbani_gsoc_2018.md
│ │ ├── aditya_gsoc_2021.md
│ │ ├── aidannelson_gsoc_2018.md
│ │ ├── akshaypadte_gsoc_2020.md
│ │ ├── anaisgonzalez_gsoc_2021.md
│ │ ├── ashleykang_gsoc2019.md
│ │ ├── ayush23dash_gsoc_2023.md
│ │ ├── connieliu_gsoc_2020.md
│ │ ├── dewansDT_gsoc_2023.md
│ │ ├── elginmclaren_gsoc_2018.md
│ │ ├── ghalestrilo_gsoc_2020.md
│ │ ├── graciazhang_gsoc_2022.md
│ │ ├── inhwayeom_gsoc_2020.md
│ │ ├── jithinks_gsoc_2018.md
│ │ ├── josephhong_gsoc_2021.md
│ │ ├── junshern_gsoc_2018.md
│ │ ├── katiejliu_gsoc_2021.md
│ │ ├── liang_gsoc_2018.md
│ │ ├── luismn_gsoc_2020.md
│ │ ├── malayvasa_gsoc_2022.md
│ │ ├── nikiito_gsoc_2021.md
│ │ ├── orenshoham_gsoc_2019.md
│ │ ├── rachellim_gsoc_2019.md
│ │ ├── sai_bhushan_gsoc_2021.md
│ │ ├── sakshamsaxena_gsoc_2017.md
│ │ ├── sanjay_singh_rajpoot_gsoc2020.md
│ │ ├── sanket_gsoc_2019.md
│ │ ├── shantanuKaushik_gsoc_2021.md
│ │ ├── shubham_sharma_gsoc_2022.md
│ │ ├── sithencube_gsoc_2018.md
│ │ ├── slominski_gsoc_2022.md
│ │ ├── smrghsh_gsoc_2022.md
│ │ ├── tanvi_gsoc_2018.md
│ │ ├── urvashi_gsoc_2019.md
│ │ ├── vedhant_gsoc_2019.md
│ │ ├── wong_gsoc_2023.md
│ │ ├── xu_gsoc_2019.md
│ │ └── yukienomiya_gsoc_2020.md
│ ├── pt-br
│ │ └── README.md
│ ├── release_process.md
│ ├── repo_structure.md
│ ├── sidebar.md
│ ├── sk
│ │ └── README.md
│ ├── steward_guidelines.md
│ ├── supported_browsers.md
│ ├── unit_testing.md
│ ├── web_accessibility.md
│ ├── webgl_mode_architecture.md
│ └── zh
│ ├── README.md
│ ├── access.md
│ ├── contributing_documentation.md
│ ├── contributor_guidelines.md
│ ├── creating_libraries.md
│ ├── custom_p5_build.md
│ ├── design_principles.md
│ ├── fes_reference_dev_notes.md
│ ├── friendly_error_system.md
│ ├── inline_documentation.md
│ ├── internationalization.md
│ ├── issue_labels.md
│ ├── organization.md
│ ├── release_process.md
│ ├── repo_structure.md
│ ├── steward_guidelines.md
│ ├── supported_browsers.md
│ ├── unit_testing.md
│ ├── web_accessibility.md
│ └── webgl_mode_architecture.md
├── docs
│ ├── documented-method.js
│ ├── preprocessor.js
│ └── yuidoc-p5-theme
│ ├── assets
│ │ ├── Bold.ttf
│ │ ├── Damscray.mp3
│ │ ├── Damscray.ogg
│ │ ├── <a href="https://github.com/processing/p5.js/tree/main/docs/yuidoc-p5-theme/assets/Damscray-Dancing_Tiger_01.ogg">Damscray-Dancing_Tiger_01.ogg
│ │ ├── <a href="https://github.com/processing/p5.js/tree/main/docs/yuidoc-p5-theme/assets/Damscray-Dancing_Tiger_02.mp3">Damscray-Dancing_Tiger_02.mp3
│ │ ├── Damscray_01.mp3
│ │ ├── Damscray_01.ogg
│ │ ├── Damscray_02.mp3
│ │ ├── Damscray_02.ogg
│ │ ├── Damscray_DancingTiger.mp3
│ │ ├── Italic.ttf
│ │ ├── Regular.otf
│ │ ├── all.css
│ │ ├── arnott-wallace-eye-loop-forever.gif
│ │ ├── arnott-wallace-wink-loop-once.gif
│ │ ├── beat.mp3
│ │ ├── beat.ogg
│ │ ├── beatbox.mp3
│ │ ├── beatbox.ogg
│ │ ├── blobs.csv
│ │ ├── bricks.jpg
│ │ ├── bricks_third.jpg
│ │ ├── bx-spring.mp3
│ │ ├── bx-spring.ogg
│ │ ├── concrete-tunnel.mp3
│ │ ├── concrete-tunnel.ogg
│ │ ├── doorbell.mp3
│ │ ├── doorbell.ogg
│ │ ├── drawImage.png
│ │ ├── drum.mp3
│ │ ├── drum.ogg
│ │ ├── favicon.ico
│ │ ├── fingers.mov
│ │ ├── fonts
│ │ │ ├── inconsolata.eot
│ │ │ ├── inconsolata.otf
│ │ │ ├── inconsolata.svg
│ │ │ ├── inconsolata.ttf
│ │ │ └── inconsolata.woff
│ │ ├── gradient.png
│ │ ├── img
│ │ │ └── p5js.svg
│ │ ├── inconsolata.otf
│ │ ├── js
│ │ │ ├── reference.js
│ │ │ ├── reference.js.map
│ │ │ ├── render.js
│ │ │ ├── require.min.js
│ │ │ └── vendor
│ │ │ ├── ace-nc
│ │ │ │ ├── ace.js
│ │ │ │ └── mode-javascript.js
│ │ │ ├── backbone-min.js
│ │ │ ├── jquery-1.12.4.min.js
│ │ │ ├── prism.js
│ │ │ └── underscore-min.js
│ │ ├── laDefense.jpg
│ │ ├── laDefense50.png
│ │ ├── large-dark-plate.mp3
│ │ ├── large-dark-plate.ogg
│ │ ├── lucky_dragons.mp3
│ │ ├── lucky_dragons.ogg
│ │ ├── mammals.csv
│ │ ├── mammals.xml
│ │ ├── mask.png
│ │ ├── mask2.png
│ │ ├── moonwalk.jpg
│ │ ├── nancy-liang-wind-loop-forever.gif
│ │ ├── octahedron.obj
│ │ ├── rockies.jpg
│ │ ├── rockies128.jpg
│ │ ├── shader-gradient.frag
│ │ ├── shader.frag
│ │ ├── shader.vert
│ │ ├── small-plate.mp3
│ │ ├── small-plate.ogg
│ │ ├── small.mp4
│ │ ├── small.ogv
│ │ ├── small.webm
│ │ ├── studio-b.mp3
│ │ ├── studio-b.ogg
│ │ ├── teapot.obj
│ │ ├── test.txt
│ │ ├── transformation-matrix-4-4.png
│ │ └── transformation-matrix.png
│ ├── helpers
│ │ └── helpers_prod.js
│ └── layouts
│ └── main.handlebars
├── lib
│ ├── README.txt
│ ├── addons
│ │ ├── p5.sound.js
│ │ └── p5.sound.min.js
│ └── empty-example
│ ├── index.html
│ └── sketch.js
├── license.txt
├── package-lock.json
├── package.json
├── src
│ ├── README.md
│ ├── accessibility
│ │ ├── color_namer.js
│ │ ├── describe.js
│ │ ├── gridOutput.js
│ │ ├── outputs.js
│ │ └── textOutput.js
│ ├── app.js
│ ├── color
│ │ ├── color_conversion.js
│ │ ├── creating_reading.js
│ │ ├── p5.Color.js
│ │ └── setting.js
│ ├── core
│ │ ├── README.md
│ │ ├── constants.js
│ │ ├── environment.js
│ │ ├── friendly_errors
│ │ │ ├── browser_errors.js
│ │ │ ├── fes_core.js
│ │ │ ├── file_errors.js
│ │ │ ├── sketch_reader.js
│ │ │ ├── stacktrace.js
│ │ │ └── validate_params.js
│ │ ├── helpers.js
│ │ ├── init.js
│ │ ├── internationalization.js
│ │ ├── legacy.js
│ │ ├── main.js
│ │ ├── p5.Element.js
│ │ ├── p5.Graphics.js
│ │ ├── p5.Renderer.js
│ │ ├── p5.Renderer2D.js
│ │ ├── preload.js
│ │ ├── reference.js
│ │ ├── rendering.js
│ │ ├── shape
│ │ │ ├── 2d_primitives.js
│ │ │ ├── attributes.js
│ │ │ ├── curves.js
│ │ │ └── vertex.js
│ │ ├── shim.js
│ │ ├── structure.js
│ │ └── transform.js
│ ├── data
│ │ ├── local_storage.js
│ │ └── p5.TypedDict.js
│ ├── dom
│ │ └── dom.js
│ ├── events
│ │ ├── acceleration.js
│ │ ├── keyboard.js
│ │ ├── mouse.js
│ │ └── touch.js
│ ├── image
│ │ ├── filters.js
│ │ ├── image.js
│ │ ├── loading_displaying.js
│ │ ├── p5.Image.js
│ │ └── pixels.js
│ ├── io
│ │ ├── files.js
│ │ ├── p5.Table.js
│ │ ├── p5.TableRow.js
│ │ └── p5.XML.js
│ ├── math
│ │ ├── README.md
│ │ ├── calculation.js
│ │ ├── math.js
│ │ ├── noise.js
│ │ ├── p5.Vector.js
│ │ ├── random.js
│ │ └── trigonometry.js
│ ├── typography
│ │ ├── attributes.js
│ │ ├── loading_displaying.js
│ │ └── p5.Font.js
│ ├── utilities
│ │ ├── array_functions.js
│ │ ├── conversion.js
│ │ ├── string_functions.js
│ │ └── time_date.js
│ └── webgl
│ ├── 3d_primitives.js
│ ├── GeometryBuilder.js
│ ├── interaction.js
│ ├── light.js
│ ├── loading.js
│ ├── material.js
│ ├── p5.Camera.js
│ ├── p5.DataArray.js
│ ├── p5.Framebuffer.js
│ ├── p5.Geometry.js
│ ├── p5.Matrix.js
│ ├── p5.RenderBuffer.js
│ ├── p5.RendererGL.Immediate.js
│ ├── p5.RendererGL.Retained.js
│ ├── p5.RendererGL.js
│ ├── p5.Shader.js
│ ├── p5.Texture.js
│ ├── shaders
│ │ ├── basic.frag
│ │ ├── filters
│ │ │ ├── blur.frag
│ │ │ ├── default.vert
│ │ │ ├── dilate.frag
│ │ │ ├── erode.frag
│ │ │ ├── gray.frag
│ │ │ ├── invert.frag
│ │ │ ├── opaque.frag
│ │ │ ├── posterize.frag
│ │ │ └── threshold.frag
│ │ ├── font.frag
│ │ ├── font.vert
│ │ ├── immediate.vert
│ │ ├── light.vert
│ │ ├── light_texture.frag
│ │ ├── lighting.glsl
│ │ ├── line.frag
│ │ ├── line.vert
│ │ ├── normal.frag
│ │ ├── normal.vert
│ │ ├── phong.frag
│ │ ├── phong.vert
│ │ ├── point.frag
│ │ ├── point.vert
│ │ ├── vertexColor.frag
│ │ ├── vertexColor.vert
│ │ └── webgl2Compatibility.glsl
│ └── text.js
├── tasks
│ ├── build
│ │ ├── browserify.js
│ │ ├── combineModules.js
│ │ └── eslint-samples.js
│ └── test
│ └── mocha-chrome.js
├── test
│ ├── js
│ │ ├── chai_helpers.js
│ │ ├── mocha_setup.js
│ │ ├── modernizr.js
│ │ ├── p5_helpers.js
│ │ └── sinon.js
│ ├── manual-test-examples
│ │ ├── addons
│ │ │ └── p5.sound
│ │ │ ├── DelayNoiseEnvelope
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── DelaySoundFile
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── FFT_freqRange
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── FFT_frequency_spectrum
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── FFT_waveform
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── FFT_waveform_2
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── Filter_BandPass
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── Filter_LowPass
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── PulseFFT
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── Reverb_basic
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── Reverb_convolve
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── Reverb_convolve_FFT
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── _files
│ │ │ │ ├── <a href="https://github.com/processing/p5.js/tree/main/test/manual-test-examples/addons/p5.sound/_files/Damscray-Dancing_Tiger_01.mp3">Damscray-Dancing_Tiger_01.mp3
│ │ │ │ ├── <a href="https://github.com/processing/p5.js/tree/main/test/manual-test-examples/addons/p5.sound/_files/Damscray-Dancing_Tiger_01.ogg">Damscray-Dancing_Tiger_01.ogg
│ │ │ │ ├── <a href="https://github.com/processing/p5.js/tree/main/test/manual-test-examples/addons/p5.sound/_files/Damscray-Dancing_Tiger_02.mp3">Damscray-Dancing_Tiger_02.mp3
│ │ │ │ ├── <a href="https://github.com/processing/p5.js/tree/main/test/manual-test-examples/addons/p5.sound/_files/Damscray-Dancing_Tiger_02.ogg">Damscray-Dancing_Tiger_02.ogg
│ │ │ │ ├── beat.mp3
│ │ │ │ ├── beat.ogg
│ │ │ │ ├── beatbox.mp3
│ │ │ │ ├── beatbox.ogg
│ │ │ │ ├── bx-spring.mp3
│ │ │ │ ├── bx-spring.ogg
│ │ │ │ ├── concrete-tunnel.mp3
│ │ │ │ ├── concrete-tunnel.ogg
│ │ │ │ ├── doorbell.mp3
│ │ │ │ ├── doorbell.ogg
│ │ │ │ ├── drum.mp3
│ │ │ │ ├── drum.ogg
│ │ │ │ ├── large-dark-plate.mp3
│ │ │ │ ├── large-dark-plate.ogg
│ │ │ │ ├── <a href="https://github.com/processing/p5.js/tree/main/test/manual-test-examples/addons/p5.sound/_files/lucky_dragons-power_melody.mp3">lucky_dragons-power_melody.mp3
│ │ │ │ ├── <a href="https://github.com/processing/p5.js/tree/main/test/manual-test-examples/addons/p5.sound/_files/lucky_dragons-power_melody.ogg">lucky_dragons-_power_melody.ogg
│ │ │ │ ├── small-plate.mp3
│ │ │ │ ├── small-plate.ogg
│ │ │ │ ├── studio-b.mp3
│ │ │ │ └── studio-b.ogg
│ │ │ ├── amplitude_analysis
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── autoCorrelation
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── envelope
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── envelopeOnOff
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── loadSound_callback
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── loadSound_preload
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── looper_simple
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── micFFT
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── micLevel
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── micLevel_on_off
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── noiseMod_AM
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── oscillatorMod_AM
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── oscillatorMod_FM
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── oscillatorSecondsFromNow
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── oscillatorWaveform
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── oscillator_FMSynth
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── outOfPhase
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── pan_soundfile
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── pause_soundfile
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── peakDetect
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── peakDetect_basic
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── play_soundfile
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── playbackRate
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── record
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── recordLoops
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── soundFormats
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── soundfileMod_AM
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── soundfile_playMode
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── waveform
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── waveform_peaks_with_playhead
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ └── waveform_with_playhead
│ │ │ ├── index.html
│ │ │ └── sketch.js
│ │ ├── async
│ │ │ ├── loadFont
│ │ │ │ ├── global
│ │ │ │ │ ├── SourceSansPro-Regular.otf
│ │ │ │ │ ├── acmesa.ttf
│ │ │ │ │ ├── index.html
│ │ │ │ │ └── sketch.js
│ │ │ │ └── instance
│ │ │ │ ├── SourceSansPro-Regular.otf
│ │ │ │ ├── acmesa.ttf
│ │ │ │ ├── index.html
│ │ │ │ ├── sketch.js
│ │ │ │ └── test.gif
│ │ │ ├── loadImage
│ │ │ │ ├── global
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── sketch.js
│ │ │ │ │ └── test.gif
│ │ │ │ └── instance
│ │ │ │ ├── index.html
│ │ │ │ ├── sketch.js
│ │ │ │ └── test.gif
│ │ │ ├── loadJSON_callback
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── loadJSON_options
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── loadJSON_preload
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── loadStrings_callback
│ │ │ │ ├── index.html
│ │ │ │ ├── sketch.js
│ │ │ │ └── tenderbuttons_excerpt.txt
│ │ │ ├── loadStrings_manyLines
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── loadStrings_preload
│ │ │ │ ├── index.html
│ │ │ │ ├── sketch.js
│ │ │ │ └── tenderbuttons_excerpt.txt
│ │ │ ├── loadTable_callback
│ │ │ │ ├── index.html
│ │ │ │ ├── sketch.js
│ │ │ │ └── table.csv
│ │ │ ├── loadTable_options
│ │ │ │ ├── index.html
│ │ │ │ ├── sketch.js
│ │ │ │ └── table.csv
│ │ │ ├── loadTable_preload
│ │ │ │ ├── index.html
│ │ │ │ ├── sketch.js
│ │ │ │ └── table.csv
│ │ │ └── loadXML_preload
│ │ │ ├── books.xml
│ │ │ ├── index.html
│ │ │ └── sketch.js
│ │ ├── dom
│ │ │ ├── audio_button_slider
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── audioelt_onended
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── brightness_mirror
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── capture_audio
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── capture_video
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── capture_video_sizing
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── checkbox_test
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── color_picker
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── dropdown_test
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── file_input
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── file_input_div
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── fingers.mov
│ │ │ ├── fingers.webm
│ │ │ ├── global
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── html
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── input_button
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── instance
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── lucky_dragons.mp3
│ │ │ ├── lucky_dragons.ogg
│ │ │ ├── radio_test
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── selectbox_test
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── slider_button
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── slider_tests
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── video_button
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── video_circles
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── video_pixels
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── video_scrub
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── video_speed
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ └── video_to_canvas
│ │ │ ├── index.html
│ │ │ └── sketch.js
│ │ ├── empty-example
│ │ │ ├── index.html
│ │ │ └── sketch.js
│ │ ├── env
│ │ │ └── cursor
│ │ │ ├── banana.png
│ │ │ ├── cursor.js
│ │ │ └── index.html
│ │ ├── instantiation-global
│ │ │ ├── case1
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── case2
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── case3
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── case4
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── case5
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ └── case6
│ │ │ ├── index.html
│ │ │ └── sketch.js
│ │ ├── instantiation-instance
│ │ │ ├── case0
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── case1
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── case3
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── case4
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── case5
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ └── case6
│ │ │ ├── index.html
│ │ │ └── sketch.js
│ │ ├── keyboard
│ │ │ ├── gamestyle.html
│ │ │ ├── gamestyle.js
│ │ │ ├── keyIsPressed.html
│ │ │ └── keyIsPressed.js
│ │ ├── learningprocessing
│ │ │ ├── chp1
│ │ │ │ ├── example_1_1.js
│ │ │ │ ├── example_1_2.js
│ │ │ │ ├── example_1_3.js
│ │ │ │ ├── example_1_4.js
│ │ │ │ ├── example_1_5.js
│ │ │ │ └── index.html
│ │ │ ├── chp10
│ │ │ │ ├── example_10_1
│ │ │ │ │ ├── catcher.js
│ │ │ │ │ ├── example_10_1.js
│ │ │ │ │ └── index.html
│ │ │ │ ├── example_10_10
│ │ │ │ │ ├── catcher.js
│ │ │ │ │ ├── drop.js
│ │ │ │ │ ├── example_10_10.js
│ │ │ │ │ ├── index.html
│ │ │ │ │ └── timer.js
│ │ │ │ ├── example_10_2
│ │ │ │ │ ├── ball.js
│ │ │ │ │ ├── example_10_2.js
│ │ │ │ │ └── index.html
│ │ │ │ ├── example_10_3
│ │ │ │ │ ├── ball.js
│ │ │ │ │ ├── example_10_3.js
│ │ │ │ │ └── index.html
│ │ │ │ ├── example_10_4
│ │ │ │ │ ├── example_10_4.js
│ │ │ │ │ └── index.html
│ │ │ │ ├── example_10_5
│ │ │ │ │ ├── example_10_5.js
│ │ │ │ │ ├── index.html
│ │ │ │ │ └── timer.js
│ │ │ │ ├── example_10_6
│ │ │ │ │ ├── example_10_6.js
│ │ │ │ │ └── index.html
│ │ │ │ ├── example_10_7
│ │ │ │ │ ├── drop.js
│ │ │ │ │ ├── example_10_7.js
│ │ │ │ │ └── index.html
│ │ │ │ ├── example_10_8
│ │ │ │ │ ├── example_10_8.js
│ │ │ │ │ └── index.html
│ │ │ │ └── example_10_9
│ │ │ │ ├── catcher.js
│ │ │ │ ├── drop.js
│ │ │ │ ├── example_10_9.js
│ │ │ │ ├── index.html
│ │ │ │ └── timer.js
│ │ │ ├── chp2
│ │ │ │ ├── example_2_1.js
│ │ │ │ └── index.html
│ │ │ ├── chp3
│ │ │ │ ├── example_3_1.js
│ │ │ │ ├── example_3_2.js
│ │ │ │ ├── example_3_3.js
│ │ │ │ ├── example_3_4.js
│ │ │ │ ├── example_3_5.js
│ │ │ │ ├── example_3_6.js
│ │ │ │ └── index.html
│ │ │ ├── chp4
│ │ │ │ ├── example_4_1.js
│ │ │ │ ├── example_4_2.js
│ │ │ │ ├── example_4_3.js
│ │ │ │ ├── example_4_4.js
│ │ │ │ ├── example_4_5.js
│ │ │ │ ├── example_4_6.js
│ │ │ │ ├── example_4_7.js
│ │ │ │ ├── example_4_8.js
│ │ │ │ └── index.html
│ │ │ ├── chp5
│ │ │ │ ├── example_5_1.js
│ │ │ │ ├── example_5_10.js
│ │ │ │ ├── example_5_2.js
│ │ │ │ ├── example_5_3.js
│ │ │ │ ├── example_5_4.js
│ │ │ │ ├── example_5_5.js
│ │ │ │ ├── example_5_6.js
│ │ │ │ ├── example_5_7.js
│ │ │ │ ├── example_5_8.js
│ │ │ │ ├── example_5_9.js
│ │ │ │ └── index.html
│ │ │ ├── chp6
│ │ │ │ ├── example_6_1.js
│ │ │ │ ├── example_6_10.js
│ │ │ │ ├── example_6_11.js
│ │ │ │ ├── example_6_2.js
│ │ │ │ ├── example_6_3.js
│ │ │ │ ├── example_6_4.js
│ │ │ │ ├── example_6_5.js
│ │ │ │ ├── example_6_6.js
│ │ │ │ ├── example_6_7.js
│ │ │ │ ├── example_6_8.js
│ │ │ │ ├── example_6_9.js
│ │ │ │ └── index.html
│ │ │ ├── chp7
│ │ │ │ ├── example_7_1.js
│ │ │ │ ├── example_7_2.js
│ │ │ │ ├── example_7_3.js
│ │ │ │ ├── example_7_4.js
│ │ │ │ ├── example_7_5.js
│ │ │ │ └── index.html
│ │ │ ├── chp8
│ │ │ │ ├── example_8_1.js
│ │ │ │ ├── example_8_2.js
│ │ │ │ ├── example_8_3.js
│ │ │ │ └── index.html
│ │ │ └── chp9
│ │ │ ├── example_9_10.js
│ │ │ ├── example_9_11.js
│ │ │ ├── example_9_12.js
│ │ │ ├── example_9_2.js
│ │ │ ├── example_9_3.js
│ │ │ ├── example_9_4.js
│ │ │ ├── example_9_5.js
│ │ │ ├── example_9_6.js
│ │ │ ├── example_9_7.js
│ │ │ ├── example_9_8.js
│ │ │ ├── example_9_9.js
│ │ │ └── index.html
│ │ ├── loadingscreen
│ │ │ ├── AvenirNextLTPro-Demi.otf
│ │ │ ├── banana.png
│ │ │ ├── index.html
│ │ │ ├── invalid.json
│ │ │ ├── invalid_json.html
│ │ │ ├── invalid_json.js
│ │ │ ├── loadingscreen.js
│ │ │ ├── mammals.csv
│ │ │ ├── preload_success_callbacks.html
│ │ │ ├── preload_success_callbacks.js
│ │ │ ├── test.json
│ │ │ ├── test.txt
│ │ │ └── test.xml
│ │ ├── module.html
│ │ ├── mouse-events
│ │ │ ├── fingers.mov
│ │ │ ├── global-mousex
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── global-mousex-offset
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── instance-mousex
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── instance-mousex-css
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ └── instance-mousex-offset
│ │ │ ├── index.html
│ │ │ └── sketch.js
│ │ ├── p5.Font
│ │ │ ├── AndaleMono.ttf
│ │ │ ├── FiraSans-Book.otf
│ │ │ ├── Helvetica.ttf
│ │ │ ├── Inconsolata-Bold.ttf
│ │ │ ├── Lato-Black.ttf
│ │ │ ├── Merriweather-LightItalic.ttf
│ │ │ ├── Montserrat-Regular.ttf
│ │ │ ├── OpenSans-Regular.ttf
│ │ │ ├── PlayfairDisplay-Regular.ttf
│ │ │ ├── SourceSansPro-Bold.ttf
│ │ │ ├── SourceSansPro-Italic.ttf
│ │ │ ├── SourceSansPro-Regular.otf
│ │ │ ├── acmesa.ttf
│ │ │ ├── callback
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── custom
│ │ │ │ ├── LEFT.BL.lead.png
│ │ │ │ ├── LEFT.BOTTOM.lead.png
│ │ │ │ ├── LEFT.CENTER.lead.png
│ │ │ │ ├── LEFT.TOP.lead.png
│ │ │ │ ├── index.html
│ │ │ │ ├── sketch.js
│ │ │ │ ├── textAlignSketch.png
│ │ │ │ ├── textAlignmentSketch.png
│ │ │ │ ├── textLineSketch.png
│ │ │ │ ├── textOverlapSketch.png
│ │ │ │ ├── textSizeSketch.png
│ │ │ │ ├── textSketch.png
│ │ │ │ ├── textVertAlignmentSketch.png
│ │ │ │ ├── textWidthSketch.png
│ │ │ │ └── textWrapSketch.png
│ │ │ ├── opentype
│ │ │ │ ├── AvenirNextLTPro-Demi.otf
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── pathpoints
│ │ │ │ ├── boids.js
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── renderpath
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── simple
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── style
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── svgpath
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── system
│ │ │ │ ├── LEFT.BL.lead.png
│ │ │ │ ├── LEFT.BOTTOM.lead.png
│ │ │ │ ├── LEFT.CENTER.lead.png
│ │ │ │ ├── LEFT.TOP.lead.png
│ │ │ │ ├── index.html
│ │ │ │ ├── sketch.js
│ │ │ │ ├── textAlignSketch.png
│ │ │ │ ├── textAllAlignmentsSketch.png
│ │ │ │ ├── textLineSketch.png
│ │ │ │ ├── textOverlapSketch.png
│ │ │ │ ├── textSizeSketch.png
│ │ │ │ ├── textSketch.png
│ │ │ │ ├── textWidthSketch.png
│ │ │ │ └── textWrapSketch.png
│ │ │ ├── textAsWords
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ └── textInRect
│ │ │ ├── index.html
│ │ │ └── sketch.js
│ │ ├── p5.Image
│ │ │ ├── GIF
│ │ │ │ ├── assets
│ │ │ │ │ ├── counting-gif@1xLoop-0.2secDelay.gif
│ │ │ │ │ ├── counting-gif@endlessLoop-1secDelay.gif
│ │ │ │ │ ├── giphy.gif
│ │ │ │ │ └── tricky.gif
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── african-savanna.png
│ │ │ ├── animate-image.js
│ │ │ ├── animate.html
│ │ │ ├── arnott-wallace-eye-loop-forever.gif
│ │ │ ├── cat-with-alpha.png
│ │ │ ├── cat.jpg
│ │ │ ├── copying-images.js
│ │ │ ├── copying.html
│ │ │ ├── cropping-images.js
│ │ │ ├── cropping.html
│ │ │ ├── drawing-images.js
│ │ │ ├── drawing.html
│ │ │ ├── filter-images.js
│ │ │ ├── filter.html
│ │ │ ├── load-gifs.html
│ │ │ ├── load-gifs.js
│ │ │ ├── loadPixels.html
│ │ │ ├── loadPixels.js
│ │ │ ├── manipulate-images.js
│ │ │ ├── manipulate.html
│ │ │ ├── rockies.gif
│ │ │ ├── running-cat.png
│ │ │ ├── saving-images.js
│ │ │ ├── saving.html
│ │ │ ├── sprite_sheet.jpg
│ │ │ └── unicorn.jpg
│ │ ├── p5.Renderer2D
│ │ │ └── arc
│ │ │ ├── scalingCorrection
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ └── startStopWrapping
│ │ │ ├── index.html
│ │ │ └── sketch.js
│ │ ├── p5.Shape
│ │ │ └── test0
│ │ │ ├── circle.svg
│ │ │ ├── index.html
│ │ │ └── sketch.js
│ │ ├── p5.Table
│ │ │ ├── findRows
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── getColumn
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── getObject
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── matchRow
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── matchRows
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── removeTokens
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── saveTable
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ └── trim
│ │ │ ├── index.html
│ │ │ └── sketch.js
│ │ ├── p5.Vector
│ │ │ ├── NOC_2_5_fluidresistance
│ │ │ │ ├── index.html
│ │ │ │ ├── liquid.js
│ │ │ │ ├── mover.js
│ │ │ │ └── sketch.js
│ │ │ ├── NOC_2_7_attraction_many
│ │ │ │ ├── attractor.js
│ │ │ │ ├── index.html
│ │ │ │ ├── mover.js
│ │ │ │ └── sketch.js
│ │ │ └── NOC_6_09_Flocking
│ │ │ ├── boid.js
│ │ │ ├── flock.js
│ │ │ ├── index.html
│ │ │ └── sketch.js
│ │ ├── pixel
│ │ │ ├── set-pixels.html
│ │ │ ├── set-pixels.js
│ │ │ ├── unicorn.jpg
│ │ │ ├── update-pixels.html
│ │ │ └── update-pixels.js
│ │ ├── saveData
│ │ │ ├── saveJSONArray
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── saveJSONObject
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ └── saveStrings
│ │ │ ├── index.html
│ │ │ └── sketch.js
│ │ ├── styles.css
│ │ ├── tint
│ │ │ ├── flowers.jpg
│ │ │ ├── index.html
│ │ │ └── sketch.js
│ │ ├── tint-performance
│ │ │ ├── flowers-large.jpg
│ │ │ ├── index.html
│ │ │ └── sketch.js
│ │ ├── tutorials
│ │ │ ├── DOM-extensions
│ │ │ │ ├── 0
│ │ │ │ │ ├── index.html
│ │ │ │ │ └── sketch.js
│ │ │ │ ├── 1
│ │ │ │ │ ├── index.html
│ │ │ │ │ └── sketch.js
│ │ │ │ ├── 2
│ │ │ │ │ ├── index.html
│ │ │ │ │ └── sketch.js
│ │ │ │ ├── 3
│ │ │ │ │ ├── index.html
│ │ │ │ │ └── sketch.js
│ │ │ │ ├── 4
│ │ │ │ │ ├── index.html
│ │ │ │ │ └── sketch.js
│ │ │ │ ├── 6
│ │ │ │ │ ├── index.html
│ │ │ │ │ └── sketch.js
│ │ │ │ ├── 7
│ │ │ │ │ ├── index.html
│ │ │ │ │ └── sketch.js
│ │ │ │ ├── 8
│ │ │ │ │ ├── index.html
│ │ │ │ │ └── sketch.js
│ │ │ │ ├── dom_1.png
│ │ │ │ ├── dom_2-0.png
│ │ │ │ ├── dom_2-1.png
│ │ │ │ ├── dom_7.png
│ │ │ │ └── dom_8.png
│ │ │ └── Integrating-other-libraries
│ │ │ ├── 0
│ │ │ │ ├── buzz.js
│ │ │ │ ├── index.html
│ │ │ │ ├── rhodes_loop.wav
│ │ │ │ └── sketch.js
│ │ │ ├── 1
│ │ │ │ ├── buzz.js
│ │ │ │ ├── index.html
│ │ │ │ ├── red.jpg
│ │ │ │ ├── rhodes_loop.wav
│ │ │ │ └── sketch.js
│ │ │ └── 2
│ │ │ ├── buzz.js
│ │ │ ├── index.html
│ │ │ ├── red.jpg
│ │ │ ├── rhodes_loop.wav
│ │ │ └── sketch.js
│ │ └── webgl
│ │ ├── arc
│ │ │ ├── scalingCorrection
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ └── startStopWrapping
│ │ │ ├── index.html
│ │ │ └── sketch.js
│ │ ├── assets
│ │ │ ├── UV_Grid_Sm.jpg
│ │ │ ├── cat.jpg
│ │ │ ├── model-bin.stl
│ │ │ └── teapot-ascii.stl
│ │ ├── blendMode
│ │ │ ├── index.html
│ │ │ └── sketch.js
│ │ ├── camera
│ │ │ ├── cameraViews
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── frustum
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ └── setattributes
│ │ │ ├── index.html
│ │ │ └── sketch.js
│ │ ├── curves
│ │ │ ├── index.html
│ │ │ └── sketch.js
│ │ ├── customShader
│ │ │ ├── index.html
│ │ │ ├── sketch.js
│ │ │ ├── toonShader
│ │ │ │ ├── frag.glsl
│ │ │ │ └── vert.glsl
│ │ │ └── videoMultiTextureShader
│ │ │ ├── frag.glsl
│ │ │ └── vert.glsl
│ │ ├── debugMode
│ │ │ ├── index.html
│ │ │ └── sketch.js
│ │ ├── filter
│ │ │ ├── index.html
│ │ │ └── sketch.js
│ │ ├── framebuffer
│ │ │ ├── depth
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── feedback
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ └── formats
│ │ │ ├── index.html
│ │ │ └── sketch.js
│ │ ├── geometryImmediate
│ │ │ ├── index.html
│ │ │ └── sketch.js
│ │ ├── geometryLit
│ │ │ ├── index.html
│ │ │ └── sketch.js
│ │ ├── geometryLoading
│ │ │ ├── index.html
│ │ │ └── sketch.js
│ │ ├── geometryUnlit
│ │ │ ├── index.html
│ │ │ └── sketch.js
│ │ ├── get
│ │ │ ├── index.html
│ │ │ └── sketch.js
│ │ ├── performance
│ │ │ ├── points
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ ├── spheres
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ └── triangles
│ │ │ ├── index.html
│ │ │ └── sketch.js
│ │ ├── stats.js
│ │ ├── text
│ │ │ ├── chinese
│ │ │ │ ├── index.html
│ │ │ │ └── sketch.js
│ │ │ └── multiple
│ │ │ ├── index.html
│ │ │ └── sketch.js
│ │ └── texture
│ │ ├── multipleTextures
│ │ │ ├── index.html
│ │ │ └── sketch.js
│ │ ├── textureFilter
│ │ │ ├── index.html
│ │ │ └── sketch.js
│ │ ├── textureMode
│ │ │ ├── index.html
│ │ │ └── sketch.js
│ │ ├── textureWrap
│ │ │ ├── index.html
│ │ │ └── sketch.js
│ │ ├── transparentTexture
│ │ │ ├── index.html
│ │ │ └── sketch.js
│ │ └── videoTexture
│ │ ├── index.html
│ │ └── sketch.js
│ ├── mocha.css
│ ├── node
│ │ ├── helpers.js
│ │ └── test-docs-preprocessor.js
│ ├── reporter
│ │ └── simple.js
│ ├── test-minified.html
│ ├── test-reference.html
│ ├── test.html
│ └── unit
│ ├── accessibility
│ │ ├── describe.js
│ │ └── outputs.js
│ ├── assets
│ │ ├── acmesa.ttf
│ │ ├── array.js
│ │ ├── array.json
│ │ ├── ascii
│ │ ├── ascii.stl
│ │ ├── beat.mp3
│ │ ├── books.xml
│ │ ├── cat-with-hole.png
│ │ ├── cat.jpg
│ │ ├── cat.webm
│ │ ├── csv.csv
│ │ ├── dispose_background.gif
│ │ ├── dispose_none.gif
│ │ ├── dispose_previous.gif
│ │ ├── empty_lines.txt
│ │ ├── frag.glsl
│ │ ├── many_lines.txt
│ │ ├── nyan_cat.gif
│ │ ├── object.js
│ │ ├── object.json
│ │ ├── sentences.txt
│ │ ├── target.gif
│ │ ├── target_small.gif
│ │ ├── teapot.obj
│ │ ├── vert.glsl
│ │ └── white_black.gif
│ ├── color
│ │ ├── color_conversion.js
│ │ ├── creating_reading.js
│ │ ├── p5.Color.js
│ │ └── setting.js
│ ├── core
│ │ ├── 2d_primitives.js
│ │ ├── attributes.js
│ │ ├── curves.js
│ │ ├── environment.js
│ │ ├── error_helpers.js
│ │ ├── main.js
│ │ ├── p5.Element.js
│ │ ├── p5.Graphics.js
│ │ ├── preload.js
│ │ ├── rendering.js
│ │ ├── structure.js
│ │ ├── transform.js
│ │ ├── version.js
│ │ └── vertex.js
│ ├── data
│ │ ├── local_storage.js
│ │ └── p5.TypedDict.js
│ ├── dom
│ │ └── dom.js
│ ├── events
│ │ ├── acceleration.js
│ │ ├── keyboard.js
│ │ ├── mouse.js
│ │ └── touch.js
│ ├── image
│ │ ├── downloading.js
│ │ ├── filters.js
│ │ ├── loading.js
│ │ ├── p5.Image.js
│ │ └── pixels.js
│ ├── io
│ │ ├── files.js
│ │ ├── loadBytes.js
│ │ ├── loadImage.js
│ │ ├── loadJSON.js
│ │ ├── loadModel.js
│ │ ├── loadShader.js
│ │ ├── loadStrings.js
│ │ ├── loadTable.js
│ │ ├── loadXML.js
│ │ └── saveTable.js
│ ├── math
│ │ ├── calculation.js
│ │ ├── noise.js
│ │ ├── p5.Vector.js
│ │ ├── random.js
│ │ └── trigonometry.js
│ ├── spec.js
│ ├── typography
│ │ ├── attributes.js
│ │ ├── loadFont.js
│ │ └── p5.Font.js
│ ├── utilities
│ │ ├── array_functions.js
│ │ ├── conversion.js
│ │ ├── string_functions.js
│ │ └── time_date.js
│ └── webgl
│ ├── 3d_primitives.js
│ ├── interaction.js
│ ├── light.js
│ ├── normal.js
│ ├── p5.Camera.js
│ ├── p5.Framebuffer.js
│ ├── p5.Geometry.js
│ ├── p5.Matrix.js
│ ├── p5.RendererGL.js
│ ├── p5.Shader.js
│ └── p5.Texture.js
├── translations
│ ├── dev.js
│ ├── en
│ │ └── translation.json
│ ├── es
│ │ └── translation.json
│ ├── hi
│ │ └── translation.json
│ ├── index.js
│ ├── ko
│ │ ├── README.md
│ │ └── translation.json
│ └── zh
│ └── translation.json
└── utils
└── sample-linter.js
299 directories, 1072 files
Backlinks