Evaluate an embeddable player as a web component
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- typescript
- Área
- frontend
Línea de trabajo
Start with docs/architecture.md section 9, docs/adr/0009-vanilla-typescript-ui.md, apps/web/src/screens/game.ts, and SECURITY.md. Compare a web component prototype with the hosted-player iframe, recording bundle size and examining styling, storage isolation, pack safety, distribution, attribution, and cross-origin behavior. Done means a prototype demo page on a branch, a written recommendation with size numbers, and, if recommended, follow-up issues plus an ADR draft.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Context
Authors want to embed their adventure in their own website. The architecture allows other front ends, and ADR 0009 notes that the shadow DOM complicates book typography and themes.
Scope
- Prototype
<lexvm-player src="pack.lexpack.json">, built from the existing game screen without library or service worker, with theme and UI language attributes and saves namespaced per page. - Questions: shadow DOM or light DOM styling; bundle size; storage partitioning when embedded; safety for the embedding site (packs are data, text only); distribution (npm package or a release file); showing author and license for CC BY attribution.
- Alternative: an iframe embed of the hosted player with a pack parameter, and its cross-origin implications.
Acceptance criteria
- A written evaluation with a recommendation (web component, iframe, or neither) and size numbers.
- A prototype demo page on a branch.
- If recommended: follow-up issues and an ADR draft.
References
- docs/architecture.md (section 9)
- docs/adr/0009-vanilla-typescript-ui.md
- apps/web/src/screens/game.ts
- SECURITY.md
- Lenguaje dominante
- TypeScript
- Estrellas
- 0
- Forks
- 0
- Merge medio
- 28 min
- PR fusionados (30 d)
- 2
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de nullthrone/lexvm
-
area: web good first issue priority: low type: bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
nullthrone/lexvm#49 ·
-
area: infra good first issue priority: low type: chore
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
nullthrone/lexvm#41 ·
-
area: engine good first issue priority: low type: feature
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
nullthrone/lexvm#27 ·
-
area: infra area: web priority: medium type: chore
Dificultad 5/5 Más de una semana Aptitud para principiantes 38/100
nullthrone/lexvm#62 ·
-
Run a security review: fuzz the loaders, parser and save import, and review the threat modelAbiertoarea: engine area: web priority: high type: chore
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
nullthrone/lexvm#61 ·
Todos los issues de nullthrone/lexvm
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
braintrustdata/braintrust-sdk-javascript#2659 ·
Los mantenedores suelen responder en 1 día
-
body-parser 2.3.0 in the published ai-dial-chat-bff image is vulnerable (CVE-2026-111181, HIGH)Posiblemente ocupada @illya-havsiyevych la tomó hoy. Abiertobug
Dificultad 1/5 1-3 horas Aptitud para principiantes 87/100
epam/ai-dial-chat#9566 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
Los mantenedores suelen responder en 1 día
-
はさみアイコンを修正するAbiertobug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 68/100
-
resource.reload() while params is in error switches the resource to 'idle' instead of retryingAbiertoarea: core
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día