Brand and design · Hi-fi screens · S24 Growth · Growth
Data-binding map: S24 Growth · Growth
Data-binding map of Growth · Growth: every field to its source, and what each required state shows.
Generated by
botgumi-design indexfrom../../screens.json. Edit that file, not this page.
Every field S24 shows and where it comes from.
| Field | Source (endpoint or local state) | Format | Fallback |
|---|---|---|---|
| range | call GET /growth · GET /v1/growth?range=4w|8w|12w |
segmented | 8w |
| language chips | api GET /growth languages[] · growth.languages[] → ?language= |
shown only when languages.length > 1; "All languages" + endonym + session count |
hidden |
| ability | api GET /growth ability · growth.ability, ability_delta_30d, sample_count, algo_version |
display + delta | null → baseline card growth.baseline.title with sample_count |
| ability | api GET /growth ability_delta_30d |
||
| ability | api GET /growth sample_count |
||
| ability | api GET /growth algo_version |
||
| level badge | api GET /me level.level · me.level.level |
— | — |
| trend label | api GET /growth trend · growth.trend |
growth.trend.<value> |
— |
| chart | api GET /growth series[].week_start · growth.series[].week_start / value / sample_n |
one point per week; value = null && sample_n = 0 → gap marker "None"; no interpolation; weeks before the first session are blank; partial current week (CCR-5) dashed |
— |
| chart | api GET /growth series[].value |
||
| chart | api GET /growth series[].sample_n |
||
| hook | api GET /growth next_unlock · growth.next_unlock (Accept-Language) |
lock pill | hidden when null |
| dimensions | api GET /growth dimensions[].label · growth.dimensions[].label (Accept-Language) / score / delta_30d / color_token |
bars | null score → "—" + "shown after 3 sessions" |
| dimensions | api GET /growth dimensions[].score |
||
| dimensions | api GET /growth dimensions[].delta_30d |
||
| dimensions | api GET /growth dimensions[].color_token |
||
| micro-skills | api GET /growth micro_skills[].title · growth.micro_skills[].title (Accept-Language) / suggested / achieved / mastery + current focus = me.focus.micro_skill_id |
pips + % | suggested = 0 → "not suggested yet" |
| micro-skills | api GET /growth micro_skills[].suggested |
||
| micro-skills | api GET /growth micro_skills[].achieved |
||
| micro-skills | api GET /growth micro_skills[].mastery |
||
| micro-skills | api GET /me focus.micro_skill_id |
||
| achievements | api GET /growth achievements[] · growth.achievements[] (Accept-Language) |
unlocked lime / locked progress | — |
| recent sessions | api GET /growth recent_sessions[] · growth.recent_sessions[] → article.title (article language), completed_at, round1_overall, round2_overall, duration_delta_ms, xp_awarded |
row | hide section when empty |
| empty | api GET /growth state · growth.state = empty |
empty state | — |
GET /v1/growth?range=4w|8w|12w&language= |
call GET /growth · From the board's data-bind; no row in data-binding.md yet. |
||
growth.ability_delta_30d |
api GET /growth ability_delta_30d · From the board's data-bind; no row in data-binding.md yet. |
||
growth.achievements[0] (Accept-Language) |
api GET /growth achievements[] · From the board's data-bind; no row in data-binding.md yet. |
||
growth.achievements[1] (Accept-Language) |
api GET /growth achievements[] · From the board's data-bind; no row in data-binding.md yet. |
||
growth.achievements[2] (Accept-Language) |
api GET /growth achievements[] · From the board's data-bind; no row in data-binding.md yet. |
||
growth.achievements[3] (Accept-Language) |
api GET /growth achievements[] · From the board's data-bind; no row in data-binding.md yet. |
||
growth.achievements[4] (Accept-Language) |
api GET /growth achievements[] · From the board's data-bind; no row in data-binding.md yet. |
||
growth.achievements[5] (Accept-Language) |
api GET /growth achievements[] · From the board's data-bind; no row in data-binding.md yet. |
||
growth.achievements[6] (Accept-Language) |
api GET /growth achievements[] · From the board's data-bind; no row in data-binding.md yet. |
||
growth.dimensions[0].delta_30d |
api GET /growth dimensions[].delta_30d · From the board's data-bind; no row in data-binding.md yet. |
||
growth.dimensions[0].label (Accept-Language) |
api GET /growth dimensions[].label · From the board's data-bind; no row in data-binding.md yet. |
||
growth.dimensions[0].score |
api GET /growth dimensions[].score · From the board's data-bind; no row in data-binding.md yet. |
||
growth.dimensions[1].delta_30d |
api GET /growth dimensions[].delta_30d · From the board's data-bind; no row in data-binding.md yet. |
||
growth.dimensions[1].label (Accept-Language) |
api GET /growth dimensions[].label · From the board's data-bind; no row in data-binding.md yet. |
||
growth.dimensions[1].score |
api GET /growth dimensions[].score · From the board's data-bind; no row in data-binding.md yet. |
||
growth.dimensions[2].delta_30d |
api GET /growth dimensions[].delta_30d · From the board's data-bind; no row in data-binding.md yet. |
||
growth.dimensions[2].label (Accept-Language) |
api GET /growth dimensions[].label · From the board's data-bind; no row in data-binding.md yet. |
||
growth.dimensions[2].score |
api GET /growth dimensions[].score · From the board's data-bind; no row in data-binding.md yet. |
||
growth.dimensions[3].delta_30d |
api GET /growth dimensions[].delta_30d · From the board's data-bind; no row in data-binding.md yet. |
||
growth.dimensions[3].label (Accept-Language) |
api GET /growth dimensions[].label · From the board's data-bind; no row in data-binding.md yet. |
||
growth.dimensions[3].score |
api GET /growth dimensions[].score · From the board's data-bind; no row in data-binding.md yet. |
||
growth.languages[0].language / sessions → GET /v1/growth?language= |
api GET /growth languages[].language · From the board's data-bind; no row in data-binding.md yet. |
||
growth.languages[0].language / sessions → GET /v1/growth?language= |
api GET /growth languages[].sessions |
||
growth.languages[0].language / sessions → GET /v1/growth?language= |
call GET /growth |
||
growth.languages[1].language / sessions → GET /v1/growth?language= |
api GET /growth languages[].language · From the board's data-bind; no row in data-binding.md yet. |
||
growth.languages[1].language / sessions → GET /v1/growth?language= |
api GET /growth languages[].sessions |
||
growth.languages[1].language / sessions → GET /v1/growth?language= |
call GET /growth |
||
growth.micro_skills[0] (mastery = achieved/suggested, last 10 sessions) |
api GET /growth micro_skills[] · From the board's data-bind; no row in data-binding.md yet. |
||
growth.micro_skills[1] (mastery = achieved/suggested, last 10 sessions) |
api GET /growth micro_skills[] · From the board's data-bind; no row in data-binding.md yet. |
||
growth.micro_skills[2] (mastery = achieved/suggested, last 10 sessions) |
api GET /growth micro_skills[] · From the board's data-bind; no row in data-binding.md yet. |
||
growth.micro_skills[3] (mastery = achieved/suggested, last 10 sessions) |
api GET /growth micro_skills[] · From the board's data-bind; no row in data-binding.md yet. |
||
growth.micro_skills[4] (mastery = achieved/suggested, last 10 sessions) |
api GET /growth micro_skills[] · From the board's data-bind; no row in data-binding.md yet. |
||
growth.micro_skills[5] (mastery = achieved/suggested, last 10 sessions) |
api GET /growth micro_skills[] · From the board's data-bind; no row in data-binding.md yet. |
||
growth.micro_skills[6] (mastery = achieved/suggested, last 10 sessions) |
api GET /growth micro_skills[] · From the board's data-bind; no row in data-binding.md yet. |
||
growth.next_unlock (Accept-Language) |
api GET /growth next_unlock · From the board's data-bind; no row in data-binding.md yet. |
||
growth.recent_sessions[0] |
api GET /growth recent_sessions[] · From the board's data-bind; no row in data-binding.md yet. |
||
growth.recent_sessions[1] |
api GET /growth recent_sessions[] · From the board's data-bind; no row in data-binding.md yet. |
||
growth.recent_sessions[2] |
api GET /growth recent_sessions[] · From the board's data-bind; no row in data-binding.md yet. |
||
growth.sample_count (ability = null) |
api GET /growth sample_count · From the board's data-bind; no row in data-binding.md yet. |
||
growth.sample_count + algo_version |
api GET /growth sample_count · From the board's data-bind; no row in data-binding.md yet. |
||
growth.sample_count + algo_version |
api GET /growth algo_version |
Binds on the boards
The data-bind values across every state.
GET /v1/growth?range=4w|8w|12w&language=growth.abilitygrowth.ability_delta_30dgrowth.achievements[0] (Accept-Language)growth.achievements[1] (Accept-Language)growth.achievements[2] (Accept-Language)growth.achievements[3] (Accept-Language)growth.achievements[4] (Accept-Language)growth.achievements[5] (Accept-Language)growth.achievements[6] (Accept-Language)growth.dimensions[0].delta_30dgrowth.dimensions[0].label (Accept-Language)growth.dimensions[0].scoregrowth.dimensions[1].delta_30dgrowth.dimensions[1].label (Accept-Language)growth.dimensions[1].scoregrowth.dimensions[2].delta_30dgrowth.dimensions[2].label (Accept-Language)growth.dimensions[2].scoregrowth.dimensions[3].delta_30dgrowth.dimensions[3].label (Accept-Language)growth.dimensions[3].scoregrowth.languages[0].language / sessions → GET /v1/growth?language=growth.languages[1].language / sessions → GET /v1/growth?language=growth.micro_skills[0] (mastery = achieved/suggested, last 10 sessions)growth.micro_skills[1] (mastery = achieved/suggested, last 10 sessions)growth.micro_skills[2] (mastery = achieved/suggested, last 10 sessions)growth.micro_skills[3] (mastery = achieved/suggested, last 10 sessions)growth.micro_skills[4] (mastery = achieved/suggested, last 10 sessions)growth.micro_skills[5] (mastery = achieved/suggested, last 10 sessions)growth.micro_skills[6] (mastery = achieved/suggested, last 10 sessions)growth.next_unlock (Accept-Language)growth.recent_sessions[0]growth.recent_sessions[1]growth.recent_sessions[2]growth.sample_count (ability = null)growth.sample_count + algo_versiongrowth.series[].week_start / value / sample_ngrowth.state = emptygrowth.trendme.level.level