Data Flow
QMapDataflow wrapper with config-driven props and tag-based context grouping
New in this cycle: QMapDataflow wrapper — tag-driven context grouping with exportable props
Why
The c17 QMapDataflow wrapper hardcoded QMap props directly. With the c18 config schema system in place, we wanted to rebuild it on createQMapConfig / resolveConfig so its props are tunable via DevConfigurator and exportable for new wrappers — replacing the earlier effort rather than extending it.
Objective
Rebuild QMapDataflow as a config-driven wrapper showing one source → destination connection, with tag-based view contexts (like c14's View Mode section) and full visual tuning via the c18 control components.
Key Changes
- 2026-04-16 — Landed in the
c18-c22batch commit (work recorded as starting 2026-03-30):- Rewrote
src/components/QMapDataflow.vueoncreateQMapConfig+resolveConfig, with aconfigOverridesprop for external tuning DATAFLOW_DEFAULTSconstant — QMapDataflow ships its own defaults optimized for 2-actor detail views;configOverridesis either-or, not layered (deep-merging a full config silently resets component defaults)- Added
highlightDataflowsoption ('all'/'none') toqmapConfigSchema.jsto control whether flow lines draw on render - New visual tuning controls via the multiplier pattern (post-hoc scale factors, no new math):
lineThickness,rugLabelScale,actorLabelScale,rugPadding, threaded config → QMap prop → getter → composable/engine, with live updates - Experiment at
dev/experiments/c19.data-flow/with view mode buttons (Flat, Security Zone, Team, Infrastructure) + DevConfigurator overlay; test data of 2 focal actors, 4 context siblings, 1 richly-tagged dataflow - Layer control polish: DevControlSlider always shows its current value; DevControlExport collapsed by default
- Rewrote
Outcome
Config-driven QMapDataflow with full visual tuning, replacing the c17 hardcoded wrapper. Established the multiplier pattern for adding visual controls without touching existing math, and surfaced the config-override merge-order lesson (full config objects as overrides must be either-or). This config-driven wrapper pattern carried into the c21/c22 session-map wrappers.
Visual record
9 captures — heroes, page slices, and full-page renders. Click to view.








