diff --git a/workspace/_assets_/boards.css b/workspace/_assets_/boards.css
new file mode 100644
index 0000000..846590c
--- /dev/null
+++ b/workspace/_assets_/boards.css
@@ -0,0 +1,86 @@
+.board-page
+{
+ max-width: 75em;
+ margin: 0 auto;
+}
+
+.board
+{
+ display: flex;
+ gap: calc( var( --font-size ) * 1.5 );
+ align-items: flex-start;
+}
+
+.lane
+{
+ flex: 1;
+ min-width: 0;
+}
+
+.lane-header
+{
+ font-size: calc( var( --font-size ) * 1.1 );
+ font-weight: 600;
+ letter-spacing: 0.12em;
+ text-transform: uppercase;
+ color: var( --accent );
+ margin-bottom: calc( var( --font-size ) * 1 );
+ padding-bottom: calc( var( --font-size ) * 0.5 );
+ border-bottom: 1px solid var( --border );
+}
+
+task-item
+{
+ display: block;
+ background: var( --surface );
+ border: 1px solid var( --item-color, var( --border ) );
+ border-radius: 8px;
+ margin-bottom: calc( var( --font-size ) * 0.75 );
+ overflow: hidden;
+}
+
+task-title
+{
+ display: block;
+ padding: calc( var( --font-size ) * 0.5 ) calc( var( --font-size ) * 0.85 );
+ font-size: calc( var( --font-size ) * 0.9 );
+ font-weight: 600;
+ color: var( --item-color, var( --text ) );
+ cursor: pointer;
+ user-select: none;
+ line-height: 1.5;
+}
+
+task-title::before
+{
+ content: '▾ ';
+ font-size: 0.75em;
+ opacity: 0.6;
+}
+
+task-item.hide-content task-title::before
+{
+ content: '▸ ';
+}
+
+task-content
+{
+ display: block;
+ padding: calc( var( --font-size ) * 0.4 ) calc( var( --font-size ) * 0.85 ) calc( var( --font-size ) * 0.65 );
+ font-size: calc( var( --font-size ) * 0.85 );
+ color: var( --muted );
+ border-top: 1px solid var( --border );
+ line-height: 1.6;
+}
+
+task-item.hide-content task-content
+{
+ display: none;
+}
+
+task-item.red { --item-color: #c96b6b; }
+task-item.green { --item-color: #57a870; }
+task-item.blue { --item-color: #7c8cff; }
+task-item.yellow { --item-color: #c4a040; }
+task-item.purple { --item-color: #9060d0; }
+task-item.orange { --item-color: #c47840; }
diff --git a/workspace/_assets_/nav-data.js b/workspace/_assets_/nav-data.js
index 8d78269..294beac 100644
--- a/workspace/_assets_/nav-data.js
+++ b/workspace/_assets_/nav-data.js
@@ -2,6 +2,15 @@ var NAV_DATA = {
title: 'Workspace',
path: 'index.html',
children: [
+ {
+ title: 'Boards',
+ path: 'boards/index.html',
+ children: [
+ { title: 'Tasks', path: 'boards/tasks.html' },
+ { title: 'Bugs', path: 'boards/bugs.html' },
+ { title: 'Backlog', path: 'boards/backlog.html' },
+ ]
+ },
{
title: 'Outline',
path: 'outline/index.html',
diff --git a/workspace/_assets_/roject.svg b/workspace/_assets_/roject.svg
index 9d45528..321fb7c 100644
--- a/workspace/_assets_/roject.svg
+++ b/workspace/_assets_/roject.svg
@@ -26,8 +26,8 @@
inkscape:document-units="px"
showgrid="false"
inkscape:zoom="0.20890503"
- inkscape:cx="1969.7946"
- inkscape:cy="1179.962"
+ inkscape:cx="1605.9929"
+ inkscape:cy="1093.7985"
inkscape:window-width="1920"
inkscape:window-height="1017"
inkscape:window-x="-8"
@@ -35,6 +35,34 @@
inkscape:window-maximized="1"
inkscape:current-layer="g17" />
Board
+Big visions and user stories. Too complex or vague for tasks, but important for direction.
+Board
+Click a task title to expand or collapse its content.
+Boards
+Planning and tracking boards for development work.
++ Current development sprint. Active work items with To Do, In Progress, and Done lanes. + We try to keep this focused — only things being worked on now or very soon. +
++ Known issues we want to fix later. Organized by severity: Critical for things that + break correctness or security, Visual/UI/UX for things that look or feel wrong. +
++ Big user stories and visions. Too complex or vague to be tasks, but important for + understanding the direction. Lanes: MVP for the core product vision, + Nice To Have for quality-of-life additions, To The Moon for longer-horizon ambitions. +
+Board
+Click a task title to expand or collapse its content.
+workspace/boards/)
+ A new Boards section added to the workspace with three boards:
+ Tasks (current sprint, To Do / In Progress / Done),
+ Bugs (Critical and Visual/UI/UX lanes),
+ Backlog (MVP / Nice To Have / To The Moon).
+ Each board uses custom HTML elements — <task-item>,
+ <task-title>, <task-content> — styled
+ to match the workspace visual language (CSS variables, same spacing rhythm,
+ lane headers matching section h2). Clicking a title toggles
+ the content open/closed via hide-content class.
+ Shared styles extracted to workspace/_assets_/boards.css.
+
+ workspace/outline/index.html was rewritten to remove the long
+ numbered to-do list and the "Smaller open improvements" bullet list.
+ Those items were distributed across the three boards.
+ The outline now covers only: what Roject is, what exists now (condensed into
+ named cards), a one-card pointer to the boards, and the technical implementation
+ reference. About half the original length.
+
+ workspace/index.html gained a Boards card and a
+ "Quick orientation" section with separate guidance for humans and agents:
+ read Outline → Guides → Reference before making changes; check Boards and
+ the most recent History entry for current context.
+
- Local filesystem access — extend the file tree to browse arbitrary directories
- on the host machine using Node.js fs rather than the server's
- JSON-backed project storage.
-
- Remote projects in Electron — allow the Electron app to connect to a remote
- Roject server (roject.rokojori.com) and list projects hosted
- there alongside local ones. The JWT is already available; it's a matter of
- pointing a request (or a BrowserView panel) at the remote URL with the token.
+ See Tasks board for the current sprint.
+ Local filesystem access and remote projects in Electron are the two active items.
Electron desktop app shell — login window, JWT auth via API, Authorization header injection, token persistence, ROJECT_ROOT path fix, ELECTRON_RUN_AS_NODE workaround.
+Electron desktop app shell — login window, JWT auth via API, Authorization header injection, token persistence, ROJECT_ROOT path fix, ELECTRON_RUN_AS_NODE workaround. Workspace boards system (Tasks/Bugs/Backlog) with custom task-item elements; outline shortened; workspace index quick orientation added.
- Explains Roject's goals, features and future plans for the project.
+ What Roject is, what exists now, and the technical implementation.
+ Start here for the big picture.
+ Read the outline
+
+ Current state at a glance: active tasks, known bugs, and longer-horizon backlog.
+ Check here to know what is being worked on right now.
+
+ Open the boards
Context, rules, workflows and examples for how to do things.
-
- Read more about the guides
+ Read the guides
Named tasks and steps for recurring topics.
-
- Read more about the actions
+ Read the actions
- Per-day history that gives insights about the daily work.
+ Per-day session log. Good for understanding what changed and why.
-
- Read more about the history
+ Read the history
Technical reference for core systems: the Editor singleton, events, and the client/server compilation split.
-
- Read more about the reference
+ Read the reference
+ New here? Read Outline for the big picture, then Guides for how things are done. + Check Boards for what is active right now. +
++ Agents: read Outline → Guides → Reference before making changes. + Check Boards and the most recent History entry to understand the current context. + Follow all coding conventions in the Guides — do not infer style from existing code alone. +
+