@wyxos/vibe 5.6.0 → 5.7.0

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/README.md CHANGED
@@ -41,9 +41,11 @@ In responsive layout, Vibe observes the target and uses reels on phones while
41
41
  keeping tablets and desktops in masonry. Use `masonry` or `reel` to force a
42
42
  renderer instead.
43
43
 
44
- Phone reels load `preview.src`. Reels on tablets and desktops load the full
44
+ Masonry loads `preview`. Reels on tablets and desktops load the canonical
45
45
  `src`, including a reel forced with `layout: 'reel'` and a reel opened from a
46
- masonry card.
46
+ masonry card. Phone reels load the optional `mobile` variant when supplied and
47
+ otherwise fall back to the canonical `src`; feed previews are never promoted to
48
+ reel playback sources.
47
49
 
48
50
  `loadPage` receives `cursor: null` for the initial request. It returns normalized Vibe items, the next opaque cursor, and an optional total:
49
51
 
@@ -1,4 +1,5 @@
1
- import type { VibeItem, VibeItemId, VibeMediaAsset } from '../types';
1
+ import type { VibeItem, VibeItemId, VibeMediaAsset, VibeMediaSource, VibeMediaVariant } from '../types';
2
+ export declare function mediaVariantForSource(asset: VibeMediaAsset, source: VibeMediaSource): VibeMediaVariant;
2
3
  export declare function mediaAssets(item: VibeItem): readonly VibeMediaAsset[];
3
4
  export declare function clampMediaIndex(item: VibeItem, index: number): number;
4
5
  export declare function mediaAssetAt(item: VibeItem, index: number): VibeMediaAsset;
@@ -1,5 +1,5 @@
1
1
  import { type ComputedRef } from 'vue';
2
- import type { VibeAutoScrollState, VibeAutofillState, VibeCursor, VibeFillState, VibeItem, VibeItemId, VibeLayout, VibeReelAutoAdvanceState, VibeReelForwardState, VibeReelInfoSheetState, VibeState } from '../types';
2
+ import type { VibeAutoScrollState, VibeAutofillState, VibeCursor, VibeFillState, VibeItem, VibeItemId, VibeLayout, VibeMediaSource, VibeReelAutoAdvanceState, VibeReelForwardState, VibeReelInfoSheetState, VibeState } from '../types';
3
3
  export interface VibeRuntimeState {
4
4
  activeReelPostId: VibeItemId | null;
5
5
  autoScroll: VibeAutoScrollState;
@@ -23,7 +23,7 @@ export interface VibeRuntimeState {
23
23
  reelForwardItem: VibeItem | null;
24
24
  reelInfoSheet: VibeReelInfoSheetState;
25
25
  reelInfoSheetOverlay: boolean;
26
- reelMediaSource: 'original' | 'preview';
26
+ reelMediaSource: VibeMediaSource;
27
27
  reelOrigin: 'masonry' | null;
28
28
  total: number | null;
29
29
  }