Repository navigation
Dev - #14
Merged
Merged
Dev#14
Conversation
…ine docks by default - Grey out features outside the first public release, with an explanatory tooltip, instead of hiding them. - Start the Performance Watch and Timeline docks hidden to match their disabled View menu items.
…or MVP - Disable formatting toolbar controls (Bold/Italic/Underline, fill/font color, number format) instead of hiding them - Disable grouping actions in the grid context menu and show the MVP tooltip - Grey out and make non-clickable the Calculation Flow and Circular References tabs - Add shared NOT_IN_MVP_TITLE constant and matching disabled styles
- Unsubscribe before subscribing so each topic has one host callback; re-subscribes on webview reload no longer deliver events N times. - Send connected status on getConfig so a reloaded webview does not stay disconnected while the host connection is live.
Route all typed input through a shared parseCellInput/applyInput path. Classify text as cell rule (=expr), cube rule (Dim.Item = expr, optional $ anchor) or value. Replace the separate editCell/setRuleForCell entry points. - Fix keystrokes typed in the rule bar leaking into grid cells by only auto-focusing the grid when focus is free, and focusing it explicitly on mousedown. - Add a multi-cell selection guard for value and cell-rule entry, and a "No cell selected" guard. - Add a Copy/Paste/Undo/Redo enable sync in the toolbar.
- Sync rule bar text with the active cell via new ruleBarText helper - Enter applies only changed text and hands focus back to the grid - Escape reverts the input to the cell's shown text and returns focus to the grid - Add MultilevelGrid.focusGrid() for keyboard handoff
…+F9, Ctrl+=, Ctrl+L - match letters by physical key, so they work with a non-Latin layout - inactive in text fields and while a dialog is open
- Delete clears only cells holding a value (override or input), skipping rule-only and empty cells - Clear Override is enabled only on an override and clears the active cell only - show a dialog when clearing fails; Close Window is not available in a webview
- pickFile host method: showOpenDialog/showSaveDialog, absolute fsPath to the runtime - bridge: --dir, relative save/load paths resolve against it; text field prefilled - Save appends .json (as Qt); filePath from the runtime's reply - New/Open drop old tabs and caches, open the saved default view (or create one, as Qt)
…ab, refuse .openm - choiceDialog; unsaved changes ask Save/Discard/Cancel as Qt, go on only after a real save - status bar shows the workspace file (full path on hover) - setTitle host method: panel.title in VS Code (document.title is not shown there) - Open refuses .openm scripts with an explanation instead of a JSON parse error - bridge: register the WS message handler before connecting; early requests were dropped
…t panel
- Parse diagnostics_calculation_flow as a list of nodes (depth, source,
expression, precedents/dependents) instead of a {precedents, dependents} object
- Click on an address selects the cell in the active view
- Re-query only when cell, depth, rules or cell data change, or on Refresh
- Fix .cf-upstream/.cf-downstream selectors; Circular References stays disabled
…raph mode - Parse diagnostics_calculation_flow as a list of nodes like the Qt panel - List mode: node, expression, upstream/downstream; click selects the cell - Graph mode (port of Qt _render_graph): columns, curved arrows, hover highlight, click/Enter selects the cell, drag/wheel pan, Ctrl+wheel zoom, Fit and 100% buttons; duplicate edges drawn once - Re-query only when cell, depth, rules or cell data change, or on Refresh - Circular References stays disabled
- Draggable splitters: left column 160 px .. 50%, bottom panel 60 px .. grid keeps 120 px; double-click restores 250 / 200 px - Dragging past half the minimum collapses the panel live: the left column to an 8 px strip, the bottom panel to its tab row; click or drag reopens, a tab click opens the panel on that tab; Escape cancels a drag - Keyboard: arrows (Shift for 50 px), Enter collapses / expands - Collapsed bottom panel does not render or trace cells - Sizes persist: VS Code globalState + webview state, localStorage in the browser
…, form dialogs like Qt
…ple, vsce dev dependency - Rename package from om-core to om-tools and add repository URL - Narrow .vscodeignore to the VSIX runtime files and exclude bridge, docs, scripts, and examples - Add README, CHANGELOG 0.1.0 and examples/coffee.json - Add @vscode/vsce as a dev dependency for packaging
Dark is the default; its colours are defined under :root[data-theme="dark"] in styles.css. The saved theme is applied before the first render so nothing paints in the wrong colours. updateUiState merges patches so layout and theme saves no longer overwrite each other.
- Move hard-coded shell colours into CSS variables with light and dark values - Merge the duplicate .menubar definitions into one - Remove the duplicate .statusbar rule
Replace hard-coded colours in the left column, tree, splitters and info toolbox with CSS variables defined for both light and dark themes.
Add light and dark theme variables for the grid, cell and error colours, plus shared hover, shade and dirty-marker colours. Multilevel grid colours and the Σ marker now read these variables instead of hard-coded literals.
Route pivot frame, zones, dimension chips and drop targets through new --pv-*, --chip-* and --drop-* variables, with light and dark values.
Move hard-coded colours in modal dialogs to --dlg-* variables and add light/dark values for them. Add variables for the bottom panel (rules, Calculation Flow, circular references) and point their styles at them.
… variables - Move the toolbar into the menu bar, with its own 36px row and shrinking overflow - Group B/I/U into one segmented block and drop the Fill/Font/Format text labels - Show only "engine" in the status indicator, with the full address in the tooltip - Add an `fx` marker to the rule bar field and shrink the bar, badges and status bar - Add seg, name-badge and compact sizing variables for light and dark themes
…chip restyle - Shell: the body gets a page background and 6px padding, and the left dock, right dock, centre grid and bottom panel become rounded bordered cards. Splitters are now 6px gaps with a centred accent line on hover, and the collapsed bottom panel is 28px tall. - Bottom splitter max accounts for its own height, so the grid keeps its minimum height. - Model browser: the active view gets a highlight, and "(n)" counts render as a muted right-aligned element. - Theme: adds `--gap`, `--r-card`, `--r-ctl` and `--page-bg` variables, and restyles the light and dark chip colours. - Tabs, dock headers, tree rows, pivot zone captions and dimension chips are restyled to match.
- Resolve runtime endpoints from settings or environment, then probe the default Unix socket and TCP port before falling back to the platform default. - Resolve the om-core path from settings, environment or workspace; prompt once for a folder when needed and save it globally. - Update configuration docs and descriptions, and make `start.sh` auto-detect the runtime endpoint.
- Replace single channel dropdown with multi-select `@` channel pills and counts - Show rule number, mask, specificity and precedence status per rule (new ruleInfo.ts) - Load cube detail on demand so mask and precedence use dimension order - Add materialIconSvg size parameter and icons for channel pills
…w's native tooltip
…and oversized input; update esbuild
# Conflicts: # README.md
…t of it; update the esbuild notice
…pendent actions, Stop/Close/Reconnect are split out, and the Actions section plus row buttons are added - Open GUI and Reconnect only connect to a running runtime; Start Runtime is the only path that launches one - Stop Runtime asks for confirmation and kills the whole process tree (taskkill /T on Windows) - Start Runtime reconnects an open GUI tab that lost its connection; a new runtime resets the GUI page (freshRuntime) - Replace the autoStartRuntime setting with the Actions section and row context buttons; add Close GUI, Choose folder, Reveal, Settings and uv install commands - Show a disconnected hint banner in the GUI page; document the new flow in README and AGENTS.md
The corner cell no longer renders the row dimension names, and the rowDimNames helper is removed. This addresses issue #12.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Merge
devintomainfor the first public preview (0.1.0) of OM Tools: a VS Code grid GUI for OM Core.Changes
esbuild, added VSIX allowlist and licence notices, README quick start (examples/coffee.json), CHANGELOG.Breaking changes
autoStartRuntimesetting is removed. Use the Actions section in the side panel instead.Compatibility
Tested with om-core
72a90ca. No protocol changes.Test plan
npm run build && npm run compile && npm test && npm run check:sensitiveexamples/coffee.json; check Rules and Calculation Flow tabsSign-off
Signed-off-by:trailers andlegal/CONTRIBUTOR-SIGNOFFS.mdentry (see CONTRIBUTING.md)