The shape of a build's bk_client_context (see
MobileApplicationState.bloksClientContext): which keys the build
sends, in the order it sends them. The values are read from their owners at
render time — the Bloks version from MobileApplicationState.BLOKS_VERSION_ID,
the theme from MobileApplicationState.bloksThemeParams, the style
sheet the app's own instagram, and the pixel_ratio from the device's
screen scale, read by the platform (MobileDisplayScaleWire); a key whose value the build does not
carry (a theme-less build's theme_params) is omitted rather than sent
empty. The profile owns only the shape, which is a build fact; the screen
scale is a device fact, so a generated scale-2 device and its user-agent
cannot disagree with the Bloks context.
The shape of a build's
bk_client_context(see MobileApplicationState.bloksClientContext): which keys the build sends, in the order it sends them. The values are read from their owners at render time — the Bloks version from MobileApplicationState.BLOKS_VERSION_ID, the theme from MobileApplicationState.bloksThemeParams, the style sheet the app's owninstagram, and thepixel_ratiofrom the device's screen scale, read by the platform (MobileDisplayScaleWire); a key whose value the build does not carry (a theme-less build'stheme_params) is omitted rather than sent empty. The profile owns only the shape, which is a build fact; the screen scale is a device fact, so a generated scale-2 device and its user-agent cannot disagree with the Bloks context.