PANA-8500: Add foundation for pixel-based Session Replay capture - #3697
Draft
jonathanmos wants to merge 5 commits into
Draft
PANA-8500: Add foundation for pixel-based Session Replay capture#3697jonathanmos wants to merge 5 commits into
jonathanmos wants to merge 5 commits into
Conversation
jonathanmos
force-pushed
the
jmoskovich/01-sr-new-pipeline
branch
from
August 6, 2026 10:20
cc8a3e4 to
c0c3b79
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this PR do?
Introduces the foundational models and pipeline selection for a new pixel-based Session Replay capture pipeline.
Unlike the existing pipeline, which uses semantic mappers for individual Android view types, the new pipeline captures the visual output of the application and represents it as an ordered composition tree.
This PR:
layerTreeRecordingfeature flag.Pipeline selection is exclusive: only the selected recorder is constructed, and it handles the complete lifecycle of that recording cycle.
Motivation
The existing Session Replay pipeline reconstructs the UI using semantic, type-specific view mappers. This requires explicit knowledge of Android widget implementations and ongoing mapper support for different UI components.
The new pipeline is based on captured visual output rather than semantic reconstruction. This reduces its dependence on individual widget types and provides a common foundation for capturing content produced by different Android UI technologies.
Before the capture implementation can be connected, the pipeline needs:
This PR provides those foundations. The pixel-capture implementation and recording loop will be connected in subsequent work.
Additional Notes
_SessionReplayInternalProxy.SessionReplayRecorderis created and the pixel-capture pipeline is not instantiated.Review checklist (to be filled by reviewers)