User:Hrishabh/GSoC20/proposal

From BRL-CAD

OpenSCAD GUI & Text Editor’s Interactivity Enhancements

  • May 4 - June 1 (Community Bonding Period)

- Interact with the community and explore the code-base of OpenSCAD to get a better understanding. - Get comfortable with the Qt-Framework, by making small mockups and reading the documentation. - Explore the documentation of Scintilla & QScintilla, to get a better understanding.

  • June 1 - June 7 (Week-1)

- Create the list of all shortcuts. - Try to bring some uniformity in the declaration style of shortcuts.

  • June 8 - June 14 (Week-2)

- Modify the Shortcut Configurator Class, from the current implementation in my active PR. - Enhance the config file-based approach for Shortcut Configuration. - Implement the GUI for the shortcut configurator

  • June 15 - June 21 (Week-3)

- Make GUI functional (Proper update of any shortcuts in the OpenSCAD application as well as the config-file of shortcuts)

  • June 22 - June 28 (Week-4)

- Connect the GUI with the existing Preferences GUI - Extensive Testing of both the Shortcut Configuration through config-file based approach and GUI approach.

June 29 - July 3 (Phase-1 Evaluation) - Take the feedback from the community and mentors regarding the GUI Experience. - Implement changes based on suggestions. - Re-take the feedback and response procedure, and act accordingly.

  • July 4 - July 12 (Week-6)

- Go through the current implementation of Changing Number/Values via keys. - Extend the existing approach to handle the Mouse/Wheel Events for changing values.

  • July 13 - July 19 (Week-7)

- Write code for handling various cases like scaling and navigation through the number.

  • July 20 - July 26 (Week-8)

- Take into account the user experience, and enhance it by adding markers around the number/values, when the value is being changed.

  • July 27 - July 31(Phase-2 Evaluation)

- Take the feedback from the community and mentors regarding the GUI Experience, as it will be very much important for this feature. - Implement changes based on suggestions. - Re-take the feedback and response procedure, and act accordingly.

  • Aug 1 - Aug 9 (Week-10)

- Understand how error reporting is being done to the console currently. - Find an effective approach to catch all types of errors and warnings from the parser. - Use MouseEvents and appropriate public methods to make Error/ Warning messages clickable, and handle the signal emission. - Write down the code for proper slots, to handle the Jump to Line in Scintilla Based Editor

  • Aug 10 - Aug 16 (Week-11)

- Extensive Testing for the jump to error line inside the editor. - Create a GUI for Error/Warnings Log.

  • Aug 17 - Aug 23 (Week-12)

- Make GUI Functional - Add more features to GUI like filters based on Error Types. - Extend Jump to Error/Warning Line in the Editor feature to this widget.

  • Aug 24 - Aug 31 (Week-13)[Final Evaluation]

- Buffer Week, for any new changes or work.

  • Aug 31 - Sep 7 (Week-14)[Mentors Submit Final Evaluation]

- Continuous discussion with the mentors for any unforeseen changes.