Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ Keep pull requests focused on one change. Explain the problem, resulting behavio

Create a branch in your fork, make a focused change, and open a pull request against `main`. Link the relevant issue when there is one. Use the pull request template to describe the change and the checks you ran. Contributors do not need write access to this repository to propose changes.

`main` is maintained through pull requests. A maintainer reviews the diff, confirms that discussions are resolved and the required CI checks pass, then merges the pull request. The pull request author cannot supply the required approval. A later code change needs a fresh approval. Do not push directly to `main`, force-push it, delete it, or use an administrator bypass for an ordinary change.
`main` is maintained through pull requests. The `3dhlab` maintainer reviews the exact diff, confirms that discussions are resolved and the required CI checks pass, then merges the pull request. Contributor pull requests require the maintainer's approving review; later changes need a fresh review. For a pull request authored by `3dhlab`, the Lab may record its own review decision and merge using its account-specific review exception. GitHub does not count a formal approval by a pull request's own author. Required CI, resolved conversations, the pull request trail, and force-push/deletion protections remain enforced for the Lab. Do not push directly to `main`, force-push it, or delete it.

The required CI jobs are **Web unit, build, dependency gate**, **API PostgreSQL, Redis, migrations**, **Browser annotation, media, share regression**, and **Clean demo install and real API browser journey**. They run on pull requests through [the CI workflow](.github/workflows/ci.yml). A failed or missing required check must be resolved before merging.

The `3dhlab` account owns the repository rules and performs merges. Changes to branch rules, required checks, repository permissions, or this process are owner decisions; record the reason and resulting settings in a pull request or issue. `3dhlab` is currently the sole upstream writer. An independent contributor may critically assess an owner-drafted change, preserve its original authorship, document that assessment, and submit it from a fork for `3dhlab` to review. Merely copying a draft is not an independent assessment. An owner-authored pull request cannot be self-approved; it would require another trusted maintainer with write access. Do not add write access solely to satisfy the review rule or bypass it for an ordinary change.
The `3dhlab` account owns the repository rules and performs merges. Changes to branch rules, required checks, repository permissions, or this process are owner decisions; record the reason and resulting settings in a pull request or issue. `3dhlab` is the sole upstream writer and the only account with the pull-request review exception. Unlock Digital and other contributors submit their own changes from forks for Lab review; they have no upstream merge or review-exception authority. Lab-authored changes can be reviewed and merged by the Lab without contributor adoption or external approval. Independent reviews remain available when the maintainer requests them. Record an owner review decision on the exact head before using the exception, and reassess after a new push.

Only the `3dhlab` account publishes release tags and GitHub releases, using a reviewed commit already merged to `main` with passing CI. Several separately reviewed PRs can be merged into one release: verify CI on the final `main` commit, then tag that commit and publish the release notes. GitHub grants release creation to accounts with repository write access, so ordinary contributors should use forks without write access. Grant write access only to a trusted maintainer when its merge and release authority is intended.

Expand Down
10 changes: 6 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,11 @@ The source includes a local demonstration with one authoring account; [published

[Explore the Loci research collection](https://loci.threedeezy.com/public). This personally hosted instance shows the interface with collection objects and recorded interpretations. Its collection media and contributor material have separate permissions. The generated local demonstration below is the reproducible example included with this repository.

[![Watch the hosted Loci research collection walkthrough](docs/media/hosted-walkthrough.jpg)](docs/media/hosted-walkthrough.mp4)
Watch the 64.5-second hosted walkthrough with audio.

[Watch or download the 64.5-second hosted walkthrough with audio (MP4)](docs/media/hosted-walkthrough.mp4) · [Read the walkthrough guide](docs/media/hosted-walkthrough.md)
https://github.com/user-attachments/assets/8ed45214-8053-4f76-a1cf-8d37fdcebe1a

[Read the walkthrough guide](docs/media/hosted-walkthrough.md)

Hosted walkthrough recording and editing: **Unlock Digital**. Permission to
show participants in this edited video grants no reuse license for the
Expand Down Expand Up @@ -42,9 +44,9 @@ The demo login is `demo@example.org`. Read its generated `DEMO_PASSWORD` from yo

## Local demo walkthrough

[![Watch the Loci local demo and visual authoring walkthrough](docs/media/demo-authoring/poster.jpg)](docs/media/demo-authoring/loci-demo-authoring.mp4)
https://github.com/user-attachments/assets/daaeb92e-b3a2-4adc-af80-01662bce84bd

[Watch or download the video](docs/media/demo-authoring/loci-demo-authoring.mp4) · [Timed text description](docs/media/demo-authoring/transcript.md) · [Follow the authoring guide](docs/demo-authoring.md)
[Follow the authoring guide](docs/demo-authoring.md) · [Timed text description](docs/media/demo-authoring/transcript.md)

This silent 41-second walkthrough shows the generated cube in the public reader,
then selects a video range, places and refines a pin, previews it privately,
Expand Down
Loading