Open
Conversation
liblaf
previously approved these changes
Nov 2, 2025
Contributor
✅
|
| Descriptor | Linter | Files | Fixed | Errors | Warnings | Elapsed time |
|---|---|---|---|---|---|---|
| ✅ BASH | shellcheck | 1 | 0 | 0 | 0.29s | |
| ✅ BASH | shfmt | 1 | 0 | 0 | 0 | 0.6s |
| jscpd | yes | 198 | no | 6.49s | ||
| jsonlint | 7 | 1 | 0 | 0.16s | ||
| ✅ JSON | prettier | 7 | 0 | 0 | 0 | 1.04s |
| ✅ JSON | v8r | 7 | 0 | 0 | 4.41s | |
| ruff | yes | yes | 1481 | no | 15.64s | |
| ✅ SPELL | cspell | 225 | 0 | 0 | 5.81s | |
| ✅ YAML | prettier | 4 | 0 | 0 | 0 | 0.82s |
| ✅ YAML | v8r | 4 | 0 | 0 | 3.44s | |
| ✅ YAML | yamllint | 4 | 0 | 0 | 0.25s |
Detailed Issues
⚠️ COPYPASTE / jscpd - 198 errors
Clone found (python):
- src/liblaf/apple/warp/sim/energy/elastic/phace/func.py [98:6 - 104:17] (6 lines, 85 tokens)
src/liblaf/apple/warp/sim/energy/elastic/phace/func.py [71:6 - 76:17]
Clone found (python):
- src/liblaf/apple/warp/sim/energy/elastic/arap_active/_main.py [1:1 - 15:11] (14 lines, 119 tokens)
src/liblaf/apple/warp/sim/energy/elastic/phace/_main.py [1:1 - 15:6]
Clone found (python):
- src/liblaf/apple/warp/sim/energy/elastic/arap_active/_main.py [15:11 - 39:3] (24 lines, 227 tokens)
src/liblaf/apple/warp/sim/energy/elastic/phace/_main.py [15:6 - 39:16]
Clone found (python):
- src/liblaf/apple/warp/sim/energy/elastic/arap/func.py [43:5 - 54:5] (11 lines, 134 tokens)
src/liblaf/apple/warp/sim/energy/elastic/arap_active/func.py [49:6 - 60:6]
Clone found (python):
- src/liblaf/apple/warp/sim/energy/elastic/arap/func.py [57:5 - 68:5] (11 lines, 137 tokens)
src/liblaf/apple/warp/sim/energy/elastic/arap_active/func.py [63:6 - 74:6]
Clone found (python):
- src/liblaf/apple/warp/sim/energy/elastic/arap/_main.py [1:1 - 11:5] (10 lines, 100 tokens)
src/liblaf/apple/warp/sim/energy/elastic/phace/_main.py [1:1 - 9:2]
Clone found (python):
- src/liblaf/apple/warp/sim/energy/elastic/arap/_main.py [23:5 - 40:2] (17 lines, 167 tokens)
src/liblaf/apple/warp/sim/energy/elastic/phace/_main.py [16:5 - 33:2]
Clone found (python):
- src/liblaf/apple/warp/sim/energy/elastic/_elastic.py [83:11 - 92:5] (9 lines, 99 tokens)
src/liblaf/apple/warp/sim/energy/elastic/_elastic.py [58:11 - 67:7]
Clone found (python):
- src/liblaf/apple/warp/sim/energy/elastic/_elastic.py [92:5 - 103:4] (11 lines, 162 tokens)
src/liblaf/apple/warp/sim/energy/elastic/_elastic.py [67:7 - 78:7]
Clone found (python):
- src/liblaf/apple/warp/sim/energy/elastic/_elastic.py [113:17 - 133:10] (20 lines, 262 tokens)
src/liblaf/apple/warp/sim/energy/elastic/_elastic.py [58:11 - 78:7]
Clone found (python):
- src/liblaf/apple/warp/sim/energy/elastic/_elastic.py [154:2 - 169:3] (15 lines, 217 tokens)
src/liblaf/apple/warp/sim/energy/elastic/_elastic.py [62:2 - 77:12]
Clone found (python):
- src/liblaf/apple/warp/sim/energy/elastic/_elastic.py [184:17 - 210:10] (26 lines, 359 tokens)
src/liblaf/apple/warp/sim/energy/elastic/_elastic.py [149:17 - 175:10]
Clone found (python):
- src/liblaf/apple/warp/sim/energy/elastic/_elastic.py [220:19 - 229:4] (9 lines, 90 tokens)
src/liblaf/apple/warp/sim/energy/elastic/_elastic.py [58:11 - 67:7]
Clone found (python):
- src/liblaf/apple/warp/sim/energy/elastic/_elastic.py [230:4 - 241:4] (11 lines, 171 tokens)
src/liblaf/apple/warp/sim/energy/elastic/_elastic.py [92:7 - 78:7]
Clone found (python):
- src/liblaf/apple/warp/sim/energy/elastic/_elastic.py [252:25 - 261:4] (9 lines, 90 tokens)
src/liblaf/apple/warp/sim/energy/elastic/_elastic.py [58:11 - 67:7]
Clone found (python):
- src/liblaf/apple/warp/sim/energy/elastic/_elastic.py [262:10 - 274:9] (12 lines, 188 tokens)
src/liblaf/apple/warp/sim/energy/elastic/_elastic.py [92:7 - 104:4]
Clone found (python):
- src/liblaf/apple/jax/sim/energy/elastic/_phace_active.py [6:1 - 13:5] (7 lines, 78 tokens)
src/liblaf/apple/jax/sim/energy/elastic/_phace_static.py [3:1 - 12:6]
Clone found (python):
- src/liblaf/apple/jax/sim/energy/elastic/_phace_active.py [40:9 - 45:2] (5 lines, 129 tokens)
src/liblaf/apple/jax/sim/energy/elastic/_phace_static.py [29:9 - 34:2]
Clone found (python):
- src/liblaf/apple/jax/sim/energy/elastic/_arap_active.py [1:1 - 19:11] (18 lines, 145 tokens)
src/liblaf/apple/jax/sim/energy/elastic/_phace_active.py [1:1 - 19:12]
Clone found (python):
- src/liblaf/apple/jax/sim/energy/elastic/_arap_active.py [27:13 - 37:3] (10 lines, 100 tokens)
src/liblaf/apple/jax/sim/energy/elastic/_phace_active.py [30:9 - 40:8]
Clone found (python):
- src/liblaf/apple/jax/sim/energy/elastic/_arap_active.py [42:5 - 56:7] (14 lines, 200 tokens)
src/liblaf/apple/jax/sim/energy/elastic/_phace_active.py [50:5 - 64:7]
Clone found (python):
- src/liblaf/apple/jax/sim/energy/elastic/_arap.py [3:1 - 13:5] (10 lines, 86 tokens)
src/liblaf/apple/jax/sim/energy/elastic/_phace_static.py [3:1 - 13:12]
Clone found (python):
- exp/2025/07/30/dynamics/collision/collision-bunny-bunny/main.py [1:1 - 14:5] (13 lines, 115 tokens)
exp/2025/07/30/dynamics/collision/collision-bunny-sphere/main.py [1:1 - 14:4]
Clone found (python):
- exp/2025/07/30/dynamics/collision/collision-bunny-bunny/main.py [22:5 - 84:78] (62 lines, 768 tokens)
exp/2025/07/30/dynamics/collision/collision-bunny-sphere/main.py [22:5 - 84:8]
Clone found (python):
- exp/2025/07/30/dynamics/collision/collision-bunny-bunny/main.py [87:5 - 114:2] (27 lines, 319 tokens)
exp/2025/07/30/dynamics/collision/collision-bunny-sphere/main.py [84:4 - 111:2]
Clone found (python):
- exp/2025/07/30/dynamics/collision/collision-bunny/main.py [21:5 - 35:7] (14 lines, 116 tokens)
exp/2025/07/30/dynamics/collision/collision-bunny-bunny/main.py [17:5 - 31:4]
Clone found (python):
- exp/2025/07/30/dynamics/collision/collision-bunny/main.py [58:1 - 67:4] (9 lines, 151 tokens)
exp/2025/07/30/dynamics/collision/collision-bunny-sphere/main.py [31:1 - 40:3]
Clone found (python):
- exp/2025/07/30/dynamics/collision/collision-bunny/main.py [67:3 - 77:9] (10 lines, 124 tokens)
exp/2025/07/30/dynamics/collision/collision-bunny-sphere/main.py [40:3 - 49:6]
Clone found (python):
- exp/2025/07/30/dynamics/collision/collision-bunny/main.py [81:9 - 88:5] (7 lines, 101 tokens)
exp/2025/07/30/dynamics/collision/collision-bunny-sphere/main.py [52:9 - 59:7]
Clone found (python):
- exp/2025/07/30/dynamics/collision/collision-bunny/main.py [90:4 - 100:5] (10 lines, 128 tokens)
exp/2025/07/30/dynamics/collision/collision-bunny-sphere/main.py [58:2 - 68:4]
Clone found (python):
- exp/2025/07/30/dynamics/collision/collision-bunny/main.py [100:2 - 116:4] (16 lines, 181 tokens)
exp/2025/07/30/dynamics/collision/collision-bunny-sphere/main.py [68:2 - 84:10]
Clone found (python):
- exp/2025/07/30/dynamics/collision/collision-bunny/main.py [116:6 - 132:5] (16 lines, 200 tokens)
exp/2025/07/30/dynamics/collision/collision-bunny-sphere/main.py [87:5 - 103:13]
Clone found (python):
- exp/2025/07/30/dynamics/collision/collision-box/main.py [1:1 - 50:5] (49 lines, 490 tokens)
exp/2025/07/30/dynamics/collision/collision-bunny/main.py [1:1 - 50:3]
Clone found (python):
- exp/2025/07/30/dynamics/collision/collision-box/main.py [52:9 - 79:28] (27 lines, 359 tokens)
exp/2025/07/30/dynamics/collision/collision-bunny/main.py [54:2 - 81:3]
Clone found (python):
- exp/2025/07/30/dynamics/collision/collision-box/main.py [78:9 - 96:75] (18 lines, 224 tokens)
exp/2025/07/30/dynamics/collision/collision-bunny-sphere/main.py [49:10 - 96:8]
Clone found (python):
- exp/2025/07/30/dynamics/collision/collision-box/main.py [104:5 - 142:10] (38 lines, 481 tokens)
exp/2025/07/30/dynamics/collision/collision-bunny/main.py [97:8 - 105:12]
Clone found (python):
- tests/warp/sim/energy/elastic/utils/test_hess_diag.py [9:10 - 30:15] (21 lines, 241 tokens)
tests/warp/sim/energy/elastic/utils/test_hess_quad.py [10:6 - 31:11]
Clone found (python):
- tests/warp/sim/energy/elastic/utils/test_hess_diag.py [87:5 - 93:13] (6 lines, 71 tokens)
tests/warp/sim/energy/elastic/utils/test_hess_quad.py [97:5 - 103:13]
Clone found (python):
- tests/warp/sim/energy/elastic/utils/test_hess_diag.py [94:5 - 106:11] (12 lines, 239 tokens)
tests/warp/sim/energy/elastic/utils/test_hess_quad.py [105:5 - 117:11]
Clone found (python):
- src/liblaf/apple/jax/sim/model/_model.py [40:10 - 48:10] (8 lines, 102 tokens)
src/liblaf/apple/jax/sim/model/_model.py [22:4 - 30:4]
Clone found (python):
- src/liblaf/apple/jax/sim/model/_model.py [58:2 - 66:10] (8 lines, 97 tokens)
src/liblaf/apple/jax/sim/model/_model.py [22:2 - 30:4]
Clone found (python):
- src/liblaf/apple/jax/optim/_minimize/_minimizer.py [77:5 - 85:2] (8 lines, 91 tokens)
src/liblaf/apple/jax/optim/_minimize/_scipy.py [21:5 - 30:8]
Clone found (python):
- exp/2025/09/24/inverse-grin/src/39-inverse-sparse.py [416:18 - 422:9] (6 lines, 109 tokens)
exp/2025/09/24/inverse-grin/src/39-inverse-sparse.py [360:16 - 366:16]
Clone found (python):
- exp/2025/09/24/inverse-grin/src/39-inverse-sparse.py [429:15 - 434:12] (5 lines, 88 tokens)
exp/2025/09/24/inverse-grin/src/39-inverse-sparse.py [360:16 - 365:14]
Clone found (python):
- exp/2025/09/24/inverse-grin/src/38-inverse-cbrt.py [1:1 - 37:7] (36 lines, 317 tokens)
exp/2025/09/24/inverse-grin/src/39-inverse-sparse.py [1:1 - 37:10]
Clone found (python):
- exp/2025/09/24/inverse-grin/src/38-inverse-cbrt.py [37:29 - 123:9] (86 lines, 799 tokens)
exp/2025/09/24/inverse-grin/src/39-inverse-sparse.py [37:31 - 123:8]
Clone found (python):
- exp/2025/09/24/inverse-grin/src/38-inverse-cbrt.py [124:10 - 138:16] (14 lines, 101 tokens)
exp/2025/09/24/inverse-grin/src/39-inverse-sparse.py [126:11 - 140:8]
Clone found (python):
- exp/2025/09/24/inverse-grin/src/38-inverse-cbrt.py [141:5 - 211:7] (70 lines, 741 tokens)
exp/2025/09/24/inverse-grin/src/39-inverse-sparse.py [145:5 - 215:6]
Clone found (python):
- exp/2025/09/24/inverse-grin/src/38-inverse-cbrt.py [212:10 - 322:9] (110 lines, 968 tokens)
exp/2025/09/24/inverse-grin/src/39-inverse-sparse.py [218:11 - 328:8]
Clone found (python):
- exp/2025/09/24/inverse-grin/src/38-inverse-cbrt.py [333:10 - 353:2] (20 lines, 292 tokens)
exp/2025/09/24/inverse-grin/src/39-inverse-sparse.py [349:11 - 369:4]
Clone found (python):
- exp/2025/09/24/inverse-grin/src/38-inverse-cbrt.py [353:2 - 368:11] (15 lines, 193 tokens)
exp/2025/09/24/inverse-grin/src/39-inverse-sparse.py [369:2 - 384:4]
Clone found (python):
- exp/2025/09/24/inverse-grin/src/38-inverse-cbrt.py [368:2 - 385:71] (17 lines, 189 tokens)
exp/2025/09/24/inverse-grin/src/39-inverse-sparse.py [384:2 - 401:6]
Clone found (python):
- exp/2025/09/24/inverse-grin/src/38-inverse-cbrt.py [396:9 - 457:2] (61 lines, 662 tokens)
exp/2025/09/24/inverse-grin/src/39-inverse-sparse.py [464:13 - 525:2]
Clone found (python):
- exp/2025/09/24/inverse-grin/src/38-inverse-cbrt.py [457:2 - 488:2] (31 lines, 134 tokens)
exp/2025/09/24/inverse-grin/src/39-inverse-sparse.py [525:2 - 556:2]
Clone found (python):
- exp/2025/09/24/inverse-grin/src/37-inverse-quadratic.py [1:1 - 37:34] (36 lines, 319 tokens)
exp/2025/09/24/inverse-grin/src/39-inverse-sparse.py [1:1 - 37:29]
Clone found (python):
- exp/2025/09/24/inverse-grin/src/37-inverse-quadratic.py [37:34 - 401:5] (364 lines, 3645 tokens)
exp/2025/09/24/inverse-grin/src/39-inverse-sparse.py [37:31 - 416:18]
Clone found (python):
- exp/2025/09/24/inverse-grin/src/37-inverse-quadratic.py [396:13 - 458:2] (62 lines, 677 tokens)
exp/2025/09/24/inverse-grin/src/38-inverse-cbrt.py [395:13 - 525:2]
Clone found (python):
- exp/2025/09/24/inverse-grin/src/37-inverse-quadratic.py [458:2 - 489:2] (31 lines, 134 tokens)
exp/2025/09/24/inverse-grin/src/39-inverse-sparse.py [525:2 - 556:2]
Clone found (python):
- exp/2025/09/24/inverse-grin/src/36-inverse-abs.py [1:1 - 37:28] (36 lines, 319 tokens)
exp/2025/09/24/inverse-grin/src/39-inverse-sparse.py [1:1 - 37:29]
Clone found (python):
- exp/2025/09/24/inverse-grin/src/36-inverse-abs.py [37:28 - 382:9] (345 lines, 3480 tokens)
exp/2025/09/24/inverse-grin/src/39-inverse-sparse.py [37:31 - 398:42]
Clone found (python):
- exp/2025/09/24/inverse-grin/src/36-inverse-abs.py [392:13 - 488:2] (96 lines, 821 tokens)
exp/2025/09/24/inverse-grin/src/37-inverse-quadratic.py [393:13 - 556:2]
Clone found (python):
- exp/2025/09/24/inverse-grin/src/35-inverse-small-reg.py [1:1 - 37:24] (36 lines, 319 tokens)
exp/2025/09/24/inverse-grin/src/39-inverse-sparse.py [1:1 - 37:29]
Clone found (python):
- exp/2025/09/24/inverse-grin/src/35-inverse-small-reg.py [37:24 - 138:4] (101 lines, 914 tokens)
exp/2025/09/24/inverse-grin/src/39-inverse-sparse.py [37:31 - 138:4]
Clone found (python):
- exp/2025/09/24/inverse-grin/src/35-inverse-small-reg.py [141:5 - 265:47] (124 lines, 1184 tokens)
exp/2025/09/24/inverse-grin/src/39-inverse-sparse.py [145:5 - 271:44]
Clone found (python):
- exp/2025/09/24/inverse-grin/src/35-inverse-small-reg.py [269:17 - 282:25] (13 lines, 126 tokens)
exp/2025/09/24/inverse-grin/src/39-inverse-sparse.py [279:17 - 292:22]
Clone found (python):
- exp/2025/09/24/inverse-grin/src/35-inverse-small-reg.py [284:35 - 378:15] (94 lines, 1138 tokens)
exp/2025/09/24/inverse-grin/src/39-inverse-sparse.py [294:32 - 398:42]
Clone found (python):
- exp/2025/09/24/inverse-grin/src/35-inverse-small-reg.py [385:5 - 439:46] (54 lines, 595 tokens)
exp/2025/09/24/inverse-grin/src/39-inverse-sparse.py [469:5 - 523:56]
Clone found (python):
- exp/2025/09/24/inverse-grin/src/35-inverse-small-reg.py [443:5 - 451:8] (8 lines, 96 tokens)
exp/2025/09/24/inverse-grin/src/38-inverse-cbrt.py [456:5 - 464:32]
Clone found (python):
- exp/2025/09/24/inverse-grin/src/34-inverse-no-reg.py [1:1 - 37:24] (36 lines, 319 tokens)
exp/2025/09/24/inverse-grin/src/39-inverse-sparse.py [1:1 - 37:29]
Clone found (python):
- exp/2025/09/24/inverse-grin/src/34-i
(Truncated to 13333 characters out of 36839)
⚠️ JSON / jsonlint - 1 error
File: .vscode/settings.json
Parse error on line 27, column 5:
....customTags": [ // ref: <https://squ...
----------------------^
Unexpected token "/"
⚠️ PYTHON / ruff - 1481 errors
F722 Syntax error in forward annotation: Expected an expression
--> exp/2025/04/30/cubic/src/10-gen.py:54:29
|
53 | def callback(intermediate_result: apple.OptimizeResult) -> None:
54 | u: Float[jax.Array, " F"] = intermediate_result["x"]
| ^^^^
55 | u: Float[jax.Array, " T"] = physics.fill_dirichlet(u, q)
56 | u: Float[jax.Array, "P 3"] = u[physics.objects["box"].dof_id]
|
F722 Syntax error in forward annotation: Expected an expression
--> exp/2025/04/30/cubic/src/10-gen.py:55:29
|
53 | def callback(intermediate_result: apple.OptimizeResult) -> None:
54 | u: Float[jax.Array, " F"] = intermediate_result["x"]
55 | u: Float[jax.Array, " T"] = physics.fill_dirichlet(u, q)
| ^^^^
56 | u: Float[jax.Array, "P 3"] = u[physics.objects["box"].dof_id]
57 | result: pv.UnstructuredGrid = physics.objects["box"].geometry
|
F722 Syntax error in forward annotation: Unexpected token at the end of an expression
--> exp/2025/04/30/cubic/src/10-gen.py:56:29
|
54 | u: Float[jax.Array, " F"] = intermediate_result["x"]
55 | u: Float[jax.Array, " T"] = physics.fill_dirichlet(u, q)
56 | u: Float[jax.Array, "P 3"] = u[physics.objects["box"].dof_id]
| ^^^^^
57 | result: pv.UnstructuredGrid = physics.objects["box"].geometry
58 | result.point_data["solution"] = np.asarray(u)
|
F722 Syntax error in forward annotation: Unexpected token at the end of an expression
--> exp/2025/04/30/fat-muscle/src/10-gen.py:32:40
|
30 | ):
31 | cell: pv.Cell
32 | barycentric: Float[np.ndarray, "N 3"] = melon.sample_barycentric_coords(
| ^^^^^
33 | (cfg.n_samples, 4)
34 | )
|
F722 Syntax error in forward annotation: Unexpected token at the end of an expression
--> exp/2025/04/30/fat-muscle/src/10-gen.py:35:36
|
33 | (cfg.n_samples, 4)
34 | )
35 | samples: Float[np.ndarray, "N 3"] = melon.barycentric_to_points(
| ^^^^^
36 | einops.repeat(cell.points, "B D -> N B D", N=cfg.n_samples), barycentric
37 | )
|
F722 Syntax error in forward annotation: Expected an expression
--> exp/2025/04/30/fat-muscle/src/10-gen.py:38:33
|
36 | einops.repeat(cell.points, "B D -> N B D", N=cfg.n_samples), barycentric
37 | )
38 | is_in: Bool[np.ndarray, " N"] = melon.triangle.contains(muscle, samples)
| ^^^^
39 | tetmesh.cell_data["muscle-fraction"][cid] = (
40 | np.count_nonzero(is_in) / cfg.n_samples
|
F722 Syntax error in forward annotation: Expected an expression
--> exp/2025/04/30/fat-muscle/src/11-inspect-volume.py:24:40
|
23 | tetmesh = tetmesh.compute_cell_sizes()
24 | muscle_fraction: Float[np.ndarray, " C"] = tetmesh.cell_data["muscle-fraction"]
| ^^^^
25 | volume: Float[np.ndarray, " C"] = tetmesh.cell_data["Volume"]
26 | occupied_volume: Float[np.ndarray, " C"] = np.sum(volume[muscle_fraction > 1e-9])
|
F722 Syntax error in forward annotation: Expected an expression
--> exp/2025/04/30/fat-muscle/src/11-inspect-volume.py:25:31
|
23 | tetmesh = tetmesh.compute_cell_sizes()
24 | muscle_fraction: Float[np.ndarray, " C"] = tetmesh.cell_data["muscle-fraction"]
25 | volume: Float[np.ndarray, " C"] = tetmesh.cell_data["Volume"]
| ^^^^
26 | occupied_volume: Float[np.ndarray, " C"] = np.sum(volume[muscle_fraction > 1e-9])
27 | ic(occupied_volume / tetmesh.volume)
|
F722 Syntax error in forward annotation: Expected an expression
--> exp/2025/04/30/fat-muscle/src/11-inspect-volume.py:26:40
|
24 | muscle_fraction: Float[np.ndarray, " C"] = tetmesh.cell_data["muscle-fraction"]
25 | volume: Float[np.ndarray, " C"] = tetmesh.cell_data["Volume"]
26 | occupied_volume: Float[np.ndarray, " C"] = np.sum(volume[muscle_fraction > 1e-9])
| ^^^^
27 | ic(occupied_volume / tetmesh.volume)
|
F722 Syntax error in forward annotation: Expected an expression
--> exp/2025/04/30/fat-muscle/src/20-simulate.py:56:29
|
55 | def callback(intermediate_result: apple.OptimizeResult) -> None:
56 | u: Float[jax.Array, " F"] = intermediate_result["x"]
| ^^^^
57 | u: Float[jax.Array, " T"] = physics.fill_dirichlet(u, q)
58 | u: Float[jax.Array, "P 3"] = u[physics.objects["box"].dof_id]
|
F722 Syntax error in forward annotation: Expected an expression
--> exp/2025/04/30/fat-muscle/src/20-simulate.py:57:29
|
55 | def callback(intermediate_result: apple.OptimizeResult) -> None:
56 | u: Float[jax.Array, " F"] = intermediate_result["x"]
57 | u: Float[jax.Array, " T"] = physics.fill_dirichlet(u, q)
| ^^^^
58 | u: Float[jax.Array, "P 3"] = u[physics.objects["box"].dof_id]
59 | result: pv.UnstructuredGrid = physics.objects["box"].geometry
|
F722 Syntax error in forward annotation: Unexpected token at the end of an expression
--> exp/2025/04/30/fat-muscle/src/20-simulate.py:58:29
|
56 | u: Float[jax.Array, " F"] = intermediate_result["x"]
57 | u: Float[jax.Array, " T"] = physics.fill_dirichlet(u, q)
58 | u: Float[jax.Array, "P 3"] = u[physics.objects["box"].dof_id]
| ^^^^^
59 | result: pv.UnstructuredGrid = physics.objects["box"].geometry
60 | result.point_data["solution"] = np.asarray(u)
|
F722 Syntax error in forward annotation: Unexpected token at the end of an expression
--> exp/2025/04/30/human-head/src/10-simulate.py:32:34
|
30 | )
31 | physics.add(apple.Object("flesh", apple.jax.energy.tetra.Phace(), geometry))
32 | activation: Float[jax.Array, "C 3 3"] = activations(
| ^^^^^^^
33 | geometry,
34 | np.asarray(
|
F722 Syntax error in forward annotation: Expected an expression
--> exp/2025/04/30/human-head/src/10-simulate.py:55:29
|
54 | def callback(intermediate_result: apple.OptimizeResult) -> None:
55 | u: Float[jax.Array, " F"] = intermediate_result["x"]
| ^^^^
56 | u: Float[jax.Array, " T"] = physics.fill_dirichlet(u, q)
57 | u: Float[jax.Array, "P 3"] = u[physics.objects["flesh"].dof_id]
|
F722 Syntax error in forward annotation: Expected an expression
--> exp/2025/04/30/human-head/src/10-simulate.py:56:29
|
54 | def callback(intermediate_result: apple.OptimizeResult) -> None:
55 | u: Float[jax.Array, " F"] = intermediate_result["x"]
56 | u: Float[jax.Array, " T"] = physics.fill_dirichlet(u, q)
| ^^^^
57 | u: Float[jax.Array, "P 3"] = u[physics.objects["flesh"].dof_id]
58 | result: pv.UnstructuredGrid = physics.objects["flesh"].geometry
|
F722 Syntax error in forward annotation: Unexpected token at the end of an expression
--> exp/2025/04/30/human-head/src/10-simulate.py:57:29
|
55 | u: Float[jax.Array, " F"] = intermediate_result["x"]
56 | u: Float[jax.Array, " T"] = physics.fill_dirichlet(u, q)
57 | u: Float[jax.Array, "P 3"] = u[physics.objects["flesh"].dof_id]
| ^^^^^
58 | result: pv.UnstructuredGrid = physics.objects["flesh"].geometry
59 | result.point_data["solution"] = np.asarray(u)
|
F722 Syntax error in forward annotation: Expected an expression
--> exp/2025/04/30/human-head/src/10-simulate.py:72:61
|
71 | def activations(
72 | tetmesh: pv.UnstructuredGrid, stretch: Float[ArrayLike, " 3"]
| ^^^^
73 | ) -> Float[jax.Array, "C 3 3"]:
74 | muscle_direction: Float[np.ndarray, "C 3"] = tetmesh.cell_data["muscle-direction"]
|
F722 Syntax error in forward annotation: Unexpected token at the end of an expression
--> exp/2025/04/30/human-head/src/10-simulate.py:73:23
|
71 | def activations(
72 | tetmesh: pv.UnstructuredGrid, stretch: Float[ArrayLike, " 3"]
73 | ) -> Float[jax.Array, "C 3 3"]:
| ^^^^^^^
74 | muscle_direction: Float[np.ndarray, "C 3"] = tetmesh.cell_data["muscle-direction"]
75 | muscle_fraction: Float[np.ndarray, " C"] = tetmesh.cell_data["muscle-fraction"]
|
F722 Syntax error in forward annotation: Unexpected token at the end of an expression
--> exp/2025/04/30/human-head/src/10-simulate.py:74:41
|
72 | tetmesh: pv.UnstructuredGrid, stretch: Float[ArrayLike, " 3"]
73 | ) -> Float[jax.Array, "C 3 3"]:
74 | muscle_direction: Float[np.ndarray, "C 3"] = tetmesh.cell_data["muscle-direction"]
| ^^^^^
75 | muscle_fraction: Float[np.ndarray, " C"] = tetmesh.cell_data["muscle-fraction"]
76 | stretch: Float[jax.Array, " 3"] = jnp.asarray(stretch)
|
F722 Syntax error in forward annotation: Expected an expression
--> exp/2025/04/30/human-head/src/10-simulate.py:75:40
|
73 | ) -> Float[jax.Array, "C 3 3"]:
74 | muscle_direction: Float[np.ndarray, "C 3"] = tetmesh.cell_data["muscle-direction"]
75 | muscle_fraction: Float[np.ndarray, " C"] = tetmesh.cell_data["muscle-fraction"]
| ^^^^
76 | stretch: Float[jax.Array, " 3"] = jnp.asarray(stretch)
77 | orientation: Float[jax.Array, "C 3 3"] = apple.jax.math.orientation_matrix(
|
F722 Syntax error in forward annotation: Expected an expression
--> exp/2025/04/30/human-head/src/10-simulate.py:76:31
|
74 | muscle_direction: Float[np.ndarray, "C 3"] = tetmesh.cell_data["muscle-direction"]
75 | muscle_fraction: Float[np.ndarray, " C"] = tetmesh.cell_data["muscle-fraction"]
76 | stretch: Float[jax.Array, " 3"] = jnp.asarray(stretch)
| ^^^^
77 | orientation: Float[jax.Array, "C 3 3"] = apple.jax.math.orientation_matrix(
78 | muscle_direction,
|
F722 Syntax error in forward annotation: Unexpected token at the end of an expression
--> exp/2025/04/30/human-head/src/10-simulate.py:77:35
|
75 | muscle_fraction: Float[np.ndarray, " C"] = tetmesh.cell_data["muscle-fraction"]
76 | stretch: Float[jax.Array, " 3"] = jnp.asarray(stretch)
77 | orientation: Float[jax.Array, "C 3 3"] = apple.jax.math.orientation_matrix(
| ^^^^^^^
78 | muscle_direction,
79 | einops.repeat(np.asarray([1.0, 0.0, 0.0]), "i -> C i", C=tetmesh.n_cells),
|
F722 Syntax error in forward annotation: Unexpected token at the end of an expression
--> exp/2025/04/30/human-head/src/10-simulate.py:81:34
|
79 | einops.repeat(np.asarray([1.0, 0.0, 0.0]), "i -> C i", C=tetmesh.n_cells),
80 | )
81 | activation: Float[jax.Array, "C 3 3"] = einops.einsum(
| ^^^^^^^
82 | orientation,
83 | jnp.asarray(stretch),
|
F722 Syntax error in forward annotation: Unexpected token at the end of an expression
--> exp/2025/04/30/human-head/src/11-muscle-deformation.py:23:40
|
21 | tetmesh: pv.UnstructuredGrid = melon.load_unstructured_grid(cfg.tetmesh)
22 |
23 | muscle_direction: Float[jax.Array, "C 3"] = jnp.asarray(
| ^^^^^
24 | tetmesh.cell_data["muscle-direction"]
25 | )
|
F722 Syntax error in forward annotation: Expected an expression
--> exp/2025/04/30/human-head/src/11-muscle-deformation.py:26:39
|
24 | tetmesh.cell_data["muscle-direction"]
25 | )
26 | muscle_fraction: Float[jax.Array, " C"] = jnp.asarray(
| ^^^^
27 | tetmesh.cell_data["muscle-fraction"]
28 | )
|
F722 Syntax error in forward annotation: Unexpected token at the end of an expression
--> exp/2025/04/30/human-head/src/11-muscle-deformation.py:29:35
|
27 | tetmesh.cell_data["muscle-fraction"]
28 | )
29 | orientation: Float[jax.Array, "C 3 3"] = apple.jax.math.orientation_matrix(
| ^^^^^^^
30 | muscle_direction,
31 | einops.repeat(jnp.asarray([1.0, 0.0, 0.0]), "i -> C i", C=tetmesh.n_cells),
|
F722 Syntax error in forward annotation: Unexpected token at the end of an expression
--> exp/2025/04/30/human-head/src/11-muscle-deformation.py:34:30
|
32 | )
33 |
34 | points: Float[jax.Array, "P 3"] = jnp.asarray(tetmesh.points)
| ^^^^^
35 | cells: Float[jax.Array, "C 4"] = jnp.asarray(tetmesh.cells_dict[pv.CellType.TETRA])
36 | dh_dX: Float[jax.Array, "C 4 3"] = apple.jax.elem.tetra.dh_dX(points[cells])
|
F722 Syntax error in forward annotation: Unexpected token at the end of an expression
--> exp/2025/04/30/human-head/src/11-muscle-deformation.py:35:29
|
34 | points: Float[jax.Array, "P 3"] = jnp.asarray(tetmesh.points)
35 | cells: Float[jax.Array, "C 4"] = jnp.asarray(tetmesh.cells_dict[pv.C
(Truncated to 13333 characters out of 600238)
See detailed reports in MegaLinter artifacts
b69fb40 to
997e084
Compare
997e084 to
2360124
Compare
2360124 to
51bdbcb
Compare
liblaf
previously approved these changes
Nov 2, 2025
51bdbcb to
ae6b22f
Compare
liblaf
approved these changes
Nov 2, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Automated changes by Bot > Copier Update Workflow