processing / processing/processing4
Since v4.4.3 - XYscope has odd sizing bug and small examples alphabetical order issue
まだ誰も着手していません。
- 主要言語
- Java
- スター
- 494
- フォーク
- 183
- 平均マージ
- 4時間 39分
- マージ済み PR(30日)
- 3
説明
Most appropriate sub-area of Processing 4?
Core/Environment/Rendering
Processing version
4.4.3
Operating system
MacOS 13.6.5
Bug description
An issue was brought up on the XYscope repo about the size of shapes changing and going off screen.. did some version checking and discovered a bug was introduced in v4.4.3 of Processing. Prior to 4.4.2, my examples for 1_getting_started > calibration (or basic_drawing or clock) all worked fine, keeping the graphics within the 512x512 window. Since 4.4.3, the shapes seem to be 4x bigger... the sizing magnitude change is especially noticeable with the basic_drawing example where the mouseX/Y no longer match.. Odd that about half the sketches aren't affected.. so I'm guessing it's semi related to pushMatrix()/popMatrix() or translate()... really not sure.. Tried looking into the changelog, but perhaps someone working close on the project has an idea from the commit log what it might have been? The issue has lingered up until the latest 4.4.6 release.
v4.4.2, calibration example
v4.4.3, calibration example (scale issue)
On a small side note, another small issue that was introduced in 4.4.2, was the alphabetical order listing of the Contributed Libraries within the examples window. Previously XYscope was usually at the very bottom of this list, but now it looks like some other bits from the folder aren't being filtered? - aha, it's placing all lowercase libs at the bottom after any Titlecase ones...
v4.4.1, examples window
v4.4.2, examples window (alphabetical issue)
Steps to reproduce this
-
Install
XYscopelibrary -
compare example
calibrationusing v4.4.2 (or lower) and v4.4.3
snippet
/*
calibration
circle + square + lines to help center/adjust oscilloscpe display
cc teddavis.org 2023
*/
import ddf.minim.*; // minim req to gen audio
import xyscope.*; // import XYscope
XYscope xy; // create XYscope instance
void setup() {
size(512, 512);
xy = new XYscope(this); // define XYscope instance
//xy.getMixerInfo(); // lists all audio devices
}
void draw() {
background(0);
xy.clearWaves(); // clear waves similar to background
pushMatrix();
translate(width/2, height/2);
pushMatrix();
rotate(radians(180));
xy.circle(0, 0, width);
popMatrix();
xy.rectMode(CENTER);
xy.rect(0, 0, width);
xy.line(-width/2, 0, width/2, 0);
xy.line(0, height/2, 0, -height/2);
popMatrix();
xy.buildWaves(); // build audio from shapes
xy.drawAll(); // draw all analytics
}
Additional context
No response
Would you like to work on the issue?
No, I’m just reporting the issue
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
まず、Processing 4.4.2 と 4.4.3 で XYscope calibration、basic_drawing、clock の各例を再現し、その後、リンクされたコミット範囲における Core/Environment/Rendering の変更を調査します。サイズ設定のリグレッションと Contributed Libraries の順序に関するリグレッションに別々の原因があるか確認します。例が期待される寸法を維持し、ライブラリ一覧が一貫してアルファベット順になっていれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- java
- 領域
- computer-graphics, desktop
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 32/100