nrnb / GoogleSummerOfCode

Main documentation site for NRNB GSoC project ideas and resources
114 stars 38 forks source link

Scalable vector graphics as an export option for Cytoscape.js #61

Closed ugurdogrusoz closed 4 years ago

ugurdogrusoz commented 7 years ago

Background

Cytoscape.js is a web based library written in pure JavaScript for visualization of relational / network information. Among many other uses, it is a popular choice for visualizing and editing biological networks.

Goal

The goal is to provide persistency of Cytoscape.js networks in SVG (scalable vector graphics).

Description

For mostly performance reasons, current implementation uses raster graphics on the canvas. However, some applications require a vector graphics export of the current graph's rendering. The goal of this project is to write an extension to be able to do this.

Difficulty level: 2

This project requires good programming skills. Knowledge of SVG is a plus.

Potential mentors

Max Franz, Ugur Dogrusoz

sandeepm96 commented 7 years ago

Hello. I am an undergrad from Bhubaneswar, India interested to contribute to this project. I have experience in web development in Node.js. I am familiar with HTML, CSS and JavaScript. I am a novice in SVG and I will be proficient in it over time. Hence I require more of your invaluable insights on this project and how to get started. Thank you.

maxkfranz commented 5 years ago

@ugurdogrusoz Should we consider this (and re-open) for GSOC 2019? As far as I know, there is still no proper SVG export extension.

ugurdogrusoz commented 5 years ago

@maxkfranz We are pretty happy with the implementation in Newt for this but if I recall correctly, you said our solution was more of a workaround. If you're willing to mentor it (since I am not technically suited to do it), I could try to recruit somebody from here.

soccerdroid commented 5 years ago

Hello, I am an undergraduate CS student from Ecuador. I am interested in this project. Where can I see/check the current implementation?

maxkfranz commented 5 years ago

I think Ugur is referring to a hack involving translating canvas function calls into svg. That's very fragile, and it's not what we're looking for in this project.

This project would involve reading the style for each element and generating svg from that.

ugurdogrusoz commented 5 years ago

Yes the implementation in Newt (https://github.com/iVis-at-Bilkent/newt) is not a long term solution I meant.