forked from BasedHardware/omi
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathNOTICE
More file actions
68 lines (55 loc) · 3.48 KB
/
Copy pathNOTICE
File metadata and controls
68 lines (55 loc) · 3.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
Context for Claude
Copyright (c) 2024 Based Hardware Contributors
This product is part of the Omi repository (https://github.com/BasedHardware/omi)
and is licensed under the MIT License. See LICENSE in this directory.
--------------------------------------------------------------------------------
Code carried over from the Omi desktop app
--------------------------------------------------------------------------------
This package is standalone: it shares no code, no database, and no data directory
with the Omi desktop app at `desktop/macos/`. Where it needed the same behaviour,
it was ported — a real copy, adapted — rather than depended upon. Both are under
the same MIT license and the same copyright above, so the copies carry no separate
attribution obligation; they are recorded here because knowing what was copied,
and what was deliberately not, is what makes the port reviewable.
Capture pipeline
Sources/ContextApp/Capture/
Ported from desktop/macos/Desktop/Sources/ (see README.md).
Rewind timeline window
Sources/ContextApp/Rewind/
Ported from desktop/macos/Desktop/Sources/Rewind/UI/ and
desktop/macos/Desktop/Sources/FloatingControlBar/. Two workarounds are carried
over verbatim, comments included, because each encodes a real macOS crash that
is not obvious from the code alone:
- The container-view pattern in RewindWindow.swift, from
FloatingControlBarWindow.swift:714-741. Making an NSHostingView the
contentView of a window directly causes re-entrant constraint updates that
crash in _postWindowNeedsUpdateConstraints.
- The viewWillMove(toWindow:) tooltip teardown in RewindTrack.swift, from
InteractiveTimelineBar.swift:507-515. Mouse-exit never fires when a view is
removed from its window mid-hover, which orphans a borderless floating
tooltip window on screen.
The Vision coordinate flip in LiveText.swift (LiveTextBlock.screenRect) is taken
from Rewind/Core/RewindOCRService.swift:17.
Deliberately NOT ported, and why:
- The HEVC chunk / AVAssetReader / ffmpeg-subprocess frame reader. This
package stores one independent HEIC per frame, which decodes directly.
- The gap machinery (isGap, gapDuration, drawGapIndicator, gapAtPoint,
formatGapDuration, GapTooltipView). It is unreachable in the original:
rebuildSegments() unconditionally appends exactly one segment spanning
everything, so no gap is ever constructed.
- Their segment computation. ContextCore's Queries.activity(_:since:until:)
already collapses consecutive same-app frames with gap splitting and a
minimum duration.
- Their per-app colour, which keys on String.hashValue. Swift seeds that per
process, so track colours changed on every launch; RewindPalette computes
FNV-1a instead, over a hue range that excludes purple (INV-UI-1).
- Their index-linear track geometry, replaced by a time-linear one.
--------------------------------------------------------------------------------
Third-party dependencies
--------------------------------------------------------------------------------
GRDB.swift — https://github.com/groue/GRDB.swift — MIT License
FluidAudio — https://github.com/FluidInference/FluidAudio — Apache License 2.0
Open Runde (Resources/Fonts/OpenRunde-*.otf) — https://github.com/lauridskern/open-runde
SIL Open Font License 1.1
Each dependency's full license text ships with its own source, resolved by Swift
Package Manager into .build/checkouts/ and recorded in Package.resolved.