Update README and DESIGN

This commit is contained in:
Lucien Greathouse
2017-12-20 23:00:48 -08:00
parent e731811911
commit 958b6660be
2 changed files with 20 additions and 3 deletions

View File

@@ -1,5 +1,5 @@
# Rojo Design
This is a super rough draft that I'm trying to use to lay out of my thoughts.
# Rojo Design - Protocol Version 1
This is a super rough draft that I'm trying to use to lay out some of my thoughts.
## API
@@ -16,5 +16,20 @@ I imagine that the `Name` attribute of the top-level `RbxItem` would be ignored
## CLI
### Transform Plugins
Transform plugins (or filter plugins?) can interject in three places:
* Transform a `VfsItem` that's being read into an `RbxItem`
* Transform an `Rbxitem` that's being written into a `VfsItem`
* Transform a file change into paths that need to be updated
## Roblox Studio Plugin
The plan is to have several built-in plugins that can be rearranged/configured in project settings:
* Base plugin
* Transforms all unhandled files to/from StringValue objects
* Script plugin
* Transforms `*.lua` files to their appropriate file types
* JSON/rbxmx/rbxlx model plugin
* External binary plugin
* User passes a binary name (like `moonc`) that modifies file contents
## Roblox Studio Plugin
With the protocol version 1 change, the Roblox Studio plugin got a lot simpler. Notably, the plugin doesn't need to be aware of anything about the filesystem's semantics, which is super handy.

View File

@@ -13,6 +13,8 @@ It's designed for power users who want to use the **best tools available** for b
This is the main Rojo repository, containing the binary server component. For the source for the Roblox plugin, [see the rojo-plugin repository](https://github.com/LPGhatguy/rojo-plugin).
The master branches of both respositories should always pass all tests and be functional, but are not suitable for production use!
## Features
Rojo has a number of desirable features *right now*: