3de's People
Forkers
iodine-3de's Issues
support rendering components in iframes
- Investigate how storybook renders components
- If a tsx/jsx file is detected, add an option to render it alongside the code node
Add close button for nodes
Drag export to empty space to create new node
New node should have the import for the dragged-from node
BUG: editting layers wipes out layers
repro:
create a few layers with nodes
edit an existing layer name/color.
name/color changes but other layers and nodes vanish
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)
show relationships between nodes
some kind of visual representation of the link between nodes
add share completion (intelisense) between editors
Create project layers
sidebar panel with a square that represents the project, lets you set a colour, switch between projects, etc
support inline code folding in monaco
look at using https://marketplace.visualstudio.com/items?itemName=moalamri.inline-fold to fold types
cleanup flow.js
move all the logic out to either utils, custom hooks, or context
fix edges
edges arent working between nodes since moving to file tree, need to update logic to use full filepath
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)
drag function from node to new node, existing node
store node location/size/content to backend, and restore
On save/close, write all of the nodes to the backend
on open, load the previous nodes
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
sort file manager by folder, files
ctrl + t functionality: if file is already in workspace, pan to it
switch to the layer its on, and pan to it
dynamically resize groups with node movement
on node drag end, if the node is inside or intersecting with its group, update the group to be big enough to still contain it (and any parent groups)
implement layers
add a layer selector that shows active layers, lets yo switch between them.
should they be visible through each other?
load project from filesystem
allowing selecting a folder to load a project from
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)
get eslint working
create project settings node
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
add settings to editor node
to change the filename, etc
remove edges when a node is removed
allow dragging the entire canvas
ideally also zooming in and out
Dragging export from one node to another should add import
Removing link should remove import
clean up flow.js
extract common code into hooks
enable creating new node inside a group
enable detaching from group
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
support partials
support select part of the text to have it extracted to a sub node
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
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
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.