Open3D-Projekt

Diese Seite enthält die Details zu einem Projekt für technische Angelegenheiten, das für die Google-Saison der Dokumente angenommen wurde.

Projektzusammenfassung

Open-Source-Organisation:
Open3D
Technischer Redakteur:
Rohan Rathi
Projektname:
Technische Dokumentation zu Python und C++ API
Projektdauer:
Standardlänge (3 Monate)

Projektbeschreibung

Zusammenfassung:

Das Projekt wird in vier Teile unterteilt: Leitfaden für Open3D-Mitwirkende aktualisieren und erweitern Vollständige Python API-Dokumentation Vollständige C++ API-Dokumentation Allgemeine Dokumentation der Kerndatenstrukturen

Beschreibung:

Ich plane, mein Projekt in vier Teile zu unterteilen:

Ich habe vor, den Contributor-Leitfaden für Neueinsteiger auszufüllen und zu aktualisieren. Er enthält eine umfassende Schritt-für-Schritt-Anleitung zum Erstellen des Quellcodes und der Dokumentation sowie zum Beitritt zur Entwickler-Community. Zusätzlich zu einer schriftlichen Anleitung möchte ich ein Video erstellen, in dem die genauen Schritte zum Erstellen des Quellcodes für den YouTube-Kanal gezeigt werden. Außerdem werde ich eine Anleitung hinzufügen, wie neue Entwickler zur Dokumentation beitragen können, indem sie Änderungen am Quellcode vornehmen, der von Sphinx mit Pybind und Doxygen erstellt wurde.

Die Python API-Dokumentation erweitern Derzeit enthält die Python API grundlegende Docstrings für die Klassen und Mitgliedsfunktionen, die eine vage Beschreibung der Funktionen bieten. Ich plane, die Python API-Dokumentation umzuformulieren, damit die API leichter verständlich und die Funktionen klarer werden. Außerdem möchte ich Links zu den relevanten 3D-Grafikkonzepten hinzufügen, die in verschiedenen Bereichen verwendet werden (z. B. die in der Kamera verwendete intrinsische Matrix).

Schließen Sie die C++ API-Dokumentation ab. Die C++-Dokumentation enthält derzeit keine vergleichbaren docstrings wie die Python-Dokumentation. Ich beabsichtige, die Klassen und ihre zugehörigen Mitgliedsfunktionen und Datenmitglieder ausführlich zu dokumentieren .

Übersichtliche und Low-Level-Dokumentation der zentralen Datenstrukturen Ich möchte den Code verschiedener Datenstrukturen wie TriangleMesh, LineSet und Octree verstehen und Kommentare in die Codebasis einfügen, sowohl für neue Entwickler als auch für alle Nutzer. Außerdem werden wir die Anleitungen verbessern, um eine allgemeine Dokumentation zur Verwendung und zu den Konzepten der Strukturen bereitzustellen. Ich werde ausführliche Beispiele für die Verwendung angeben und relevante Links zu den Konzepten hinzufügen, die mit den Strukturen verbunden sind. Wenn es die Zeit erlaubt, werde ich an den einfacheren Aufgaben arbeiten, z. B. an der Dokumentation der Ausführung bestimmter Aufgaben, die neuen Nutzenden helfen können, eine Verbindung mit der Software herzustellen.

Projektzeitplan:

1. August–1. September:

Ich möchte mich mit meinem Mentor vertraut machen und genauer über die Dokumentationsebene sprechen, die für verschiedene Teile der Codebasis erforderlich ist. Außerdem möchte ich wissen, wie detailliert die Dokumentation auf niedriger und höherer Ebene sein sollte. Außerdem werde ich mir die Codebasis ansehen und die Konzepte studieren, damit ich sie besser dokumentieren kann.

Woche 1 und 2:

Ich werde den Leitfaden für Mitwirkende aktualisieren und erweitern. Ich werde die Dokumentation zum Erstellen des Quellcodes verbessern. Außerdem füge ich einen Abschnitt für Dokumentare hinzu, in dem erklärt wird, wie neue Mitwirkende bei der Dokumentation helfen können. Außerdem werde ich ein YouTube-Video erstellen, in dem ich Schritt für Schritt erkläre, wie der Quellcode erstellt wird.

Woche 3–5:

Ich werde daran arbeiten, die Python API zu erweitern. Formulieren Sie die vorhandene Dokumentation um und beschreiben Sie die vorhandenen Mitglieder ausführlich. Außerdem werde ich relevante Links zu verwandten Konzepten hinzufügen, damit die Nutzenden sich besser mit den Konzepten vertraut machen können.

Woche 6 bis 8:

Die aktuellen C++-Dokumente sind für den größten Teil der Bibliothek unvollständig. Daher werde ich die meiste Zeit damit verbringen, die C++-Dokumente zu ergänzen.

Woche 9–11:

In dieser Zeit arbeite ich an den Kerndatenstrukturen. Strukturieren Sie die Anleitungen für jede Datenstruktur neu, geben Sie einen allgemeinen Überblick und dokumentieren Sie Details zur Verwendung.

Letzte Woche:

In der letzten Woche werde ich meinen Abschlussbericht über die Arbeit vorbereiten, die ich in den 12 Wochen der Dokumentation geleistet habe. Ich werde diese Zeit auch damit verbringen, die Dokumentation zu überprüfen und fertigzustellen.