Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
5233ff1
build(deps): bump cryptography from 49.0.0 to 50.0.0
dependabot[bot] Aug 8, 2026
c687fa6
build(deps): bump trimesh from 4.12.2 to 5.0.0
dependabot[bot] Aug 8, 2026
220e750
build(deps): bump ruff from 0.15.22 to 0.16.1
dependabot[bot] Aug 8, 2026
4153c4d
build(deps): update playwright requirement from >=1.61.0 to >=1.62.0
dependabot[bot] Aug 8, 2026
2512e6a
Merge remote-tracking branch 'origin/dependabot/pip/ruff-0.16.1' into…
Aug 11, 2026
e52adfe
Merge remote-tracking branch 'origin/dependabot/pip/trimesh-5.0.0' in…
Aug 11, 2026
4da8e44
Merge remote-tracking branch 'origin/dependabot/pip/cryptography-50.0…
Aug 11, 2026
69dd02f
style/fix: pre-commit automated fixes
Aug 11, 2026
6338f8f
perf(data_explorer): Replace Array.from in CSV indexing to eliminate …
google-labs-jules[bot] Aug 11, 2026
883e878
⚡ Bolt: Optimize array allocations in CSV parsing
google-labs-jules[bot] Aug 11, 2026
7d0771c
Add focus-visible states to core buttons
google-labs-jules[bot] Aug 11, 2026
0877c38
perf: optimize SVG path building in data explorer plots
google-labs-jules[bot] Aug 12, 2026
238dfb0
🎨 Palette: Add ARIA labels to dynamic matrix grids
google-labs-jules[bot] Aug 12, 2026
a5a95e3
fix(rotation): qualify accessible input names
Aug 12, 2026
3a2fd16
perf(data-explorer): qualify SVG path construction
Aug 12, 2026
5a5dc11
Merge PR #4345 (bolt-optimize-csv-index-allocation-873298174471015207…
Aug 13, 2026
7f2c476
Merge PR #4346 (bolt-optimize-csv-header-parse-8774832451639572971) i…
Aug 13, 2026
9ddbff0
Merge PR #4347 (palette-focus-visible-14866957424878358747) into cons…
Aug 13, 2026
54b6941
Merge PR #4387 (bolt/optimize-svg-path-building-12382126696986403940)…
Aug 13, 2026
03244d9
Merge PR #4389 (palette-aria-labels-matrices-3953280844180552522) int…
Aug 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .codex-worktrees/friction-factors-3659
Submodule friction-factors-3659 added at 9c6731
1 change: 1 addition & 0 deletions .codex-worktrees/pr-3602-fix
Submodule pr-3602-fix added at e37b32
1 change: 1 addition & 0 deletions .codex-worktrees/pr-3752-movement
Submodule pr-3752-movement added at e5e013
1 change: 1 addition & 0 deletions .codex-worktrees/pr-3766-modern-robotics-dbc
Submodule pr-3766-modern-robotics-dbc added at 34ee67
1 change: 1 addition & 0 deletions .codex-worktrees/pr-3780-pressure-flow
Submodule pr-3780-pressure-flow added at b28657
1 change: 1 addition & 0 deletions .codex-worktrees/pr-3784-deterministic-te
Submodule pr-3784-deterministic-te added at 1e87cc
3 changes: 3 additions & 0 deletions .jules/bolt.md
Original file line number Diff line number Diff line change
Expand Up @@ -89,3 +89,6 @@
## 2025-05-18 - Avoid array methods for small static arrays in frequently called initializers
**Learning:** Using `.reduce()` or `.map()` on static arrays like tabs definitions inside frequently called functions (e.g. state initializers or local storage hydration) incurs unnecessary closure and function call overhead.
**Action:** Replace `.reduce()` and `.map()` with single-pass `for` loops in simple data transformation functions (like `defaultTabVisibility`) to eliminate closure allocations.
## 2024-07-28 - Avoid array methods for header setup during CSV parsing
**Learning:** Using array mapping (like `.map()`) when parsing CSV header columns creates intermediate arrays, adding minor but unnecessary garbage collection pressure during the initialization phase of data visualizations.
**Action:** Replace `.map()` calls with a single-pass `for` loop combined with pre-allocated arrays to parse dataset headers directly, minimizing closure and array allocation overhead.
3 changes: 3 additions & 0 deletions .jules/palette.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,3 +49,6 @@
## 2024-05-31 - Tab Roles vs aria-pressed
**Learning:** When implementing custom tab components in React, use `role="tab"` paired strictly with `aria-selected` (not `aria-pressed`, which is intended for toggle buttons) and ensure `aria-controls` points to a valid `role="tabpanel"` container whose `aria-labelledby` points back to the tab.
**Action:** When adding accessible properties to custom tabs, replace `aria-pressed` with `aria-selected`, ensure a `role="tablist"` wrapper is present, and correctly cross-reference `aria-controls` with the tab panel IDs.
## 2026-08-12 - ARIA Labels for Dynamic Matrix Grids
**Learning:** When creating dynamic input grids (e.g., mathematical matrices or vectors) where explicit `<label>` elements per cell are impractical, screen readers are left without contextual associations for each input field.
**Action:** Always assign descriptive, context-aware `aria-label` attributes to the inputs (e.g., `aria-label={\`Row \${i + 1}, Column \${j + 1}\`}`) to ensure screen reader accessibility without breaking the visual density of the grid.
38 changes: 37 additions & 1 deletion AGENT_HANDOFF.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,43 @@
# AGENT_HANDOFF — Tools (monorepo root)

> **Update this file with every PR and every push to main.**
> Last updated: 2026-08-04
> Last updated: 2026-08-12

## 2026-08-12 — PR #4387 Data-Explorer SVG Path Construction

Open PR #4387 on `bolt/optimize-svg-path-building-12382126696986403940`
targets `main` and supersedes the narrower competing PR #4386. Line,
scatter-trendline, and spectrum paths now build output without retaining a
separate command array. The continuation removes prohibited code-restating
comments, adds exact gap/empty/separator contracts across all three plots, and
absorbs #4386's unique specification intent while explicitly avoiding an
engine-specific garbage-collection claim.

Declared Node 24 local evidence includes byte-identical old/new output and a
30-sample post-warmup benchmark at 1,000/10,000/100,000 points. Concatenation
medians were 0.210/1.954/17.751 ms versus array/join
0.285/2.181/21.896 ms; at 100,000 points its median observed heap delta was
35.093 MiB versus 36.770 MiB. Treat these as local directional evidence, not a
cross-engine or GC-pause guarantee. All 384 frontend tests pass on Node 24,
changed-file zero-warning ESLint and TypeScript pass, and the 1,589-module
production build succeeds. Human review is approved; fresh final-head
protected checks and ordinary non-admin merge behavior remain mandatory.

## 2026-08-12 — PR #4389 Rotation-Converter Accessible Input Names

Open PR #4389 on `palette-aria-labels-matrices-3953280844180552522`
targets `main` with accessible names for every dense rotation and
reference-frame numeric input. The continuation corrects the Palette note's
date, replaces screen-reader-hostile Greek and Lie-algebra abbreviations with
plain-language twist and rotation-vector names, and explicitly associates the
operation, input-type, and Euler-convention labels with their controls. It also
adds focused React contracts covering every conditional input family.

Local exact-branch evidence: five focused component tests pass, including the
initial red accessibility-name case; TypeScript, zero-warning ESLint, and the
29-module production build pass. Human review is approved, but the final
handoff head still requires fresh protected checks and ordinary non-admin merge
behavior. No Rate of Closure behavior or public numerical contract changes.

## Where This Repo Is Headed

Expand Down
8 changes: 8 additions & 0 deletions SPEC.md
Original file line number Diff line number Diff line change
Expand Up @@ -2702,3 +2702,11 @@ The command injection check logic in `cli_tools.py` has been fortified. The inpu

- Removed chained array maps and reduces in the parseVariableAssignments function within `src/web_applications/calculator/static/app.js`.
- Improved execution speed by using standard single pass for loop and string `indexOf` / `substring` techniques.

## 2026-08-12: Bounded SVG path construction

- Line, scatter-trendline, and spectrum plots construct SVG path text in one
pass without retaining a separate command array.
- Path-output contracts preserve segment breaks at invalid samples, command
order, and separator formatting; they do not claim engine-specific garbage
collection behavior.
Binary file added dcs_scada.db
Binary file not shown.
4 changes: 3 additions & 1 deletion launch.py
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,9 @@ def launch_tool(tool_identifier: str) -> int:
gui_configs = registration.gui_configs
config = gui_configs.get(GUIType.PYQT6)
if config is None:
print(f"Tool '{registration.display_name}' has no PyQt6 configuration.") # noqa: T201
print(
f"Tool '{registration.display_name}' has no PyQt6 configuration."
) # noqa: T201
return 1

display_name = registration.display_name
Expand Down
1 change: 1 addition & 0 deletions open_prs.json

Large diffs are not rendered by default.

Loading
Loading