Differences between revisions 3 and 4
Revision 3 as of 2008-07-04 18:41:49
Size: 1689
Editor: csik
Comment: fix link
Revision 4 as of 2008-07-04 19:01:14
Size: 1917
Editor: csik
Comment: some notes
Deletions are marked like this. Additions are marked like this.
Line 38: Line 38:
 * good description of visual mapping framework: ["Visual_Mapping_System_Guide"]
 * eclipse's "Open Call Hierarchy" is pretty neat
Line 39: Line 41:
 * good description of visual mapping framework: ["Visual_Mapping_System_Guide"]  It is only called from render.stateful GraphRenderer.renderGraph() which is basically the inner loop
 Basically these are the places where large refactorings will be done.

This page collects my notes about the crazy "pluggable renderers" idea I posted to the cytoscape-staff mailling list.

The current plan is to produce a proof-of-concept prototype by the cytoscape retreat in Toronto. (which means in one week)

Immediate TODO

  • read viewmodel api, structure proposals (["Cytoscape_3.0/ViewModelDiscussions"] and cyto-staff)
  • re-read vizmapper architecture

Implementation plan

  • only do nodes at first
  • don't care about benchmarking, at first
  • don't care about OSGi framework, at first

Do in following order:

  1. refactor GraphGraphics and GraphRenderer to call separate NodeRenderers for rendering. No vizmap changes yet, and only original renderers/ nodeshapes kept

  2. refactor vizmapper to be able to use pluggable 'mappable visual attributes'. (Try to simplify vizmapper API at this step, creating and applying custom visual style are apparently not simple enough; see ["Visual Style Simplification"])
  3. Lift some noderenderers from other code (ideally the following: pie nodes, custom bitmap and custom vector graphic image)
  4. use OSGi for pluggability (this will be about simply figuring out OSGi and how to use it for renderers-as-service)
  5. do some benchmarks to show that all this didn't make rendering slow as molasses.

Things to figure out

  • place in model / viewmodel / view division (I'll have to study the current plan for the viewmodel api)

Notes about current rendering architecture

  • good description of visual mapping framework: ["Visual_Mapping_System_Guide"]
  • eclipse's "Open Call Hierarchy" is pretty neat
  • render.immed is only GraphGraphics, which is only a collection of methods It is only called from render.stateful GraphRenderer.renderGraph() which is basically the inner loop Basically these are the places where large refactorings will be done.

DanielAbel/PluggableRenderers (last edited 2009-02-12 01:04:08 by localhost)

Funding for Cytoscape is provided by a federal grant from the U.S. National Institute of General Medical Sciences (NIGMS) of the Na tional Institutes of Health (NIH) under award number GM070743-01. Corporate funding is provided through a contract from Unilever PLC.

MoinMoin Appliance - Powered by TurnKey Linux