bidux 0.3.0 - Workflow refresh, auto-layout, and smarter suggestions ✨
This release reorders the BID workflow, introduces automatic layout selection, and adds accessibility- and telemetry-aware suggestions across the pipeline. It supersedes the unaccepted 0.2.0 submission; the previous public release was 0.1.0.
🚨 Breaking changes
- Stage order updated:
Interpret → Notice → Anticipate → Structure → Validate(more natural flow; still supports iteration). bid_structure()removeslayout: Layout is now auto-selected via deterministic heuristics from prior stages. Supplyinglayoutthrows a helpful error.- Field names standardized (returned objects):
previous_question→previous_central_questionprevious_story_hook→previous_hookuser_personas→personas(inbid_interpret()output)
⏳ Deprecation (warn now; remove in 0.4.0)
target_audienceinbid_notice()→ move audience tobid_interpret(data_story=..., user_personas=...).interaction_principlesinbid_anticipate()→ replaced byinclude_accessibility.
✨ New & improved
- Auto layout inference in
bid_structure()with ranked, concept-grouped suggestions (rationales + relevance scores). - Accessibility-focused mitigations in
bid_anticipate(include_accessibility = TRUE). - Validation flags in
bid_validate():include_exp_design,include_telemetry,include_empower_tools. - Telemetry-aware scoring that can avoid problematic patterns (e.g., tabs when
nav_dropoff_tabsdetected). - Improved context propagation across stages + clearer CLI messages.
- Comprehensive tests for heuristics, deprecation(s), telemetry integration, and errors.
🧭 Migration guide (quick)
Before (≤0.2.x):
notice <- bid_notice(
problem = "Users confused",
evidence = "High error rate",
target_audience = "Analysts"
)
anticipate <- bid_anticipate(
previous_stage = structure_result,
interaction_principles = list(hover = "Show details")
)After (0.3.0):
notice <- bid_notice(
problem = "Users confused",
evidence = "High error rate"
)
interpret <- bid_interpret(
previous_stage = notice,
data_story = list(audience = "Analysts")
)
anticipate <- bid_anticipate(
previous_stage = structure_result,
include_accessibility = TRUE
)
# Field access updates:
# previous_central_question (was previous_question)
# previous_hook (was previous_story_hook)See the full “MIGRATION GUIDE” section in
NEWS.mdfor more examples.
🧪 QA notes
R CMD check: 0 errors | 0 warnings | 0 notes- Examples/vignettes run quickly; no long-running examples.
📦 Install
-
CRAN:
install.packages("bidux") -
Development:
# install.packages("pak") pak::pak("jrwinget/bidux")
🙌 Acknowledgments
Thanks to the community and reviewers whose feedback informed this release.
📜 Full changelog
- See
NEWS.mdfor details. - Compare: v0.1.0...v0.3.0