Contexto: planeo crear una herramienta que nos permita crear un diagrama de flujo y luego importar los datos del diagrama de flujo en un archivo JSON que luego se puede utilizar en otros servicios.
Soy nuevo en js y escuché mucho sobre d3. Entonces, ¿d3 es capaz de hacer eso?
En mi humilde opinión, d3.js es bueno para mostrar datos (de ahí el nombre de "documentos basados en datos"), sin embargo, no es tan adecuado para crear un editor que permita a los usuarios "crear datos a partir de visualizaciones/documentos, que sería "cdv.js" ;-) ).
D3.js no tiene un modelo gráfico fuerte y de hecho acepta todo tipo de datos para crear una visualización de los mismos, pero ahí tendrías que implementar toda la interactividad que resulte en la modificación o creación de tus datos (elementos de diagrama de flujo) básicamente desde rascar.
En su lugar, le sugiero que eche un vistazo a una herramienta que proporcione una sólida funcionalidad de edición de diagramas. Un par de ellos se enumeran en las respuestas de esta pregunta .
Con herramientas más sofisticadas como las que se enumeran allí, puede crear editores de diagramas sofisticados como este . Tienen capacidades integradas de edición de gráficos, en lugar de solo capacidades de visualización de gráficos.
También puede hacer esto sobre d3.js, pero d3.js ayudará principalmente con la visualización, pero no tanto con la interactividad.