The links base Vibes-ftq

Issues base of tool Vibes [vbs] from Team Sigwal
2 types of issue:
  • AF=evolution 📝
  • VR=anomaly 🐛
Submitted (x4)
Analysed (x2)
Started (x1)
Closed (x4)
Reference
Last date
File name
Description
State
Reference
Last date
07/11/2025
File name
Description
Blue points in figure « Points » in all_commands.cpp are not visible
vibes::drawPoints(x,y,vibesParams("FaceColor","blue","EdgeColor","darkBlue","Draggable",true));
Uninitialized "Radius" issue❔
State
🔴Submitted



Reference
Last date
23/10/2025
File name
Description
« axislabels » initialisation issue
cf "Megatest with boxes union" before and after axisdims modification:
BeforeAfter
State
🔴Submitted



Reference
Last date
04/05/2025
File name
Description
Transparent color issue
Is there a link with Github issue Transparency #102
State
🔴Submitted



Reference
Last date
01/05/2025
File name
Description
Group Color issue in TreeView under gwin64
State
🔴Submitted



Reference
Last date
23/10/2025
File name
vibesgraphicsitem.cpp
Description
The configuration "LineWidth", 0.1 is not working.
When the configuration "LineWidth", "0.1" is OK.
The configuration with a double parameter seems better.

vibesgraphicsitem.hpp to me modified on xx/xx/2025
  • VibesDefaults.parsePenWidth() to be deleted
  • interface of VibesDefaults.pen() to be modified
vibesgraphicsitem.cpp to be modified on xx/xx/2025
  • VibesGraphicsGroup::parseJsonGraphics() to be corrected
  • Use of VibesDefaults.pen() to be corrected
State
🟠Analysed



Reference
Last date
04/05/2025
File name
figure2d.h
figure2d.cpp
Description
Figure resize when AxisEqual is activated
Adaptation of Figure2D::resizeEvent() is to be done.

Linked issue: VBS_VR_000004vibeswindow.cpp
vibes.h
vibes.cpp
State
🟠Analysed



Reference
Last date
28/12/2025
File name
vibes.cpp
vibes.h
vibeswindow.cpp
all_commands.cpp
Description
New function in C++ API to configure the dimension to display on x and y-axis
Use of new parameter "axisdims" (similarity with parameter "axislabels").

Added vibes::axisDims() method on Oct 23.
Added processing of parameter "axisdims" in VibesWindow::processMessage() on Oct 23.
Verified in examples/all_commands.cpp
BeforeAfter
Commit on Oct 23 ba4d111, pull request #148

New commit on Nov 22 2025 640034d
  • axisdims: first x-axis modification may fails if requested dimension is in use in y-axis, second modification in this case

New use-case on Nov 22 2025
#include "vibes.h"

int axisdims_vib_xpl(){

vibes::beginDrawing(); // <Initializes the Vibes "connection"
vibes::newFigure("axisdims_vib"); // <Creates a new Vibes figure;

int fs=16;
double length=8*((double)fs);

double rot=0, cx=length, cy=length;
vibes::drawText(cx, cy, "Bag Gwer", "[green]darkGreen",
shaqParams("fontSize", fs, "fontName", "Arial"));
cx=-length; cy= length; rot = 90;
vibes::drawMotorBoat(cx, cy, rot, length, "darkYellow[yellow]");
cx=-length; cy=-length; rot = 180;
vibes::drawAUV(cx, cy, rot, length, "darkBlue[blue]");
cx= length; cy=-length; rot = 270.0;
vibes::drawTank(cx, cy, rot, length, "darkRed[red]");

std::vector< std::vector<double> > polyg;
const int dn = 3; // point dimension
std::vector<double> point(dn);

point[0]= length; point[1]= length; point[2]= length; polyg.push_back(point);
point[0]=-length; point[1]= length; point[2]= length; polyg.push_back(point);
point[0]=-length; point[1]=-length; point[2]= length; polyg.push_back(point);
point[0]= length; point[1]=-length; point[2]=-length; polyg.push_back(point);
point[0]= length; point[1]= length; point[2]=-length; polyg.push_back(point);
point[0]=-length; point[1]= length; point[2]=-length; polyg.push_back(point);
vibes::drawLine(polyg, "lightGray");

vibes::axisAuto();
vibes::axisEqual("axisdims_vib");
vibes::saveImage("./axisdims_vib.svg");

std::vector<int> dims;
dims.push_back(0); dims.push_back(2); dims.push_back(1);
vibes::axisDims(dims);
vibes::axisAuto();
vibes::axisEqual("axisdims_vib");
vibes::saveImage("./axisdims_vib_0-2-1.svg");

dims[0]=1; dims[1]=0; dims[2]=2;
vibes::axisDims(dims);
/*vibes::axisAuto();
vibes::axisEqual("axisdims_vib");*/

vibes::saveImage("./axisdims_vib_1-0-2.svg");

dims[0]=1; dims[1]=2; dims[2]=0;
vibes::axisDims(dims);
/*vibes::axisAuto();
vibes::axisEqual("axisdims_vib");*/

vibes::saveImage("./axisdims_vib_1-2-0.svg");

dims[0]=2; dims[1]=0; dims[2]=1;
vibes::axisDims(dims);
/*vibes::axisAuto();
vibes::axisEqual("axisdims_vib");*/

vibes::saveImage("./axisdims_vib_2-0-1.svg");

dims[0]=2; dims[1]=1; dims[2]=0;
vibes::axisDims(dims);
/*vibes::axisAuto();
vibes::axisEqual("axisdims_vib");*/

vibes::saveImage("./axisdims_vib_2-1-0.svg");

// Back to initial graph
dims[0]=0; dims[1]=1; dims[2]=2;
vibes::axisDims(dims);
/*vibes::axisAuto();
vibes::axisEqual("axisdims_vib");*/

vibes::saveImage("./axisdims_vib_0-1-2.svg");


vibes::endDrawing(); // <Closes the Vibes "connection"

return 0;
}

axisdims_vib.svg

axisdims_vib_0-2-1.svg

axisdims_vib_1-0-2.svg
red tank is lacking
part of yellow boat is lacking
no symmetry of text or vehicule with axis commutation❔

axisdims_vib_1-2-0.svg

axisdims_vib_2-0-1.svg

axisdims_vib_2-1-0.svg

axisdims_vib_0-1-2.svg
part of yellow boat is lacking
New commit on Dec 28 25 to process axis on/off only 010b7c8
To do new PR dedicated to axisdims modification
State
🟢Started



Reference
Last date
05/01/2026
File name
vibes.cpp
vibes.h
all_commands.cpp
Description
New function in C++ API to hide/show axis.
Use of existing "showAxis" figure poperty.

Added vibes::axisOff() and vibes::axisOn() methods on Oct 23.
Verified in examples/all_commands.cpp
BeforeAfter
Commit on Oct 23 ba4d111, pull request #148

Taken into account godardma comment on Nov 07
  • axisOff()/axisOn() are replaced by showAxis() method in accordance with Python API
  • showAxis is written as boolean cf example.py
    vibes.showAxis(False)
    {"action": "set", "properties": {"showAxis": false}, "figure": "test2"}
  • Added Value type bool
  • Added case vt_bool in Value::toJSONString()
Checked on Nov 07
  • all_commands.cpp
    VIBES_TEST( vibes::showAxis(false) ); //[#148]
  • .vibes.json
    {"action":"set", "figure":"drawText", "properties":{"showAxis":true}}
New commit on Dec 28 25 to process axis on/off only 010b7c8
PR#148 closed on Jan 05, 26
State
🟤Closed



Reference
Last date
07/07/2025
File name
vibeswindow.cpp
vibes.h
vibes.cpp
Description
Axis equal issue
  • With Vibes
  • Compared to reference

Corrected VibesWindow::processMessage() on May 03 2025


Solved on June 08 25 commit-927f2be

Added use-case on June 26
#include "vibes.h"

int drawpolygon_vib_xpl(){

vibes::beginDrawing(); // <Initializes the Vibes "connection"
vibes::newFigure("drawpolygon_vib"); // <Creates a new Vibes figure

vibes::newGroup("Du Gwer", /*"black[green]"*/"k[g]");
vibes::newGroup("Goz Treuz", "black[transparent]");
vibes::newGroup("Du Melen", /*"black[yellow]"*/"#000000[#FFFF00]");
vibes::newGroup("Du Glaz", "black[blue]");
vibes::newGroup("Du Ruz", "black[red]");

double e=1, xd=7*e, xd_2=xd/2, yd_2=e/*, yd=2.0*yd_2*/;

std::vector<double> x0, y0;
x0.push_back( xd_2); y0.push_back( 0);
x0.push_back( xd_2-yd_2); y0.push_back( yd_2);
x0.push_back(-(xd_2-yd_2)); y0.push_back( yd_2);
x0.push_back(- xd_2); y0.push_back( 0);
x0.push_back(-(xd_2-yd_2)); y0.push_back(-yd_2);
x0.push_back( xd_2-yd_2); y0.push_back(-yd_2);
x0.push_back( xd_2); y0.push_back( 0);
vibes::drawPolygon(x0, y0, vibes::Params("group","Du Gwer"));

std::vector<double> x1, y1;
x1.push_back( xd_2); y1.push_back( 0);
x1.push_back( xd_2+yd_2); y1.push_back( yd_2);
x1.push_back( xd_2+yd_2); y1.push_back( yd_2+(xd-2*e));
x1.push_back( xd_2); y1.push_back( yd_2+(xd-e));
x1.push_back( xd_2-yd_2); y1.push_back( yd_2+(xd-2*e));
x1.push_back( xd_2-yd_2); y1.push_back( yd_2);
x1.push_back( xd_2); y1.push_back( 0);
vibes::drawPolygon(x1, y1, vibes::Params("group","Goz Treuz"));

std::vector<double> x2, y2;
x2.push_back( xd_2); y2.push_back( 0 +yd_2+(xd-e));
x2.push_back( xd_2-yd_2); y2.push_back( yd_2+yd_2+(xd-e));
x2.push_back(-(xd_2-yd_2)); y2.push_back( yd_2+yd_2+(xd-e));
x2.push_back(- xd_2); y2.push_back( 0 +yd_2+(xd-e));
x2.push_back(-(xd_2-yd_2)); y2.push_back(-yd_2+yd_2+(xd-e));
x2.push_back( xd_2-yd_2); y2.push_back(-yd_2+yd_2+(xd-e));
x2.push_back( xd_2); y2.push_back( 0 +yd_2+(xd-e));
vibes::drawPolygon(x2, y2, vibes::Params("group","Du Melen"));

std::vector<double> x3, y3;
x3.push_back( xd_2 -xd); y3.push_back( 0);
x3.push_back( xd_2+yd_2-xd); y3.push_back( yd_2);
x3.push_back( xd_2+yd_2-xd); y3.push_back( yd_2+(xd-2*e));
x3.push_back( xd_2 -xd); y3.push_back( yd_2+(xd-e));
x3.push_back( xd_2-yd_2-xd); y3.push_back( yd_2+(xd-2*e));
x3.push_back( xd_2-yd_2-xd); y3.push_back( yd_2);
x3.push_back( xd_2 -xd); y3.push_back( 0);
vibes::drawPolygon(x3, y3, vibes::Params("group","Du Glaz"));

std::vector<double> x4, y4;
x4.push_back( xd_2 -xd); y4.push_back( 0 -xd);
x4.push_back( xd_2+yd_2-xd); y4.push_back( yd_2 -xd);
x4.push_back( xd_2+yd_2-xd); y4.push_back( yd_2+(xd-2*e)-xd);
x4.push_back( xd_2 -xd); y4.push_back( yd_2+(xd-e)-xd);
x4.push_back( xd_2-yd_2-xd); y4.push_back( yd_2+(xd-2*e)-xd);
x4.push_back( xd_2-yd_2-xd); y4.push_back( yd_2 -xd);
x4.push_back( xd_2 -xd); y4.push_back( 0 -xd);
vibes::drawPolygon(x4, y4, vibes::Params("group","Goz Treuz"));

std::vector<double> x5, y5;
x5.push_back( xd_2); y5.push_back( 0 -yd_2-(xd-e));
x5.push_back( xd_2-yd_2); y5.push_back( yd_2-yd_2-(xd-e));
x5.push_back(-(xd_2-yd_2)); y5.push_back( yd_2-yd_2-(xd-e));
x5.push_back(- xd_2); y5.push_back( 0 -yd_2-(xd-e));
x5.push_back(-(xd_2-yd_2)); y5.push_back(-yd_2-yd_2-(xd-e));
x5.push_back( xd_2-yd_2); y5.push_back(-yd_2-yd_2-(xd-e));
x5.push_back( xd_2); y5.push_back( 0 -yd_2-(xd-e));
vibes::drawPolygon(x5, y5, vibes::Params("group","Du Ruz"));

std::vector<double> x6, y6;
x6.push_back( xd_2 ); y6.push_back( 0 -xd);
x6.push_back( xd_2+yd_2); y6.push_back( yd_2 -xd);
x6.push_back( xd_2+yd_2); y6.push_back( yd_2+(xd-2*e)-xd);
x6.push_back( xd_2 ); y6.push_back( yd_2+(xd-e)-xd);
x6.push_back( xd_2-yd_2); y6.push_back( yd_2+(xd-2*e)-xd);
x6.push_back( xd_2-yd_2); y6.push_back( yd_2 -xd);
x6.push_back( xd_2 ); y6.push_back( 0 -xd);
vibes::drawPolygon(x6, y6, vibes::Params("group","Du Glaz"));

/*vibes::axisAuto("drawpolygon_vib");*/
vibes::axisEqual("drawpolygon_vib");
vibes::axisLabels("[m]", "[m]", "drawpolygon_vib");
vibes::saveImage("./drawpolygon_vib.svg");

vibes::endDrawing(); // <Closes the Vibes "connection"

return 0;
}
Verification on June 26 25

Added Method AxisEqual() method to C++ API (vibes.h, vibes.cpp) on July 02 25 commit d06fea6
Pull request #144 merged by godardma on July 07 25

Link to specification VBS_RS_000002VibesWindow::processMessage() Axis Equal
State
🟤Closed



Reference
Last date
04/06/2025
File name
vibesgraphicsitem.cpp
vibesgraphicsitem.h
Description
If not specified by user, PropertyEditDialog fields are not initialized

Correction on May 01 25
  • Modified VibesGraphicsItem::parseJson() to initialize or correct json parameters EdgeColor/FaceColor/LineStyle/LineWidth of a VibesGraphicsGroup before being used in PropertyEditDialog
  • Added VibesDefaults::replaceColorName() to replace short color name

Test: newGroup("Du Gwer", /*"black[green]"*/"k[g]")
  • Edge color: black
  • Face color: green
  • No line style specified
  • No line width specified


Solved on May 02 25 commit e1af662 [Github]

Issue restarted on May 05 25

Predefined colors [Qt.io]


VibesDefaults::replaceColorName() is renamed VibesDefaults::toPredefinedColorName() according to specification VBS_RS_000001VibesDefaults::toPredefinedColorName() on May 08 25
Use-case from godardma is also respected VBS_BS_000001Uninitialized group parameter use-case [godardma] (no forced initialization of group parameter if not initialized)
New Commit 5d7ced5 [Github.com] on May 08 25
Pull request #142 merged and close by godardma on June 04 25
State
🟤Closed



Reference
Last date
04/06/2025
File name
propertyeditdialog.ui
Description
Height of PropertyEditDialog is too small under gwin64


Minor layout modification on May 01 25
  • Increased QDialog & QFormLayout height.
  • Deleted unused items in QLineEdit.


Solved on May 01 25 commit 3daed88 [Github]
Comment of godardma on May 5 25
  • «However I find that there is a bit too much blank space between the last input line (Line Width) and the buttons»
  • It seems that on linux the rendering is closer to the following (Qt Editor view):
Issue restarted on May 05 25, TODO: test the following layout on linux

Commit 0481f67 [Github.com] on May 05 25 to be tested on linux
On gwin64, the rendering is tight! (maybe a new issue to open)


Checked OK by godardma on May 06 25

Re-solved on May 08 25
Pull request #142 merged by godardma on June 04 25
State
🟤Closed