Repository navigation
Conversation
Combines two tracks into one v0.4.0 release: - Spoor B: replace in-memory pipeline with COPC streaming + CCCoreLib FFI kernel - Spoor A: full adoption of @openaec/ui design tokens and components Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
First of five plans derived from the v0.4.0 design spec. This plan handles only the UI rebrand: install @openaec/ui from GitHub, rename --theme-* to --oaec-* throughout, remove the multi-theme switcher, single dark theme. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Create src/styles/openaec-overrides.css with composite canvas-grid and ribbon-gradient tokens - Import openaec-overrides.css between components.css and globals.css in main.tsx - Strip all four multi-theme blocks from globals.css; replace with single [data-theme="light"] block using --oaec-* tokens - Update @theme block RHS from --theme-* to --oaec-* - Rename all remaining --theme-* references in utility sections to --oaec-* equivalents - Replace hardcoded hex brand colours (#1d4ed8, #2563eb, #fff) with --oaec-accent / --oaec-accent-hover / --oaec-accent-text Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Remove the unscoped 'Input controls - Dark theme' block (~63 lines) from Ribbon.css — .ribbon-input-group, .ribbon-input-label, .ribbon-color-input, and the unscoped .ribbon-input/.ribbon-input-row rules were dead code overridden by the scoped .ribbon-transform-inputs block. Clean stale hex fallbacks from that scoped block (var(--oaec-bg-input, #0f172a) → var(--oaec-bg-input), etc.). Update ErrorBoundary inline styles in main.tsx to match the OpenAEC palette (#1a1a2e→#36363E, #ff6b6b/#ffa07a→#f87171, #4a90d9→#D97706, #888→rgba(250,250,249,0.6)). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…stem Plan 1 of 5 toward v0.4.0. Replaces multi-theme styling (--theme-*) with @openaec/ui tokens (--oaec-*), removes the theme switcher UI and state, adopts the OpenAEC dark palette with orange accent as the single theme. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Adds the missing orange File tab as leftmost ribbon-tab (matches the OpenAEC standard from open-2d-studio); for v1 it triggers the Import handler. Overrides five tokens in openaec-overrides.css to match the canonical style-book values (@openaec/ui v0.1.0 is out of sync upstream): panels darker not lighter, borders neutral grey not orange-tinted, secondary/muted text as warm neutrals. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…rt/Export/About) Implements the OpenAEC-standard backstage pattern from open-2d-studio. The orange File tab in the ribbon now opens a full-viewport overlay with a sidebar (Open / Import / Export / About) and a main content panel per active view. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
After the Authenticode and OpenPGP signing, sign-updates.sh writes a minisign .sig beside the Windows setup and each AppImage with the repository's updater key, and the .sig files go on the release. Once the release is public, a last job makes latest.json with the release kit of the installer: it checks every signature against UPDATER_PUBKEY and the tag against native/Cargo.toml, and attaches latest.json last. The OpenAEC Installer then checks the signature before a silent update (OpenAEC-Foundation/OpenAEC-Blueprint#33). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…and both API contracts
…back access control
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.
The additional E57 checks found two real interoperability failures in the Riegl fixture:
ScaledInteger(32767, scale=1/32767)was rewritten without its scale. Its physical value changed from 1.0 to 32767, and PDAL read the first normalised intensity as 0 instead of 8190.Resolve scaled and mixed limit pairs to physical doubles before normalising or writing. Preserve original point records/prototypes, and retain the original sensor grid frame—including absent bounds—in filtered and scan-preserving scene exports. Reuse the existing complete-packet iterator for valid alignment packets in the scene path. Version cached normalised samples only for affected sources; plain-limit E57 cache keys, including the 199M-point BLK2GO fixture, remain unchanged. A changed/invalid source remains a cache miss, with normal reader error handling.
Refs #32 and #42. This follow-up should land with the integration before declaring the E57 acceptance work complete. It builds on #63 at
0962214392f806bdf4c95bcafaecce081bfd2276(and includes #62/#53). The incremental fix isff9b5307b84122845c3c443b3d5267878e3f4160; previous review heads remain unchanged. Normal merge commits preserve all earlier PR heads as ancestors.Validation:
Repeatable probe, package pins, tool hashes and recorded before/after evidence.
These are three external applications sharing the C++ libE57 family, independently of the native Rust decoder; this does not establish three independently implemented external decoders. CloudCompare loads the five spherical photos as ordinary images with an unsupported-camera message; their calibration is verified through libE57. PDAL's exposed intensity/RGB is uint16 and CloudCompare's coordinates are float32, so raw records/schema are checked separately. The broader #32 tracker remains open. Vendor files and reader binaries are not redistributed.
Previously affected exports need regeneration from their original source; the discarded scale cannot safely be inferred from a bad export.