@codyswann/lisa 2.178.6 → 2.180.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/configs/eslint/phaser.d.ts +2 -8
- package/dist/configs/eslint/phaser.d.ts.map +1 -1
- package/dist/configs/eslint/phaser.js +143 -17
- package/dist/configs/eslint/phaser.js.map +1 -1
- package/eslint-plugin-phaser/README.md +19 -0
- package/eslint-plugin-phaser/index.js +35 -0
- package/eslint-plugin-phaser/package.json +10 -0
- package/eslint-plugin-phaser/rules/no-allocation-in-update.js +189 -0
- package/eslint-plugin-phaser/rules/no-create-in-update.js +200 -0
- package/eslint-plugin-phaser/rules/require-shutdown-cleanup.js +191 -0
- package/package.json +5 -3
- package/phaser/merge/.claude/settings.json +1 -0
- package/phaser/merge/.mcp.json +8 -0
- package/phaser/package-lisa/package.lisa.json +11 -3
- package/plugins/lisa/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-agy/plugin.json +1 -1
- package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-agy/plugin.json +1 -1
- package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-agy/plugin.json +1 -1
- package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-agy/plugin.json +1 -1
- package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-agy/plugin.json +1 -1
- package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser/rules/phaser.md +134 -44
- package/plugins/lisa-phaser/skills/phaser-accessibility/SKILL.md +135 -0
- package/plugins/lisa-phaser/skills/phaser-accessibility/agents/openai.yaml +4 -0
- package/plugins/lisa-phaser/skills/phaser-asset-pipeline/SKILL.md +148 -0
- package/plugins/lisa-phaser/skills/phaser-asset-pipeline/agents/openai.yaml +4 -0
- package/plugins/lisa-phaser/skills/phaser-build-deploy/SKILL.md +148 -0
- package/plugins/lisa-phaser/skills/phaser-build-deploy/agents/openai.yaml +4 -0
- package/plugins/lisa-phaser/skills/phaser-i18n/SKILL.md +122 -0
- package/plugins/lisa-phaser/skills/phaser-i18n/agents/openai.yaml +4 -0
- package/plugins/lisa-phaser/skills/phaser-project-structure/SKILL.md +5 -5
- package/plugins/lisa-phaser/skills/phaser-services/SKILL.md +208 -0
- package/plugins/lisa-phaser/skills/phaser-services/agents/openai.yaml +4 -0
- package/plugins/lisa-phaser/skills/phaser-testing/SKILL.md +104 -11
- package/plugins/lisa-phaser-agy/plugin.json +1 -1
- package/plugins/lisa-phaser-agy/skills/phaser-accessibility/SKILL.md +135 -0
- package/plugins/lisa-phaser-agy/skills/phaser-asset-pipeline/SKILL.md +148 -0
- package/plugins/lisa-phaser-agy/skills/phaser-build-deploy/SKILL.md +148 -0
- package/plugins/lisa-phaser-agy/skills/phaser-i18n/SKILL.md +122 -0
- package/plugins/lisa-phaser-agy/skills/phaser-project-structure/SKILL.md +5 -5
- package/plugins/lisa-phaser-agy/skills/phaser-services/SKILL.md +208 -0
- package/plugins/lisa-phaser-agy/skills/phaser-testing/SKILL.md +104 -11
- package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser-copilot/rules/phaser.md +134 -44
- package/plugins/lisa-phaser-copilot/skills/phaser-accessibility/SKILL.md +135 -0
- package/plugins/lisa-phaser-copilot/skills/phaser-asset-pipeline/SKILL.md +148 -0
- package/plugins/lisa-phaser-copilot/skills/phaser-build-deploy/SKILL.md +148 -0
- package/plugins/lisa-phaser-copilot/skills/phaser-i18n/SKILL.md +122 -0
- package/plugins/lisa-phaser-copilot/skills/phaser-project-structure/SKILL.md +5 -5
- package/plugins/lisa-phaser-copilot/skills/phaser-services/SKILL.md +208 -0
- package/plugins/lisa-phaser-copilot/skills/phaser-testing/SKILL.md +104 -11
- package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser-cursor/rules/phaser.mdc +134 -44
- package/plugins/lisa-phaser-cursor/skills/phaser-accessibility/SKILL.md +135 -0
- package/plugins/lisa-phaser-cursor/skills/phaser-asset-pipeline/SKILL.md +148 -0
- package/plugins/lisa-phaser-cursor/skills/phaser-build-deploy/SKILL.md +148 -0
- package/plugins/lisa-phaser-cursor/skills/phaser-i18n/SKILL.md +122 -0
- package/plugins/lisa-phaser-cursor/skills/phaser-project-structure/SKILL.md +5 -5
- package/plugins/lisa-phaser-cursor/skills/phaser-services/SKILL.md +208 -0
- package/plugins/lisa-phaser-cursor/skills/phaser-testing/SKILL.md +104 -11
- package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-rails-agy/plugin.json +1 -1
- package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript-agy/plugin.json +1 -1
- package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki-agy/plugin.json +1 -1
- package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/src/phaser/rules/phaser.md +134 -44
- package/plugins/src/phaser/skills/phaser-accessibility/SKILL.md +135 -0
- package/plugins/src/phaser/skills/phaser-asset-pipeline/SKILL.md +148 -0
- package/plugins/src/phaser/skills/phaser-build-deploy/SKILL.md +148 -0
- package/plugins/src/phaser/skills/phaser-i18n/SKILL.md +122 -0
- package/plugins/src/phaser/skills/phaser-project-structure/SKILL.md +5 -5
- package/plugins/src/phaser/skills/phaser-services/SKILL.md +208 -0
- package/plugins/src/phaser/skills/phaser-testing/SKILL.md +104 -11
- package/tsconfig/phaser.json +8 -1
- package/plugins/lisa-phaser/skills/phaser-assets/SKILL.md +0 -96
- package/plugins/lisa-phaser/skills/phaser-assets/agents/openai.yaml +0 -4
- package/plugins/lisa-phaser/skills/phaser-gameobjects/SKILL.md +0 -94
- package/plugins/lisa-phaser/skills/phaser-gameobjects/agents/openai.yaml +0 -4
- package/plugins/lisa-phaser/skills/phaser-physics/SKILL.md +0 -86
- package/plugins/lisa-phaser/skills/phaser-physics/agents/openai.yaml +0 -4
- package/plugins/lisa-phaser/skills/phaser-rendering/SKILL.md +0 -89
- package/plugins/lisa-phaser/skills/phaser-rendering/agents/openai.yaml +0 -4
- package/plugins/lisa-phaser/skills/phaser-scenes/SKILL.md +0 -86
- package/plugins/lisa-phaser/skills/phaser-scenes/agents/openai.yaml +0 -4
- package/plugins/lisa-phaser/skills/phaser-v3-migration/SKILL.md +0 -81
- package/plugins/lisa-phaser/skills/phaser-v3-migration/agents/openai.yaml +0 -4
- package/plugins/lisa-phaser-agy/skills/phaser-assets/SKILL.md +0 -96
- package/plugins/lisa-phaser-agy/skills/phaser-gameobjects/SKILL.md +0 -94
- package/plugins/lisa-phaser-agy/skills/phaser-physics/SKILL.md +0 -86
- package/plugins/lisa-phaser-agy/skills/phaser-rendering/SKILL.md +0 -89
- package/plugins/lisa-phaser-agy/skills/phaser-scenes/SKILL.md +0 -86
- package/plugins/lisa-phaser-agy/skills/phaser-v3-migration/SKILL.md +0 -81
- package/plugins/lisa-phaser-copilot/skills/phaser-assets/SKILL.md +0 -96
- package/plugins/lisa-phaser-copilot/skills/phaser-gameobjects/SKILL.md +0 -94
- package/plugins/lisa-phaser-copilot/skills/phaser-physics/SKILL.md +0 -86
- package/plugins/lisa-phaser-copilot/skills/phaser-rendering/SKILL.md +0 -89
- package/plugins/lisa-phaser-copilot/skills/phaser-scenes/SKILL.md +0 -86
- package/plugins/lisa-phaser-copilot/skills/phaser-v3-migration/SKILL.md +0 -81
- package/plugins/lisa-phaser-cursor/skills/phaser-assets/SKILL.md +0 -96
- package/plugins/lisa-phaser-cursor/skills/phaser-gameobjects/SKILL.md +0 -94
- package/plugins/lisa-phaser-cursor/skills/phaser-physics/SKILL.md +0 -86
- package/plugins/lisa-phaser-cursor/skills/phaser-rendering/SKILL.md +0 -89
- package/plugins/lisa-phaser-cursor/skills/phaser-scenes/SKILL.md +0 -86
- package/plugins/lisa-phaser-cursor/skills/phaser-v3-migration/SKILL.md +0 -81
- package/plugins/src/phaser/skills/phaser-assets/SKILL.md +0 -96
- package/plugins/src/phaser/skills/phaser-gameobjects/SKILL.md +0 -94
- package/plugins/src/phaser/skills/phaser-physics/SKILL.md +0 -86
- package/plugins/src/phaser/skills/phaser-rendering/SKILL.md +0 -89
- package/plugins/src/phaser/skills/phaser-scenes/SKILL.md +0 -86
- package/plugins/src/phaser/skills/phaser-v3-migration/SKILL.md +0 -81
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: phaser-v3-migration
|
|
3
|
-
description: This skill should be used when migrating a Phaser 3 game to Phaser 4, reviewing code that contains Phaser 3 idioms, or answering "does this v3 API still exist" questions — pipelines→render nodes, preFX/postFX/BitmapMask→Filters, tintFill→TintModes, removed namespaces (Geom.Point, Struct, Mesh/Plane, Camera3D, bundled Spine), config default changes, and texture-orientation changes. Pairs with phaser-rendering and phaser-project-structure.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Phaser 3 → Phaser 4 Migration
|
|
7
|
-
|
|
8
|
-
## Overview
|
|
9
|
-
|
|
10
|
-
Phaser 4.0.0 "Caladan" (April 2026; current line v4.1 "Salusa") keeps the core
|
|
11
|
-
game-facing API stable — scenes, input, Arcade/Matter physics, tweens,
|
|
12
|
-
animations, audio, and the scale manager are **unchanged** — and replaces the
|
|
13
|
-
rendering internals. The official estimate for a standard-API game is hours,
|
|
14
|
-
not weeks. The npm package is still `phaser`; v4 ships its own
|
|
15
|
-
`types/phaser.d.ts`.
|
|
16
|
-
|
|
17
|
-
Upstream references for deeper detail: the official migration guide in the
|
|
18
|
-
phaser repo (`changelog/v4/4.0/MIGRATION-GUIDE.md`) and the shader-specific
|
|
19
|
-
guide. This skill is original Lisa content written against those primary
|
|
20
|
-
sources — it is not a port of any upstream plugin or skill package.
|
|
21
|
-
|
|
22
|
-
## What did NOT change (don't "migrate" these)
|
|
23
|
-
|
|
24
|
-
Scene lifecycle (`init/preload/create/update`), `this.scene` control, Loader
|
|
25
|
-
API (plus new `atlasPCT`), Input, Arcade & Matter physics, Tweens/Timelines,
|
|
26
|
-
`anims`, Scale Manager, Sound managers, Groups, Containers, particle emitter
|
|
27
|
-
API (v3.60 style).
|
|
28
|
-
|
|
29
|
-
## The breaking changes, by frequency of impact
|
|
30
|
-
|
|
31
|
-
| Phaser 3 | Phaser 4 |
|
|
32
|
-
| --- | --- |
|
|
33
|
-
| `setPipeline(...)` / `setPostPipeline(...)` / `resetPipeline()` | RenderNodes (`render.renderNodes` config) — rewrite required |
|
|
34
|
-
| `preFX` / `postFX` controllers | Unified **Filter** system (internal/external lists) |
|
|
35
|
-
| `BitmapMask` / `GeometryMask` | `Mask` filter; `Phaser.Actions.AddMaskShape()` |
|
|
36
|
-
| Bloom/Shine/Circle FX | `Actions.AddEffectBloom()` / `AddEffectShine()` |
|
|
37
|
-
| Gradient FX | `Gradient` GameObject |
|
|
38
|
-
| `setTintFill(c)` / `tintFill` | `setTint(c)` + `setTintMode(Phaser.TintModes.FILL)` |
|
|
39
|
-
| `setPipeline('Light2D')` | `gameObject.setLighting(true)`; lights gained `z` |
|
|
40
|
-
| `Phaser.Geom.Point` | Removed — `Phaser.Math.Vector2` (geometry returns Vector2) |
|
|
41
|
-
| `Phaser.Struct.Set` / `Struct.Map` | Native `Set` / `Map` |
|
|
42
|
-
| Shadertoy-style `Shader` uniforms | Rewritten Shader: `ShaderQuadConfig`, `setUniform()`, `#pragma` |
|
|
43
|
-
| RenderTexture/DynamicTexture draw-executes-immediately | **Buffered** — call `render()`; `preserve()`, `renderMode` |
|
|
44
|
-
| Bundled Spine 3/4 plugins | Removed — Esoteric's official Phaser Spine runtime |
|
|
45
|
-
| `Mesh`, `Plane`, OBJ loader, `Camera3D`, `Layer3D` | Removed, no replacement |
|
|
46
|
-
| `Math.TAU` = π/2 (wrong) | `Math.TAU` = 2π (correct); `PI_OVER_2` added; `PI2` removed |
|
|
47
|
-
| `Create.GenerateTexture`, polyfills, IE9 entry | Removed |
|
|
48
|
-
|
|
49
|
-
## Behavior/default changes that silently alter a port
|
|
50
|
-
|
|
51
|
-
- `roundPixels` default flipped **true → false**. If a pixel-art game looks
|
|
52
|
-
blurry after porting, set `pixelArt: true` (or `render.smoothPixelArt`) —
|
|
53
|
-
don't blanket-restore roundPixels.
|
|
54
|
-
- **Texture Y-flip**: UVs are GL-oriented (Y=0 bottom). Standard usage is
|
|
55
|
-
translated automatically, but custom shaders and **compressed textures** must
|
|
56
|
-
be updated/re-encoded.
|
|
57
|
-
- `Camera#matrix` no longer includes position (`matrixExternal` does;
|
|
58
|
-
`matrixCombined` removed) — affects code doing manual camera-space math.
|
|
59
|
-
- `Grid` "outline" properties renamed to "stroke". TileSprite was rebuilt
|
|
60
|
-
(atlas frames, `tileRotation`; cropping removed). `DOMElement` without a
|
|
61
|
-
container parent now throws.
|
|
62
|
-
|
|
63
|
-
## Migration procedure
|
|
64
|
-
|
|
65
|
-
1. Bump `phaser` to `^4.1.0`; remove any `@types/phaser`.
|
|
66
|
-
2. Typecheck — removed APIs surface as compile errors; fix using the table.
|
|
67
|
-
3. Grep for the silent ones types won't catch: `Light2D`, `tintFill`,
|
|
68
|
-
`Math.TAU`, custom shader GLSL, compressed-texture loads.
|
|
69
|
-
4. Rewrite pipelines/FX as RenderNodes/Filters ([[phaser-rendering]]); re-add
|
|
70
|
-
`render()` calls after DynamicTexture drawing.
|
|
71
|
-
5. Swap Spine to the Esoteric runtime; check third-party plugins (`rex` users:
|
|
72
|
-
the v4 line is the separate `phaser4-rex-plugins` package, which also ships
|
|
73
|
-
`p3-fx` ports of the dropped v3 FX).
|
|
74
|
-
6. Verify visually per [[phaser-rendering]] — renderer migrations produce
|
|
75
|
-
wrong-pixels bugs, not exceptions.
|
|
76
|
-
|
|
77
|
-
## Project conventions
|
|
78
|
-
|
|
79
|
-
This stack's lint config hard-bans the left column of the table in `src/**` —
|
|
80
|
-
a migration is not complete until lint passes with those rules on, with zero
|
|
81
|
-
disables.
|