SimArboreal

I’ve found this cool library on this forum, :yum: looks great and I want to use it, but haven’t found any examples how can I use it :pensive:
Help me please with a basic implementation of that library, I just need to figure out how that works

I think most people use the editor and then export the trees.

You can also use it in code… and maybe the editor is a good example for that, too.

Edit: I think the IsoSurfaceDemo also used SimArboreal trees but I don’t remember if it calls the library or imports some j3o files:

Edit2: in case you didn’t know there was an editor or where to find it:

3 Likes

I’ve spent the past day trying to get SimArboreal to build; none of com.simsilica.Pager, com.simsilica.SimFX, com.simsilica.SimArboreal or com.simsilica.SimArboreal-Editor, as checked out of GitHub, will build in jMonkeyPlatform 3.6.1-stable.

With some edits to build.gradle files I’ve got all of com.simsilica.Pager, com.simsilica.SimFX, com.simsilica.SimArboreal building with gradle 8.7 (the problems are mainly that gradle has changed the names of plugins between versions).

But I cannot (yet) get SimArboreal-Editor to build at all.

Is anyone else having more luck? If so, can you share your recipes? Is this still a project in active use? If I submit pull requests, will they be useful?

And in further news, I have got SimArboreal-Editor to build in Gradle, but on launch, after showing a standard jMonkeyEngine style launch dialogue, it fails with

Error in application:
Uncaught exception thrown in Thread[jME3 Main, 5, main]
RuntimeException: Error running org.codehaus.groovy.jsr223.GroovyCompiledScript@1668d7a1 from:resource/com/simsilica/lemur/style/StyleApi.groovy

So… progress, but nothing yet works.

I’m sure they are always useful. Paul is still very much an active member of the community. I’m sure any PRs are well received.

If you can provide the important parts of the exception then I might be able to diagnose further. (ie: the stack trace)

2 Likes

Will do - today, but not certain when.

1 Like

Stacktrace now posted here. Many thanks!

2 Likes

To run things that use reflection, I pass the --add-opens argument like in this application config from Mythruna’s build.gradle file:

application {
    applicationDefaultJvmArgs = [ "-ea", "-Xmx3g", "-Xms512m", "-XX:MaxDirectMemorySize=3g", "--add-opens", "java.base/java.io=ALL-UNNAMED" ]
}
1 Like

OK, I now have the whole thing building successfully, and have submitted pull requests to each of the four projects involved to bring them up to Gradle 8.7 compatibility.

Many thanks, @pspeed, for all the help!

4 Likes