Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Request: contributor docs #1099

Open
clockelliptic opened this issue Jan 25, 2024 · 1 comment
Open

Request: contributor docs #1099

clockelliptic opened this issue Jan 25, 2024 · 1 comment

Comments

@clockelliptic
Copy link

Hi there 👋

Prospective open source contributor here.

I'd love to learn more about how to contribute.

I work with web-based data visualization tooling for lidar, camera, and radar sensor data, and would love to know how to contribute in the future if there's ever a chance to bring some of my work into the open source educational space.

I'm hoping to find out more about how to build components or community plugins that can interface with CODAP's state management.

Some ideal examples might show:

  • how to load a 3D point cloud (it could be as simple as a spreadsheet of XYZ coordinates) into CODAP's state via the UI, where the associated state management code lives inside of the codebase, and then how to hook into the particular state context reactively inside of a new component
  • how to build a simple plugin or component that can load a set of 3D coords into CODAP's reactive state
  • what to consider if I intend to load a full lidar point cloud (1M points in 3D) into app state
  • how to load image data into CODAP in a similar fashion

Other helpful/alternative lines of inquiry to these ends might:

  • show the ideal entry point for building adapters for bridging external atomic state management libraries (like JotaiJS and NanostoresJS) with CODAP's MobX internals

Any help or insight is appreciated, thanks so much!

@bfinzer
Copy link
Contributor

bfinzer commented Jan 27, 2024

Hello,

I'm delighted that you're interested in contributing to the CODAP open source project. The most straightforward and immediately useful project in line with your interests would be to build a 3D visualization plugin. Though CODAP graphs can by highly "multi-dimensional," there is no support 3D point clouds.

Since you have considerable expertise in displaying point clouds in a web application, creating a CODAP plugin, which exists as an iFrame inside a CODAP document, would be a good starting point. You may have already explored the Plugin API. Using this API, a plugin can learn what datasets are present in the document and what attributes they contain. A simple UI for the plugin would allow the user to choose a dataset and three attributes for the point cloud. Drag and drop is also possible but a bit more complicated to bring about.

The codap-data-interactives github repository contains a lot of examples of plugins. The Collect Measures plugin is one I worked on recently. You could clone the codap-plugin-starter-project to get off to a fast start.

  • We're in the midst of re-implementing CODAP from scratch using more modern tools than the > 10-year-old stack on which CODAP Version 2 is built. Version 3 is coming along nicely with a React, mobx, mst, pixijs stack. Release date is not certain yet, but not before Summer, 2024.
  • Version 2 can handle 10K cases quite well, but gets sluggish after that. Version 3 is doing fine with up to 100K cases. We don't plan on pushing that much further.
  • I'm not sure what you have in mind for image data. Perhaps a description of a use case would help.

I hope this helps!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants