Layer 2 — application architecture · 1,820 documents
| ID | Document | Source |
|---|---|---|
| app_invariants__ed9fae68a5be3273 | Webpack configuration for building the production/distribution version of the Spine plugin with both renderers enabled. | — |
| app_invariants__0255e4e06316ab77 | Webpack configuration for building the debug version of the Spine plugin specifically for Canvas rendering. | — |
| app_invariants__2bf67135db50f908 | Webpack configuration for building the production version of the Spine plugin specifically for Canvas rendering. | — |
| app_invariants__5a1606b1fed9cd35 | INVARIANT: Temporal Context Preservation during Dependency Injection SHADOW: The loader must capture, pivot, and restore the global URI state (baseURL, path, prefix) during the mid-flight discovery… | — |
| app_invariants__f66237ea64a4ec25 | INVARIANT: Renderer Singleton Bridge via Host Persistence SHADOW: To prevent GPU resource exhaustion and context collisions, the specialized Spine SceneRenderer must be anchored to the long-lived… | — |
| app_invariants__950abefdf4c68db8 | INVARIANT: Globalized Custom Cache Sovereignty SHADOW: Spine asset lifecycles (Atlases/Textures) are decoupled from the Scene's memory boundary and promoted to the Game-level Custom Cache. This… | — |
| app_invariants__99214040025abc4f | INVARIANT: Multi-Phase Synchronization Gating SHADOW: The SpineFile MultiFile acts as a synchronization barrier that prevents the system from entering the 'Processing' state until a recursive… | — |
| app_invariants__c9f1114d7ba520b8 | INVARIANT: Explicit Type-Override for Batch Integrity SHADOW: SpineContainers and GameObjects must explicitly overwrite their internal type signature to 'Spine' to force the renderer into a specific… | — |
| app_invariants__3d1feb8053fc32e0 | INVARIANT: Foreign pipeline injection requires mandatory context flushing and state restoration. SHADOW: Direct WebGL rendering through the Spine-specific scene renderer bypasses the standard engine… | — |
| app_invariants__5e2f0be0ddee0ab8 | INVARIANT: Zero-alpha state transitions must trigger immediate bitwise render-graph pruning. SHADOW: To maintain high-pressure frame rates, the system synchronizes the skeletal alpha property with… | — |
| app_invariants__1946e54e315c3008 | INVARIANT: Skeletal state re-initialization must execute a destructive purge of the event listener stack. SHADOW: Spine animation states maintain their own subscription lifecycles. When a new… | — |
| app_invariants__28fa1fa3bf45a848 | INVARIANT: Spatial consistency requires explicit Y-axis reconciliation between Spine-origin and Screen-space. SHADOW: The Spine runtime operates on a bottom-up Y-axis, while the host engine operates… | — |
| app_invariants__92515006dbc2630e | INVARIANT: Masking boundaries force immediate batch termination and pipeline re-sync. SHADOW: Rendering masks are identified as high-entropy interruptions. In the child-rendering loop, detection of… | — |
| app_invariants__a792ed608ebfce37 | INVARIANT: The effective visual transform (position, rotation, scale) of any renderable Game Object is computed by a multiplicative accumulation of its own local transform, the world transforms of… | — |
| app_invariants__4fbd3d2c593b448d | INVARIANT: All managed assets (textures, animations, fonts) and generated type definitions (classes, interfaces, namespaces, members) within their respective managers and parsers must possess… | — |
| app_invariants__cc8948d3d2b659ae | INVARIANT: Raw source code and documentation comments undergo a mandatory, ordered multi-stage transformation process, including initial source mutation (`beforeParse`), doclet refinement… | — |
| app_invariants__4705b759a582a148 | INVARIANT: The core game loop, managed by `TimeStep`, employs mechanisms (delta smoothing, `panicMax` cooldown, explicit pause/resume handling via `_pauseTime`, `pauseDuration`, `_coolDown`) to… | — |
| app_invariants__84c03322003a8ecb | INVARIANT: All core engine systems (`AnimationManager`, `CacheManager`, `SceneManager`) and per-scene components (`DisplayList`, `UpdateList`, `CameraManager`) adhere to a strict boot, start,… | — |
| app_invariants__2d7e4f56f6f96baa | INVARIANT: A group's active state dictates its inclusion in the scene's update list. SHADOW: The `active` property of a Group determines if its `preUpdate` method is called by the scene's update… | — |
| app_invariants__56f37a39a7ef9d86 | INVARIANT: A group's membership is managed by an internal Set, ensuring uniqueness and efficient lookups. SHADOW: The `Phaser.Structs.Set` used for `group.children` prevents duplicate GameObjects… | — |
| app_invariants__e154a30a9ac4a6df | INVARIANT: Group members are automatically removed from the scene's display and update lists when destroyed, maintaining scene integrity. SHADOW: The `child.on(Events.DESTROY, this.remove, this)`… | — |
| app_invariants__0291e28f52d37020 | INVARIANT: The group's `maxSize` property acts as a hard limit, preventing the addition of new members once the limit is reached. SHADOW: The `isFull()` check before adding members prevents… | — |
| app_invariants__6fe4c978f1d27050 | INVARIANT: The `runChildUpdate` flag controls the execution of `preUpdate` on group members, ensuring targeted updates. SHADOW: Only when `runChildUpdate` is true does the group iterate and call… | — |
| app_invariants__6e052683bb13b17c | INVARIANT: Group creation methods (`create`, `createMultiple`, `createFromConfig`) respect the `maxSize` constraint, preventing overflow. SHADOW: The checks `if (this.isFull()) { return null; }` and… | — |
| app_invariants__3434aec344bf4484 | INVARIANT: Callbacks (`createCallback`, `removeCallback`, `createMultipleCallback`) are executed during group membership changes, enabling custom side-effects. SHADOW: These callbacks allow for… | — |
| app_invariants__a2744ca65223539f | INVARIANT: The `active` property of the group itself controls its inclusion in the scene's update list. SHADOW: The `this.on(Events.ADDED_TO_SCENE, this.addedToScene, this);` and… | — |
| app_invariants__cc95e11119403e49 | INVARIANT: An Image's rendering state is intrinsically tied to its texture and frame configuration. SHADOW: The `setTexture(texture, frame)` and `setSizeToFrame()` methods ensure that the Image's… | — |
| app_invariants__0978c7f31d35b391 | INVARIANT: An Image's origin and position are coupled, ensuring transformations are applied relative to a consistent reference point. SHADOW: The `setPosition` and `setOriginFromFrame` calls during… | — |
| app_invariants__a8a371645750afd0 | INVARIANT: A Layer's visual properties (alpha, blendMode, visible) are applied to all its managed children, enforcing a consistent visual context. SHADOW: The `alpha`, `blendMode`, and `visible`… | — |
| app_invariants__20680dae39704f00 | INVARIANT: Layers maintain a strict display list hierarchy, preventing nesting within Containers and enforcing a flat structure at the scene level. SHADOW: The `parentContainer` property is always… | — |
| app_invariants__075e8fc89cdd3e94 | INVARIANT: Layers trigger a depth sort only when their contents or hierarchy changes, optimizing rendering performance. SHADOW: The `sortChildrenFlag` and `queueDepthSort` mechanism ensures that the… | — |
| app_invariants__5697f37fccc6eb20 | INVARIANT: A Mesh's vertex data is managed by a dedicated `faces` array, where each Face comprises three `Vertex` objects. SHADOW: The `faces` array, populated by methods like `addVertices` or… | — |
| app_invariants__1dc50bf462188736 | INVARIANT: Mesh transformation, view, and projection matrices are managed and updated based on dirty flags, optimizing render calculations. SHADOW: The `dirtyCache` mechanism ensures that matrix… | — |
| app_invariants__02139d49f82924a5 | INVARIANT: The `hideCCW` property controls the rendering of faces based on their winding order, ensuring correct 3D visibility. SHADOW: When `hideCCW` is true, faces whose normals point away from… | — |
| app_invariants__38221307d2fed6c5 | INVARIANT: Mesh rendering logic is executed only if `vertices` are present and `willRender` returns true, maintaining rendering efficiency. SHADOW: The `totalFaces === 0` check and the… | — |
| app_invariants__dfc955aca9504676 | INVARIANT: A NineSlice object's dimensions are constrained by its slice parameters, ensuring minimum valid size. SHADOW: The `this.width = Math.max(value, this.leftWidth + this.rightWidth)` and… | — |
| app_invariants__94bcad2c6c6d0fb6 | INVARIANT: Vertex UV coordinates are dynamically adjusted based on the frame's source and the NineSlice object's slice parameters. SHADOW: The `updateUVs` and `updateQuadUVs` methods use the frame's… | — |
| app_invariants__823724aadfbc88f2 | INVARIANT: The `is3Slice` property dictates whether vertical stretching is disabled and the height is fixed to the texture's height. SHADOW: This boolean flag correctly alters the behavior of the… | — |
| app_invariants__26e49ec516cdcdda | INVARIANT: Each particle's state (position, velocity, life, appearance) is managed by an `EmitterOp` instance for its respective property. SHADOW: The `ops` object holds `EmitterOp` instances for… | — |
| app_invariants__f20aeb972f190058 | INVARIANT: Particle emission and lifecycle are controlled by counters and state flags, ensuring accurate simulation timing. SHADOW: The `counters` array (`flowCounter`, `lifeCurrent`,… | — |
| app_invariants__f723db59137841b9 | INVARIANT: The `alive` and `dead` particle pools maintain a strict separation, ensuring correct particle management. SHADOW: Particles are moved between the `alive` (actively updating) and `dead`… | — |
| app_invariants__3f32349a58a9078b | INVARIANT: Particle updates are gated by `delayCurrent` and `holdCurrent`, ensuring phased activation and expiration. SHADOW: The `delayCurrent` counter delays the processing of a particle after… | — |
| app_invariants__a7cebef0839b1d74 | INVARIANT: The `ParticleEmitter.update()` method governs the entire lifecycle of all particles managed by the emitter. SHADOW: This method iterates through active particles, applies processors,… | — |
| app_invariants__59d82eba5f1e8296 | INVARIANT: Emission zones (`emitZones`) and death zones (`deathZones`) are processed sequentially during particle lifecycle events. SHADOW: During `particle.fire`, `getEmitZone` selects and… | — |
| app_invariants__4986eba17ae5736b | INVARIANT: The `ParticleEmitter` manages its own rendering batching and sorting via `alive` and `sortCallback`/`sortProperty`. SHADOW: Before rendering, the `alive` particle array is sorted if a… | — |
| app_invariants__a87d6ef057bab642 | INVARIANT: The `ParticleEmitter`'s transformation matrix is updated to reflect its world position, rotation, and scale. SHADOW: The `getWorldTransformMatrix()` method calculates and caches the… | — |
| app_invariants__72cee85accbb0531 | INVARIANT: The particle counter must be constrained within the bounds of the available points array, irrespective of direction or yoyo state. SHADOW: Failure to constrain the counter leads to… | — |
| app_invariants__62591d261d1418a0 | INVARIANT: The internal length property must accurately reflect the current number of points available for iteration. SHADOW: An inaccurate _length property, especially when decreasing after an… | — |
| app_invariants__ca285ff3e0ec8263 | INVARIANT: The RandomZone must always delegate random point generation to its `source` object. SHADOW: Loss of the source reference or failure to call its `getRandomPoint` method renders the zone… | — |
| app_invariants__274fd0d6425f0024 | INVARIANT: The path follower's `preUpdate` method must always call the underlying `pathUpdate` method to ensure timely position and rotation adjustments along the defined path. SHADOW: Skipping the… | — |