fled - flow editor
a code editor with plenty of space
Quest For The Window / Initial Boot Sequence
- main.js loads App
- App.svelte loads manager
- configures database, loads data
- initializes bus and base events,
- Manager.svelte loads desktop
- Desktop loads Windows
- asks for window listing in the default desktop
- Window asks for whatever component/app the window id calls for
Operating System Architecture
- src/os
- app (collection of applications)
- DesktopSwitcher (the first app switches list of current windows)
- ui (gets the UI setup)
- Manager (WindowManager)
- Desktop (a window container allows panning, etc.)
- Window
- Terminal (an app, but so important it lives next to the window)
- Manager (WindowManager)
- bus (this is the API)
- all terminal commands are just events
- all database calls must go through the bus
- integrates with web sockets and the server
- cross tab and cross window
- bin (commands, or bus listeners)
- vfs (probably an object, probably not observable (manual refresh))
- db main storage, a document store
- dom - low level DOM components
- app (collection of applications)
Client Architecture
- Svelte App, Applications that use Svelte Components
- Svelte Components, just reusable things, ordinary components
- Svelte Base Components, Manager (Window Manager) Desktop, Window, Terminal (a core but sub application)
- Observable Database, All documents tagged with GUID, DB Layer
- For use with svelte's use:xxx Low Level Components, DOM Layer
- Bus, Emitter Layer
Server Architecture
- Server App, presumably a mountable construct
- Server, just web sockets, they work well with the OS bus.
Application Architecture Client + Server
- scripts, probably just shell scripts
- node module, or just server.js and packages.json
Window Layout Strategy
- main element (window)
- holds the width, height, as well as top, and left (normalized to .w .h .y .x)
- can contain window-caption which will drag the window.
- is a flex layout element: d-flex
- contents are stretched by default: align-items-stretch
- contents are treated as a column: flex-column
- there is a window-status on the bottom
- window-body
- is set to grow: flex-grow-1
- is set to overflow-x-auto
- window body can now use h-100 w-100 due to flex arrangement
Conventions
- Primary desktop should always be called 'primary'.
1.0.20
1 year ago
1.0.19
1 year ago
1.0.18
1 year ago
1.0.17
1 year ago
1.0.16
1 year ago
1.0.15
1 year ago
1.0.14
1 year ago
1.0.13
1 year ago
1.0.12
1 year ago
1.0.11
1 year ago
1.0.10
1 year ago
1.0.9
1 year ago
1.0.8
1 year ago
1.0.7
2 years ago
1.0.6
2 years ago
1.0.5
2 years ago
1.0.4
2 years ago
1.0.3
2 years ago
1.0.2
2 years ago
1.0.1
2 years ago