Repository navigation
refactor(dom-renderer): accept a per-side [top, right, bottom, left] boundsMargin - #67
Merged
Merged
Conversation
chiefcll
added a commit
that referenced
this pull request
Oct 6, 2026
#70) #67 widened DomRendererMainSettings.boundsMargin to accept a per-side tuple, matching renderer 1.10.1. The repo still resolved renderer 1.9.0, whose RendererMainSettings.boundsMargin is number-only, so startLightningRenderer no longer type-checked and `pnpm build` failed. Raise the peer floor to ^1.10.1 (the first release with the tuple) and refresh the lockfile. Renderer 1.10.1 also dropped AnimationTickPayload and added BoundsMargin and normalizeBoundsMargin, which @solidtv/solid re-exports via `export type *`. Update the contract-types list to match. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
chiefcll
added a commit
that referenced
this pull request
Oct 6, 2026
Main brought the contract tests and benchmark harness from 1.7, adapted to 1.6.4 on renderer 1.9 (#68), the per-side boundsMargin tuple on the DOM renderer (#67), restoreFocus skipping destroyed elements (#69), the renderer 1.10.1 requirement (#70) and version 1.6.5. Resolution, keeping 1.7's behaviour and the smallest diff against main: - Tests: merged against the Phase 1 commits main started from (a12c778), so only main's rewording applied. 1.7's assertions and expected values win. Main's headers are kept where true on 1.7; "1.6.4 (renderer 1.9)" becomes "1.7 (renderer 2.0)". contract-types.tsx keeps 1.7's renderer 2 type names (main added no Solid-side name that 1.7 lacks); tests/webgl/setup.ts and the late-font WebGL test stay 1.7's (renderer 2 lets a text wait for its font). tests/focusStack.test.tsx from main passes on 1.7. - bench/: main's files, plus arm B (f1c8ab0 on renderer faf4b9f), arm C on the linked ../renderer-v2-solid (main's installed-renderer lookup, plus 1.7's rebuild of its dist and its revision in the record), skipC for the demo scripts, the A/B and B/C ratio table, default --arms A,B,C. Main's probe fix (renderer 1.x shader props are non-enumerable accessors) and the summary's per-arm Solid/renderer lines are kept; the renderer 2 hooks install on arms B and C. bench/src/arm-v2.ts, bench/demo/* and bench/micro/* stay. - docs/perf/README.md: main's text plus arm B, the per-major count hooks, the 120 Hz note and a section for bench/demo and bench/micro. - package.json: version 1.6.5; @solidtv/renderer stays 1.7's (peer ^2.0.0-alpha.0, devDependency link:../renderer-v2-solid). pnpm install regenerated the lockfile (unchanged from 1.7's). - .gitignore, eslint.config.js: union (main's recursive results ignore, 1.7's .superpowers ignores). - src/: #67 and #69's createFocusStack change auto-merged. #69's DOMNode `destroyed` field and markDestroyed() are dropped: 1.7's DOMNode already has a `destroyed` getter (this node or an ancestor destroyed), which restoreFocus reads through ElementNode.destroyed. Renderer 2.0 still takes one boundsMargin number (the tuple's widest edge, with a warning), so the tuple works on the DOM renderer only. - MIGRATION-1.7.md: the boundsMargin tuple is a break inherited from renderer 2.0; the DOM renderer's `destroyed` was undefined before 1.6.5. 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.
Changes
DomRendererMainSettings.boundsMargin:number | [number, number, number, number].normalizeBoundsMarginreturns a[t, r, b, l]tuple. It used to coerce to the largest edge and log a warning.computeRenderStateForNodeexpands the root rect per side.A scalar behaves exactly as before.
Depends on
solid-tv/renderer#225. Until a renderer release includes it,
tscfails inlightningInit.ts, becauseRendererMainSettings.boundsMarginis stillnumberthere. Tests pass (222/222).