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
35 changes: 25 additions & 10 deletions .github/workflows/publish-unsigned-preview.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,17 @@ on:
paths:
- .github/workflows/publish-unsigned-preview.yml
workflow_dispatch:
inputs:
preview_tag:
description: New prerelease tag; an existing release is never overwritten
required: true
type: string
default: v0.5.0-beta.2
preview_title:
description: Public prerelease title
required: true
type: string
default: Parlyn Engine v0.5.0 Beta 2 (unsigned)

permissions:
contents: write
Expand All @@ -18,7 +29,8 @@ jobs:
env:
CSC_IDENTITY_AUTO_DISCOVERY: false
GH_TOKEN: ${{ github.token }}
PREVIEW_TAG: v0.5.0-beta.1
PREVIEW_TAG: ${{ inputs.preview_tag || 'v0.5.0-beta.2' }}
PREVIEW_TITLE: ${{ inputs.preview_title || 'Parlyn Engine v0.5.0 Beta 2 (unsigned)' }}

steps:
- name: Checkout
Expand Down Expand Up @@ -56,22 +68,25 @@ jobs:
shell: pwsh
run: |
@"
# Parlyn Engine v0.5.0 Beta 1
# Parlyn Engine v0.5.0 Beta 2

This is the first packaged Windows beta of Parlyn Engine. The editor
foundation is functional and tested, while the available feature set
remains intentionally limited during foundation-first development.
This unsigned Windows beta contains the completed automated Phase 1
foundation candidate. It adds reliable atomic project persistence,
hardened Node and Undo/Redo invariants, visible editor errors, tighter
desktop trust boundaries and corrected packaged toolbar branding.

**Important:** This beta is unsigned and may be blocked by Windows
Smart App Control. It is published to document and validate the packaged
application while Parlyn applies for trusted Open Source code signing.
It must not be described as a trusted or signed release.

Free code signing provided by SignPath.io, certificate by SignPath Foundation.

The repository contains the reproducible build workflow, public code
signing policy and SHA-256 verification procedure. After SignPath
approval, this beta will be superseded by a verified signed build.
signing policy and SHA-256 verification procedure. Parlyn has applied
to the SignPath Foundation program; approval and certificate access
remain pending. This release is not SignPath-signed.

Maintainer acceptance instructions:
https://github.com/WebCrew/Parlyn-Engine/blob/main/docs/MAINTAINER-ACCEPTANCE-v0.5.0-beta.2.md
"@ | Set-Content -LiteralPath release/PREVIEW-NOTES.md -Encoding utf8

- name: Publish GitHub pre-release
Expand All @@ -85,7 +100,7 @@ jobs:
gh release create "$env:PREVIEW_TAG" `
--repo "$env:GITHUB_REPOSITORY" `
--target "$env:GITHUB_SHA" `
--title "Parlyn Engine v0.5.0 Beta 1 (unsigned)" `
--title "$env:PREVIEW_TITLE" `
--notes-file release/PREVIEW-NOTES.md `
--prerelease `
"$($installer[0].FullName)" `
Expand Down
2 changes: 2 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@
- Bounded loaded scenes to 10,000 nodes and 256 hierarchy levels.
- Reworked plain-JSON validation to avoid recursive call-stack exhaustion.
- Added automated Node hierarchy and Undo/Redo invariant checks.
- Added a repeatable Beta 2 maintainer acceptance checklist for the Phase 1 completion gate.
- Generalized the non-overwriting unsigned preview workflow for an explicit Beta 2 release.


## v0.5.0 — Transform Tools & Module Foundation
Expand Down
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -222,6 +222,9 @@ identity supplied through the controlled signing boundary.
See [`docs/WINDOWS-DISTRIBUTION.md`](docs/WINDOWS-DISTRIBUTION.md) for signing,
verification and the maintainer acceptance test.

The current Phase 1 acceptance candidate uses the repeatable
[`v0.5.0-beta.2 maintainer checklist`](docs/MAINTAINER-ACCEPTANCE-v0.5.0-beta.2.md).

### Code signing policy

Parlyn has applied to the SignPath Foundation Open Source Code Signing program.
Expand Down
75 changes: 75 additions & 0 deletions docs/MAINTAINER-ACCEPTANCE-v0.5.0-beta.2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# Parlyn Engine v0.5.0 Beta 2 — Maintainer Acceptance

This is the repeatable Phase 1 acceptance pass. Perform it on the published
`v0.5.0-beta.2` artifact, not on a development checkout or the older Beta 1.

Smart App Control and normal Windows security settings remain enabled. This
preview is intentionally unsigned while the SignPath Foundation application is
pending; a successful functional test is not a claim of trusted signing.

## Test record

Record these values in Issue #23 after the pass:

- date and Windows version;
- installer filename;
- SHA-256 shown by `Get-FileHash`;
- pass/fail for each section below;
- exact wording and screenshot for any failure.

## 1. Download and integrity

1. Download the installer and `SHA256SUMS.txt` from the Beta 2 prerelease.
2. In PowerShell, run:

```powershell
Get-FileHash "$env:USERPROFILE\Downloads\Parlyn-Engine-Setup-0.5.0-x64.exe" -Algorithm SHA256
```

3. Confirm the displayed hash matches `SHA256SUMS.txt`.

## 2. Install and launch

1. Install with the normal per-user setup.
2. Launch from the final installer page.
3. Close Parlyn and launch it once from the Start menu and once from the desktop shortcut.
4. Confirm the top button bar shows one intact Parlyn logo and no second broken `Parlyn Engine` fallback text.

## 3. Project and persistence

1. Create a project named `Parlyn Beta 2 Test` in a new empty parent folder.
2. Add one 2.5D Sprite and one 3D Mesh.
3. Rename both nodes and change their positions.
4. Save the scene, close Parlyn, reopen the project and confirm names and positions survived.
5. Open **World**, confirm the project world name and seed appear, then use **Save World**.
6. Open the bundled `samples/Parlyn-Test-Project` and confirm its hierarchy and imported asset appear.

## 4. Hierarchy, transforms and history

1. Select nodes through both Hierarchy and Viewport.
2. Move, rotate and scale the 3D Mesh with W, E and R.
3. Move and scale the 2.5D Sprite; confirm its 2.5D transform controls remain appropriate.
4. Undo at least three changes, then redo them in order.
5. Undo once, make a different change and confirm the old redo path is no longer available.

## 5. Visible error feedback

1. Create a plain text file containing `{ broken json` and give it a `.json` extension.
2. Use **Open Scene** and select that file.
3. Confirm Parlyn stays open and presents a visible `Scene open failed` dialog with an understandable invalid-JSON message.
4. Close the dialog and confirm normal editor interaction still works.

## 6. Modules and regression

1. Open **Modules**, enable and disable the Example Module and confirm its displayed state follows the action.
2. Orbit, pan and zoom the editor camera.
3. Add and delete another node, then undo and redo the deletion.
4. Save and reopen once more without a crash or console-visible failure affecting the UI.

## 7. Uninstall preservation

1. Close Parlyn and uninstall Beta 2 normally.
2. Confirm the separately created `Parlyn Beta 2 Test` project still exists with its files intact.

Phase 1 passes only when every required section succeeds or a discovered defect
is fixed and the affected section is repeated against a new artifact.
2 changes: 1 addition & 1 deletion docs/ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ Already present:

Completion gate:

- complete a repeatable maintainer test pass and record the result.
- complete the repeatable `v0.5.0-beta.2` maintainer test pass and record the result in Issue #23.

## Phase 2 — Editor foundation

Expand Down
4 changes: 4 additions & 0 deletions docs/TESTING-v0.5.0.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Parlyn Engine v0.5.0 Test Guide

For the Phase 1 release-candidate acceptance pass, use the shorter artifact-specific
[`MAINTAINER-ACCEPTANCE-v0.5.0-beta.2.md`](MAINTAINER-ACCEPTANCE-v0.5.0-beta.2.md)
and record the result in Issue #23. The guide below remains the detailed feature reference.

This test focuses on the two new foundations introduced in v0.5.0: viewport transform gizmos and the module lifecycle.

## Baseline regression
Expand Down
5 changes: 5 additions & 0 deletions docs/WINDOWS-DISTRIBUTION.md
Original file line number Diff line number Diff line change
Expand Up @@ -130,3 +130,8 @@ Smart App Control should remain enabled throughout the test.
The packaged installer has passed the initial install-and-launch smoke test on
the maintainer's Windows machine. Public trusted-signing acceptance remains
pending separately from the resolved development-binary blocker.

The full Phase 1 functional acceptance candidate is the unsigned
`v0.5.0-beta.2` prerelease. Its repeatable checklist is documented in
[`MAINTAINER-ACCEPTANCE-v0.5.0-beta.2.md`](MAINTAINER-ACCEPTANCE-v0.5.0-beta.2.md),
and the result is recorded in Issue #23 before Phase 1 can be marked complete.
1 change: 1 addition & 0 deletions scripts/check.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ const required = [
'docs/SMART-SYSTEMS.md',
'docs/AUTHENTICATION.md',
'docs/WINDOWS-DISTRIBUTION.md',
'docs/MAINTAINER-ACCEPTANCE-v0.5.0-beta.2.md',
'build/icon.ico',
'.github/workflows/windows-installer.yml',
'scripts/check-smart-systems.mjs',
Expand Down
Loading