Giter Club home page Giter Club logo

bubblemap's Introduction

  • ๐Ÿ‘‹ Hi, Iโ€™m @SpiritSeal
  • ๐Ÿ‘€ Iโ€™m interested in {Collaborative Software Engineering, Applications of Generative AI, Automated Malware Analysis, Music Production}
  • ๐Ÿ’ป I play CTFs (cyber security competitions) as "spyre"

bubblemap's People

Contributors

epodol avatar spiritseal avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

yuxuestart

bubblemap's Issues

Fix Node Dragging Bug

When a node is dragged, the node may not be moved fast enough, resulting in the mouse leaving the node and the node being released.

To fix this, the listener for onMouseDown and onMouseUp should be moved to the entire Mind Map.

Screen Resize SVG canvas adaption

When resizing the window, particularly from a lower resolution to a greater one, the svg canvas remains the same size, causing visual rendering issues, such as nodes only being visible on half of the screen.

An optimal resolution to this problem that could also resolve the issue of a limited svg canvas space in general would be to utilize svg viewports and viewboxes to allow the svg simulation canvas to appear to become the full size of the available window space, but allowing d3 to continue to interact with the element as it already does.

Light Mode/Dark Mode

Tasks:

  • Add a Light/ Dark mode toggle switch to either the sidebar or the preferences menu (#70)
  • Create different MindMap themes for Light Mode and Dark Mode users.

Name El Proyecto

This is a major issue that could ultimately determine the success of our submission to the CAC. Mb get some ideas from people who beta test the MVP App prior to submission?

Display Generated AI Ideas

Create Ghost Nodes containing the AI generated Suggestions when the generate idea functionality is called.

Multiple nodes have root node formatting

Expected:

Only root node (of id 0) should have the formatting of the root node (i.e. color, undraggable, hover icon, etc).

Actual:

Multiple nodes have the formatting of the central "root node".

Photo:

image

May be related to #10

Select Node

Programatically and Visually "Select" a node so that it may have actions performed upon it, such as editing it's text, deletion, or new child node creation.

GPT-J AI text generation

Significantly lower cost (read: free) AI generation alternative to GPT-3 model currently being used. Not quite as high performance, but should work well for our use case. Also slightly faster iirc (for a generative model).

Root Node Draggable

See title. Node with id 0 (the root node) is still able to be technically dragged and moved around, moving the entire simulation. Can be resolved by adding additional logic to the svg onMouseDown function. Specifically, logic that only invokes setNodeSelected(nodeClicked); if nodeClicked.id!=0.

I'll try to implement this bugfix myself, but I'll let you know if it's a nontrivial patch.

Offcenter drag snaps to center

When grabbing a node away from it's center and dragging it, the cursor snaps to the middle of the node instead of dragging with the cursor remaining relative to the node position. This causes node drags to "snap" and feel "off" from a UX perspective.

Low Priority, but I thought we already fixed this near the beginning.
offcenterDrag

Home Page

We need a home page at some point in the future

Primary components:

  • User Auth
  • View (/ Manage) Your Mind Maps
  • Create new Mind Maps
  • Info about project

Review ESLint Disables before MVP close

Only resolve at the end of the MVP sprint

Double-check any remaining eslint-disable statements in code at the end of MVP deadline (i.e. after all other MVP features are completed) to see if there are any missed optimizations or necessary refactoring.

Review Node Design

From Multiple Sources:

"Your current node design very unintuitive"
"What's that thing on the top of the bubbles? Wait, you're telling me I was supposed to click that?!?!"
"Do you really need that much information on the screen at a time? That's just visual clutter."
"Ewwwwwwwww"

Refactor Canvas Zoom and Pan to use SVG Viewports and Viewboxes

Utilize svg viewports and viewboxes to allow the svg simulation canvas to appear to become the full size of the available window space, but allowing d3 to continue to interact with the element as it already does.

This will resolve several appearance-related issues that have already been documented, as well as generally make the way the DOM displays and interacts with our svg components more in line with industry standards for infinite canvas web apps.

Supersedes #19

Summarize Mode

Rather than displaying the entirety of the content a user types for a node as text on the node, have each node only display a few select keywords/ topics generated based on the input of the user.

This can be done fairly easily and computationally quickly through the basic NLP included with the compromise library.

Remove invisible bounding box

The hard restraints that the bounding boxes create on canvas panning and node placement severely harm UX. At the very least, it sometimes makes it difficult to manipulate the canvas in certain intended manners. Users moving too far away from the mind map and root node, the issue the bounding box is intended to solve, can instead be mitigated by having a "return home" button on screen that reverts the pan and zoom back to the project defaults (most likely a post-MVP feature).

For now, the bounding constraints on both canvas and node placement is a bug in the current build.

Mentioned in #13

Find/ Jump to Node Feature

See title. Some pop-up menu (similar to VS-code command palette menu) that allows you to easily search through your nodes and jump to them.

User Input Triggers

Different than #36

Create a mechanism for user input to become the text displayed within the node. This may (/ should be) be combined with #40.

Context-sensitive Idea Generation

Provide Chain of Ideas as context for Datamuse and OpenAI idea generation.

For datamuse, this could be done by adding a topics modifier to the query. See https://www.datamuse.com/api/

For OpenAI, this could be done by either adding related words to the query or adding the full tree chain instead.

Node Details Menu

(Side?) Menu that would show more in-depth details about a selected node when triggered.

Add Text to Nodes

Needs to:

  • Be flexibly sized (to a certain reasonable limit)
  • #66
  • Look Good

How we managed to forget that this was a critical feature is beyond me.

Datamuse Idea Gen

Generate Ideas using the static Datamuse API. Should provide extremely fast return time relative to generative AI models.

Background images for nodes

Will be linked to some sort of context-sensitive image generation tool, such as DALL-E, Google Images, etc.

AI Gen fails in Live Preview

image

Some CORS issues are preventing the Firebase Functions calls from working. Please look into this and see if you can find a way to fix it, when you get a chance.

Always-ready lazy load suggest ideas

Immediately after node creation, call both Datamuse and OpenAI Idea Gen Functions on the node.

When idea suggest is requested, utilize whatever is ready to display.

Pass Firebase Preview Channel Action Checks (i.e. comment out currently unused variable & function declarations)

This will prob just be updating main, commenting out variable and function declarations that are planned to be implemented in the near future, but are currently unused. This is in order to pass action checks such as ESLint's no-unused-vars and etc because the action currently treats all warnings (such as these) as errors for the sake of production builds.

These temporary modifications should be reverted as they are actually needed and implemented.

Canvas Reset Button

Button to reset canvas pan and zoom back to default, in the event a user gets lost.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.