Code
library(DiagrammeR)
grViz("
digraph shiny_anatomy {
graph [rankdir=LR, bgcolor='transparent', fontname='Helvetica']
node [fontname='Helvetica', fontsize=11, style='filled,rounded', shape=box]
user [label='User\n(Browser)', fillcolor='#76b7b2', fontcolor='white',
shape=ellipse, width=1.5]
subgraph cluster_ui {
label='UI (Frontend)'
style=filled
fillcolor='#d4e6f1'
inputs [label='Input Widgets\n(sliders, dropdowns,\ntext boxes)',
fillcolor='#4e79a7', fontcolor='white']
outputs [label='Output Displays\n(plots, tables,\nresults)',
fillcolor='#4e79a7', fontcolor='white']
}
subgraph cluster_server {
label='Server (R Logic)'
style=filled
fillcolor='#d5f5e3'
model [label='HTA Model\n(tree, Markov,\nPSM, etc)',
fillcolor='#59a14f', fontcolor='white']
render [label='Render Outputs\n(create plots,\ncompute ICER)',
fillcolor='#59a14f', fontcolor='white']
}
user -> inputs [label='Adjusts\nsliders']
inputs -> model [label='Send\nparameters']
model -> render [label='Calculate']
render -> outputs [label='Update']
outputs -> user [label='Display\nresults']
}
")