{"source":"https://contributable.vercel.app","licence":"CC BY 4.0","methodology":"https://contributable.vercel.app/methodology","v":2,"owner":"processing","name":"processing4","updatedAt":"2026-10-11T05:38:52.009Z","coveredSince":"2025-10-04T15:13:47.337Z","facts":{"owner":"processing","name":"processing4","description":"Source code for Processing, the software sketchbook and Java-based programming language for students, artists, designers, educators, hobbyists, and creative coders. Includes the core library, and editor (PDE)","stars":515,"forks":185,"archived":false,"isFork":false,"license":"NOASSERTION","defaultBranch":"main","pushedAt":"2026-09-25T19:05:12Z","createdAt":"2024-08-19T06:28:47Z","topics":["art","design","education","java","learning","processing","creative-coding","generative-art","generative-design"],"languages":{"Java":5842632,"Kotlin":277098,"Processing":98495,"ANTLR":54282,"GLSL":47408,"Objective-C":44326,"HTML":30689,"Shell":12507,"C":11794,"Go Template":2549,"C++":2467,"Makefile":1957},"frameworks":[],"commits90d":15,"releases365d":12,"lastReleaseAt":"2026-09-24T16:41:08Z","gettingStarted":{"contributing":true,"codeOfConduct":true,"issueTemplates":true,"devcontainer":false,"cla":"none","channels":[{"kind":"discord","url":"https://discord.gg/8pFwMVATh8"},{"kind":"forum","url":"https://discourse.processing.org/"}],"policy":null}},"metrics":{"computedAt":"2026-10-11T05:38:52.009Z","outsidePulls":{"cohort":{"n":7,"merged":4,"closedUnmerged":0,"open":3,"mergeRate":null,"openShare":0.42857142857142855,"evidence":{"merged":[1559,1557,1535,1534],"closedUnmerged":[],"open":[1563,1542,1528]}},"firstTimers":{"n":5,"merged":2,"closedUnmerged":0,"open":3,"mergeRate":null,"openShare":0.6,"evidence":{"merged":[1557,1534],"closedUnmerged":[],"open":[1563,1542,1528]}},"year":{"n":68,"merged":31,"closedUnmerged":22,"open":15,"mergeRate":0.5849056603773585,"openShare":0.22058823529411764,"evidence":{"merged":[1559,1557,1535,1534,1523,1511,1496,1494,1478,1477,1476,1474,1473,1462,1461,1447,1441,1440,1439,1436],"closedUnmerged":[1525,1513,1506,1503,1499,1498,1493,1492,1491,1482,1469,1468,1467,1466,1464,1460,1455,1448,1446,1444],"open":[1563,1542,1528,1512,1489,1486,1484,1483,1480,1463,1458,1452,1437,1312,1291]}}},"pullFirstResponse":{"n":7,"answered":7,"waiting":0,"medianHours":44.06388888888889,"p75Hours":68.53527777777778,"within48h":0.5714285714285714,"within7d":0.8571428571428571,"curve":[{"hours":0.29555555555555557,"waiting":0.8571428571428572},{"hours":1.7947222222222223,"waiting":0.7142857142857144},{"hours":4.882777777777778,"waiting":0.5714285714285715},{"hours":44.06388888888889,"waiting":0.4285714285714286},{"hours":54.82111111111111,"waiting":0.28571428571428575},{"hours":68.53527777777778,"waiting":0.14285714285714288},{"hours":1010.0913888888889,"waiting":0}],"evidence":{"answered":[1563,1559,1557,1542,1535,1534,1528],"waiting":[]}},"timeToMerge":{"n":7,"merged":4,"medianHours":54.823055555555555,"evidence":[1559,1557,1535,1534]},"issueFirstResponse":{"n":21,"answered":14,"waiting":7,"medianHours":243.36166666666668,"p75Hours":null,"within48h":0.4285714285714285,"within7d":0.4285714285714285,"curve":[{"hours":0.08722222222222223,"waiting":0.9523809523809523},{"hours":0.6130555555555556,"waiting":0.9047619047619047},{"hours":6.066944444444444,"waiting":0.8571428571428571},{"hours":7.5525,"waiting":0.8095238095238094},{"hours":8.969722222222222,"waiting":0.7619047619047618},{"hours":12.067222222222222,"waiting":0.7142857142857142},{"hours":12.63,"waiting":0.6666666666666666},{"hours":22.37527777777778,"waiting":0.6190476190476191},{"hours":33.022777777777776,"waiting":0.5714285714285715},{"hours":243.2436111111111,"waiting":0.5238095238095238},{"hours":243.36166666666668,"waiting":0.4761904761904762},{"hours":291.9638888888889,"waiting":0.4285714285714286},{"hours":596.0202777777778,"waiting":0.380952380952381},{"hours":1011.4966666666667,"waiting":0.33333333333333337}],"evidence":{"answered":[1568,1567,1566,1562,1561,1554,1551,1546,1538,1537,1532,1530,1527,1526],"waiting":[1565,1564,1553,1541,1539,1544,1529]}},"starter":{"counts":{"available":0,"claimed":0,"in-progress":3,"stale":1},"helpWantedAvailable":0,"issues":[{"n":1361,"title":"\"Run sketch on display\" fails to place window on secondary display on macOS when the sketch window would have to cross the task bar","state":"stale","label":"help-wanted","createdAt":"2025-12-17T18:32:09Z","updatedAt":"2026-02-09T19:33:45Z"},{"n":1290,"title":"Create examples for the `svg` library","state":"in-progress","label":"beginner","createdAt":"2025-10-16T07:38:06Z","updatedAt":"2026-02-07T21:00:11Z"},{"n":1243,"title":"Open/Save File browser panels blank on XFCE Linux","state":"stale","label":"help-wanted","createdAt":"2025-09-15T13:12:39Z","updatedAt":"2025-11-22T22:14:23Z"},{"n":1194,"title":"migrate custom `jssc` dependency to maintainable source used in `serial` library","state":"stale","label":"help-wanted","createdAt":"2025-07-30T10:30:42Z","updatedAt":"2025-07-30T10:36:33Z"},{"n":1186,"title":"Black splash screen in Wayland - Snap package","state":"in-progress","label":"help-wanted","createdAt":"2025-07-15T16:07:37Z","updatedAt":"2025-10-03T18:09:12Z"},{"n":1142,"title":"Resolution of window scales poorly leading to bad render","state":"stale","label":"help-wanted","createdAt":"2025-06-11T15:02:04Z","updatedAt":"2025-10-25T21:10:50Z"},{"n":1137,"title":"Issues with FFmpeg (and Movie Maker) - need chmod and the binary is the wrong CPU type","state":"stale","label":"help-wanted","createdAt":"2025-06-07T13:43:54Z","updatedAt":"2026-02-09T20:14:28Z"},{"n":1131,"title":"Regression in 4.4.3: get() and set() are reading and writing from/to the wrong coordinates.","state":"in-progress","label":"beginner","createdAt":"2025-06-01T22:20:14Z","updatedAt":"2025-09-12T23:06:12Z"},{"n":1128,"title":"comment/uncomment Keybinding on Macos Sonoma French is missing!","state":"stale","label":"beginner","createdAt":"2025-05-29T15:25:15Z","updatedAt":"2026-02-28T20:11:28Z"},{"n":1124,"title":"Processing installed using snap fails on Chromebooks","state":"stale","label":"help-wanted","createdAt":"2025-05-27T15:28:42Z","updatedAt":"2026-02-09T20:30:46Z"},{"n":1117,"title":"Opening a new sketch doesn't replace the default empty window","state":"in-progress","label":"help-wanted","createdAt":"2025-05-22T13:54:14Z","updatedAt":"2026-04-04T05:16:24Z"},{"n":1100,"title":"Attaching Source Jars in IntelliJ IDEA does not work","state":"stale","label":"help-wanted","createdAt":"2025-05-15T15:14:02Z","updatedAt":"2026-02-05T09:38:35Z"},{"n":1063,"title":"Some `shader()` examples behave unexpectedly at higher pixel densities","state":"claimed","label":"help-wanted","createdAt":"2025-04-25T12:32:57Z","updatedAt":"2026-01-21T19:06:52Z"},{"n":1041,"title":"Improvements and Next Steps for the Processing Language Server (LSP)","state":"stale","label":"help-wanted","createdAt":"2025-04-16T13:10:06Z","updatedAt":"2026-02-05T19:19:48Z"},{"n":1003,"title":"Resizable Window has rendering Bug","state":"claimed","label":"help-wanted","createdAt":"2025-03-24T15:41:18Z","updatedAt":"2025-05-05T21:49:28Z"},{"n":984,"title":"nf/nfc do not seem to be threadsafe and throw NullPointerException","state":"stale","label":"help-wanted","createdAt":"2025-03-19T14:21:28Z","updatedAt":"2026-01-06T17:25:24Z"},{"n":947,"title":"loadImage ignores JPEG Orientation Metadata","state":"stale","label":"help-wanted","createdAt":"2025-02-14T18:32:08Z","updatedAt":"2025-02-15T09:43:37Z"},{"n":900,"title":"PShape setFill(indx, color) not working in Processing 4","state":"stale","label":"help-wanted","createdAt":"2025-01-06T01:32:56Z","updatedAt":"2025-04-11T19:23:08Z"},{"n":898,"title":"Request to generate initial code on project creation","state":"stale","label":"help-wanted","createdAt":"2024-12-26T08:31:37Z","updatedAt":"2025-05-26T09:46:01Z"},{"n":893,"title":"Double precision support for all fundamental geometry classes (PShape, PVector ...)","state":"stale","label":"help-wanted","createdAt":"2024-12-20T16:03:58Z","updatedAt":"2025-01-27T09:02:41Z"},{"n":891,"title":"Unexpected Y-axis translation when using `ortho()` and `resetMatrix()`","state":"in-progress","label":"help-wanted","createdAt":"2024-12-17T20:59:11Z","updatedAt":"2025-05-18T06:55:00Z"},{"n":882,"title":"Implement image comparison for visual tests","state":"stale","label":"help-wanted","createdAt":"2024-12-13T10:51:52Z","updatedAt":"2025-04-24T09:13:33Z"},{"n":881,"title":"Move core away from OpenGL (JOGL) Dependencies","state":"in-progress","label":"help-wanted","createdAt":"2024-12-13T10:51:44Z","updatedAt":"2025-02-03T12:38:59Z"},{"n":880,"title":"Write Unit Tests for `processing:core`","state":"stale","label":"help-wanted","createdAt":"2024-12-13T10:51:33Z","updatedAt":"2025-05-19T10:50:33Z"},{"n":879,"title":"Pull Processing into Java 21","state":"in-progress","label":"help-wanted","createdAt":"2024-12-13T09:31:58Z","updatedAt":"2026-02-09T20:30:28Z"},{"n":866,"title":"Prefill Libraries for classroom usage not working in macOS","state":"stale","label":"help-wanted","createdAt":"2024-12-02T14:38:42Z","updatedAt":"2024-12-12T21:11:09Z"},{"n":857,"title":"Window size on Linux Fedora 41 - Dell XPS 13 is minuscule -> not adapting ot display","state":"claimed","label":"help-wanted","createdAt":"2024-11-15T15:41:15Z","updatedAt":"2026-04-02T18:59:45Z"},{"n":823,"title":"having noSmooth(); in setup will trigger a duplicate settings() warning","state":"stale","label":"help-wanted","createdAt":"2024-02-18T21:35:08Z","updatedAt":"2026-02-09T20:31:50Z"},{"n":807,"title":"Unable to interact with the GPIO of Raspberry Pi 5","state":"stale","label":"help-wanted","createdAt":"2023-11-30T07:50:02Z","updatedAt":"2025-05-21T03:19:12Z"},{"n":788,"title":"P2D, P3D shift .svg place","state":"stale","label":"help-wanted","createdAt":"2023-09-26T16:27:28Z","updatedAt":"2023-10-08T18:40:10Z"},{"n":777,"title":"P2D and P3D renderers don't set `WM_CLASS` for Linux","state":"stale","label":"help-wanted","createdAt":"2023-08-29T07:18:49Z","updatedAt":"2024-11-28T03:17:39Z"},{"n":775,"title":"export with java not embeded on windows does not launch program","state":"stale","label":"help-wanted","createdAt":"2023-08-26T01:36:19Z","updatedAt":"2023-09-15T13:57:30Z"},{"n":742,"title":"Processing IDE lock-up with Find","state":"stale","label":"help-wanted","createdAt":"2023-07-09T12:41:41Z","updatedAt":"2025-05-20T22:02:44Z"},{"n":737,"title":"PGraphics saves fully transparent instead of red (P2D)","state":"stale","label":"help-wanted","createdAt":"2023-06-30T09:37:17Z","updatedAt":"2023-07-16T16:56:52Z"},{"n":695,"title":"noStroke makes PShape.setTexture crash (P2D)","state":"stale","label":"help-wanted","createdAt":"2023-03-27T00:33:05Z","updatedAt":"2023-12-16T06:54:15Z"},{"n":694,"title":"Detect max `smooth()` setting to avoid OpenGL errors","state":"stale","label":"help-wanted","createdAt":"2023-03-26T03:34:14Z","updatedAt":"2025-11-18T22:19:12Z"},{"n":693,"title":"pixelDensity(2) with SVG creates incorrect viewport in the file","state":"in-progress","label":"beginner","createdAt":"2023-03-24T08:36:38Z","updatedAt":"2025-05-12T12:12:49Z"},{"n":691,"title":"Inconsistencies with `pixelDensity()` across P2D and FX2D renderers in MacOS","state":"stale","label":"help-wanted","createdAt":"2023-03-21T21:12:59Z","updatedAt":"2025-08-16T15:39:45Z"},{"n":681,"title":"Copying PGraphics to PImage using .get() or .copy() clears PGraphics object, if the renderer is P2D","state":"stale","label":"help-wanted","createdAt":"2023-03-02T23:33:35Z","updatedAt":"2023-06-05T15:37:41Z"},{"n":677,"title":"PShape.setFill() no longer works","state":"stale","label":"help-wanted","createdAt":"2023-02-23T19:07:41Z","updatedAt":"2025-01-06T01:40:03Z"},{"n":675,"title":"Issue when using a transparent stroke with vertex()","state":"stale","label":"help-wanted","createdAt":"2023-02-20T18:06:55Z","updatedAt":"2023-02-20T21:13:48Z"},{"n":657,"title":"Resize cursor not showing in P2D & P3D","state":"stale","label":"help-wanted","createdAt":"2023-01-27T14:25:54Z","updatedAt":"2023-07-17T17:47:17Z"},{"n":632,"title":"CTRL+V not posting 22 in P2D/P3D as it does in the default renderer","state":"stale","label":"help-wanted","createdAt":"2023-01-06T18:48:15Z","updatedAt":"2023-01-10T13:29:56Z"},{"n":621,"title":"rotate a texture in PShape bug not but work not","state":"stale","label":"help-wanted","createdAt":"2022-12-09T14:19:32Z","updatedAt":"2023-01-16T16:57:04Z"},{"n":587,"title":"OpenGL PShape stroke problem when updating vertices","state":"stale","label":"help-wanted","createdAt":"2022-11-01T19:08:39Z","updatedAt":"2022-11-04T19:54:23Z"},{"n":572,"title":"Support for #include in PShader  (Enhancement)","state":"stale","label":"help-wanted","createdAt":"2022-10-07T14:01:21Z","updatedAt":"2025-03-11T18:41:34Z"},{"n":527,"title":"Using right-click 'Jump to declaration' menu item causes Processing to lock-up in some sketches.","state":"stale","label":"help-wanted","createdAt":"2022-08-04T10:14:05Z","updatedAt":"2025-01-24T14:19:35Z"},{"n":519,"title":"`warnMixModes` temporarily disabled","state":"stale","label":"help-wanted","createdAt":"2022-07-30T23:38:12Z","updatedAt":"2025-01-24T14:18:52Z"},{"n":518,"title":"loadShape() problems with SVGs that have . starting a number in a path","state":"stale","label":"help-wanted","createdAt":"2022-07-30T23:23:37Z","updatedAt":"2023-03-08T20:35:33Z"},{"n":486,"title":"Debugger not breaking on 4.0b8 on MacOS Monterey – Depends on file name.","state":"stale","label":"help-wanted","createdAt":"2022-05-15T05:37:37Z","updatedAt":"2025-01-22T21:55:43Z"},{"n":484,"title":"open sketches in the current window, if no code has been written yet","state":"stale","label":"help-wanted","createdAt":"2022-05-08T16:30:00Z","updatedAt":"2025-01-10T19:24:41Z"},{"n":438,"title":"Processing won't start a second time when a system proxy server is set on Linux","state":"stale","label":"help-wanted","createdAt":"2022-03-07T11:29:33Z","updatedAt":"2022-08-12T07:25:14Z"},{"n":428,"title":"Add support for Java 14 switch expressions","state":"claimed","label":"help-wanted","createdAt":"2022-03-01T07:42:30Z","updatedAt":"2025-05-15T11:37:04Z"},{"n":425,"title":"Text mis-aligned when scaling and using `textSize()` with `P2D`","state":"stale","label":"help-wanted","createdAt":"2022-02-27T09:02:37Z","updatedAt":"2023-07-16T18:03:52Z"},{"n":397,"title":"Request: add a createShader( String [] vertSrc, String [] fragSrc ) function like p5.js has","state":"stale","label":"help-wanted","createdAt":"2022-02-08T22:16:19Z","updatedAt":"2025-03-11T18:39:02Z"},{"n":642,"title":"Initial Pause When Not Clearing in P2D and P3D Renderers","state":"stale","label":"help-wanted","createdAt":"2022-02-02T22:50:47Z","updatedAt":"2023-01-18T14:37:47Z"},{"n":349,"title":"Need better method than reflection for setting application name on Linux","state":"stale","label":"help-wanted","createdAt":"2022-01-16T21:28:57Z","updatedAt":"2022-01-16T21:29:35Z"},{"n":322,"title":"Cannot type quotes with an international keyboard on MacOS","state":"stale","label":"help-wanted","createdAt":"2021-12-20T22:11:58Z","updatedAt":"2022-07-25T22:55:51Z"},{"n":284,"title":"Figure out why appbundler breaks OpenGL when built on Catalina and later","state":"stale","label":"help-wanted","createdAt":"2021-10-04T20:22:30Z","updatedAt":"2026-02-09T20:29:42Z"},{"n":252,"title":"Detect `InvocationTargetException` when initializing global variables outside setup","state":"stale","label":"help-wanted","createdAt":"2021-08-18T01:35:14Z","updatedAt":"2021-10-03T16:00:04Z"},{"n":644,"title":"implement support for proxy authentication","state":"stale","label":"help-wanted","createdAt":"2017-08-01T06:22:33Z","updatedAt":"2023-01-19T16:50:08Z"}]},"responseWindow":{"hours":[0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,2,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,3,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,2,2,1,3,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,2,0,0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0],"people":4,"replies":41},"activeMaintainers":4},"series":[{"week":"2025-10-12","opened":3,"merged":2,"answered7d":3,"activity":38},{"week":"2025-10-19","opened":1,"merged":1,"answered7d":1,"activity":13},{"week":"2025-10-26","opened":0,"merged":0,"answered7d":0,"activity":7},{"week":"2025-11-02","opened":3,"merged":2,"answered7d":0,"activity":23},{"week":"2025-11-09","opened":0,"merged":0,"answered7d":0,"activity":6},{"week":"2025-11-16","opened":1,"merged":1,"answered7d":0,"activity":9},{"week":"2025-11-23","opened":0,"merged":0,"answered7d":0,"activity":19},{"week":"2025-11-30","opened":1,"merged":1,"answered7d":0,"activity":8},{"week":"2025-12-07","opened":0,"merged":0,"answered7d":0,"activity":11},{"week":"2025-12-14","opened":0,"merged":0,"answered7d":0,"activity":6},{"week":"2025-12-21","opened":0,"merged":0,"answered7d":0,"activity":2},{"week":"2025-12-28","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2026-01-04","opened":1,"merged":1,"answered7d":1,"activity":5},{"week":"2026-01-11","opened":0,"merged":0,"answered7d":0,"activity":18},{"week":"2026-01-18","opened":0,"merged":0,"answered7d":0,"activity":2},{"week":"2026-01-25","opened":0,"merged":0,"answered7d":0,"activity":27},{"week":"2026-02-01","opened":4,"merged":3,"answered7d":3,"activity":49},{"week":"2026-02-08","opened":1,"merged":0,"answered7d":0,"activity":13},{"week":"2026-02-15","opened":6,"merged":4,"answered7d":5,"activity":20},{"week":"2026-02-22","opened":3,"merged":1,"answered7d":2,"activity":8},{"week":"2026-03-01","opened":14,"merged":4,"answered7d":7,"activity":24},{"week":"2026-03-08","opened":3,"merged":3,"answered7d":3,"activity":9},{"week":"2026-03-15","opened":5,"merged":0,"answered7d":3,"activity":9},{"week":"2026-03-22","opened":1,"merged":0,"answered7d":0,"activity":3},{"week":"2026-03-29","opened":4,"merged":1,"answered7d":0,"activity":7},{"week":"2026-04-05","opened":3,"merged":1,"answered7d":1,"activity":10},{"week":"2026-04-12","opened":1,"merged":0,"answered7d":0,"activity":6},{"week":"2026-04-19","opened":1,"merged":0,"answered7d":0,"activity":3},{"week":"2026-04-26","opened":3,"merged":1,"answered7d":0,"activity":11},{"week":"2026-05-03","opened":0,"merged":0,"answered7d":0,"activity":4},{"week":"2026-05-10","opened":0,"merged":0,"answered7d":0,"activity":2},{"week":"2026-05-17","opened":0,"merged":0,"answered7d":0,"activity":5},{"week":"2026-05-24","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2026-05-31","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2026-06-07","opened":2,"merged":1,"answered7d":1,"activity":2},{"week":"2026-06-14","opened":1,"merged":0,"answered7d":1,"activity":2},{"week":"2026-06-21","opened":0,"merged":0,"answered7d":0,"activity":6},{"week":"2026-06-28","opened":2,"merged":2,"answered7d":2,"activity":24},{"week":"2026-07-05","opened":1,"merged":0,"answered7d":1,"activity":9},{"week":"2026-07-12","opened":0,"merged":0,"answered7d":0,"activity":3},{"week":"2026-07-19","opened":0,"merged":0,"answered7d":0,"activity":3},{"week":"2026-07-26","opened":1,"merged":1,"answered7d":1,"activity":5},{"week":"2026-08-02","opened":2,"merged":1,"answered7d":1,"activity":8},{"week":"2026-08-09","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2026-08-16","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2026-08-23","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2026-08-30","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2026-09-06","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2026-09-13","opened":2,"merged":2,"answered7d":2,"activity":5},{"week":"2026-09-20","opened":0,"merged":0,"answered7d":0,"activity":5},{"week":"2026-09-27","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2026-10-04","opened":1,"merged":0,"answered7d":0,"activity":1}],"trend":{"flag":"unknown","recentMedianHours":null,"previousMedianHours":null,"recentN":3,"previousN":0,"openedThisWeek":1,"openedLastWeek":0},"programs":[{"program":"gsoc","slug":"processing-foundation","name":"Processing Foundation","years":[2025,2026]}]}