Skip to content

fix(deps): update dependency liblaf-cherries to v3.0.3 - #107

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/liblaf-cherries-3.x
Open

renovate[bot] wants to merge 1 commit into
mainfrom
renovate/liblaf-cherries-3.x

Conversation

@renovate

@renovate renovate Bot commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
liblaf-cherries (changelog) ==3.0.2 → ==3.0.3 age adoption passing confidence

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

liblaf/cherries (liblaf-cherries)

v3.0.3

Compare Source

🐛 Bug Fixes
❤️ Contributors

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@liblaf-mega-linter

liblaf-mega-linter Bot commented Oct 2, 2026 •

Copy link
Copy Markdown

✅⚠️MegaLinter analysis: Success with warnings

Descriptor Linter Files Fixed Errors Max errors Warnings Elapsed time
✅ BASH shellcheck 2 0 0 0.06s
✅ BASH shfmt 2 0 0 0 4.21s
⚠️ COPYPASTE jscpd yes 4047 no 24.16s
✅ JSON jsonlint 57 0 0 0.14s
✅ JSON prettier 57 19 0 0 6.1s
✅ JSON v8r 57 0 0 10.43s
⚠️ MARKDOWN rumdl 477 9 1 0 5.67s
⚠️ PYTHON ruff yes yes 1324 no 5.77s
✅ PYTHON ruff-format yes yes no no 0.95s
✅ REPOSITORY git_diff yes no no 5.8s
⚠️ SPELL cspell 1867 6594 0 143.7s

Detailed Issues

⚠️ SPELL / cspell - 6594 errors
wing .cspell.json file at the root of your repository
Of course, please correct real typos before :)

{
    "version": "0.2",
    "language": "en",
    "ignorePaths": [
        "**/node_modules/**",
        "**/vscode-extension/**",
        "**/.git/**",
        "**/.pnpm-lock.json",
        ".vscode",
        "package-lock.json",
        "megalinter-reports"
    ],
    "words": [
        "ACTIV",
        "AREF",
        "ATOLS",
        "Ainv",
        "Ajou",
        "Ambrosi",
        "Angrigiani",
        "Annaidh",
        "Aplus",
        "Aref",
        "Armijo",
        "Armijo's",
        "Arti",
        "Atrue",
        "BIII",
        "BLAS",
        "Badin",
        "Barbarino",
        "Behav",
        "Bettega",
        "Bhat",
        "Bhojanapalli",
        "Blemker",
        "Bodner",
        "Bruyere",
        "Bucinator",
        "CMAP",
        "CUDSS",
        "Choi",
        "Cudss",
        "Cupy",
        "DGXS",
        "DMCFC",
        "Dongguk",
        "Dphi",
        "D\u2098\u1d40F\u1d40",
        "ECDF",
        "Efat",
        "Eigenpair",
        "Eigenproblems",
        "Eigensolvers",
        "Emin",
        "Epicranial",
        "Eskes",
        "Esmas",
        "Exponentiating",
        "FROBENIUS",
        "FXAA",
        "Fedkiw",
        "Fels",
        "Freudenthal",
        "Frobenius",
        "Frontalis",
        "GIPC",
        "Giantesio",
        "Gosain",
        "Gouraud",
        "Groleau",
        "Hdiag",
        "Higham",
        "IHDR",
        "IOXML",
        "ISFIXED",
        "Jabareen",
        "Jmin",
        "Jold",
        "KOITER",
        "Koiter",
        "Krylov",
        "Kyrillidis",
        "LANCZOS",
        "LAPACK",
        "LDLT",
        "LIBGL",
        "LNCS",
        "Lam\u00e9",
        "Lanczos",
        "Lartizien",
        "Lgrad",
        "Linf",
        "Loewner",
        "Lpos",
        "Lres",
        "MTYPE",
        "MVIEW",
        "Mapelli",
        "Marquardt",
        "Mazza",
        "Musesti",
        "NPIVOTS",
        "NUMEXPR",
        "NVML",
        "Nasolabial",
        "Nazari",
        "Nelder",
        "Neverov",
        "Nyquist",
        "OFAT",
        "OPENBLAS",
        "ORCID",
        "Optimisation",
        "Ottenio",
        "O\u00f1ate",
        "PGTOL",
        "PMID",
        "PSNR",
        "PVBATCH",
        "PYTHONDONTWRITEBYTECODE",
        "PYTHONUNBUFFERED",
        "Paluch",
        "Parameterizations",
        "Paratera",
        "Payan",
        "Pessa",
        "Pezzuto",
        "Popen",
        "QREF",
        "Qhat",
        "Qmax",
        "Qref",
        "REFACTORIZATION",
        "RGBA",
        "Rei\u00df",
        "Reorthogonalize",
        "Retarget",
        "Riccobelli",
        "Riesz",
        "Rochette",
        "Rodrigues",
        "SLSQP",
        "Segoe",
        "Sifakis",
        "Stavness",
        "Taberner",
        "Temporoparietalis",
        "Teran",
        "Tereshenko",
        "Ternifi",
        "Tikhonov",
        "Trzewik",
        "UNCONVERGED",
        "UNORIENTED",
        "Uncheckpointed",
        "Unconverged",
        "Undeformed",
        "Unreachability",
        "Unregularized",
        "Unshifted",
        "VTKHDF",
        "Viridis",
        "Vmuscle",
        "Weickenmeier",
        "Yeoh",
        "ZYGO",
        "Zenodo",
        "advected",
        "aguli",
        "ainv",
        "amax",
        "amsgrad",
        "arities",
        "armijo",
        "artisynth",
        "asarray",
        "asfortranarray",
        "asnumpy",
        "atol",
        "atols",
        "axhline",
        "axisymmetric",
        "axvline",
        "axvspan",
        "azero",
        "azim",
        "badinjaw",
        "bary",
        "barycentrics",
        "bijective",
        "bmat",
        "bmatrix",
        "brentq",
        "capturable",
        "cellid",
        "cividis",
        "ckij",
        "clim",
        "cmap",
        "cmass",
        "cmdline",
        "cofactors",
        "corrcoef",
        "counterfactuals",
        "covector",
        "covectors",
        "cran",
        "csgraph",
        "cudss",
        "cupy",
        "cupyx",
        "darea",
        "dcof",
        "ddda",
        "dejavu",
        "deta",
        "detf",
        "detg",
        "deviatoric",
        "dhdx",
        "differenced",
        "dpsi",
        "dtheta",
        "dtype",
        "dtypes",
        "edof",
        "efat",
        "eigen",
        "eigenaxis",
        "eigendata",
        "eigendecomposition",
        "eigendecompositions",
        "eigenmode",
        "eigenmodes",
        "eigenpair",
        "eigenpairs",
        "eigensolver",
        "eigenspace",
        "eigenstrain",
        "eigensystem",
        "eigensystems",
        "eigenvisualization",
        "eigmin",
        "eigval",
        "eigvec",
        "elastography",
        "eminus",
        "epicranial",
        "eplus",
        "evals",
        "exponentials",
        "fatol",
        "fdeg",
        "feab",
        "feia",
        "femtometre",
        "ffprobe",
        "fftfreq",
        "finalizer",
        "frameon",
        "frobenius",
        "frontalis",
        "ftol",
        "f\u1d62f\u1d62\u1d40",
        "genfromtxt",
        "gfit",
        "gltf",
        "gminus",
        "gname",
        "gouraud",
        "gplus",
        "gsmooth",
        "gtheta",
        "gtol",
        "halvings",
        "hanning",
        "hhat",
        "hlines",
        "hnorm",
        "homotopy",
        "hpfd",
        "hreceipt",
        "hspace",
        "iinfo",
        "imread",
        "imshow",
        "indptr",
        "ineq",
        "ineqlin",
        "infty",
        "injective",
        "interp",
        "intp",
        "intraop",
        "invariances",
        "invertibility",
        "isface",
        "isfinite",
        "isfixed",
        "issubdtype",
        "jbiomech",
        "jmbbm",
        "journalctl",
        "jsonable",
        "jvalue",
        "koiter",
        "kron",
        "lanczos",
        "ldlt",
        "lede",
        "lerp",
        "libc",
        "libcudss",
        "libx",
        "linearization",
        "linf",
        "linkify",
        "lipschitz",
        "lstsq",
        "mand",
        "mathbb",
        "mathbf",
        "mathrm",
        "mathsf",
        "matvecs",
        "maxe",
        "maxls",
        "maxrss",
        "max\u2096",
        "mechanobiology",
        "mhat",
        "millimetre",
        "movflags",
        "mplot",
        "nanometres",
        "nasolabial",
        "nasolabialis",
        "nbins",
        "ncol",
        "ndimage",
        "neighbour",
        "neighbouring",
        "newq",
        "nfev",
        "nfree",
        "nmant",
        "nminus",
        "nnls",
        "noheader",
        "nolegend",
        "nonmand",
        "noopener",
        "nosmooth",
        "nplus",
        "npoints",
        "npyio",
        "nskin",
        "nvml",
        "onchange",
        "orcid",
        "parameterizations",
        "paratera",
        "parotideomasseteric",
        "pdist",
        "pfull",
        "philtrum",
        "pidfd",
        "pids",
        "pmatrix",
        "pngs",
        "pointid",
        "poroelastic",
        "ppid",
        "pstep",
        "pvbatch",
        "pvpython",
        "pyipctk",
        "pyproject",
        "qhat",
        "qreceipt",
        "qref",
        "qstep",
        "qvalue",
        "qzero",
        "randn",
        "rcond",
        "recoloured",
        "recomputations",
        "reequilibrated",
        "reequilibration",
        "reequilibrium",
        "refactorization",
        "refactorize",
        "regularised",
        "regularizers",
        "remesh",
        "remeshed",
        "remeshing",
        "reorthogonalization",
        "rerasterized",
        "retinacula",
        "rfft",
        "rfftfreq",
        "riesz",
        "rois",
        "rotvec",
        "rprecondition",
        "scalings",
        "sharey",
        "signum",
        "slugification",
        "splu",
        "spmv",
        "spsolve",
        "ssaa",
        "stationarity",
        "supxlabel",
        "tcij",
        "tetrahedralization",
        "tetrahedralize",
        "toarray",
        "tobytes",
        "tocoo",
        "tocsc",
        "tocsr",
        "tofile",
        "tolist",
        "tridiagonal",
        "tril",
        "tris",
        "twinx",
        "unactivated",
        "unadmitted",
        "uncheckpointed",
        "unclipped",
        "uncomposited",
        "uncontended",
        "unconverged",
        "undeformed",
        "unfloored",
        "uninverted",
        "unlaunched",
        "unoriented",
        "unphysical",
        "unprojected",
        "unreachability",
        "unreaped",
        "unregularized",
        "unrelaxed",
        "unreproduced",
        "unrun",
        "unshifted",
        "unsmoothed",
        "unstarred",
        "untimed",
        "unvalidated",
        "vecs",
        "vermillion",
        "vhat",
        "viridis",
        "viscoelastic",
        "viscoelasticity",
        "viscoplastic",
        "vlines",
        "vmax",
        "vmin",
        "vtkhdf",
        "vtkmodules",
        "vtus",
        "v\u1d40Hv",
        "wspace",
        "xatol",
        "xhat",
        "xlim",
        "xscale",
        "xtick",
        "xticklabels",
        "xticks",
        "xtol",
        "xytext",
        "xyxy",
        "ydata",
        "yerr",
        "ylim",
        "yscale",
        "ytick",
        "yticklabels",
        "yticks",
        "zanatomy",
        "zaxis",
        "zenodo",
        "zlabel",
        "zlim",
        "zorder",
        "zticks",
        "z\u2096n\u2096n\u2096\u1d40",
        "\u0394fit",
        "\u0394motion",
        "\u03a3cells",
        "\u03a3edges",
        "\u03bb\u2098\u2090\u2093",
        "\u03c3max"
    ]
}


You can also copy-paste megalinter-reports/LINTER_DEFAULT at the root of your repository

(Truncated to last 10000 characters out of 1331993)
⚠️ COPYPASTE / jscpd - 4047 errors
09/30/stage3-mouthopen-smile-contact-comparison/src/20-run-stage3-transition.py [623:48 - 637:14] (15 lines, 75 tokens)
   exp/2026/09/30/stage3-mouthopen-smile-contact-comparison/src/20-run-stage3-transition.py [667:53 - 681:14]
Clone found (python)
 - exp/2026/09/30/stage3-mouthopen-smile-contact-comparison/src/20-run-stage3-transition.py [639:57 - 664:25] (26 lines, 144 tokens)
   exp/2026/09/30/stage3-mouthopen-smile-contact-comparison/src/21-resume-stage3-transition.py [661:57 - 686:25]
Clone found (python)
 - src/liblaf/apple/solvers/linalg/cupy/_base.py [88:42 - 96:60] (9 lines, 55 tokens)
   src/liblaf/apple/solvers/linalg/cupy/_base.py [112:48 - 120:60]
Clone found (python)
 - src/liblaf/apple/solvers/linalg/cupy/_cg.py [1:1 - 16:6] (16 lines, 62 tokens)
   src/liblaf/apple/solvers/linalg/cupy/_minres.py [1:1 - 16:6]
Clone found (python)
 - src/liblaf/apple/warp/fem/_arap.py [7:33 - 21:74] (15 lines, 63 tokens)
   src/liblaf/apple/warp/fem/_neo_hookean.py [7:41 - 21:74]
Clone found (python)
 - src/liblaf/apple/warp/fem/_base.py [166:40 - 172:70] (7 lines, 56 tokens)
   src/liblaf/apple/warp/fem/_base.py [189:37 - 195:70]
Clone found (python)
 - src/liblaf/apple/warp/fem/_base.py [166:31 - 172:70] (7 lines, 58 tokens)
   src/liblaf/apple/warp/fem/_base.py [211:31 - 217:70]
Clone found (python)
 - src/liblaf/apple/warp/fem/_base.py [166:40 - 173:54] (8 lines, 67 tokens)
   src/liblaf/apple/warp/fem/_base.py [235:36 - 242:71]
Clone found (python)
 - src/liblaf/apple/warp/fem/_base.py [167:9 - 172:70] (6 lines, 54 tokens)
   src/liblaf/apple/warp/fem/_base.py [266:9 - 271:70]
Clone found (python)
 - src/liblaf/apple/warp/fem/_base.py [191:13 - 197:19] (7 lines, 60 tokens)
   src/liblaf/apple/warp/fem/_base.py [237:13 - 243:22]
Clone found (python)
 - src/liblaf/apple/warp/fem/_base.py [262:14 - 269:67] (8 lines, 67 tokens)
   src/liblaf/apple/warp/fem/_base.py [292:14 - 299:67]
Clone found (python)
 - src/liblaf/apple/warp/fem/_base.py [296:9 - 302:70] (7 lines, 65 tokens)
   src/liblaf/apple/warp/fem/_base.py [327:9 - 333:70]
Clone found (python)
 - src/liblaf/apple/warp/fem/_koiter.py [154:21 - 159:6] (6 lines, 65 tokens)
   src/liblaf/apple/warp/fem/_koiter.py [202:21 - 207:6]
Clone found (python)
 - src/liblaf/apple/warp/fem/_koiter.py [204:53 - 209:11] (6 lines, 64 tokens)
   src/liblaf/apple/warp/fem/_koiter.py [248:25 - 253:7]
Clone found (python)
 - src/liblaf/apple/warp/fem/_neo_hookean.py [1:1 - 28:15] (28 lines, 152 tokens)
   src/liblaf/apple/warp/fem/_stable_neo_hookean.py [1:1 - 28:15]
Clone found (python)
 - src/liblaf/apple/warp/fem/_neo_hookean.py [29:51 - 39:15] (11 lines, 66 tokens)
   src/liblaf/apple/warp/fem/_stable_neo_hookean.py [29:58 - 39:15]
Clone found (python)
 - src/liblaf/apple/warp/fem/_neo_hookean.py [39:44 - 60:15] (22 lines, 114 tokens)
   src/liblaf/apple/warp/fem/_stable_neo_hookean.py [39:47 - 60:15]
Clone found (python)
 - src/liblaf/apple/warp/fem/_neo_hookean.py [53:1 - 62:70] (10 lines, 96 tokens)
   src/liblaf/apple/warp/fem/_neo_hookean.py [74:78 - 83:70]
Clone found (python)
 - src/liblaf/apple/warp/fem/_neo_hookean.py [53:11 - 62:70] (10 lines, 92 tokens)
   src/liblaf/apple/warp/fem/_neo_hookean.py [93:14 - 102:70]
Clone found (python)
 - src/liblaf/apple/warp/fem/_neo_hookean.py [62:63 - 83:21] (22 lines, 150 tokens)
   src/liblaf/apple/warp/fem/_stable_neo_hookean.py [62:22 - 83:29]
Clone found (python)
 - src/liblaf/apple/warp/fem/_neo_hookean.py [65:32 - 74:89] (10 lines, 59 tokens)
   src/liblaf/apple/warp/fem/_stable_neo_hookean_active.py [73:34 - 82:89]
Clone found (python)
 - src/liblaf/apple/warp/fem/_neo_hookean.py [83:63 - 102:21] (20 lines, 152 tokens)
   src/liblaf/apple/warp/fem/_stable_neo_hookean.py [83:22 - 102:29]
Clone found (python)
 - src/liblaf/apple/warp/fem/_neo_hookean.py [85:35 - 93:15] (9 lines, 58 tokens)
   src/liblaf/apple/warp/fem/_stable_neo_hookean_active.py [94:37 - 102:15]
Clone found (python)
 - src/liblaf/apple/warp/fem/_neo_hookean.py [102:63 - 110:6] (9 lines, 55 tokens)
   src/liblaf/apple/warp/fem/_stable_neo_hookean.py [102:22 - 110:6]
Clone found (python)
 - src/liblaf/apple/warp/fem/_neo_hookean.py [110:17 - 150:6] (41 lines, 256 tokens)
   src/liblaf/apple/warp/fem/_stable_neo_hookean.py [110:23 - 150:6]
Clone found (python)
 - src/liblaf/apple/warp/fem/_stable_neo_hookean.py [24:19 - 36:20] (13 lines, 105 tokens)
   src/liblaf/apple/warp/fem/_stable_neo_hookean_active.py [29:19 - 40:70]
Clone found (python)
 - src/liblaf/apple/warp/fem/_stable_neo_hookean_active.py [60:1 - 69:29] (10 lines, 89 tokens)
   src/liblaf/apple/warp/fem/_stable_neo_hookean_active.py [82:78 - 91:29]
Clone found (python)
 - src/liblaf/apple/warp/fem/_stable_neo_hookean_active.py [60:11 - 71:26] (12 lines, 91 tokens)
   src/liblaf/apple/warp/fem/_stable_neo_hookean_active.py [102:14 - 112:35]
Clone found (python)
 - src/liblaf/apple/warp/fem/_stable_neo_hookean_active.py [86:13 - 93:12] (8 lines, 55 tokens)
   src/liblaf/apple/warp/fem/_stable_neo_hookean_active.py [106:13 - 113:12]
Clone found (python)
 - src/liblaf/apple/warp/potential/_fiber_spring.py [110:17 - 123:15] (14 lines, 93 tokens)
   src/liblaf/apple/warp/potential/_fiber_spring.py [136:22 - 149:15]
Clone found (python)
 - src/liblaf/apple/warp/potential/_fiber_spring.py [111:6 - 123:15] (13 lines, 91 tokens)
   src/liblaf/apple/warp/potential/_fiber_spring.py [164:6 - 176:15]
Clone found (python)
 - src/liblaf/apple/warp/potential/_fiber_spring.py [115:28 - 131:36] (17 lines, 107 tokens)
   src/liblaf/apple/warp/potential/_fiber_spring.py [197:32 - 214:26]
Clone found (python)
 - tests/experiments/test_fit_l2_unrestricted.py [6:1 - 19:5] (14 lines, 61 tokens)
   tests/experiments/test_stress_acceptance.py [7:1 - 20:5]
Clone found (python)
 - tests/experiments/test_stress_runtime.py [313:54 - 348:6] (36 lines, 113 tokens)
   tests/forward/test_static_simulation.py [13:67 - 48:6]
Clone found (python)
 - tests/solvers/test_cupy.py [45:5 - 51:4] (7 lines, 63 tokens)
   tests/solvers/test_cupy.py [62:5 - 66:10]
Clone found (python)
 - tests/warp/test_fiber_spring.py [9:1 - 40:37] (32 lines, 253 tokens)
   tests/warp/test_koiter.py [88:1 - 118:48]
Clone found (python)
 - tests/warp/test_fiber_spring.py [11:62 - 19:26] (9 lines, 60 tokens)
   tests/warp/test_stable_neo_hookean_active.py [54:82 - 62:26]
Clone found (python)
 - tests/warp/test_fiber_spring.py [19:30 - 55:25] (37 lines, 223 tokens)
   tests/warp/test_stable_neo_hookean_active.py [62:27 - 92:26]
Clone found (python)
 - tests/warp/test_fiber_spring.py [247:21 - 252:32] (6 lines, 63 tokens)
   tests/warp/test_stable_neo_hookean_active.py [356:20 - 361:32]
Clone found (python)
 - tests/warp/test_fiber_spring.py [279:5 - 286:6] (8 lines, 74 tokens)
   tests/warp/test_fiber_spring.py [308:5 - 315:6]
Clone found (python)
 - tests/warp/test_koiter.py [325:56 - 333:52] (9 lines, 58 tokens)
   tests/warp/test_koiter.py [397:57 - 405:52]
Clone found (python)
 - tests/warp/test_koiter.py [333:74 - 342:6] (10 lines, 54 tokens)
   tests/warp/test_koiter.py [378:71 - 387:10]
Clone found (python)
 - tests/warp/test_koiter.py [333:74 - 342:6] (10 lines, 54 tokens)
   tests/warp/test_koiter.py [405:86 - 414:6]
Clone found (python)
 - tests/warp/test_koiter.py [333:74 - 342:6] (10 lines, 54 tokens)
   tests/warp/test_koiter.py [439:63 - 449:6]
Clone found (python)
 - tests/warp/test_koiter.py [343:7 - 351:6] (9 lines, 51 tokens)
   tests/warp/test_koiter.py [470:15 - 478:6]
Clone found (python)
 - tests/warp/test_koiter.py [350:28 - 355:76] (6 lines, 62 tokens)
   tests/warp/test_koiter.py [422:41 - 426:76]
Clone found (python)
 - tests/warp/test_koiter.py [405:11 - 421:11] (17 lines, 130 tokens)
   tests/warp/test_koiter.py [508:15 - 528:6]
Clone found (python)
 - tests/warp/test_stable_neo_hookean_active.py [167:26 - 176:6] (10 lines, 52 tokens)
   tests/warp/test_stable_neo_hookean_active.py [296:49 - 305:6]
Clone found (python)
 - tests/warp/test_stable_neo_hookean_active.py [167:26 - 176:6] (10 lines, 52 tokens)
   tests/warp/test_stable_neo_hookean_active.py [322:5 - 331:6]
┌────────────┬────────────────┬─────────────┬──────────────┬──────────────┬──────────────────┬───────────────────┐
│ Format     │ Files analyzed │ Total lines │ Total tokens │ Clones found │ Duplicated lines │ Duplicated tokens │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ bash       │ 1              │ 38          │ 74           │ 0            │ 0 (0.00%)        │ 0 (0.00%)         │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ css        │ 2              │ 186         │ 2316         │ 2            │ 104 (55.91%)     │ 1242 (53.63%)     │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ javascript │ 4              │ 558         │ 4358         │ 2            │ 277 (49.64%)     │ 2179 (50.00%)     │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ python     │ 1256           │ 475001      │ 3188532      │ 4043         │ 115215 (24.26%)  │ 811061 (25.44%)   │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ toml       │ 5              │ 619         │ 2473         │ 0            │ 0 (0.00%)        │ 0 (0.00%)         │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ Total:     │ 1268           │ 476402      │ 3197753      │ 4047         │ 115596 (24.26%)  │ 814482 (25.47%)   │
└────────────┴────────────────┴─────────────┴──────────────┴──────────────┴──────────────────┴───────────────────┘
Found 4047 clones.
HTML report saved to megalinter-reports/copy-paste/jscpd-report.html
ERROR: jscpd found too many duplicates (24.3%) over threshold (0.0%)
time: 12.20s

(Truncated to last 10000 characters out of 915099)
⚠️ PYTHON / ruff - 1324 errors
otice at top of file
--> src/liblaf/apple/solvers/optim/base/_optimizer.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/solvers/optim/base/_protocols.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/solvers/optim/base/_types.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/solvers/optim/pncg/__init__.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/solvers/optim/pncg/__init__.pyi:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/solvers/optim/pncg/_direction.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/solvers/optim/pncg/_hess_damping.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/solvers/optim/pncg/_line_search.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/solvers/optim/pncg/_pncg.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/solvers/optim/pncg/_terminate.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/solvers/optim/pncg/_types.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/solvers/utils/__init__.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/solvers/utils/__init__.pyi:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/solvers/utils/_implemented.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/__init__.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/__init__.pyi:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/fem/__init__.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/fem/__init__.pyi:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/fem/element/__init__.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/fem/element/__init__.pyi:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/fem/element/_element.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/fem/element/_tetra.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/fem/geometry/__init__.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/fem/geometry/_geometry.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/fem/geometry/_tetra.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/fem/geometry/_triangle.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/fem/quadrature/__init__.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/fem/quadrature/__init__.pyi:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/fem/quadrature/_scheme.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/fem/quadrature/_tetra.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/fem/region/__init__.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/fem/region/__init__.pyi:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/fem/region/_region.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/utils/__init__.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/utils/__init__.pyi:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/torch/utils/_decorator.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/__init__.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/__init__.pyi:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/__init__.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/__init__.pyi:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/_arap.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/_base.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/_koiter.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/_neo_hookean.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/_stable_neo_hookean.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/_stable_neo_hookean_active.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/func/__init__.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/func/__init__.pyi:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/func/_deformation.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/func/_gradient.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/func/_hess_diag.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/func/_hess_prod.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/func/_hess_quad.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/func/_identity.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/func/_misc.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/utils/__init__.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/utils/__init__.pyi:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/fem/utils/_material.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/math/__init__.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/math/__init__.pyi:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/math/_misc.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/math/_rotation.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/model/__init__.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/model/__init__.pyi:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/model/_adapter.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/model/_material.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/model/_model.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/model/_potential.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/potential/__init__.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/potential/__init__.pyi:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/potential/_ext_force.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/potential/_fiber_spring.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/utils/__init__.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/utils/__init__.pyi:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/utils/_dtype.py:1:1

CPY001 Missing copyright notice at top of file
--> src/liblaf/apple/warp/utils/_struct.py:1:1

CPY001 Missing copyright notice at top of file
--> tests/common/test_moduli.py:1:1

CPY001 Missing copyright notice at top of file
--> tests/experiments/test_activation_scene.py:1:1

CPY001 Missing copyright notice at top of file
--> tests/experiments/test_fit_l2_unrestricted.py:1:1

CPY001 Missing copyright notice at top of file
--> tests/experiments/test_joint_isfixed_boundary.py:1:1

CPY001 Missing copyright notice at top of file
--> tests/experiments/test_mouthopen_block_optimizer.py:1:1

CPY001 Missing copyright notice at top of file
--> tests/experiments/test_mouthopen_convergence.py:1:1

CPY001 Missing copyright notice at top of file
--> tests/experiments/test_mouthopen_optimizer_continuation.py:1:1

CPY001 Missing copyright notice at top of file
--> tests/experiments/test_mouthopen_pose_projection.py:1:1

CPY001 Missing copyright notice at top of file
--> tests/experiments/test_mouthopen_tet_policy.py:1:1

CPY001 Missing copyright notice at top of file
--> tests/experiments/test_strain_physics.py:1:1

CPY001 Missing copyright notice at top of file
--> tests/experiments/test_stress_acceptance.py:1:1

CPY001 Missing copyright notice at top of file
--> tests/experiments/test_stress_activation.py:1:1

CPY001 Missing copyright notice at top of file
--> tests/experiments/test_stress_chains.py:1:1

CPY001 Missing copyright notice at top of file
--> tests/experiments/test_stress_regularization.py:1:1

CPY001 Missing copyright notice at top of file
--> tests/forward/test_collision_hess_quad.py:1:1

CPY001 Missing copyright notice at top of file
--> tests/forward/test_fiber_spring.py:1:1

CPY001 Missing copyright notice at top of file
--> tests/forward/test_gpu_contact_hessian.py:1:1

CPY001 Missing copyright notice at top of file
--> tests/forward/test_gpu_sparse_hessian.py:1:1

CPY001 Missing copyright notice at top of file
--> tests/forward/test_static_simulation.py:1:1

CPY001 Missing copyright notice at top of file
--> tests/inverse/test_diff_forward.py:1:1

CPY001 Missing copyright notice at top of file
--> tests/solvers/test_cupy.py:1:1

CPY001 Missing copyright notice at top of file
--> tests/solvers/test_pncg.py:1:1

CPY001 Missing copyright notice at top of file
--> tests/warp/test_fiber_spring.py:1:1

CPY001 Missing copyright notice at top of file
--> tests/warp/test_koiter.py:1:1

Found 1324 errors.
No fixes available (61 hidden fixes can be enabled with the `--unsafe-fixes` option).

(Truncated to last 10000 characters out of 210335)
⚠️ MARKDOWN / rumdl - 1 error
Relative link '../data/60-fixed-activation-contact-render/manifest.json' does not exist
exp/2026/09/30/mouthopen-smile-collisions/docs/61-fixed-reference-preview-002.md:9:109: [MD057] Relative link '../data/61-fixed-reference-preview-002/manifest.json' does not exist
exp/2026/09/30/mouthopen-smile-collisions/docs/61-fixed-reference-preview.md:9:105: [MD057] Relative link '../data/61-fixed-reference-preview/manifest.json' does not exist
exp/2026/09/30/mouthopen-smile-collisions/docs/63-mouthopen-fixed-contact-preview-002.md:10:117: [MD057] Relative link '../data/63-mouthopen-fixed-contact-preview-002/manifest.json' does not exist
exp/2026/09/30/mouthopen-smile-collisions/docs/63-mouthopen-fixed-contact-preview.md:9:113: [MD057] Relative link '../data/63-mouthopen-fixed-contact-preview/manifest.json' does not exist
exp/2026/09/23/new-neutral/docs/30-active-strain-result.md:28:26: [MD057] Relative link '../data/forward-active-strain-001/active-strain-fields.npz' does not exist
exp/2026/09/23/new-neutral/docs/30-active-strain-result.md:44:19: [MD057] Relative link '../data/forward-active-strain-001/active-strain-mapping.json' does not exist
exp/2026/09/23/new-neutral/docs/30-active-strain-result.md:81:48: [MD057] Relative link '../data/forward-active-strain-001/active-strain-check.json' does not exist
exp/2026/09/23/new-neutral/docs/30-active-strain-result.md:85:38: [MD057] Relative link '../data/forward-active-strain-001/independent-audit.json' does not exist
exp/2026/09/23/new-neutral/docs/30-active-strain-result.md:87:44: [MD057] Relative link '../data/review-active-strain-001/index.html' does not exist
exp/2026/09/23/new-neutral/docs/30-active-strain-result.md:109:13: [MD057] Relative link '../data/forward-active-strain-001/summary.json' does not exist
exp/2026/09/23/new-neutral/docs/30-active-strain-result.md:110:14: [MD057] Relative link '../data/forward-active-strain-001/protocol.json' does not exist
exp/2026/09/23/new-neutral/docs/30-active-strain-result.md:111:11: [MD057] Relative link '../data/forward-active-strain-001/trace.jsonl' does not exist
exp/2026/09/23/new-neutral/docs/30-active-strain-result.md:112:12: [MD057] Relative link '../data/forward-active-strain-001/timing.json' does not exist
exp/2026/09/23/new-neutral/docs/30-active-strain-result.md:113:14: [MD057] Relative link '../data/forward-active-strain-001/endpoint.npz' does not exist
exp/2026/09/23/new-neutral/docs/30-active-strain-result.md:114:32: [MD057] Relative link '../data/forward-active-strain-001/active-strain-source-provenance.json' does not exist
exp/2026/09/23/new-neutral/docs/30-active-strain-result.md:115:28: [MD057] Relative link '../data/forward-active-strain-001/provenance.json' does not exist
exp/2026/09/23/new-neutral/docs/30-active-strain-result.md:116:19: [MD057] Relative link '../data/forward-active-strain-001/forward-only-guard.json' does not exist
exp/2026/09/23/new-neutral/docs/30-active-strain-result.md:117:19: [MD057] Relative link '../data/forward-active-strain-001/forward.log' does not exist
exp/2026/09/23/new-neutral/docs/30-active-strain-result.md:144:21: [MD057] Relative link '../data/http-verification-active-strain.json' does not exist
exp/2026/09/23/new-neutral/docs/30-active-strain-result.md:145:19: [MD057] Relative link '../data/serve-active-strain.json' does not exist
exp/2026/09/28/activation-smoothness-continuation/docs/20-results.md:9:1: [MD057] Relative link '../data/30-comparison/smoothness-comparison-preview.png' does not exist
exp/2026/09/28/activation-smoothness-continuation/docs/20-results.md:11:45: [MD057] Relative link '../data/30-comparison/smoothness-comparison-16x9.png' does not exist
exp/2026/09/28/activation-smoothness-continuation/docs/20-results.md:61:1: [MD057] Relative link '../data/20-analysis/relative-trajectories.png' does not exist
exp/2026/09/30/mouthopen-smile-collisions/docs/75-continuation-protocol.md:9:241: [MD057] Relative link '../data/54-fixed-contact-audit-002/summary.json' does not exist
exp/2026/09/30/mouthopen-smile-collisions/docs/76-fixed-contact-terminal-preview.md:10:112: [MD057] Relative link '../data/76-fixed-contact-terminal-preview/manifest.json' does not exist
exp/2026/09/30/mouthopen-smile-collisions/docs/10-contact-checks.md:45:45: [MD057] Relative link '../data/10-contact-checks-005/summary.json' does not exist
exp/2026/09/30/mouthopen-smile-collisions/docs/14-unshifted-pcg-probe.md:24:50: [MD057] Relative link '../data/14-unshifted-pcg-probe-003/summary.json' does not exist
exp/2026/09/30/mouthopen-smile-collisions/docs/80-fixed-activation-contact-results.md:13:64: [MD057] Relative link '../data/50-fixed-reference/summary.json' does not exist
exp/2026/09/30/mouthopen-smile-collisions/docs/80-fixed-activation-contact-results.md:13:121: [MD057] Relative link '../data/51-fixed-reference-contact-check/summary.json' does not exist
exp/2026/09/30/mouthopen-smile-collisions/docs/80-fixed-activation-contact-results.md:13:196: [MD057] Relative link '../data/53-fixed-reference-gpu-check/summary.json' does not exist
exp/2026/09/30/mouthopen-smile-collisions/docs/80-fixed-activation-contact-results.md:19:8: [MD057] Relative link '../data/52-fixed-activation-contact/summary.json' does not exist
exp/2026/09/30/mouthopen-smile-collisions/docs/80-fixed-activation-contact-results.md:20:8: [MD057] Relative link '../data/75-fixed-activation-contact/summary.json' does not exist
exp/2026/09/30/mouthopen-smile-collisions/docs/80-fixed-activation-contact-results.md:21:12: [MD057] Relative link '../data/75-fixed-activation-contact-002/summary.json' does not exist
exp/2026/09/30/mouthopen-smile-collisions/docs/80-fixed-activation-contact-results.md:23:172: [MD057] Relative link '../data/75-fixed-activation-contact-002/summary.json' does not exist
exp/2026/09/30/mouthopen-smile-collisions/docs/80-fixed-activation-contact-results.md:27:19: [MD057] Relative link '../data/54-fixed-contact-audit-003/summary.json' does not exist
exp/2026/09/30/mouthopen-smile-collisions/docs/80-fixed-activation-contact-results.md:40:149: [MD057] Relative link '../data/71-transition-pcg-probe/summary.json' does not exist
exp/2026/09/30/mouthopen-smile-collisions/docs/80-fixed-activation-contact-results.md:40:343: [MD057] Relative link '../data/72-linear-cap-pilot/summary.json' does not exist
exp/2026/09/30/mouthopen-smile-collisions/docs/80-fixed-activation-contact-results.md:55:19: [MD057] Relative link '../data/54-fixed-contact-audit-003/summary.json' does not exist
exp/2026/09/30/mouthopen-smile-collisions/docs/80-fixed-activation-contact-results.md:55:337: [MD057] Relative link '../data/60-fixed-activation-contact-render/qa-receipt.json' does not exist
exp/2026/09/30/mouthopen-smile-collisions/docs/80-fixed-activation-contact-results.md:59:34: [MD057] Relative link '../data/60-fixed-activation-contact-render/mouthopen-to-smile-fixed-activation-contact.mp4' does not exist
exp/2026/09/30/mouthopen-smile-collisions/docs/80-fixed-activation-contact-results.md:60:28: [MD057] Relative link '../data/81-contact-keyframe-preview-003/contact-keyframes.png' does not exist
exp/2026/09/30/mouthopen-smile-collisions/docs/80-fixed-activation-contact-results.md:61:21: [MD057] Relative link '../data/60-fixed-activation-contact-render/manifest.json' does not exist
exp/2026/09/30/mouthopen-smile-collisions/docs/80-fixed-activation-contact-results.md:61:102: [MD057] Relative link '../data/81-contact-keyframe-preview-003/manifest.json' does not exist
exp/2026/09/30/mouthopen-smile-collisions/docs/11-sparse-contact-check.md:43:47: [MD057] Relative link '../data/11-sparse-contact-check/summary.json' does not exist
exp/2026/09/30/mouthopen-smile-collisions/docs/17-contact-preflight.md:15:350: [MD057] Relative link '../data/15-contact-preflight/summary.json' does not exist
exp/2026/09/30/mouthopen-smile-collisions/docs/17-contact-preflight.md:15:445: [MD057] Relative link '../data/16-contact-directional-check/summary.json' does not exist
exp/2026/09/30/mouthopen-smile-collisions/docs/17-contact-preflight.md:15:554: [MD057] Relative link '../data/17-contact-set-reproducibility/summary.json' does not exist
exp/2026/09/30/mouthopen-smile-collisions/docs/12-active-sparse-contact-check.md:30:54: [MD057] Relative link '../data/12-active-sparse-contact-check/summary.json' does not exist
exp/2026/09/30/mouthopen-smile-collisions/docs/18-prescribed-boundary.md:13:200: [MD057] Relative link '../data/18-prescribed-boundary/summary.json' does not exist
exp/2026/09/30/mouthopen-smile-collisions/docs/13-active-bulk-contact-check.md:52:56: [MD057] Relative link '../data/13-active-bulk-contact-check-002/summary.json' does not exist
exp/2026/09/30/mouthopen-smile-collisions/docs/19-deformable-contact-preflight.md:15:156: [MD057] Relative link '../data/19-deformable-contact/summary.json' does not exist
exp/2026/09/30/stage3-mouthopen-smile-contact-comparison/docs/01-collision-off-seven.md:11:98: [MD057] Relative link '../../../../../../output/weekly-2026-09-30/stage3-render-work/01-collision-off-seven/manifest.json' does not exist
exp/2026/09/30/stage3-mouthopen-smile-contact-comparison/docs/01-collision-off-partial-sequence.md:11:109: [MD057] Relative link '../../../../../../output/weekly-2026-09-30/stage3-render-work/01-collision-off-partial-sequence/manifest.json' does not exist
exp/2026/09/30/stage3-mouthopen-smile-contact-comparison/docs/02-collision-on-partial.md:12:99: [MD057] Relative link '../../../../../../output/weekly-2026-09-30/stage3-render-work/02-collision-on-partial/manifest.json' does not exist
exp/2026/09/30/stage3-mouthopen-smile-contact-comparison/docs/02-collision-on-seven.md:11:97: [MD057] Relative link '../../../../../../output/weekly-2026-09-30/stage3-render-work/02-collision-on-seven/manifest.json' does not exist
exp/2026/09/30/mouthopen-smile-collisions/docs/00-protocol.md:37:769: [MD057] Relative link '../data/17-contact-set-reproducibility/summary.json' does not exist

Fixed: Fixed 78/1765 issues in 9 files (927ms)

(Truncated to last 10000 characters out of 296670)

Notices

⚠️ Your configuration references items that have been removed from MegaLinter and are ignored: GIT. See Removed linters to find their replacements.

See detailed reports in MegaLinter artifacts

MegaLinter is provided by OX Security
Show us your support by starring ⭐ the repository

@renovate
renovate Bot force-pushed the renovate/liblaf-cherries-3.x branch from ade3fcc to 7338301 Compare October 2, 2026 14:35
@renovate renovate Bot assigned liblaf Oct 2, 2026
@renovate
renovate Bot requested a review from liblaf October 2, 2026 17:26

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant