fix: keys

This commit is contained in:
tresabhi committed 2025-04-15 16:29:14 -05:00
1 parent 545b655d4e
commit 8b6610151e
9 files changed
+68 -44

No files matched your search

@@ -216,7 +216,7 @@ export function PrimaryArmorSceneComponent({
return (
<mesh
{...props}
key={key}
key={`${key}-exclude`}
renderOrder={0}
material={excludeMaterial}
/>
@@ -226,7 +226,12 @@ export function PrimaryArmorSceneComponent({
{jsxTree(node, {
mesh(_, props, key) {
return (
<mesh {...props} key={key} renderOrder={1} material={material} />
<mesh
{...props}
key={`${key}-include`}
renderOrder={1}
material={material}
/>
);
},
})}
@@ -74,7 +74,7 @@ export const SpacedArmorScene = memo<SpacedArmorSceneProps>(({ scene }) => {
return (
<SpacedArmorSceneComponent
scene={scene}
key={node.uuid}
key={`${node.uuid}-hull`}
type={spaced ? ArmorType.Spaced : ArmorType.Primary}
thickness={thickness}
node={node}
@@ -93,7 +93,7 @@ export const SpacedArmorScene = memo<SpacedArmorSceneProps>(({ scene }) => {
return (
<SpacedArmorSceneComponent
scene={scene}
key={node.uuid}
key={`${node.uuid}-track`}
type={ArmorType.External}
thickness={trackModelDefinition.thickness}
variant="track"
@@ -127,7 +127,7 @@ export const SpacedArmorScene = memo<SpacedArmorSceneProps>(({ scene }) => {
<group position={turretOrigin}>
<SpacedArmorSceneComponent
scene={scene}
key={node.uuid}
key={`${node.uuid}-turret`}
type={spaced ? ArmorType.Spaced : ArmorType.Primary}
thickness={thickness}
node={node}
@@ -158,7 +158,7 @@ export const SpacedArmorScene = memo<SpacedArmorSceneProps>(({ scene }) => {
return null;
return (
<group position={hullOrigin} key={node.uuid}>
<group position={hullOrigin} key={`${node.uuid}-gun-spaced}`}>
<group position={turretOrigin.clone().add(gunOrigin)}>
<SpacedArmorSceneComponent
scene={scene}
@@ -185,7 +185,7 @@ export const SpacedArmorScene = memo<SpacedArmorSceneProps>(({ scene }) => {
return (
<SpacedArmorSceneComponent
scene={scene}
key={node.uuid}
key={`${node.uuid}-gun-external`}
type={ArmorType.External}
thickness={gunModelDefinition.thickness}
variant="gun"
@@ -115,11 +115,17 @@ export function SpacedArmorSubExternal({
return (
<>
{jsxTree(node, {
group(_, props, key) {
return (
<group {...props} key={`${key}-spaced-sub-external-exclude`} />
);
},
mesh(_, props, key) {
return (
<mesh
{...props}
key={key}
key={`${key}-spaced-sub-external-exclude`}
renderOrder={3}
material={
new MeshBasicMaterial({
@@ -142,9 +148,20 @@ export function SpacedArmorSubExternal({
})}
{jsxTree(node, {
group(_, props, key) {
return (
<group {...props} key={`${key}-spaced-sub-external-include`} />
);
},
mesh(_, props, key) {
return (
<mesh {...props} key={key} renderOrder={4} material={material} />
<mesh
{...props}
key={`${key}-spaced-sub-external-include`}
renderOrder={4}
material={material}
/>
);
},
})}
@@ -125,11 +125,15 @@ export function SpacedArmorSubSpaced({
return (
<>
{jsxTree(node, {
group(_, props, key) {
return <group {...props} key={`${key}-spaced-sub-spaced-exclude`} />;
},
mesh(_, props, key) {
return (
<mesh
{...props}
key={key}
key={`${key}-spaced-sub-spaced-exclude`}
renderOrder={2}
material={material}
onClick={() => {}}
@@ -145,11 +149,15 @@ export function SpacedArmorSubSpaced({
})}
{jsxTree(node, {
group(_, props, key) {
return <group {...props} key={`${key}-spaced-sub-spaced-include`} />;
},
mesh(_, props, key) {
return (
<mesh
{...props}
key={key}
key={`${key}-spaced-sub-spaced-include`}
renderOrder={5}
material={depthWriteMaterial}
/>
@@ -373,11 +373,11 @@ export function SpacedArmorSceneComponent({
<>
{props.type === ArmorType.Primary &&
jsxTree(node, {
mesh(mesh, props, key) {
mesh(_, props, key) {
return (
<mesh
{...props}
key={key}
key={`${key}-spaced-component`}
renderOrder={0}
material={omitMaterial}
userData={