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
2 changes: 1 addition & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,6 @@ List checks actually run, measured results and remaining limitations. Do not pre

## Publication

Merging into `main` triggers the GitHub Pages workflow. Confirm that the change is ready for the owner to publish, preserves `wizardloop.com` and existing URLs, and includes any relevant rollback notes. A pull request does not itself merge or deploy the change.
Merging into `main` triggers my GitHub Pages workflow. Confirm that the change is ready for me to publish, preserves `wizardloop.com` and existing URLs, and includes any relevant rollback notes. I review publication separately; a pull request does not itself merge or deploy the change.

State any changes to external links, visitor data handling or hosting settings. Keep credentials and personal messages out of this description.
20 changes: 20 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,29 @@ jobs:
- run: npm run check
- run: npx playwright install --with-deps chromium firefox webkit
- run: npm run test:browsers
- name: Measure mobile Lighthouse
run: |
npm run preview > /tmp/wizardloop-preview.log 2>&1 &
preview_pid=$!
trap 'kill "$preview_pid" 2>/dev/null || true' EXIT
for attempt in {1..30}; do
if curl --fail --silent http://127.0.0.1:4322/ > /dev/null; then
break
fi
sleep 1
done
curl --fail --silent http://127.0.0.1:4322/ > /dev/null
export CHROME_PATH="$(node -p "require('@playwright/test').chromium.executablePath()")"
npm run audit:performance
- uses: actions/upload-artifact@v4
if: always()
with:
name: browser-quality-results
path: artifacts/final/
retention-days: 7
- uses: actions/upload-artifact@v4
if: always()
with:
name: mobile-lighthouse-results
path: artifacts/lighthouse/
retention-days: 7
51 changes: 31 additions & 20 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,32 +1,43 @@
# Changelog

These headings record source changes. They do not establish that a Git tag, GitHub Release or production deployment exists.
I record source changes here and identify verified deployments separately. A version heading alone does not establish that a Git tag or GitHub Release exists.

## 1.0.0-rc.2 - Unreleased
## 1.0.0-rc.3 - Unreleased

- Simplify the site to static GitHub Pages with manually maintained profile content and local media.
- Replace the feedback form with verified direct contact links while preserving `/feedback/`.
- Add an accessible email-copy action, persistent mobile-menu close control and visible current-page navigation.
- Refine the illustrated destination pages around original ink, paper, star and infinity artwork; keep the creator's existing wizard identity and motion.
- Preload the local body font to reduce initial text-layout work; record fresh Lighthouse measurements and broader three-engine responsive coverage.
- Direct Work and Posts visitors to the original Telegram channel and Projects visitors to all GitHub repositories; retain the existing page URLs.
- Remove automatic profile/post services, the feedback backend, CAPTCHA setup, related fixtures and obsolete operational instructions.
- Remove embedded-feed loading and explain the current external-link behavior in privacy, security and accessibility information.
- Publish validated `dist/` output on pushes to `main`, with a manual retry option. Require lint, typecheck, build and browser checks before deployment; keep deployment permissions in the deploy job.
- Document the one-time GitHub Actions publishing-source setting, direct content editing, verification and rollback. No DNS change or additional service credentials are required.
- I added Silver Grimoire to Home, About and Posts, with local still previews and the existing motion controls.
- I replaced decorative star glyphs with an original reusable SVG mark so the design does not depend on a device's emoji font.
- I cached animation source data and isolated each player's mutable copy so repeated artwork placements can run independently.
- I added a manual poster-generation command for animation asset editing.
- I added regression checks for SVG identity, delayed animation loading, independent playback and lifecycle recovery, plus Linux Lighthouse reports in review CI.
- I rewrote my site and repository prose in my own first-person voice while preserving factual history and third-party legal notices.

Current validation and known limits are recorded in [QA.md](docs/QA.md). This candidate does not claim completed legal conformance, human screen-reader review or a verified production release.
This source candidate has not been deployed. I recorded its measured browser checks, performance samples and the local Home performance limitation separately from the historical baseline in [QA.md](docs/QA.md).

## 1.0.0-rc.2 - Deployed 2026-10-28

- I simplified my site to static GitHub Pages with manually maintained profile content and local media.
- I replaced the feedback form with verified direct contact links while preserving `/feedback/`.
- I added an accessible email-copy action, persistent mobile-menu close control and visible current-page navigation.
- I refined my illustrated destination pages around original ink, paper, star and infinity artwork while retaining my wizard identity and motion.
- I preloaded my local body font to reduce initial text-layout work and recorded fresh Lighthouse measurements and broader three-engine responsive coverage.
- I directed Work and Posts visitors to my Telegram channel and Projects visitors to all my GitHub repositories, retaining the existing page URLs.
- I removed automatic profile/post services, the feedback backend, CAPTCHA setup, related fixtures and obsolete operational instructions.
- I removed embedded-feed loading and explained external-link behavior in my privacy, security and accessibility information.
- I configured publication of validated `dist/` output on pushes to `main`, with a manual retry option. Lint, typecheck, build and browser checks run before deployment; deployment permissions stay in the deploy job.
- I documented the one-time GitHub Actions publishing-source setting, direct content editing, verification and rollback. I made no DNS change and added no service credentials.

I merged this baseline through [PR #4](https://github.com/WizardLoop/wizardloop.github.io/pull/4) at `ef1157b` and verified it in production on 2026-10-28. [Deployment run 40679459115](https://github.com/WizardLoop/wizardloop.github.io/actions/runs/40679459115) passed 170 browser tests. I retain its local validation and known limits in the [pinned rc.2 QA report](https://github.com/WizardLoop/wizardloop.github.io/blob/ef1157bd1d3f45420656864b5cfbf895d9128f3a/docs/QA.md). I do not claim completed legal conformance or a human screen-reader review.

## 1.0.0-rc.1 - Earlier review candidate

- Rebuilt the personal site with Astro and the selected Spectrum Circuit direction, comic framing and the owner's wizard illustrations.
- Added responsive pages, themes, navigation, motion preferences, semantic metadata, static social artwork and domain-preserving builds.
- Included 30 original wizard animations, six flag samples, retained TGS sources, transparent posters and provenance manifests.
- Added native hero video and static fallbacks for decoders that stop or freeze, plus browser, accessibility and performance checks.
- Prototyped private profile/post synchronization and a feedback backend. Those components were removed in `1.0.0-rc.2` after the owner chose a simpler static scope. Their earlier code and review evidence remain in Git history.
- I rebuilt my personal site with Astro, the Spectrum Circuit direction, comic framing and my wizard illustrations.
- I added responsive pages, themes, navigation, motion preferences, semantic metadata, static social artwork and domain-preserving builds.
- I included 30 original wizard animations, six flag samples, retained TGS sources, transparent posters and provenance manifests.
- I added native hero video and static fallbacks for decoders that stop or freeze, plus browser, accessibility and performance checks.
- I prototyped private profile/post synchronization and a feedback backend. I removed those components in `1.0.0-rc.2` when I chose a simpler static scope. Their earlier code and review evidence remain in Git history.

The earlier service tests are historical evidence, not verification of a current live service. No release is implied by this entry.
I keep the earlier service tests as historical evidence, not verification of a current live service. This entry does not imply a release.

## Earlier baseline

The original four-file website remains in Git history at `658ed667c173f861cd16e6048126de12ec3648b9`, dated 2025-07-20. The initial audit found no tags or GitHub Releases; recheck before creating any release. Do not assign a historical semantic version retrospectively. Phase 1 tooling used `0.1.0-preview.1` for the three local concepts, not a production release.
My original four-file website remains in Git history at `658ed667c173f861cd16e6048126de12ec3648b9`, dated 2025-07-20. My initial audit found no tags or GitHub Releases; recheck before creating any release. I have not assigned a historical semantic version retrospectively. I used `0.1.0-preview.1` for the three local concepts' Phase 1 tooling, not a production release.
8 changes: 4 additions & 4 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# Code of Conduct

This is a personal open-source project. Everyone participating in its issues, pull requests and discussions should be able to contribute without harassment.
This is my personal open-source project. I want everyone participating in its issues, pull requests and discussions to be able to contribute without harassment.

Be respectful and specific. Discuss the work and its effects, explain disagreements, welcome questions and credit contributions. Respect privacy, accessibility needs and different backgrounds or levels of experience.

Harassment, discriminatory abuse, threats, sexualized comments, impersonation, deliberate disruption and publishing another person's private information are not acceptable. Do not use project spaces for spam, unwanted solicitation or attempts to obtain credentials.

Report a concern privately to WizardLoop through [Telegram](https://t.me/wizardloop) or the published email, [wizard@wizardloop.com](mailto:wizard@wizardloop.com). Share only what is needed to understand the incident. Do not publish private evidence in an issue or circulate it unnecessarily.
Report a concern to me privately through [Telegram](https://t.me/wizardloop) or [wizard@wizardloop.com](mailto:wizard@wizardloop.com). Share only what is needed to understand the incident. Do not publish private evidence in an issue or circulate it unnecessarily.

The maintainer may request changes, remove inappropriate material or restrict participation to protect the project. The response should consider the conduct, its impact and whether it continued after a request to stop. No fixed response time or confidential reporting platform is promised by this document.
I may request changes, remove inappropriate material or restrict participation to protect the project. I consider the conduct, its impact and whether it continued after a request to stop. I do not promise a fixed response time or a dedicated confidential reporting platform.

These expectations apply to this repository and project spaces managed by its maintainer, and when someone explicitly represents the project elsewhere. This document does not claim authority over unrelated communities.
These expectations apply to this repository and project spaces I manage, and when someone explicitly represents the project elsewhere. I do not claim authority over unrelated communities.
8 changes: 4 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Contributing to WizardLoop

This repository is one creator's personal website. Contributions should preserve the owner's identity, verified content and control over publication. Open focused pull requests for corrections, and discuss major visual changes or dependencies first. Report vulnerabilities privately through [SECURITY.md](SECURITY.md).
This repository is my personal website. Please preserve my identity, verified content and control over publication when contributing. Open focused pull requests for corrections, and discuss major visual changes or dependencies with me first. Report vulnerabilities privately through [SECURITY.md](SECURITY.md).

## Local work

Expand All @@ -9,7 +9,7 @@ This repository is one creator's personal website. Contributions should preserve
3. Install Node 22.23.4 or newer, run `npm ci`, then `npm run dev`.
4. Edit content, styles and browser interactions in their documented locations. No service credentials or mock server are needed.

Preserve `wizardloop.com`, both source CNAME files and existing public routes. Hosting or domain changes require a specific owner-reviewed proposal. Keep the site static unless the owner explicitly requests a different architecture.
Preserve `wizardloop.com`, both source CNAME files and existing public routes. I review hosting or domain changes as separate proposals. Keep my site static unless I explicitly request a different architecture.

## Content and interface

Expand All @@ -18,7 +18,7 @@ Preserve `wizardloop.com`, both source CNAME files and existing public routes. H
- Use a regular hyphen instead of U+2014 in controlled content and metadata.
- Preserve keyboard access, visible focus, semantic headings, contrast and narrow-screen layouts. Honor reduced motion and the global motion control.
- Keep useful content when JavaScript fails. Do not load external scripts or media merely to display a link to another service.
- Record asset provenance and licensing. MIT code contributions do not relicense the owner's branding or artwork.
- Record asset provenance and licensing. MIT code contributions do not relicense my branding or artwork.

## Validation and review

Expand All @@ -28,6 +28,6 @@ Describe the concrete change, validation actually performed and remaining limits

Keep lockfile updates with dependency changes. Exclude installed packages, build output, test artifacts, `.env` files, credentials and personal messages. Review the diff before submitting.

**An owner-approved merge into `main` triggers publication after checks pass.** Creating a pull request does not authorize someone else to merge it. Confirm publication readiness before merging and follow [DEPLOYMENT.md](docs/DEPLOYMENT.md). Tags, releases and DNS changes remain separate owner decisions.
**A merge I approve into `main` triggers publication after checks pass.** Creating a pull request does not authorize someone else to merge it. Confirm publication readiness with me before merging and follow [DEPLOYMENT.md](docs/DEPLOYMENT.md). I decide separately about tags, releases and DNS changes.

New source contributions are offered under the repository's MIT license. Submit only material you may contribute and identify any different asset license. Participation follows [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md).
Loading
Loading