diff --git a/build/mother-brain-desktop-app-phase4-20260825/source/hololake-native-desktop/src/modules/first-planet-home/FirstPlanetHome.tsx b/build/mother-brain-desktop-app-phase4-20260825/source/hololake-native-desktop/src/modules/first-planet-home/FirstPlanetHome.tsx index aa3fb13be..4d726ab89 100644 --- a/build/mother-brain-desktop-app-phase4-20260825/source/hololake-native-desktop/src/modules/first-planet-home/FirstPlanetHome.tsx +++ b/build/mother-brain-desktop-app-phase4-20260825/source/hololake-native-desktop/src/modules/first-planet-home/FirstPlanetHome.tsx @@ -63,18 +63,35 @@ function usePlanetSpecks(count: number) { }), [count]) } -// 大爆炸废墟:星球外圈的碎光微粒 -function useDebris(count: number) { +// 大爆炸:向外飞散的爆发碎屑(诞生瞬间的抛射物) +function useBangShards(count: number) { return useMemo(() => Array.from({ length: count }, (_, i) => { - const angle = seeded(i + 901) * Math.PI * 2 - const radius = 58 + seeded(i + 1101) * 26 + const angle = (i / count) * Math.PI * 2 + seeded(i + 901) * 0.5 + const dist = 62 + seeded(i + 1101) * 30 return { id: i, - x: 50 + Math.cos(angle) * radius, - y: 50 + Math.sin(angle) * radius * 0.8, - d: 3 + seeded(i + 1301) * 5, - dl: -seeded(i + 1501) * 7, - s: 0.8 + seeded(i + 1701) * 1.4, + x: 50 + Math.cos(angle) * dist, + y: 50 + Math.sin(angle) * dist * 0.85, + len: 6 + seeded(i + 1301) * 14, + rot: (angle * 180) / Math.PI, + warm: seeded(i + 1501) < 0.55, + dl: -seeded(i + 1701) * 4, + } + }), [count]) +} + +// 等待被开拓的黯淡星球群:大小不一、无光、仅 rim +function useDimPlanets(count: number) { + return useMemo(() => Array.from({ length: count }, (_, i) => { + const angle = (i / count) * Math.PI * 2 + seeded(i + 2001) * 0.9 + const dist = 34 + seeded(i + 2201) * 12 + return { + id: i, + x: 50 + Math.cos(angle) * dist * 0.95, + y: 40 + Math.sin(angle) * dist * 0.55, + s: 20 + seeded(i + 2401) * 34, + spark: i === 2, + dl: -seeded(i + 2601) * 5, } }), [count]) } @@ -138,8 +155,9 @@ export function FirstPlanetHome() { const [infinityLit, setInfinityLit] = useState(false) const [gateMessage, setGateMessage] = useState('') - const specks = usePlanetSpecks(42) - const debris = useDebris(12) + const specks = usePlanetSpecks(26) + const shards = useBangShards(18) + const dims = useDimPlanets(7) const formatted = useMemo(() => (raw ? formatGateNumber(raw) : ''), [raw]) const fullNumber = formatted ? (infinityLit ? `${formatted}∞` : formatted) : '' const canEnter = Boolean(fullNumber) @@ -157,22 +175,28 @@ export function FirstPlanetHome() {
-