How deniza-png/snap works
Snap is a local Chrome extension that replaces the Meet camera video track with a canvas-rendered feed. The main workflow is camera capture → empty-room reference capture → live/person-mask comparison → particle vanish/return → replacement video track in the call. Controls can trigger transitions manually or through microphone snap detection; hotkeys and sensitivity settings are additional capabilities. The excerpts show these connections; manifest details and other unsampled implementation are not inferred.
Main entry points: inject.js Camera and controls · effect.js Video pipeline · snapdetect.js Snap detector
Components 17
Controls
- Control pill
inject.js - Keyboard shortcuts
inject.js - Sensitivity setting
snapdetect.js
Video effects
- Video pipeline
effect.js - Empty-room reference
effect.js - Person mask
effect.js - Particle transition
effect.js - Rendered canvas
effect.js
Snap detection
- Snap detector
snapdetect.js - Microphone stream
Meet integration
- Camera and controls
inject.js - Camera stream
- Replacement video track
inject.js - Call audio track
inject.js
Other components
- Meet user
- Google Meet
- Meet call
Connections 25
- Meet user → Google Meet: joins call
- Google Meet → Camera and controls: requests camera
- Camera and controls → Camera stream: acquires
- Camera stream → Video pipeline: provides frames
- Camera and controls → Video pipeline: creates
- Control pill → Camera and controls: captures room
- Camera and controls → Video pipeline: captures reference
- Video pipeline → Empty-room reference: averages frames
- Video pipeline → Person mask: compares frames
- Empty-room reference → Person mask: background reference
- Person mask → Particle transition: drives dissolve
- Video pipeline → Rendered canvas: renders effect
- Particle transition → Rendered canvas: draws particles
- Rendered canvas → Replacement video track: captures stream
- Camera and controls → Replacement video track: returns track
- Replacement video track → Meet call: replaces camera video
- Call audio track → Meet call: preserves audio
- Control pill → Camera and controls: toggles effect
- Keyboard shortcuts → Camera and controls: toggles effect
- Camera and controls → Snap detector: starts detector
- Snap detector → Microphone stream: requests audio
- Snap detector → Camera and controls: signals snap
- Sensitivity setting → Snap detector: sets sensitivity
- Meet user → Control pill: uses controls
- Meet user → Keyboard shortcuts: uses shortcuts