📣 Clarion Call: Beats, Pulses, and a Beat-Aware, Threaded Future for PulseCam
This issue captures a directional shift in how we think about PulseCam’s data model and long-term evolution — while preserving everything that makes PulseCam fast, intuitive, and export-friendly today.
PulseCam remains a push-to-record short creator.
What changes is how deeply structured that content can become.
🧭 Original Intent (Reaffirmed)
PulseCam excels at:
- Capturing many small recording moments
- Minimizing traditional editing friction
- Exporting finished shorts to TikTok, YouTube Shorts, and Instagram
All of that stays.
This proposal extends PulseCam so that the same recordings can also participate in:
- Beat-level navigation
- Replies and threading
- Private or hosted environments
- Rich metadata and transcripts
🧠 Core Vocabulary
Clip (existing, internal)
- A raw video file captured on-device
- May be long
- Edited today via non-destructive time offsets
Beat (new, first-class concept)
A beat is a privacy-final, addressable unit of intent.
- Represents exactly what the user intends to be seen
- Has its own UUID
- Has a title
- May include:
- A high-precision transcript (e.g., Whisper-class)
- Word-level timing offsets
- Is safe to:
- Share
- Link to
- Reply to
- Embed in transcripts or timelines
Not every clip is a beat.
A beat is what survives finalization.
Pulse
- An ordered collection of beats
- Conceptually what we “send”
- A pulse can always be flattened into a traditional short
- Pulses may themselves be replies to other pulses
🔀 Draft vs Finalized (Privacy Boundary)
Draft Phase
- Clips may be long
- Editing is non-destructive
- Timelines reference clips + offsets
- Clips may sync across devices
- Privacy is not yet finalized
Finalized Phase (Beat Creation)
- Beats are materialized as trimmed video assets
- Each beat gets a new UUID
- No beat references unseen footage
- Previously uploaded raw material is invalidated/deleted
- Pulses reference beats only
This boundary is non-negotiable and defines trust.
🔗 Replies, Hyperlinks, and Threading (Key Expansion)
PulseCam must support replies at multiple levels:
- Reply to an entire pulse
- Reply to a single beat
- Reply to multiple beats
Beat Ancestry
- Every beat may reference one or more parent beats
- This creates a navigable reply graph (not just a flat stitch)
Player Implications
When watching a beat:
- The player may display a subtle watermark or affordance indicating:
- “This beat is a reply to…”
- Users can tap to:
- View the referenced beat(s)
- Jump into their parent pulse
- Zoom out into a threaded view
Explicit goal:
Even deep reply chains should never feel disorienting.
🧵 Threaded Views (Conceptual Goal)
Future UI (not specified here) should allow:
- Navigating reply trees of beats
- Understanding where a beat sits in the broader conversation
- Moving fluidly between:
This is a deliberate improvement over stitch-based models where context is easily lost.
🏷️ Beat Titles & External Timelines
Each beat has a title, which enables:
- Timeline chapter markers when exporting to platforms like YouTube
- Human-readable navigation within pulses
- Alignment between:
- Video
- Timeline
- Transcript
A pulse exported as a short can surface beat titles as chapter cards automatically.
📝 Transcripts as a First-Class Surface
Beats may include high-quality transcripts with word-level timing.
Long-term vision:
- Transcripts are not just captions
- They are a navigational and compositional surface
Copy / Paste as Media Transport
In the future:
- Copying annotated transcript text is like copying rich text
- Pasted text retains:
- Beat UUID references
- Word timing offsets
- URLs back to the beat
- Clicking text can:
- Play the corresponding beat
- Reveal its context
Copying text carries the video with it.
This enables entirely new workflows:
- Re-quoting video by text
- Reassembling pulses via transcript
- Turning conversations into editable media graphs
🌐 PulseCam + PulseVault (Forward-Looking)
PulseVault (separate repo/app) may:
- Store beats and pulses
- Enable private sharing, replies, and voting
- Be self-hosted
PulseCam should be able to:
- Operate fully standalone
- Or become beat-aware when connected to a vault
This ticket does not design PulseVault — it ensures compatibility.
🧪 Open Experiment: OpenTimelineIO (OTIO)
For draft timelines and interchange:
- Investigate OpenTimelineIO (OTIO) as an editorial representation
- Possible mappings:
- Clips → OTIO media references
- Edits → time ranges
- Beat boundaries → markers / cuts
This is an experiment, not a mandate.
The goal is leverage and interoperability.
🚫 Non-Goals (For This Ticket)
- UI implementation details
- Thread visualization design
- Storage schemas
- Permissions / ACLs
- Streaming optimizations
This ticket defines conceptual ground truth.
✅ Success Criteria
This issue succeeds when:
- Beats are understood as:
- Addressable
- Titled
- Transcribed
- Replyable
- Pulses are understood as compositions, not files
- Replies are understood as beat-linked, not just video-linked
- Privacy boundaries are clear
- Future tickets can build confidently on this model
🏁 Closing
This is not just a video editor.
It’s a structured, conversational media system.
Getting the primitives right now unlocks everything that follows.
📣 Clarion Call: Beats, Pulses, and a Beat-Aware, Threaded Future for PulseCam
This issue captures a directional shift in how we think about PulseCam’s data model and long-term evolution — while preserving everything that makes PulseCam fast, intuitive, and export-friendly today.
PulseCam remains a push-to-record short creator.
What changes is how deeply structured that content can become.
🧭 Original Intent (Reaffirmed)
PulseCam excels at:
All of that stays.
This proposal extends PulseCam so that the same recordings can also participate in:
🧠 Core Vocabulary
Clip (existing, internal)
Beat (new, first-class concept)
A beat is a privacy-final, addressable unit of intent.
Pulse
🔀 Draft vs Finalized (Privacy Boundary)
Draft Phase
Finalized Phase (Beat Creation)
This boundary is non-negotiable and defines trust.
🔗 Replies, Hyperlinks, and Threading (Key Expansion)
PulseCam must support replies at multiple levels:
Beat Ancestry
Player Implications
When watching a beat:
Explicit goal:
Even deep reply chains should never feel disorienting.
🧵 Threaded Views (Conceptual Goal)
Future UI (not specified here) should allow:
This is a deliberate improvement over stitch-based models where context is easily lost.
🏷️ Beat Titles & External Timelines
Each beat has a title, which enables:
A pulse exported as a short can surface beat titles as chapter cards automatically.
📝 Transcripts as a First-Class Surface
Beats may include high-quality transcripts with word-level timing.
Long-term vision:
Copy / Paste as Media Transport
In the future:
This enables entirely new workflows:
🌐 PulseCam + PulseVault (Forward-Looking)
PulseVault (separate repo/app) may:
PulseCam should be able to:
This ticket does not design PulseVault — it ensures compatibility.
🧪 Open Experiment: OpenTimelineIO (OTIO)
For draft timelines and interchange:
This is an experiment, not a mandate.
The goal is leverage and interoperability.
🚫 Non-Goals (For This Ticket)
This ticket defines conceptual ground truth.
✅ Success Criteria
This issue succeeds when:
🏁 Closing
This is not just a video editor.
It’s a structured, conversational media system.
Getting the primitives right now unlocks everything that follows.