uvapl / terra

2 stars 0 forks source link

IDE: first integration #20

Closed kkoomen closed 5 months ago

kkoomen commented 5 months ago

This pull request implement a completely new IDE integration, see image below.

image

Furthermore, below are the main features described that this PR implements.

Table of Contents

Menubar

Virtual filesystem (vfs)

A custom virtual filesytem (internally referred to as vfs) has been added that contains solely the file and folder data used in the IDE. Files and folders will always be synced immediately to the vfs whenever added, modified or deleted. Each change to the filesystem will immediately be saved to local storage.

File object structure

Each file object contains the following structure:

Folder object structure

Each folder object contains the following structure:

💡 Both createdAt and updatedAt aren't used in any way throughout the application, but is always a must-have for filesystems. If we ever have need for these, then we already have the data. Otherwise, migration code would have to be implemented, which is cumbersome.

File tree

Updated worker logic

Miscellaneous