feat(text): publish the renderer-neutral core as @pmndrs/text/core - #59
Open
thejustinwalsh wants to merge 1 commit into
Open
feat(text): publish the renderer-neutral core as @pmndrs/text/core#59thejustinwalsh wants to merge 1 commit into
thejustinwalsh wants to merge 1 commit into
Conversation
size-limit report 📦
|
thejustinwalsh
force-pushed
the
refactor/core-subpath
branch
2 times, most recently
from
August 11, 2026 23:33
376792c to
2dfde80
Compare
An error occurred while trying to automatically change base from
feat/decoration-rendering
to
feat/hyphen-cluster-contract
August 12, 2026 00:30
thejustinwalsh
marked this pull request as ready for review
August 12, 2026 00:30
The surface a custom renderer integration needs moves out of internal/ and publishes on one stable subpath: runtime shaper creation, the engine host and sessions, frame-wire serialization, render-plan and layout views, font-binding compilation, the versioned ABI, and the policy-authoring toolkit (compileRenderPolicy, programContext, wire identity registry, technique wire ids). The runtime-to-shaper bridge sheds its @internal marker: integrations reach the engine through the same door Three uses. Three's first-party policy leaves the core: the per-technique programs, capability set, first-party buffer ids, and firstPartyThreeRenderPolicyBytes now live in three/render-policy.ts, importing the same public authoring toolkit a third party would. The transform and allocation mode unions keep policy-neutral names in core. A types test pins the subpath.
thejustinwalsh
force-pushed
the
refactor/core-subpath
branch
from
August 12, 2026 00:32
2dfde80 to
b5c4a7c
Compare
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.
Publish the renderer-neutral core (D-249)
The surface a custom renderer integration needs moves out of
internal/and publishes on one stable subpath,@pmndrs/text/core: runtime shaper creation, the engine host and sessions, frame-wire serialization, render-plan and layout views, font-binding compilation, the versioned ABI, and the policy-authoring toolkit (compileRenderPolicy,programContext, the wire-identity registry, technique wire ids). The runtime-to-shaper bridgetextRuntimeShapersheds its@internalmarker — integrations reach the engine through the same door Three uses.Three's first-party policy leaves the core: the per-technique programs, capability set, first-party buffer ids, and
firstPartyThreeRenderPolicyBytesnow live inthree/render-policy.ts, importing the same public authoring toolkit a third party would. The transform/allocation mode unions take policy-neutral names in core.Behavior unchanged — the moves are type-level. A subpath types test pins the surface; the full package suite and integration tests are green.
Stack created with GitHub Stacks CLI • Give Feedback 💬