Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ OpenMBEE View Editor brings source editing, named model views and reviewed graph
- **Query the draft model.** Request engine-backed completion, symbol information and project-file definitions against the complete current source set.
- **Inspect requirement graphs.** Browse requirement definitions/usages, declared identifiers and documentation, typing, hierarchy and positive/negated satisfaction links. Follow exact source declarations; diagram links do not report executed test results.
- **Open source-defined views.** Navigate named SysML views independently of the active source file. Inspect nested and inherited parts, typed inherited ports and resolved connection endpoints.
- **Read generated documents.** Open document definitions (`part def` specializations of `DocumentQueries::Document`) next to named views. The embedded OpenSysML engine plans, evaluates and renders them; headings, table rows and inline references reveal their source declarations, and `Diagram` blocks mount the editor’s native view renderer.
- **Navigate source issues.** Open an issue’s reported file and line in the source editor. Missing or stale locations are explained while drafts and the last valid diagram are retained.
- **Browse the model hierarchy.** Expand packages, definitions and declared members in the Model tree. Inspect type/kind labels; use arrow keys, type-ahead and Enter/Space to navigate and select.
- **Review graphical changes.** Rename parts, create native views, add typed part usages and connect compatible directed ports through an exact source-change preview.
Expand All @@ -59,7 +60,7 @@ OpenMBEE View Editor brings source editing, named model views and reviewed graph
- **Arrange your workspace.** Resize or collapse Explorer, Inspector, source/diagram panes and Issues using dividers, keyboard controls or panel options.
- **Choose your appearance.** Use Light, Dark or Follow system, six diagram palettes and custom muted element colors. Theme and panel preferences stay in the browser.

Structural, native requirement and bounded action/state workflows have real-engine browser coverage. Use-case, mixed, sequence and geometry renderers remain unavailable; behavior diagrams do not execute or simulate models. See [capabilities and limits](docs/capabilities.md) and [local verification](docs/verification.md) for the implemented scope.
Structural, native requirement and bounded action/state workflows have real-engine browser coverage. Use-case, mixed, sequence and geometry renderers remain unavailable; behavior diagrams do not execute or simulate models. Generated documents are read-only: there is no inline text editing, publication or Flexo MMS export, and PDF/AsciiDoc output is unavailable in the browser. See [capabilities and limits](docs/capabilities.md) and [local verification](docs/verification.md) for the implemented scope.

In the source editor, use **Ctrl+F** / **Cmd+F** for find/replace and **Ctrl+Z** / **Cmd+Z** for draft editing undo; **Ctrl+Y** / **Cmd+Shift+Z** redo draft edits. **Tab** moves focus out of the editor. Toolbar **Undo source** / **Redo source** operate on accepted model revisions. Highlighting is lexical; the pinned engines still validate source when you apply it. Use **Ctrl+Space** for engine-backed completion, **F1** for symbol information and **F12** for project-file definitions; pointing at a symbol also requests hover information. Queries use the complete current draft source set. Unsupported completion edits and stale replies are rejected. Formatting and inline diagnostics remain future work.

Expand All @@ -82,7 +83,7 @@ Vite excludes generated `sandbox/` contents and prepared `static/vendor/` binari

The landing page offers **Open app** and **Try an example**. `/app` opens a project launcher with **New project**, **Open files or project**, **Load example** and **Local recovery**. No model loads implicitly. New projects stay marked modified until downloaded.

Choose **Load example** to open the **Inspection rover** in Diagram mode. Six source files describe four connected assemblies, declared component values, an inspection mission, operating states and quantitative requirements.
Choose **Load example** to open the **Inspection rover** in Diagram mode. Seven source files describe four connected assemblies, declared component values, an inspection mission, operating states, quantitative requirements and a generated inspection report.

Explore the named views **architecture → mission → lifecycle → requirements → definitions**. Choose **Guide** in the project header for a tour of the editor controls. The opening diagram includes a 480 Wh battery, two distinct drives, lidar, controller, camera and radio. Declared values, successions and satisfaction links are model content; the app does not execute or simulate them.

Expand Down
27 changes: 14 additions & 13 deletions docs/architecture/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,20 @@ One static browser application contains a framework-independent workspace and a

## Ownership and direction

| Module | Owns |
| --------------------------- | ------------------------------------------------------------------------------------------------- |
| `workspace/project` | Source documents, validation of membership/limits, applied model records, exact source digests |
| `workspace/editing` | Command schemas, engine-facing interfaces and command postconditions |
| `workspace/views` | Evaluated artifact/identity contracts and revision checks |
| `workspace/language` | Read-only source query/result contracts and UTF-16 source positions |
| `workspace/history` | Accepted transaction history |
| `workspace/persistence` | Versioned project schema, serialization and format rules |
| `workspace/createWorkspace` | Session lifetime and prepare/accept orchestration |
| `engines` | Disposable workers, timeout/cancellation, engine-specific calls and data normalization |
| `workbench` | Files/Views/Model navigation, source interaction, diagrams, properties, dialogs and UI state |
| `contracts` | Shared validation mechanics; schemas remain with their owners |
| `ui` | Shared React controls, theme tokens and browser appearance preferences; no workspace transactions |
| Module | Owns |
| --------------------------- | ----------------------------------------------------------------------------------------------------- |
| `workspace/project` | Source documents, validation of membership/limits, applied model records, exact source digests |
| `workspace/editing` | Command schemas, engine-facing interfaces and command postconditions |
| `workspace/documents` | Rendered-document contract, typed document diagnostics, explorer grouping and click-to-source mapping |
| `workspace/views` | Evaluated artifact/identity contracts and revision checks |
| `workspace/language` | Read-only source query/result contracts and UTF-16 source positions |
| `workspace/history` | Accepted transaction history |
| `workspace/persistence` | Versioned project schema, serialization and format rules |
| `workspace/createWorkspace` | Session lifetime and prepare/accept orchestration |
| `engines` | Disposable workers, timeout/cancellation, engine-specific calls and data normalization |
| `workbench` | Files/Views/Model navigation, source interaction, diagrams, properties, dialogs and UI state |
| `contracts` | Shared validation mechanics; schemas remain with their owners |
| `ui` | Shared React controls, theme tokens and browser appearance preferences; no workspace transactions |

The workspace imports neither React/DOM nor engine implementations. Semantic and transformation adapters satisfy the two interfaces declared by editing; a separate language adapter satisfies the read-only contract in `workspace/language`. `workbench/shell/session.ts` constructs them and creates a session. UI entry points call the same workspace operations. `npm run check:architecture` checks import direction and platform globals.

Expand Down
Loading
Loading