---
name: DrillStep
lang: cpp
domain: core
version: "1.0.0"
algebraic: product
definition: |
  struct DrillStep {
      int     target_stage;
      int     filter_pos;
      int     prev_active_stage;
      Filter  added;
  };
description: "Step de drill grabado para back/forward history (fase 10). apply_drill_step/undo_drill_step puras lo aplican/reversan."
tags: [tql, drill, history, undo, product-type]
uses_types: [Filter_cpp_core]
file_path: "cpp/functions/core/data_table_types.h"
---

## Notas

UI mantiene `vector<DrillStep>` back + forward stacks. Drill-down via click chart o tabla → push step a back, clear forward. Botones `<`/`>` en breadcrumb hacen pop+apply/undo.

NO persistido en TQL — UI state efimero. Forward clear cuando hay nuevo drill (rama nueva).
