design.gv 953 B

123456789101112131415161718192021222324252627282930
  1. digraph Rojo {
  2. concentrate = true;
  3. node [fontname = "sans-serif"];
  4. plugin [label="Roblox Studio Plugin"]
  5. session [label="Session"]
  6. rbx_tree [label="Instance Tree"]
  7. imfs [label="In-Memory Filesystem"]
  8. fs_impl [label="Filesystem Implementation\n(stubbed in tests)"]
  9. fs [label="Real Filesystem"]
  10. snapshot_subsystem [label="Snapshot Subsystem\n(reconciler)"]
  11. snapshot_generator [label="Snapshot Generator"]
  12. user_middleware [label="User Middleware\n(MoonScript, etc.)"]
  13. builtin_middleware [label="Built-in Middleware\n(.lua, .rbxm, etc.)"]
  14. api [label="Web API"]
  15. file_watcher [label="File Watcher"]
  16. session -> imfs
  17. session -> rbx_tree
  18. session -> snapshot_subsystem
  19. session -> snapshot_generator
  20. session -> file_watcher [dir="both"]
  21. file_watcher -> imfs
  22. snapshot_generator -> user_middleware
  23. snapshot_generator -> builtin_middleware
  24. plugin -> api [style="dotted"; dir="both"; minlen=2]
  25. api -> session
  26. imfs -> fs_impl
  27. fs_impl -> fs
  28. }