LibreCAD plans on participating in GSoC 2012 (if accepted). This page will bring together ideas from developers to give Google and perspective students lists of contacts and potential projects.
What is an Ideas list?
An Ideas list should be a list of suggested student projects. This list is meant to introduce contributors to your project's needs and to provide inspiration to would-be student applicants. It is useful to classify each idea as specifically as possible, e.g. "must know Python" or "easier project; good for a student with more limited experience with C++." If your organization plans to provide an application template, it would be good to include it on your Ideas list. Keep in mind that your Ideas list should be a starting point for student applications; we've heard from past mentoring organization participants that some of their best student projects are those that greatly expanded on a proposed idea or were blue-sky proposals not mentioned on the Ideas list at all. A link to a bug tracker for your open source organization is NOT an ideas list.
Other interesting/useful links:
LibreCAD Idea List Template
from http://community.kde.org/GSoC/2011/Ideas CC-BY-SA-3.0
Title of Project
When adding an idea to this section, please try to include the following data:
- a brief explanation
- the expected results
- pre-requisites for working on your project
- if applicable, links to more information or discussions
- your name and email address for contact (if you're willing to be a mentor)
- backup mentor name and email address for contact
If you are not a developer but have a good idea for a proposal, get in contact with relevant developers first.
See the potential projects below. I would be a good idea to contact potential mentors prior to applying to help in your application. It also would be helpful to subscribe to our mailing list and visit our IRC channel. Info is at www.librecad.org under "Get Help." Also explore our feature request tracker on SourceForge (http://sourceforge.net/tracker/?group_id=342582).
Potential projects (to be categorized later):
Brief explanation: Provide a script based command line interface for CAD.
Expected results: LibreCAD provides a unified command line interface for actions, and can be run in both an interactive cli mode and a non-interactive batch processing mode.
Knowledge Prerequisite: C++, Python
Mentor: Ries, dli
CAD Engine Features
Brief explanation: LibreCAD needs more features for its CAD engine.
Some examples could be:
A new spline library to support features like, spline fitting, trimming, hatching, etc.;
Support for more CAD entity types and more drawing methods for entity types;
Improve support for projection mode, in addition to isometric projection within LibreCAD. Need to handle 3D distance properly in all projection modes;
Support for geo-referenced data: support for georeferenced image;
Support for Voronoi Diagram. While Voronoi diagram itself is an interesting feature to support, the requested Offset feature can be implemented by Voronoi analysis.
improve hatch algorithm hatching by flood fill. The current hatch creation requires user to supply a closed contour. An automatic contour detection algorithm which supports all possible entity types is desired.
Expected results: More CAD feature supported by LibreCAD. Significant addition of CAD feature is expected on the chosen part of the LibreCAD CAD engine.
Knowledge Prerequisite: computational geometry, C++
Mentor: awallin, dli
General GUI improvement
Brief explanation: Some detailed ideas have been proposed here: ideas on GUI improvement.
Support user defined keyboard shortcuts.
Use the Qt graphic view frame work to improve painter speed for displaying of drawing.
Expected results: Improved GUI for better user experience.
Knowledge Prerequisite: Qt, C++
Mentor: Ries, dli