ebrahim
(Ebrahim Ebrahim)
July 29, 2026, 1:28pm
1
Title: 2026.08.04 Weekly Meeting
Next Tuesday, we will be having our next weekly hangout at 10:00 AM ET until 11:00 AM ET.
Anyone is welcome to join at this link: Google Meet meeting
Agenda:
Please post to this thread to put a topic on the agenda! We will try to prioritize agenda items during the meeting.
Thanks
Sam and Ebrahim
ebrahim
(Ebrahim Ebrahim)
July 29, 2026, 1:29pm
2
Consider discussing items we did not get to last time:
ebrahim
(Ebrahim Ebrahim)
August 3, 2026, 1:31pm
4
bump: This meeting is tomorrow
pieper
(Steve Pieper (Isomics, Inc.))
August 3, 2026, 1:59pm
5
I have several PRs pending that I want to talk through tomorrow.
1 Like
pieper
(Steve Pieper (Isomics, Inc.))
August 4, 2026, 1:38pm
6
Iβm doublebooked at 10, so Iβll join the meeting late.
ebrahim
(Ebrahim Ebrahim)
August 4, 2026, 3:46pm
7
Notes from meeting
Agenda
LayerDM to core
Slicer#9184
PR is rebased and ready. It is deliberately not cluttered with refactoring so that it is easier to review, and so that refactoring can be done in follow up work.
Middle click on markups discussion
opened 11:16PM - 21 Jul 26 UTC
As presented in the forum, https://discourse.slicer.org/t/accidentally-moving-al⦠l-markups-in-a-pointlist/47685/9
With middle click it is possible to translate an entire markup node. This behavior might have been intentional but I consider a bug, briefly for reasosn
1. Middle-clik drag already has an action which is to translate camera. This itself is my main objection, and makes it extremely easy to make this error.
2. There is no way to recover this accident from. No global undo. This inflates affect of the mistake.
3. Disable lock in markup module disables every interaction, not just this.
AFAIK, the first two points makes this feature a bug.
As I said I personally cannot foresee any need of this (why would someone randomly move things in space and change data? Widgets give far more control to do the same things.) However, if for some reason it is needed for an application the mouse combination should be altered (add a shift or ctrl or something). Alternatively add a global application setting to disable/enable this feature (I would say it should be opt-in, ie. off by default).
@lassoan @Sunderlandkyl
Adding undo/redo is something Andras has been working on and is really starting to come together now. This will remove a lot of the frustration from these kinds of issues.
For this issue specifically, also hotkey customization will be good. Then the debate becomes what should be the defaults.
AI authorship
(Start of discussion)
The βco-authored byβ β¦
on the one hand PR authors should take full responsibility for what they are writing, so we donβt want this tag. On the other hand it is useful to know which LLM was used, because they have different blind spots.
And maybe it depends on the situation. A random first time contributor with a giant AI generated PR is different from a regular maintainer who is using an LLM to help with a bug fix.
Maybe at this time it is too early to have a hard policy.
Slicer installer script
main β mauigna06:installerFeature
opened 09:09PM - 17 Jul 26 UTC
[Original repository](https://github.com/mauigna06/slicer-installer/tree/main)
β¦
As discussed on the Slicer meeting, this is a PR to make the slicer-installer script available.
A few governance questions I could not answer myself:
> a no-interaction mode, for people who want to use the script in automations
1. When the target version is already installed and you havenβt set SLICER_IF_EXISTING env variable, what should a no-interaction run do: reinstall it (todayβs no-terminal behavior) or exit 0 without touching it? This is the idempotency question β it decides whether repeated automation runs re-download ~1 GB or become no-ops.
2. Do you also need quiet output (no logo, no progress bar) for logs, or is suppressing prompts enough? (default: prompts only β logo and progress bars are already suppressed when output isnβt a terminal)
3. Linux/macOS only, or do you automate the Windows installer too?
> an automatic dependency installation mode, for people who want to use the script to create docker images
4. If installing dependencies fails, should the whole install fail (good for RUN steps in a Dockerfile) or warn and continue?
5. If the script is not root, should it attempt sudo (which may password-prompt β colliding with no-interaction mode) or refuse and print the command as it does today?
6. Do you run Slicer headless in the container (e.g. xvfb-run Slicer --no-main-window)? If so, should the mode optionally install headless extras like xvfb, or stay strictly at Slicerβs runtime library list?
> the possibility of packaging an installer script into the tarball, in the linux case
7. Who is it for: people who manually download the tarball from [download.slicer.org](http://download.slicer.org/) and want the wiring (launcher symlink, menu entry, deps hint) afterwards, or is the goal to get upstream Slicer packaging to bundle the script officially?
8. When run from an extracted tree, should it wire that tree up in place (wherever it was extracted), move it to the standard ~/.local/opt location, or ask?
9. Should it be the same install.sh gaining an offline/local mode (one file, could be dropped into the tarball as-is), or a separate minimal script that contains only the wiring logic?
10. Must it work fully offline (no checksum/version lookups at all)?
11. Should it also offer uninstall of that copy? (default: yes β the uninstall logic already exists in uninstall_linux)
> representing system dependencies in a separate file that the script references and that the docs can also reference to report system dependencies, so that they are in one place and never go out of sync
12. Who consumes the file besides this repoβs README β e.g. the official Slicer docs or a Discourse post wanting a stable URL? Decides whether the file format/location becomes a public contract.
13. Plain text lists per package manager (deps/apt.txt, deps/dnf.txt, deps/pacman.txt) or something structured (JSON/YAML) for machine consumption?
14. Is a repo-internal sync acceptable β the lists get embedded into install.sh by a generator, with a CI check that fails on drift β or do you want the script to fetch the file at runtime so even old script copies stay current? Runtime fetching adds a network failure mode to curl | sh; embedding keeps the script self-contained.
15. Should the file format express conditionals (e.g. libasound2t64 vs libasound2 depending on Ubuntu release), or does that logic stay in the script with the file listing the canonical names?
Language selection and revision selection now supported!
Still working on separation into outer script and inner script.
Now itβs proposed that all three platfroms have an inner script, not just linux, since there are now βpost-installβ steps that are relevant to all three platoforms.
Dependabot
Grouping dependencies
Yes, letβs switch to monthly. And group things.