Skip to content

Keep artifact names out of slot selection - #94

Merged
jwahdatehagh merged 3 commits into
masterfrom
fix/artifact-slot-name
Aug 2, 2026
Merged

Keep artifact names out of slot selection#94
jwahdatehagh merged 3 commits into
masterfrom
fix/artifact-slot-name

Conversation

@yougogirldoteth

@yougogirldoteth yougogirldoteth commented Aug 2, 2026

Copy link
Copy Markdown
Member

Summary

  • keep EvmArtifact slot selection fixed to its named slots
  • expose artwork names to custom renderers through the explicit artifactName slot prop
  • add an SSR regression test for an artifact named _
  • add a minor changeset for @1001-digital/components.evm

Why

On a Vue <slot>, name selects which slot to render. Binding both name="static" and :name="resolvedName" therefore made the artwork name replace the intended slot selector instead of becoming a slot prop. An artwork named _ then selected Vue’s internal $slots._ marker, which is not a function, and crashed SSR with TypeError: slot is not a function.

The old name slot prop could never be delivered correctly because Vue consumed it as the selector. This change gives that value an unambiguous public API as artifactName, so custom renderers receive the artwork name while the component always renders animation, static, or fallback. The corrected slot API is released as a minor change rather than preserving the broken binding through a compiler-specific workaround.

Testing

  • corepack pnpm --filter @1001-digital/components.evm test
  • corepack pnpm exec prettier --check packages/components.evm/src/components/EvmArtifact.vue packages/components.evm/test/artifact.test.ts .changeset/calm-artifacts-render.md

Full workspace typechecking still reaches unrelated existing errors in packages/layers.base (allowImportingTsExtensions and a missing @vueuse/core declaration).

@jwahdatehagh
jwahdatehagh merged commit 3d76753 into master Aug 2, 2026
1 check passed
@github-actions github-actions Bot mentioned this pull request Aug 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants