Embed and extract DataAssets from their owner (EmbedDataAssetAttribute)
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 30/100
Línea de trabajo
Start by reading the serializer, inspector, undo system, and DataAsset variant handling; the issue names no files or tests. Trace how DataAsset members are currently serialized and referenced, then define embedded and referenced round trips, extraction and embedding with undo, and variant behavior. Done means both forms round-trip, extract/embed restore the original file contents and undo, and existing projects remain compatible.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Current State
A DataAsset that references another (for example the project's settings, or a build profile's settings overrides) always points at a separate .dataasset file. A new project therefore starts with one file per settings kind, even when nothing about them is customized yet. [SerializeInline] exists for component members, but there is no way to keep a referenced DataAsset inside its owner and move it out later.
Tasks
- Add an
EmbedDataAssetAttribute(or extend[SerializeInline]) for DataAsset members that may hold either an embedded payload or a reference to a separate asset. - Serializer: read and write both forms for the same member; loading resolves either to the same payload type.
- Inspector: an Extract button that writes the embedded payload to its own
.dataasset(with meta) and replaces it with a reference, and an Embed button that does the reverse when nothing else references the asset. Both undoable. - Let new projects start compact: the Project asset embeds its default settings until the user extracts one (to make a variant, share it, or split it out for version control).
- Decide how variants interact with embedding (a variant's base must be a separate asset).
Acceptance Criteria
- A member marked with the attribute round-trips both the embedded and the referenced form.
- Extract then Embed returns the original file contents; both steps undo.
- Existing projects keep working unchanged.
Related
Central Project asset and build-profile settings overrides; DataAsset variants; #62 #35.
- Lenguaje dominante
- C#
- Estrellas
- 1
- Forks
- 1
- Merge medio
- 1 h 57 min
- PR fusionados (30 d)
- 36
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 MASS4ORG/Turian
-
c:assets p:low size:XS t:task
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
c:engine c:platform p:low size:S t:feature
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
Los mantenedores suelen responder en 1 día
-
c:ui p:medium size:M t:feature
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
Los mantenedores suelen responder en 1 día
-
c:build p:low size:XS t:enhancement
Dificultad 3/5 1-2 días Aptitud para principiantes 58/100
Los mantenedores suelen responder en 1 día
-
c:assets p:medium size:S t:bug
Dificultad 3/5 1-2 días Aptitud para principiantes 66/100
Los mantenedores suelen responder en 1 día
Todos los issues de MASS4ORG/Turian
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
Los mantenedores suelen responder en 1 día
-
possible bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
-
Include host.wslc.internal in the HTTPS development certificatePosiblemente ocupada @afscrome la tomó hoy. Abiertoarea-commandlinetools
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
dotnet/aspnetcore#70122 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
:1st_place_medal: good first issue :cowboy_hat_face: refactor :roller_coaster: enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
ApplETS/Backend-Hello#78 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 2 días