To report or not to report (issues)?

I've started building the jm3 backend for a program that happens to use multiple engines.



Of course JME3 is still in development so I have this dilemma: it is ok to report issues while JME3 is still in alpha? I ask this because i found a problem with BIHTree but, much like the final atomics, it is a tiny one (if mesh has no buffer an NPE is thrown, it's just a missing precondition check).



I think that, being in early stage, it is absolutely normal for the code to have this kind of small problems and reporting them makes me feel pedantic.



So, I ask. It is ok to report this kind of issues now? Or it is better to wait until all the features of jme3 are in place and the "details time" comes?

Well, the issue tracker is exactly for that purpose. Just add it there as a reminder. Even if we know about the problem we might simply forget about putting in the fix, so keeping a list is definitely not a bad thing :slight_smile:

Cheers,

Normen

Well, I am aware of the existance of a "new issue" button in the googlecode page of jme3… now  :D.

http://www.jmonkeyengine.com/wiki/doku.php/report_bugs :slight_smile:

If there’s a particular piece of code you really delved into, it’d be really cool if you could have a go at a code review. No one has tried it yet, but I think it’d be very helpful to see a real example of the whole process some time. Might get the wheels rolling.

Sure you can report issues, please keep in close contact, so that we can ask you about them though :wink:

About the mesh not having buffer, I am not sure if thats allowed though?

I found this problem while working with meshes in Line mode. I have an outline and this outline has no index buffer, just coordinates. It is displayed correctly. When this outline is displayed i can pick elements. To get the geometry associated with a pick I'm simply traversing the root node, testing each geometry element against a ray, like:



geom.collidesWith(ray, results);



and this results in a NPE if the geometry is the outline, because the index buffer is null.



The NPE is throw in BIHTree. The code says that BIHTree fais if a couple of preconditions don't hold. Two are cheched:



maxTrisPerNode >= 1

mesh != null



and two are not:



mesh.getBuffer(Type.Position) != null

mesh.getBuffer(Type.Index) != null



Does it make sense to even try to build a BIHTree if the mesh is "empty"? Well, I have no idea, but that's because I know bih trees as well as quantum mechanics.

Yeah you're right. It should disable generation/picking against lines or meshes without valid data.