The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
Reduced default CRAN test time by skipping the full layout
stress-test suite unless LVMPLOT_FULL_TESTS=1 is set. The
default test suite now uses small toy data and keeps the long-running
geometry pressure tests conditional.
Improved the Shiny editor export synchronization so downloads use the current browser layout, node labels, style controls, selected/locked nodes, and other live editor state rather than stale initial values.
Added draggable coefficient labels in the Shiny editor. Manual
coefficient label positions are saved in State JSON, restored when the
state is loaded, included in Figure R code through
edge_style, and respected by SVG/PDF/PNG
downloads.
Simplified the Shiny editor by removing the user-facing quality/score panel from the interactive UI while keeping programmatic diagnostics, layout quality functions, and publication bundle quality reports available.
Prepared the first CRAN submission metadata, including maintainer, citation, license holder, CRAN comments, and source-build exclusions.
Renamed the package to lvmPlot and updated package
metadata, RStudio addins, documentation, citation text, tests, and
evaluation artifacts.
Added a unified latent variable model graph workflow for lavaan-style SEM/CFA, multilevel SEM, growth, bifactor, IRT/MIRT, Rasch, latent class/profile, OpenMx, semPlot, and Mplus-style outputs.
Added model-aware default layouts that keep measurement items aligned on a common horizontal or vertical axis when possible.
Added automatic summaries for very wide single-factor item
batteries so default diagrams keep a clean item layer and straight
loading edges instead of forcing dozens of indicators into an unreadable
fan; full diagrams remain available with
diagram = "all".
Improved SEM defaults for latent-to-latent structural models: common sparse SEMs now use a shared measurement layer, large indicator blocks stay on a single valid axis, and dense latent SEMs compact to a labeled structural backbone in automatic diagrams while full diagrams remain available.
Improved rendered node geometry for long and dense item labels: grid output now wraps long node labels, abbreviates dense structured item names, uses compact boxes for short item labels, and sizes wide item-axis exports so the rendered figure does not overlap even when diagnostics are clean.
Improved IRT/MIRT defaults for dense and cross-loaded item axes.
Automatic diagrams now summarize 20+ item axes to representative aligned
item blocks, suppress coefficient labels on those summaries, and
preserve full diagrams with diagram = "all".
Automatic diagrams now suppress covariance edges that are parallel to a directed path between the same two nodes, which keeps multilevel SEM path diagrams from drawing duplicate straight edges and overlapping parameter labels by default.
Improved multilevel SEM defaults for repeated same-name variables and cross-level feedback skeletons: latent nodes are spaced using rendered visual extents, measurement blocks keep aligned item axes with wider vertical gaps, and structural multilevel diagrams use a conservative two-dimensional local search to clear straight-edge node collisions without exploding edge length.
Added bounded dense-SEM repair heuristics for straight-edge diagrams, including rigid indicator-block repair and structural-only coordinate search to remove hard node and edge-node overlaps without letting coefficient labels drive node placement.
Added a dense-auto SEM fast path that skips unnecessary full measurement layout for automatic structural summaries and uses a planar straight-edge skeleton when the compact graph supports it.
Removed an unnecessary legacy SEM-layout pass from lavaan-style LVM adapters, making full dense SEM graph preparation substantially faster while preserving custom layout support.
Improved loading-label placement for dense bifactor and MIRT/MIRT-like fans so forced standardized labels stay clear of adjacent edges, traits, and items.
Reduced dense loading-fan label diagnostics runtime by using adaptive optimizer iterations while preserving zero label overlaps in the wide bifactor pressure case.
Added panel-aware longitudinal layouts for cross-lagged path models, with standard time layers, clear coefficient labels, and review-level scoring for unavoidable reciprocal cross-lag crossings.
Improved tricky LVM defaults for parallel-process growth, wide bifactor, wide LCA/profile summaries, and wide higher-order loading fans.
Added multigroup lavaan edge collapsing so automatic diagrams summarize repeated group-specific loadings and covariances instead of overplotting them.
Improved pure CFA and EFA defaults: automatic CFA diagrams now suppress latent covariance meshes unless requested, and EFA/psych loading objects default to primary-loading summaries while full cross-loading diagrams remain available.
Added geometry diagnostics for node overlaps, edge-node collisions, edge crossings, label-label collisions, label-node collisions, and label-edge collisions.
Added layout_quality() to summarize diagnostics as a
publication-readiness score, grade, status, and issue table.
Added check_lvm_layout() as an assertion-style
publication gate for R Markdown, CI, and manuscript scripts, and
connected the same gates to
export_lvm_bundle(check = TRUE).
Added select_lvm_layout() to score candidate
orientation, layout, diagram, and routing settings and select the best
publication-ready graph.
Added publication export helpers for RStudio plots, SVG, PDF, PNG, and TikZ.
Added export_lvm_bundle() to write manuscript-ready
PDF/PNG/SVG/TikZ artifacts together with graph tables, diagnostics,
quality reports, metadata, session information, and optional automatic
layout-selection records.
Added built-in themes and lvm_style() controls for
font sizes, node sizes, line widths, colors, and whole-figure scaling in
both grid and TikZ output.
Added local competitor and model-family evaluation scripts used by the draft software article and supplement.
Added tools/stress-test-layouts.R to regenerate a
multi-family pressure test gallery and diagnostics table for CFA, SEM,
higher-order, bifactor, growth, LCA, MIRT, observed-outcome, and
multilevel SEM diagrams, including separate default-clean and
forced-standardized-label quality columns.
Added tools/stress-test-tricky-layouts.R for
adversarial long-name CFA, dense covariance CFA, cross-lagged panel,
parallel-process growth, wide bifactor, four-trait MIRT, wide LCA,
higher-order, three-level multilevel SEM, and mixed observed/latent path
diagrams.
Added tools/stress-test-fitted-models.R for real
fitted objects: ordinal and multigroup lavaan CFA, observed lavaan CLPM,
lavaan growth, semPlotModel, mclust LPA, mirt 2PL, eRm Rasch, OpenMx
RAM, and psych::fa.
Added tools/stress-test-adversarial-layouts.R for
hard geometry cases: long custom labels, 60-item single-factor
batteries, ten-factor CFA, dense structural SEM, cross-loaded MIRT,
dense LCA, forced full LCA, and multilevel SEM with repeated variable
names.
Added tools/run-validation-suite.R to run the
pressure, tricky, adversarial, and fitted stress suites and write a
single validation summary/report with session and package-version
metadata.
Added paper/reproduce-submission-bundle.R to
orchestrate tests, galleries, validation, competitor audit,
manuscript/supplement PDF builds, and optional R CMD check
for submission-style reproduction.
Expanded the competitor audit with documentation-source and model-family coverage matrices for semPlot, lavaanPlot, tidySEM, semptools, lavaangui, qgraph, Onyx, and lvmPlot.
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.