Skip to content

Releases: lucaswaldburger/structure

v1.4.0 — Per-mode saver variants

Choose a tag to compare

@lucaswaldburger lucaswaldburger released this 12 Jun 03:46

Each render mode now ships as its own installable screensaver (the legacy in-saver "Options…" sheet no longer works on modern macOS). Download the variant(s) you want — they appear as separate entries in System Settings → Screen Saver and can coexist.

Install

These bundles are ad-hoc signed, not notarized, so macOS quarantines them on download. On macOS 15 (Sequoia) and later, first launch is blocked with:

"Structure-Backbone.saver" Not Opened. Apple could not verify "Structure-Backbone.saver" is free of malware that may harm your Mac or compromise your privacy.

The old right-click → Open bypass no longer works for screensavers. Clear the quarantine flag instead (that flag is the only thing triggering the block). After unzipping into ~/Downloads:

xattr -dr com.apple.quarantine ~/Downloads/Structure-*.saver
open ~/Downloads/Structure-Backbone.saver      # or move it to ~/Library/Screen Savers/

Then pick the variant under System Settings → Screen Saver. If you cloned the repo, ./install.sh does the quarantine-strip + install for every variant automatically.

Variants

  • Structure-Backbone — CA trace, colored by chain
  • Structure-BallStick — all atoms, CPK colors, inferred bonds
  • Structure-Spacefill — Van der Waals spheres (CPK)
  • Structure-Ribbon — extruded ribbon mesh with PyMOL-style helix/sheet shapes
  • Structure-Cartoon — Catmull-Rom tube cartoon

Also new

  • User-selectable background color (full RGB) via the Structure Settings app (Structure-Settings.app.zip) or the structure-config CLI
  • On-screen download/loading status while the first structure is fetched
  • Shared settings (display period, background, cache, internet, info overlay) apply to every variant

v1.3.0 — Ribbon mesh with arrowed β-sheets

Choose a tag to compare

@lucaswaldburger lucaswaldburger released this 06 Jun 06:27

What changed

The Ribbon render mode now produces a proper extruded mesh with shape-distinguished secondary structure, instead of width-modulated cylinders:

  • α-helices — wide flat ribbon (red-tinted)
  • β-sheets — wide flat ribbon (yellow-tinted) with a C-terminal arrowhead: the last residue of every sheet run tapers from a wider arrow base to a point, producing the canonical flanged arrow shape
  • Loops / coil — thin near-square tube in chain color

Implementation: one extruded mesh per chain. The rectangular cross-section is swept along a Catmull-Rom spline through the Cα atoms using a parallel-transport frame (avoids ribbon-plane flips at curve inflections). Per-vertex color via an SCNGeometrySource(.color) keeps it to one SCNGeometry per chain. Chains are split at Cα–Cα gaps > 12 Å so the spline doesn't jump across the molecule.

Install

  1. Download Structure-v1.3.0.zip, unzip.
  2. Double-click Structure.saver. System Settings will offer to install it.
  3. First launch may warn "unidentified developer" (ad-hoc signed) — right-click → Open to bypass once.

System Settings → Screen Saver → select Structure.

Notes

  • Modes (cycle with the 3 key during preview): Ribbon (default), Backbone trace, Ball and stick, Spacefill (CPK).
  • The ribbon plane orientation comes from a parallel-transported frame, not from peptide-plane / C=O direction. Helix and sheet rotation may differ from PyMOL but is stable and non-flipping across the molecule.

v1.2.0 — Ribbon default

Choose a tag to compare

@lucaswaldburger lucaswaldburger released this 06 Jun 06:16

What changed

  • The Ribbon render mode (formerly Cartoon (tube)) is now the default for new installs — it communicates secondary structure more legibly at a glance than the per-atom backbone trace.
  • Renamed under the hood: CartoonRendererRibbonRenderer, RenderMode.cartoonRenderMode.ribbon. RawValue is unchanged (3), so any existing user-selected mode is preserved across upgrade.

Install

  1. Download Structure-v1.2.0.zip, unzip.
  2. Double-click Structure.saver. System Settings will offer to install it.
  3. First launch may warn "unidentified developer" (ad-hoc signed) — right-click → Open to bypass once.

System Settings → Screen Saver → select Structure.

Notes

  • Modes (cycle with 3 key during preview): Ribbon (default), Backbone trace, Ball and stick, Spacefill (CPK).
  • Existing v1.1.0 installs that had a different mode selected will keep that selection; new installs land on Ribbon.

v1.1.0 — Structure (rename + HiDPI/quality polish)

Choose a tag to compare

@lucaswaldburger lucaswaldburger released this 06 Jun 00:10

Renames the product to Structure, matching the upstream bblonder/structure lineage, and ships visual-quality fixes. If you ran v1.0.0, this is a drop-in replacement — the old PDBStructure bundle/defaults are orphaned (cleanly reset on first run under the new name).

Renames

  • Bundle: PDBStructure.saverStructure.saver
  • Bundle identifier: edu.berkeley.PDBStructureedu.berkeley.structure
  • Principal class: PDBStructureViewStructureView
  • ScreenSaverDefaults module: PDBStructureStructure
  • Application Support subdir: PDBStructure/cache/Structure/cache/

Quality

  • Sphere segment counts 10–14 → 24–32, cylinder counts 6–10 → 12–18 (round instead of faceted)
  • Cartoon Catmull-Rom spline subsamples 8 → 16 (smoother tube)
  • SCNView antialiasing: multisampling4Xmultisampling16X
  • HiDPI text fix: viewDidChangeBackingProperties recursively binds layer.contentsScale to window.backingScaleFactor so the info-overlay text rasterizes at native Retina resolution instead of being upscaled from 1x

Install

  1. Download Structure-v1.1.0.zip, unzip
  2. Double-click Structure.saver
  3. System Settings will prompt to install — confirm for current user or all users
  4. First load may show Gatekeeper warning; right-click → Open to bypass

If you have v1.0.0 installed: drag the old ~/Library/Screen Savers/PDBStructure.saver to the Trash after installing this one.

Requires macOS 13+.

v1.0.0 — PDBStructure Swift refactor

Choose a tag to compare

@lucaswaldburger lucaswaldburger released this 06 Jun 00:10

Initial Swift/SceneKit re-implementation of bblonder/structure. Project name at this version is PDBStructure.

What's in this release

  • Four render modes: backbone trace, ball-and-stick (CPK), spacefill (Van der Waals), cartoon (Catmull-Rom tube with helix/sheet thickening)
  • Full PDB header parsing: HEADER classification, TITLE, COMPND chain→molecule mapping, SOURCE organism, EXPDTA method, REMARK 2 resolution, AUTHOR list, HELIX and SHEET secondary structure
  • Translucent info overlay with chain letters colored to match the rendering
  • Config sheet for display period, cache size, render mode, internet/local-only/annotation toggles
  • 8 bundled offline structures (1mbn, 2dhb, 1bna, 1gfl, 1ytb, 2lyz, 1igt, 4ins) used as fallback when offline or network fails
  • HTTPS fetch from files.rcsb.org, on-disk LRU cache in the sandboxed Application Support directory
  • Ad-hoc codesigned

Install

  1. Download PDBStructure-v1.0.0.zip, unzip
  2. Double-click PDBStructure.saver
  3. System Settings will prompt to install — confirm for current user or all users
  4. First load may show Gatekeeper warning; right-click → Open to bypass

Requires macOS 13+.