Skip to content

Commit 029f15d

Browse files
committed
Use the individual commit comment generated for each PR. Do not squash PR_26152_174 through PR_26152_178 into a single commit.
1 parent 9af5355 commit 029f15d

10 files changed

Lines changed: 747 additions & 0 deletions
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
# Runtime Object Default Rejection
2+
3+
PR: PR_26152_176-runtime-object-default-rejection
4+
Date: 2026-06-02
5+
6+
## Scope
7+
8+
- Added default rejection validation for runtime object creation.
9+
- Rejects missing required fields instead of silently defaulting.
10+
- Rejects fallback runtime fields such as position, size, velocity, sprite, behavior, rendering, physics, collision, and default field variants.
11+
- Does not add silent defaults or touch samples.
12+
13+
## Required Fields
14+
15+
- `objectId`
16+
- `objectType`
17+
- `geometryRef`
18+
- `rules`
19+
20+
## Validation
21+
22+
Command:
23+
24+
```powershell
25+
node tests/engine/RuntimeObjectDefaultRejection.test.mjs
26+
```
27+
28+
Result: PASS.
29+
30+
## Lanes Executed
31+
32+
- engine - runtime object creation rejection behavior.
33+
- runtime - default rejection boundary only.
34+
35+
## Lanes Skipped
36+
37+
- rendering - no rendering behavior added.
38+
- input - no input behavior added.
39+
- physics - no physics behavior added.
40+
- rule execution - no rule execution added.
41+
- samples - permanently out of scope.
42+
- Playwright - not impacted.
43+
44+
## Samples Decision
45+
46+
SKIP. Samples are permanently out of scope.
47+
48+
## Playwright
49+
50+
Playwright impacted: No. This PR validates engine object creation errors through targeted Node tests only.
51+
52+
## Manual Validation
53+
54+
Review `RuntimeObjectDefaultRejection.test.mjs` and confirm missing required fields and fallback runtime fields fail with visible error codes.
55+
56+
## Blocker Scope
57+
58+
No blocker for runtime object default rejection.
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
# Runtime Object Record Factory
2+
3+
PR: PR_26152_174-runtime-object-record-factory
4+
Date: 2026-06-02
5+
6+
## Scope
7+
8+
- Added `src/engine/runtime/runtimeObjectRecordFactory.js`.
9+
- Converts validated object definitions into runtime object records.
10+
- Preserves manifest-owned fields: `objectId`, `objectType`, `geometryRef`, and `rules`.
11+
- Does not add rendering, movement, collision, physics, rule execution, or sample work.
12+
13+
## Implementation
14+
15+
Runtime object records are created only from explicit manifest-owned fields.
16+
17+
The factory rejects invalid definitions and returns visible error records instead of silently creating objects.
18+
19+
## Validation
20+
21+
Commands:
22+
23+
```powershell
24+
node --check src/engine/runtime/runtimeObjectRecordFactory.js
25+
node tests/engine/RuntimeObjectRecordFactory.test.mjs
26+
```
27+
28+
Result: PASS.
29+
30+
## Lanes Executed
31+
32+
- engine - runtime object record factory syntax and behavior validation.
33+
- runtime - object record creation boundary only.
34+
35+
## Lanes Skipped
36+
37+
- rendering - no rendering behavior added.
38+
- input - no input behavior added.
39+
- physics - no physics behavior added.
40+
- rule execution - rules are preserved by id only and are not executed.
41+
- samples - permanently out of scope.
42+
- Playwright - not impacted.
43+
44+
## Samples Decision
45+
46+
SKIP. Samples are permanently out of scope.
47+
48+
## Playwright
49+
50+
Playwright impacted: No. This PR adds an engine record factory validated by targeted Node tests and does not launch browser/runtime UI behavior.
51+
52+
## Manual Validation
53+
54+
Review `RuntimeObjectRecordFactory.test.mjs` and confirm valid object definitions produce records containing only `objectId`, `objectType`, `geometryRef`, and `rules`.
55+
56+
## Blocker Scope
57+
58+
No blocker for the runtime object record factory slice.
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# Runtime Object Record Validation
2+
3+
PR: PR_26152_177-runtime-object-record-validation
4+
Date: 2026-06-02
5+
6+
## Scope
7+
8+
- Added runtime object record validation tests.
9+
- Valid records pass.
10+
- Invalid records fail visibly.
11+
- Incoming manifest object definitions are not mutated.
12+
- Runtime behavior is not executed.
13+
14+
## Validation
15+
16+
Command:
17+
18+
```powershell
19+
node tests/engine/RuntimeObjectRecordValidation.test.mjs
20+
```
21+
22+
Result: PASS.
23+
24+
## Lanes Executed
25+
26+
- engine - runtime object record validation.
27+
- runtime - record validation and mutation guard only.
28+
29+
## Lanes Skipped
30+
31+
- rendering - no rendering behavior added.
32+
- input - no input behavior added.
33+
- physics - no physics behavior added.
34+
- rule execution - no rule execution added.
35+
- samples - permanently out of scope.
36+
- Playwright - not impacted.
37+
38+
## Samples Decision
39+
40+
SKIP. Samples are permanently out of scope.
41+
42+
## Playwright
43+
44+
Playwright impacted: No. This PR validates engine object records through targeted Node tests only.
45+
46+
## Manual Validation
47+
48+
Review `RuntimeObjectRecordValidation.test.mjs` and confirm invalid object records fail and source object definitions remain unchanged.
49+
50+
## Blocker Scope
51+
52+
No blocker for runtime object record validation.
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# Runtime Object Slice Closeout
2+
3+
PR: PR_26152_178-runtime-object-slice-closeout
4+
Date: 2026-06-02
5+
6+
## Scope
7+
8+
- Closed the runtime object record slice.
9+
- Documented PASS/FAIL/WARN/SKIP.
10+
- Documented the next executable slice.
11+
- Did not expand into rendering, input, physics, rule execution, or samples.
12+
13+
## Slice Status
14+
15+
| Area | Status | Notes |
16+
| --- | --- | --- |
17+
| Runtime object record factory | PASS | Validated object definitions convert to records with manifest-owned fields only. |
18+
| Object type validation | PASS | Approved object types pass; unknown object types fail visibly. |
19+
| Default rejection | PASS | Missing required fields and fallback runtime fields are rejected. |
20+
| Record validation | PASS | Valid records pass; invalid records fail; incoming definitions are not mutated. |
21+
| Rendering | SKIP | Out of scope. |
22+
| Input handling | SKIP | Out of scope. |
23+
| Movement/collision/physics | SKIP | Out of scope. |
24+
| Rule execution | SKIP | Out of scope. |
25+
| Samples | SKIP | Permanently out of scope. |
26+
27+
## Validation
28+
29+
Commands:
30+
31+
```powershell
32+
node tests/engine/RuntimeObjectRecordFactory.test.mjs
33+
node tests/engine/RuntimeObjectTypeValidation.test.mjs
34+
node tests/engine/RuntimeObjectDefaultRejection.test.mjs
35+
node tests/engine/RuntimeObjectRecordValidation.test.mjs
36+
```
37+
38+
Result: PASS.
39+
40+
## Next Executable Slice
41+
42+
Next slice: `runtime-rule-link-validation`.
43+
44+
Expected scope:
45+
46+
- validate runtime object records can reference declared rule ids
47+
- reject missing rule references visibly
48+
- keep rule execution, rendering, input, physics, samples, and full game bootstrap out of scope
49+
50+
## Lanes Executed
51+
52+
- engine - targeted runtime object record closeout validation.
53+
- runtime - object record factory and validation only.
54+
55+
## Lanes Skipped
56+
57+
- integration - no ProjectWorkspace handoff behavior changed.
58+
- samples - permanently out of scope.
59+
- recovery/UAT - no recovery behavior changed.
60+
- Playwright - not impacted.
61+
62+
## Samples Decision
63+
64+
SKIP. Samples are permanently out of scope.
65+
66+
## Playwright
67+
68+
Playwright impacted: No. This closeout uses targeted Node validation only.
69+
70+
## Blocker Scope
71+
72+
No blocker for the runtime object record slice.
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
# Runtime Object Type Validation
2+
3+
PR: PR_26152_175-runtime-object-type-validation
4+
Date: 2026-06-02
5+
6+
## Scope
7+
8+
- Added targeted validation for runtime object record types.
9+
- Validates only approved object types from the object model baseline.
10+
- Rejects unknown object types visibly.
11+
- Does not add fallback object types or touch samples.
12+
13+
## Approved Types
14+
15+
- `static`
16+
- `dynamic`
17+
- `killable`
18+
- `collectible`
19+
- `trigger`
20+
- `projectile`
21+
- `zone`
22+
- `ui`
23+
24+
## Validation
25+
26+
Command:
27+
28+
```powershell
29+
node tests/engine/RuntimeObjectTypeValidation.test.mjs
30+
```
31+
32+
Result: PASS.
33+
34+
## Lanes Executed
35+
36+
- engine - approved runtime object type validation.
37+
- runtime - runtime object record type boundary only.
38+
39+
## Lanes Skipped
40+
41+
- rendering - no rendering behavior added.
42+
- input - no input behavior added.
43+
- physics - no physics behavior added.
44+
- rule execution - no rule execution added.
45+
- samples - permanently out of scope.
46+
- Playwright - not impacted.
47+
48+
## Samples Decision
49+
50+
SKIP. Samples are permanently out of scope.
51+
52+
## Playwright
53+
54+
Playwright impacted: No. This PR validates engine object type data through targeted Node tests only.
55+
56+
## Manual Validation
57+
58+
Review `RuntimeObjectTypeValidation.test.mjs` and confirm every approved object type is accepted and an unknown type is rejected without fallback.
59+
60+
## Blocker Scope
61+
62+
No blocker for runtime object type validation.

0 commit comments

Comments
 (0)