Develop a custom Python-based view cube (like a navigation cube for FreeCAD). This cube shall have chamfered edges where the users can select a particular view. The cube should also be rotatable to see different sides.
Osdag currently uses the view cube provided by PythonOCC for navigating the 3D CAD view. However, this implementation has been causing heap corruption and application crashes, particularly on Linux systems.
This project aims to develop a fully Python-based custom view cube using PySide6 to replace the existing implementation. The cube should provide interactive navigation for the CAD view, allowing users to switch between standard and angled views through clickable faces, edges, and corners, and support smooth rotation.
The goal is to create a stable and reliable view cube that integrates with the Osdag CAD window, replicating the current functionality while eliminating the crashes caused by the existing PythonOCC-based cube.