Commodity Board: Control The Universe With Root Filters
A beginner-safe Commodity Board lesson for using Gold, Silver, Copper, Crude, Natural Gas, optional roots, and unavailable roots as scope controls before interpreting a live board.
Educational only
The examples teach workflow and risk framing. They do not provide trade recommendations, personalized advice, leverage guidance, or guaranteed outcomes.
Chapter 01
Start with the roots linked to today's question
Trader question
Which commodity families actually belong in this board read?
Root filters should follow the written market question. The learner should select Gold, Silver, Copper, Crude, Natural Gas, or All because those roots answer the current desk job.
Desk checklist
- Write the desk question first.
- Select roots that answer that question.
- Use All for discovery, not final interpretation.
Interactive proof
Root filter pills, All button, and visible Market Grid rows
Toggle root pills in the workbench and watch the board, note, and warning state change with the selected scope.
Root filters are a scope-control habit. They should shrink the board to the commodity families that answer the written question, while making excluded and unavailable roots explicit in the note.
Interactive desk lab
Commodity Board Root Filter Workbench
A practical Commodity Board lab for toggling root filters, watching the visible board universe change, and saving included, excluded, and unavailable roots into the desk note.
A practical Commodity Board lab for toggling root filters, watching the visible board universe change, and saving included, excluded, and unavailable roots into the desk note.
Root pills remove unrelated rows
A crowded board shrinks as Gold and Silver root pills stay active while unrelated commodity families fade.
All root pills are visible above a broad board.
The desk question asks for a bullion-first read.
Gold and Silver stay active while energy and base-metal rows fade.
The final caption says filter by question, not by habit.
Remotion code
CommodityBoardRootPills
The snippet is stored with the lesson so a future Remotion project can render the chapter video.
Show component snippet
import {AbsoluteFill, Easing, Sequence, interpolate, useCurrentFrame} from "remotion";
const roots = ["Gold", "Silver", "Copper", "Crude", "Natural Gas"];
const rows = [
{name: "MCX Gold Jun", root: "Gold"},
{name: "MCX Silver Jul", root: "Silver"},
{name: "Copper", root: "Copper"},
{name: "Crude Oil", root: "Crude"},
{name: "Natural Gas", root: "Natural Gas"},
];
export const CommodityBoardRootPills = () => {
const frame = useCurrentFrame();
const filter = interpolate(frame, [34, 96], [0, 1], {
extrapolateLeft: "clamp",
extrapolateRight: "clamp",
easing: Easing.bezier(0.16, 1, 0.3, 1),
});
return (
<AbsoluteFill style={{background: "#fff8e8", color: "#071528", padding: 72}}>
<h1 style={{fontSize: 54, lineHeight: 1}}>Let the question choose the roots.</h1>
<div style={{marginTop: 38, padding: 20, background: "#fffdf7", border: "1px solid rgba(7,21,40,0.16)", fontSize: 26, fontWeight: 900}}>
Desk question: which bullion rows need a first pass?
</div>
<div style={{marginTop: 26, display: "flex", gap: 12, flexWrap: "wrap"}}>
{roots.map((root) => {
const keep = root === "Gold" || root === "Silver";
return (
<div key={root} style={{opacity: keep ? 1 : interpolate(filter, [0, 1], [1, 0.24]), padding: "14px 18px", background: keep ? "#fff4d6" : "#f7f1e4", border: "2px solid " + (keep ? "#c98718" : "rgba(7,21,40,0.14)"), fontSize: 23, fontWeight: 950}}>
{root}
</div>
);
})}
</div>
<div style={{marginTop: 28, display: "grid", gridTemplateColumns: "repeat(5, 1fr)", gap: 12}}>
{rows.map((row) => {
const keep = row.root === "Gold" || row.root === "Silver";
return (
<div key={row.name} style={{opacity: keep ? 1 : interpolate(filter, [0, 1], [1, 0.16]), minHeight: 112, padding: 18, background: keep ? "#dcebe2" : "#f7f1e4", color: keep ? "#20724f" : "#5d6572", border: "1px solid rgba(7,21,40,0.16)", fontSize: 22, fontWeight: 900}}>
{row.name}
</div>
);
})}
</div>
<Sequence from={106} layout="none">
<p style={{marginTop: 28, fontSize: 28, color: "#805407", fontWeight: 900}}>Root filters reduce the comparison set before the story starts.</p>
</Sequence>
</AbsoluteFill>
);
};Sources used for this tutorial
Next step
Open the tool with the checklist beside you.
Move from the lesson into the matching Bullion Brains tool, keep the checklist visible, and treat the output as evidence until the caveats are clear.