Repository navigation
ci: lint with ESLint and fix what it surfaced - #25
Merged
Merged
Conversation
The story renderer counted the additional lights of every draw (unity_LightData.y) as if the renderer were on the Camera1 layer. Each item of the field's draw list now uses its own layer: a Live2D character the layer of its stage slot (Default when it stands off the five slots) and an effect renderer its own, so a light's culling mask decides which of them it lights, as the engine's per-object light culling does. With additional vertex lights on (Best quality), effects on the AdvBack and AdvFront layers and characters off the five slots no longer take lights whose culling mask leaves out their layer. A unit test draws items on several layers under two lights. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Removes imports, variables and a helper nothing reads (in the CRI Lips pipeline, the live canvas, the story video feature, the UI renderer's layout, the story author and data validator scripts, and four unit tests), and the chart data page's lead texts, which the page heading no longer shows. The story renderer's render-target setter no longer returns a value, the video preload loop says what its empty body does, and an asset that fails to decode keeps the decoder's error as the cause of the error it raises. No behaviour changes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Adds ESLint with its recommended rules (eslint.config.js) as a development dependency and `npm run lint`, which CI and the release verification job run after the type check. The config knows the page globals of the Live2D and Spine runtimes, ignores dist/, reports unused variables other than arguments and caught errors, and leaves out no-useless-assignment so ports keep the statement order of the code they reproduce. The published package is unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sequence.ApplyInternalCycle places a nested Sequence's position by its multiCycleStep argument, which the player's Sequence cycle does not reproduce. Inserting a Sequence into a Sequence now raises "nested Sequences not implemented" (a StoryCommandError) instead of playing it with positions the game would not reach, as the DOTween Pro sequence component already does for its nested sequences. The unused argument is removed from the cycle's callers. Sequences of tweens and callbacks play as before. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Lints the repository with ESLint in CI, fixes two story renderer behaviours the lint pass surfaced, and removes unused code.
Sequence.ApplyInternalCycleplaces a nested Sequence by itsmultiCycleStepargument, which the player's cycle does not reproduce; inserting a Sequence into a Sequence now raisesnested Sequences not implemented, as the DOTween Pro sequence component already does. Sequences of tweens and callbacks play as before.cause.eslint.config.js(recommended rules; page globals of the Live2D and Spine runtimes;no-useless-assignmentoff so ports keep the statement order of the code they reproduce),npm run lint, and a lint step in CI and the release verification job. The published package is unchanged (278 files).Validation:
npm test(666 pass, 2 skipped, with new tests for the light layers and the nested Sequence refusal),npm run typecheck,npm run lint,node scripts/build.mjs --checkandnpm pack --dry-runpass locally on Node.js 22.