understanding_rl_vision/rl_clarity/svelte/attribution_selector.svelte (53 lines of code) (raw):

<script> export let type = null; export let data = null; export let action_htmls = null; export let action_groups = null; export let max_width; let type_and_data = type + (data === null ? "" : ":" + data.toString()); $: { if (type_and_data.indexOf(":") === -1) { type = type_and_data; data = null; } else { let type_and_data_split = type_and_data.split(":"); type = type_and_data_split[0]; data = parseInt(type_and_data_split[1]); } } </script> <style> td { padding: 0.25em; } label { white-space: nowrap; border: 1px solid gray; } </style> <td style="max-width: {max_width};"> <p> <label><input type="radio" bind:group={type_and_data} value="v">value function</label> </p> <p> policy logits:<br> {#each action_htmls as action_html, action} <label> <input type="radio" bind:group={type_and_data} value="action:{action}"> {@html action_html} </label> <span></span> {/each} </p> <p> sums of policy logits:<br> {#each action_groups as actions, action_group} <label> <input type="radio" bind:group={type_and_data} value="action_group:{action_group}"> {@html actions.map(action => action_htmls[action]).join(" | ")} </label> <span></span> {/each} </p> </td>