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