openworm / org.geppetto

Geppetto is an open-source platform to build web-based applications to visualize and simulate neuroscience data and models.
http://geppetto.org
Other
209 stars 50 forks source link

Review Sprint 37 #296

Closed tarelli closed 9 years ago

tarelli commented 9 years ago

Jesus

Simulation.loadFromContent('<?xml version="1.0" encoding="UTF-8"?><tns:simulation xmlns:tns="http://www.openworm.org/simulationSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="../../main/resources/schema/simulationSchema.xsd"><tns:entity><tns:id>acnet2</tns:id><tns:aspect><tns:id>electrical</tns:id><tns:simulator><tns:simulatorId>neuroMLSimulator</tns:simulatorId></tns:simulator><tns:model><tns:modelInterpreterId>neuroMLModelInterpreter</tns:modelInterpreterId><tns:modelURL>https://raw.githubusercontent.com/OpenSourceBrain/ACnet2/master/neuroConstruct/generatedNeuroML2/MediumNet.net.nml</tns:modelURL></tns:model></tns:aspect></tns:entity></tns:simulation>')

The visualization tree for the cells is not there, neither are the connections, we should see many multicomparment cells instead. Also we should have VisualReferenceNode associated to the connections.

screen shot 2014-11-05 at 11 17 03

Matteo

tarelli commented 9 years ago

@jrmartin Started this

tarelli commented 9 years ago

@mlolson there might be something down your alley here

tarelli commented 9 years ago

@jrmartin @mlolson @adrianq distributed the items, check what's under your name :)

adrianq commented 9 years ago

@tarelli connections are created properly for thatioe medium net.... I guess what we were looking at live geppetto this morning wasn't the last version of development. It looks good to me. I just commit a fix because the name for the objectvisualreferencenode wan't populatd properly. Anyway, @jrmartin it would be good if you load the first simulation suggested by @tarelli and check everything is fine

mlolson commented 9 years ago

@tarelli

Wrong character for the close icon

Who's using non utf-8 characters? :expressionless:

jrmartin commented 9 years ago

@tarelli @mlolson I'll take care of the light up entity since I know why it's broken, part of the refactory of GEPPETTO.js class

jrmartin commented 9 years ago

@tarelli What do you mean for the 3rd item on my check list? The Visual Groups are there for 302 using the channel densities, not sure what more visual groups to create.

jrmartin commented 9 years ago

@tarelli Also, for the first issue, the connections are created they are inside the subentities (do "acnet2.pyramidals_48_35.getConnections()" and you'll see 24 of them). We are not seeing cells for the acnet2 in 3D since the server is not sending any info to render them, I put a break on serializer and only visual object being serialized are sphere nodes. No serialized cylinder is being sent to server for it, which is the stuff of cells. Also, the same sphere seems to be serialized for all but one subentitie that contains visual objects, which is why there's a lack of spheres in the visualization and only 2 when there should be around 50 different. I think the issue with this simulation is on how we are reading the neuroml file to populate the visualization tree in the server.

jrmartin commented 9 years ago

@tarelli Visual groups code and lightupentity fix is on development branch now, can be testted. I think Acnet model is fixed now, looks very similar to last time I saw in neuroconstruct

jrmartin commented 9 years ago

@mlolson I'll take of restoring the geppetto tests.

jrmartin commented 9 years ago

@tarelli Reason for visual references not highlighting for acnet is because visualobjectreference is not enough to find the 3d mesh. The object id being store is not the full path, currently is "0" when it should either "bask.0" or "pyr_4_sym.0" to match the path of the visual object in tree. This can be fixed when creating the connections, each connection in the nml has preCellId and postCellId, preCellId="../baskets_12/10/bask" postCellId="../pyramidals_48/0/pyr_4_sym", the cell name could be retrieved using those fields.

tarelli commented 9 years ago

@jrmartin you can fix here

mlolson commented 9 years ago

@jrmartin

I'll take of restoring the geppetto tests.

It looks like the problem is that the path in main-tests.js is wrong. I forgot to change it after I moved GEPPETTO.js.

jrmartin commented 9 years ago

@tarelli References in acnet are fixed, and so selection options

tarelli commented 9 years ago

@jrmartin great, thanks!

mlolson commented 9 years ago

Hey guys, the server keeps crashing, on dev and locally, when loading the C302 simulation. The root cause is a java heap space error (out of memory). Anyone seen this before?

@jrmartin @tarelli @adrianq

tarelli commented 9 years ago

@mlolson yes, in the past, what amount of memory is allocated to the jvm? -Xmx2048m ?

jrmartin commented 9 years ago

My local server jvm runs on -Xmx1024M, sometimes but very rarely I see it run out of memory. The solution for this will be to increase performance while creating thousands of backbone objects like it's happening for c302.

tarelli commented 9 years ago

If it's server side it's not about backbone objects no? This is calling for some profiling anyway. Btw note that the server serves multiple users, a scenario locally never happens so in general it's normal it will require more memory than a local environment.

jrmartin commented 9 years ago

@tarelli Yeah, makes sense, missed the part where the server was crashing and not the browser

adrianq commented 9 years ago

@tarelli just guessing but maybe it has to do with the new version of jlems

tarelli commented 9 years ago

@adrianq that could be possible although I'd be surprised if something radically changed there, only profiling will tell :)

mlolson commented 9 years ago

Only 1048mb of memory available on the dev instance... That's probably the issue

@tarelli https://github.com/tarelli Yeah, makes sense, missed the part where the server was crashing and not the browser

— Reply to this email directly or view it on GitHub https://github.com/openworm/org.geppetto/issues/296#issuecomment-62989877.

adrianq commented 9 years ago

This is a minor error but acnet2.pyramidals_48_16.electrical.select() doesn't have the same behaviour as when you click on an entity. I think the problem is due to the fact that GEPPETTO.SceneController.unSelectAll() is not executed when the command is typed in the console.

mlolson commented 9 years ago

@adrianq That function works for me

adrianq commented 9 years ago

@mlolson I am not saying that it doesn't work. If you click on one cell and then you click on another one the first cell is unselected. However is you select() (by a command in the console) one cell and the you select() (by a command in the console) another cell. The first cell keeps selected and therefore displayed in a different color.

mlolson commented 9 years ago

@jrmartin @adrianq Oh ok, sorry I was totally confused :)

Matteo noticed there are fewer qunit tests than before, does anyone know if some were intentionally removed? Just trying to make sure they are working as intended.

Also I noticed the "Global help() command test" is failing. I'm not sure what's going on there. Perhaps the number of help commands was changed and that test was not updated? (see attached)

screen shot 2014-11-14 at 10 04 09 am

jrmartin commented 9 years ago

@mlolson That's what happened, commands amount changed. The other tests are there, but not running due to a bug. I have a fix for these issues locally, but won't commit fix until later today when I'm done adding new tests.

tarelli commented 9 years ago

@mlolson let's wait until @jrmartin is done to do the release

jrmartin commented 9 years ago

@tarelli When will the next release after this be? I was also planning on spending sometime either tomorrow or sunday fixing the remaining issues in widgets, i'm wondering if they will make this release.

tarelli commented 9 years ago

@mlolson can we hold off until Jesus is done? Maybe we just do it on Monday?

tarelli commented 9 years ago

@jrmartin you might want to check also the menu actions that @adrianq has added to the TreeWidget to interact with both connections and visual group nodes that come handy when testing!

jrmartin commented 9 years ago

@tarelli Cool, will do that as well.

mlolson commented 9 years ago

We can hold off until Monday, no problem.

adrianq commented 9 years ago

@jrmartin As Matteo said, I have added an event for the connections (right click on a connection node in the treevisualiserdat widget). It will highlight() the connection in the scene. It works fine. However the second time you highlight() a connection I was trying to unselect the connection previously highlist (see here https://github.com/openworm/org.geppetto.frontend/blob/development/src/main/webapp/js/widgets/treevisualiser/treevisualiserdat/controllers/TreeVisualiserControllerDAT.js#L178) but I couldn't find a way to do it. Can you have a look at it and check if there is an easy way to do it please?

jrmartin commented 9 years ago

@adrianq I'll do a patch/fix commit for it, just tested and was able to reproduce.

jrmartin commented 9 years ago

@tarelli @adrianq Nevermind, ignore previous comment.

jrmartin commented 9 years ago

@adrianq I added a command called Simulation.unHighlightAll() which unhighlights visual object references, it's called before highlighting a connection from the context menu. This new command is different than unSelectAll() as it doesn't unselect entities, just unhighlights them. The highlight() action shown on a ConnectionNode context menu is highlighting the the visual references, not showing the connections. Showing the connections is done by selecting entities, which is shown for context menu of entitynode and aspectnode.