@ai-matrx/capture 0.4.0 → 0.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/dist/index.d.cts +8 -7
- package/dist/index.d.ts +8 -7
- package/dist/react.cjs +417 -263
- package/dist/react.cjs.map +1 -1
- package/dist/react.d.cts +11 -10
- package/dist/react.d.ts +11 -10
- package/dist/react.js +417 -283
- package/dist/react.js.map +1 -1
- package/package.json +1 -2
package/CHANGELOG.md
CHANGED
|
@@ -71,3 +71,16 @@ Deliberately not copied from the app this borrows its shape from: fixed duration
|
|
|
71
71
|
|
|
72
72
|
- **Viewer: videos swipe exactly like photos.** The video slide is now a package-owned control-less player — the STAGE owns every gesture (native `controls` made the whole slide a pointer sink), a tap toggles playback, a centre glyph shows the paused state, and a thin bottom bar shows progress. Audio keeps native controls.
|
|
73
73
|
- **HoldShutter: lock is a GESTURE, never a timer.** Recording follows the finger — release stops, full stop. While holding, slide UP ~64px to the lock target that appears above the button; locked, release keeps recording and the next tap stops. The 1.2s auto-latch is gone (it silently converted "I let go" into "still recording").
|
|
74
|
+
|
|
75
|
+
## 0.4.1 — 2026-08-30
|
|
76
|
+
|
|
77
|
+
- Replaced the package's `lucide-react` runtime dependency with package-owned SVG icons, keeping the capture kit portable and reducing host dependency coupling.
|
|
78
|
+
- Hardened media URL caching, viewer cleanup, and exact optional-property contracts; verified the packed ESM and CommonJS artifacts.
|
|
79
|
+
|
|
80
|
+
## 0.4.2 — 2026-08-30
|
|
81
|
+
|
|
82
|
+
- Release-only correction: ships the same verified 0.4.1 code with its synchronized workspace lockfile so the canonical frozen-lockfile publisher can install and publish reproducibly.
|
|
83
|
+
|
|
84
|
+
## 0.4.3 — 2026-08-30
|
|
85
|
+
|
|
86
|
+
- Filmstrip video tiles paint their first frame on iOS (`#t=0.01` media fragment) — a `preload="metadata"` tile rendered black.
|
package/dist/index.d.cts
CHANGED
|
@@ -3,10 +3,11 @@ import * as React from 'react';
|
|
|
3
3
|
/**
|
|
4
4
|
* features/capture-camera/ — EXTRACTION SOURCE for the `@ai-matrx/capture`
|
|
5
5
|
* package (aidream/apps/shared/capture). Everything outside `host/` must stay
|
|
6
|
-
* free of app imports beyond React
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* `@ai-matrx/media` was
|
|
6
|
+
* free of app imports beyond React and `cn` — those are the documented
|
|
7
|
+
* substitution points when this directory is mirrored into the package
|
|
8
|
+
* (icons → the package's own inlined SVGs in `components/icons.tsx` per
|
|
9
|
+
* ruling C19, cn → tailwind-merge), exactly like `@ai-matrx/media` was
|
|
10
|
+
* extracted from `features/files`.
|
|
10
11
|
*
|
|
11
12
|
* The package is the OPINIONATED iPhone-style camera chrome: translucent
|
|
12
13
|
* top/bottom bars over a full-bleed feed, the two-tap options grid, zoom
|
|
@@ -77,7 +78,7 @@ interface CaptureOptionTile {
|
|
|
77
78
|
/** Highlight state (iPhone: yellow when engaged/auto). */
|
|
78
79
|
active?: boolean;
|
|
79
80
|
/** Small value read-out under the icon (e.g. "3s", "4:3"). */
|
|
80
|
-
valueLabel?: string;
|
|
81
|
+
valueLabel?: string | undefined;
|
|
81
82
|
disabled?: boolean;
|
|
82
83
|
onPress: () => void;
|
|
83
84
|
}
|
|
@@ -109,7 +110,7 @@ interface CaptureCameraSlots {
|
|
|
109
110
|
id: string;
|
|
110
111
|
label: string;
|
|
111
112
|
onSelect: () => void;
|
|
112
|
-
}[];
|
|
113
|
+
}[] | undefined;
|
|
113
114
|
/** Free overlays rendered above everything (sheets, pagers). */
|
|
114
115
|
overlays?: React.ReactNode;
|
|
115
116
|
}
|
|
@@ -122,7 +123,7 @@ interface CaptureRailAction {
|
|
|
122
123
|
/** Engaged/on — rendered in the accent colour. */
|
|
123
124
|
active?: boolean;
|
|
124
125
|
/** A short read-out under the icon (e.g. "3s", "4:3", "Auto"). */
|
|
125
|
-
valueLabel?: string;
|
|
126
|
+
valueLabel?: string | undefined;
|
|
126
127
|
disabled?: boolean;
|
|
127
128
|
/**
|
|
128
129
|
* Primary actions stay visible when the rail is collapsed. Everything else
|
package/dist/index.d.ts
CHANGED
|
@@ -3,10 +3,11 @@ import * as React from 'react';
|
|
|
3
3
|
/**
|
|
4
4
|
* features/capture-camera/ — EXTRACTION SOURCE for the `@ai-matrx/capture`
|
|
5
5
|
* package (aidream/apps/shared/capture). Everything outside `host/` must stay
|
|
6
|
-
* free of app imports beyond React
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* `@ai-matrx/media` was
|
|
6
|
+
* free of app imports beyond React and `cn` — those are the documented
|
|
7
|
+
* substitution points when this directory is mirrored into the package
|
|
8
|
+
* (icons → the package's own inlined SVGs in `components/icons.tsx` per
|
|
9
|
+
* ruling C19, cn → tailwind-merge), exactly like `@ai-matrx/media` was
|
|
10
|
+
* extracted from `features/files`.
|
|
10
11
|
*
|
|
11
12
|
* The package is the OPINIONATED iPhone-style camera chrome: translucent
|
|
12
13
|
* top/bottom bars over a full-bleed feed, the two-tap options grid, zoom
|
|
@@ -77,7 +78,7 @@ interface CaptureOptionTile {
|
|
|
77
78
|
/** Highlight state (iPhone: yellow when engaged/auto). */
|
|
78
79
|
active?: boolean;
|
|
79
80
|
/** Small value read-out under the icon (e.g. "3s", "4:3"). */
|
|
80
|
-
valueLabel?: string;
|
|
81
|
+
valueLabel?: string | undefined;
|
|
81
82
|
disabled?: boolean;
|
|
82
83
|
onPress: () => void;
|
|
83
84
|
}
|
|
@@ -109,7 +110,7 @@ interface CaptureCameraSlots {
|
|
|
109
110
|
id: string;
|
|
110
111
|
label: string;
|
|
111
112
|
onSelect: () => void;
|
|
112
|
-
}[];
|
|
113
|
+
}[] | undefined;
|
|
113
114
|
/** Free overlays rendered above everything (sheets, pagers). */
|
|
114
115
|
overlays?: React.ReactNode;
|
|
115
116
|
}
|
|
@@ -122,7 +123,7 @@ interface CaptureRailAction {
|
|
|
122
123
|
/** Engaged/on — rendered in the accent colour. */
|
|
123
124
|
active?: boolean;
|
|
124
125
|
/** A short read-out under the icon (e.g. "3s", "4:3", "Auto"). */
|
|
125
|
-
valueLabel?: string;
|
|
126
|
+
valueLabel?: string | undefined;
|
|
126
127
|
disabled?: boolean;
|
|
127
128
|
/**
|
|
128
129
|
* Primary actions stay visible when the rail is collapsed. Everything else
|