Skip to content

Ignore Julia environment and coverage artifacts - #13

Draft
smartalecH wants to merge 3 commits into
python/lengthscale-constraintsfrom
chore/gitignore-julia
Draft

smartalecH wants to merge 3 commits into
python/lengthscale-constraintsfrom
chore/gitignore-julia

Conversation

@smartalecH

Copy link
Copy Markdown
Collaborator

Stacked on #12 (base branch is python/lengthscale-constraints), which is itself stacked on #11.

Running Pkg.instantiate() in src/julia/SSP (or examples/julia) writes a Manifest.toml that currently shows up as untracked — easy to commit by accident, and a resolved manifest shouldn't be tracked for a package that supports a range of dependency versions. This adds a Julia section to .gitignore:

  • Manifest.toml and Manifest-v*.toml (Julia writes the versioned form for some julia versions);
  • *.jl.cov, *.jl.*.cov, *.jl.mem, left behind by julia --code-coverage and --track-allocation.

Verified by re-running Pkg.instantiate() in src/julia/SSP: the regenerated Manifest.toml no longer appears in git status, and git check-ignore -v attributes it to the new rule.

I deliberately left the PNGs that the examples write into the working directory (projection.png, constraint_sweep.png, ...) out of this — a blanket *.png rule would silently swallow figures we may later want to commit for the docs. Happy to add explicit names if you'd rather.

Adds a running Julia-vs-Python feature list, compiled from the current
sources, covering the filters, SSP1/SSP2 projections, dilation/erosion,
lengthscale constraints, AD support, and the low-level Julia API, plus
known limitations and gaps.

Also links the new page from the top-level and Julia READMEs and adds
Julia installation instructions to the top-level README.
Ports the geometric lengthscale constraints from the Julia package:
constraint_solid and constraint_void, with the hyperparameter-free
thresholds of Arrieta et al. (arXiv:2507.16108). Both are written in
terms of rho_filtered and rho_projected only, so they compose with any
projection order (ssp1_bilinear, ssp2, or a plain tanh projection).

Includes a test suite covering the threshold functions, lengthscale
detection on stripe/gap geometries, gradients against finite differences,
composition with each projection, jit, and argument validation, plus a
worked example that sweeps the constraint over feature widths and runs a
two-stage constrained optimization.
Running Pkg.instantiate() in src/julia/SSP or examples/julia writes a
Manifest.toml, which should not be tracked for a package. Also ignore the
coverage and allocation files that `julia --code-coverage` / `--track-allocation`
leave next to the sources.
@smartalecH
smartalecH force-pushed the python/lengthscale-constraints branch from 2bb82ed to 75edbcb Compare September 18, 2026 21:33
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