Giter Site home page Giter Site logo

3de's Introduction

fleshing out and idea for a multi dimensional IDE

yarn start to get running

image

3de's People

Contributors

ctanner-move avatar kraftman avatar mattgrothmove avatar

Watchers

 avatar

Forkers

iodine-

3de's Issues

fix edges

edges arent working between nodes since moving to file tree, need to update logic to use full filepath

implement layers

add a layer selector that shows active layers, lets yo switch between them.
should they be visible through each other?

filter visible handles and offset

when creating handles in getHandles, need to account for scrolling in monaco editor, and offset the handles by the scroll amount, hide handles that are outside the node viewport

add code splitting/folding

allow selecting a chunk of code, and dragging that selection out of the IDE into a new node. changes to the node should reflect in the original, and the original should be folded, with a handle pointing to the new node

clean up flow.js

extract common code into hooks
enable creating new node inside a group
enable detaching from group

improve file management

when loading a folder, load ALL of the files contents (for full text search)

  • allow displaying images
  • on text change, on save, update the original file (check if it has newer changes)

resize nodes to fit text

resize the node between min height and max height, then make it scroll.
resize the node between min width and max width, then make it wrap (wrap or format with prettier?)
allow manual resizing.

onTextChange: get the height and width of the text, update the node style.height an width

cleanup flow.js

move all the logic out to either utils, custom hooks, or context

Create project layers

sidebar panel with a square that represents the project, lets you set a colour, switch between projects, etc

split saving and updating after onTextchange

we want to debounce saving/linting so that it doesnt run as often, but we still want to update the node for every keystroke. need to split them so that only saving/linting and the other backend calls are debounced. (or move the debounce out of editor node and into the update text logic)

support partials

support select part of the text to have it extracted to a sub node

split saving and updating after onTextchange

we want to debounce saving/linting so that it doesnt run as often, but we still want to update the node for every keystroke. need to split them so that only saving/linting and the other backend calls are debounced. (or move the debounce out of editor node and into the update text logic)

Add full text search

Add a search bar, that when searching, checks every file for the text, takes a snippet from a few lines before and after, and adds it to a node.
list the nodes and make them scrollable

Create groups when adding a new file to the canvas

when adding a file to the canvas:

  • if its group already exists, move the canvas to the group, and add the new node to the group

  • if not, add the node to the canvas.

  • if nested, create all of the groups recursively

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.