GSoC Ideas

sueastside edited this page Feb 3, 2017 · 13 revisions

New to GSoC? Read our Getting Started Also the GSoC Help Still not clear? Come talk to us on IRC! #peragro on freenode.

Ideas are split per sub-module of Peragro.

If the intended end result is nice and shiny, it's probably a project candidate ;). So feel free to submit your own ideas, or discuss them some of the administrators/mentors if you want some more guidance. At this point no specific project has been assigned to any specific mentor, so if you cannot find "the" mentor for your questions, try to talk to botanic or sueastside and they will help you out.

If you have suggestions for other improvements or features, feel free to discuss it with us on IRC (freenode # peragro)

Peragro-AT

The module responsible for analyzing art resources into File Descriptions into the Metadata Store and trans-coding assets from one format to another.

####Audio feature extraction

  • Summary: Beat and global key detection and audio fingerprinting
  • Technical Details: You will write Analyzers to calculate beats per minute, the global key and an audio fingerprint for a given audio file. The idea is to be able to provide song detection (like shazam) and detect similair(mixable) songs based on beat and key.
  • Specification: Extend the analyzer engine to support audio feature extraction.
  • Difficulty: Medium
  • Required Skills: Python, (Maybe some C for bindings)
  • Mentor: Botanic, sueastside

Peragro-DIFF

The module responsible for taking analyzed art assets and calculating merges and dif's for them.

####Image diff

  • Summary: Add support for diff's of image files
  • Technical Details: You add support for visual diffs of image files, you will need to use a lossless tree to determine when a diff is possible. For example a uncompressed BMP file can have a diff where a PNG file is much harder and a PSD is impossible (as some layer data etc may be lost)
  • Specification: When a diff is possible you will take the image format and process it via Peragro-AT, from there you will calculate the diff. Take a look at http://huddle.github.io/Resemble.js/ and Github's image diff tools for inspiration.
  • Difficulty: Medium
  • Required Skills: Python, command line scripting
  • Mentor: Botanic, sueastside

####3D mesh diff

  • Summary: Add support for visual diff's of 3D meshes
  • Technical Details: You add support to visualize changes between versions of a 3D mesh.
  • Specification: You will transcode different versions of a mesh to a common or internal format to then calculate a BSP for both meshes to determine the spacial differences between the two. Take a look at https://github.com/blog/1633-3d-file-diffs for inspiration.
  • Difficulty: Hard
  • Required Skills: Python, 3D, blender, command line scripting
  • Mentor: Botanic, sueastside

Django-Project

The module responsible for project management; creation/editing of tasks;...

####Annotations

  • Summary: Add support for Asset annotations
  • Technical Details: Annotations are simple user drawn graphics on a rendered asset preview to highlight a point of interest, that is then serialized and stored with a user's comment.
  • Specification: User drawn strokes are saved as a vector graphic serialized to JSON, with an assetID+transcoder options for the displayed asset preview, so the drawing can be recreated by any client with the least amount of data transfer or storage. The annotations is stored with a OneToOne-relationship to the comment.
  • Difficulty: Medium
  • Required Skills: Javascript, HTML/CSS, JSON, REST, Python
  • Mentor: Botanic, sueastside

####Gantt chart

  • Summary: A Gantt chart for project's tasks
  • Technical Details: You will implement a Gantt chart in the Peragro UI using html and React. You'll edit or create REST apis for updating the task's dates and project scheduling.
  • Specification: TBD
  • Difficulty: Difficult
  • Required Skills: Javascript, HTML/CSS, JSON, REST, Python
  • Mentor: Botanic, sueastside
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.