LyricLayer — REVIEWER GUIDE
Prepared 3 October 2026 by the publisher, Perfsn / raccooovl.

Find lyrics independently of a YouTube video’s captions, then follow timed lines in the player or a floating window. A supported lyric source must have a suitable recording.

START HERE
Extract the whole ZIP, then open index.html for the illustrated offline guide. Official store installation is linked there. This archive contains review material, not an extension installer.

RELEASE SNAPSHOT
The publisher’s current README reports Chrome 0.9.4 and Edge 0.9.3 as published on 3 October. Both include floating lyrics, timing repair and practice controls. Version 0.9.4 changes the name and store description; functionality and data handling match 0.9.3.
Current public publisher README checked through the connected GitHub API on 3 October 2026. Record the version installed from the store when reviewing; availability can change.

PRODUCT FACTS
- Matching timed lyrics can appear over the YouTube player or in a compact/scrolling floating window.
- Choose a recording, set a timing delay, repair individual lines, import LRC lyrics and practise with A/B verse loops.
- Fresh 0.9.x installations automatically search and display matching lyrics; an existing explicit Off preference is preserved.
- LRCLIB and NetEase are enabled by default. Kugou is optional. Source selection and automatic timing controls are separate.

LIMITATIONS
- No guarantee of lyrics, a correct recording match or perfect timing for every song. Covers, live performances, intros and edited videos can require manual work.
- Floating lyrics require Document Picture-in-Picture support. The source YouTube tab must remain open. This is a desktop browser extension.
- Untimed lyrics remain readable; they do not acquire verified timing merely because they are displayed.
- Verse loops are temporary. Off, navigation, ads or changed timing can clear them. Source translations and word timing depend on available provider data.

PRIVACY
- Enabled lyric providers receive song searches and ordinary connection information, including IP address. Requests go directly to those providers; their retention is governed by their own policies.
- Preferences and up to 40 selected-video entries are saved in local extension storage, not browser sync. Saved entries can include video IDs, lyrics and timing edits.
- Automatic caption timing reads the current video’s available caption tracks. Eligible live/acoustic audio matching runs locally with bundled model weights; audio and raw captions are not uploaded by the extension.
- No publisher analytics, advertising, account system or publisher lyric server. Local audio matching and automatic timing can be disabled independently.

PERMISSIONS
storage: Local preferences, selected lyrics and timing edits.
activeTab: Toolbar controls for the current YouTube tab.
offscreen: Local audio-matching worker.
Site access: YouTube content scripts; direct lyric requests to lrclib.net, lyrics.kugou.com and music.163.com. A listed provider permission does not mean a disabled provider receives new searches.

REVIEW WORKFLOW — EXPECTED RESULTS, NOT A COMPLETED TEST
1. Start clean
Install from your browser’s official store. Record the version, refresh a desktop YouTube watch page and open the Lyrics controls.
Expected: The controls appear after refresh. Existing Off settings may require turning lyrics on.

2. Check a provider match
Choose a song you know. Compare the selected artist, recording and duration. Try a second recording if offered.
Expected: Report whether a match was found and whether it is the same performance. Keep no-match cases in the review.

3. Use the supplied timing sample
On a test video longer than 35 seconds, open Settings → Import or time lyrics. Import or paste tests/reviewer-timing-sample.lrc and choose Use LRC. Reset Delay to 0.
Expected: The original sample lines follow the video clock at 5, 10, 15, 20, 25 and 30 seconds. This tests local import/display; it does not test song recognition.

4. Adjust delay
With the sample selected, enter a +2.00 second delay, then replay from the start. Reset the delay after checking.
Expected: The first sample line should begin near 7 seconds instead of 5. Record observed timing, including any discrepancy.

5. Try the floating view
Click Float or Float lyrics. Switch between Compact and Scrolling, then use another application while keeping the source tab open.
Expected: Lyrics remain visible in a supported browser. Playback controls act on the existing YouTube player. Record if the browser lacks the required API.

6. Practise and clean up
Set A near 10 seconds and B near 20 seconds in the practice controls; start then clear the loop. Use Forget this video to remove the test import.
Expected: The selected section repeats while the loop is active. Clearing it restores normal playback. Record your result; no test result is prefilled.

Use review-notes.csv to record actual observations. The blank rows are deliberately marked Untested.

ASSETS AND PROVENANCE
Original PNGs are unchanged. Some are historical website captures; others are clearly labelled extension interface previews with sample data. MP4s are silent walkthroughs assembled from saved screenshots on 1 October 2026. They do not establish continuous playback, current live interaction, or performance across other pages.
lyric-youtube.png: Actual YouTube page capture showing a visible lyric overlay. The panel is v0.8.1, so this is historical evidence, not a screenshot of the current release. It does not prove caption absence or continuous synchronization.
lyric-floating.png: Actual v0.9.4 extension interface in a development preview with fictional song data. The floating window is shown inside a preview frame. Preserve the visible sample-data label.
lyric-timing.png: Actual v0.9.4 extension interface in a development preview with original sample lyrics. This illustrates the controls, not a live provider match.
walkthroughs/: landscape and portrait H.264 MP4; 18 seconds each; no audio. These are saved-screenshot walkthroughs, not fresh screen recordings.
asset-provenance.json: dimensions, source collection, original filenames and SHA-256 for screenshots/videos.

EDITORIAL USE
Preserve sample-data and historical-capture descriptions. Do not present a screenshot walkthrough as a live interaction or a testimonial. Third-party interfaces, video imagery, lyrics, names and trademarks belong to their respective owners. This kit does not grant rights beyond those the publisher holds. Independent review findings are welcome; no favorable review is required.

SUPPORT
Send the extension/browser versions, page type or video URL, reproduction steps and observed result to support@perfsn.xyz or the repository Issues page. Review screenshots and diagnostics for private information before sharing. GitHub issues are public.

LINKS
Chrome store: https://chromewebstore.google.com/detail/ekpbclfackdloffiamdcmkhkjjbkbdad
Edge store: https://microsoftedge.microsoft.com/addons/detail/dgblkpdhepmipbldmbdgdkhpnhaoghph
Product page: https://perfsn-extensions.basstank2004.chatgpt.site/lyriclayer/
Setup guide: https://perfsn-extensions.basstank2004.chatgpt.site/lyriclayer/guide/
Public repository: https://github.com/raccooovl/lyriclayer
Privacy policy: https://github.com/raccooovl/lyriclayer/blob/main/PRIVACY.md
Support: mailto:support@perfsn.xyz

SOURCE LICENSE
Proprietary. The public GitHub repository contains policy and support information; it does not publish the extension runtime source.

FACT SOURCES
Current release and usage: https://github.com/raccooovl/lyriclayer/blob/main/README.md (Git blob c8a63339488d8880bc686966884ea2d8c704d1a4)
Privacy policy: https://github.com/raccooovl/lyriclayer/blob/main/PRIVACY.md (Git blob a860b9624b4fe1f911b3d3ebef683dbfa17f0e56)
