Skip to content

Add ship graphics assets and shader graphs#505

Open
YsKhan61 wants to merge 13 commits into
bleeding-edgefrom
claude/merge-bleeding-edge-master-Gt2By
Open

Add ship graphics assets and shader graphs#505
YsKhan61 wants to merge 13 commits into
bleeding-edgefrom
claude/merge-bleeding-edge-master-Gt2By

Conversation

@YsKhan61

Copy link
Copy Markdown
Contributor

Summary

This PR adds comprehensive graphics assets for spaceship rendering, including shader graphs for ship materials and textures, along with 3D models, materials, and visual preview assets for multiple ship types.

Key Changes

  • Shader Graphs: Added two new shader graph files:

    • ShipGraph.shadergraph - Main ship material shader with properties for base colors and effects
    • ShipTextureGraph.shadergraph - Texture generation shader for procedural ship surface details
  • Ship Materials: Created 12 material variants for different ship color schemes:

    • Base materials: Blue, Green, Red, Yellow, Lime variants
    • Accent materials: Red, Yellow, Green accents
    • Special materials: Engine, Screen, and Opaque variants
  • 3D Models: Added FBX models for multiple ship types:

    • Dolphin, Manta, Rhino, Serpent, Sparrow, Squirrel variants
    • Placeholder models for development
    • Shape-key rigged models with animation support
  • Visual Assets:

    • Ship preview videos for each ship type and ability (MP4 format)
    • Render textures for FTUE and hangar previews
    • Ship card graphics (front/back) for Termite ship abilities
    • Ship shadow and placeholder graphics
  • Audio Assets: Added sound effects for ship interactions (boost, laser, collision, etc.)

  • Editor Tools: Added color palette configuration for ship colors

Implementation Details

  • Materials use the new shader graphs for consistent visual styling across ship variants
  • Preview prefabs created for each ship ability to support in-game tutorials
  • Organized asset structure with dedicated folders for models, graphics, audio, and prefabs
  • All assets properly configured with Unity metadata for correct import settings

https://claude.ai/code/session_01MjFD7vxrj1nAKtsRiPFeGt

claude and others added 13 commits March 8, 2026 00:15
The Odin Inspector package is not included in this project, causing
CS0246 build errors. Remove the #if ODIN_INSPECTOR blocks with
Sirenix.OdinInspector.DrawWithUnity attributes from ScriptableEvent
and VariableReference.

https://claude.ai/code/session_01F9tetBC6fxV83GykQGmYNM
…nce-d7gMi

Remove Odin Inspector DrawWithUnity attributes
LeaderboardConfigSOEditor.cs and ActiveGameModesWindow.cs use UnityEditor
types (Editor, EditorWindow, SerializedObject, etc.) which are not available
in player builds. Moving them to an Editor folder ensures Unity excludes
them from player compilation.

https://claude.ai/code/session_01DcoiifZjHcALmV4anypoPN
The Editor folder introduces a namespace that shadows the UnityEditor.Editor
type. Using the fully qualified name resolves the CS0118 error.

https://claude.ai/code/session_01DcoiifZjHcALmV4anypoPN
HexRaceHUDView re-declared playerScoreContainer, playerScoreCardPrefab,
and domainColors which are already defined in its parent MiniGameHUDView.
Unity does not support the same serialized field name in both a class and
its parent, causing build failures.

https://claude.ai/code/session_01DcoiifZjHcALmV4anypoPN
androidx.credentials:credentials:1.2.0-rc01 requires compileSdk 34+.
The project was set to android-33, causing checkReleaseAarMetadata to
fail during Gradle build. Bumping to 35 satisfies the requirement and
aligns with current Google Play target API level recommendations.

https://claude.ai/code/session_01DcoiifZjHcALmV4anypoPN
Cherry-picked the minimum set of changes needed to get touch input
working on mobile:

- InputController: enable TouchInputStrategy, wire it into strategy
  selection for handheld devices
- TouchInputStrategy: add drift detection (finger-lift transitions),
  touch-tuned easing curve, and OnlyLeft/OnlyRight stick actions
- InputStatus: add LeftTriggerAnalog, RightTriggerAnalog properties
  and ActiveInputDevice tracking
- ControllerButtonPress: fix button firing across all contexts, add
  modal-aware dispatch and interactability guards
- InputDeviceType enum: new file for touch/gamepad/keyboard detection
- CSDebug: centralized logger (dependency of updated input files)

https://claude.ai/code/session_01DcoiifZjHcALmV4anypoPN
TouchInputStrategy provides a touch-tuned easing curve that differs
from the gamepad cosine curve in the base class.

https://claude.ai/code/session_01DcoiifZjHcALmV4anypoPN
…creenSwitcher

IInputStatus was missing the ActiveInputDevice property that
InputStatus already implements and TouchInputStrategy uses.

ScreenSwitcher was missing HasActiveModal, needed by
ControllerButtonPress to gate input when modals are open.

https://claude.ai/code/session_01DcoiifZjHcALmV4anypoPN
…ce-aWFjF

Reorganize editor scripts to UI/Editor directory
changed crystal impact and boost sounds to what i demoed last week.
Projectile SFX was originally the fly by. made a noise more suited for a laser
Resolves conflict between master and bleeding-edge (orphan/unrelated
histories) by taking bleeding-edge as the source of truth on conflicting
files (-X theirs) and removing master's pre-reorganization layout that
bleeding-edge already moved to new locations.

Removed (master-only paths superseded by bleeding-edge reorganization):
  - Assets/_Scripts/App/                    -> System/, UI/, Controller/
  - Assets/_Scripts/Game/ (C# files only)   -> Controller/, UI/, Data/, ...
  - Assets/_Scripts/MinigameHUD/            -> UI/
  - Assets/_Scripts/Models/                 -> Data/, ScriptableObjects/
  - Assets/_Scripts/VesselHUD/              -> UI/Controller/, UI/View/
  - Assets/_Scripts/~ChoppingBlock/         (deleted)
  - Assets/_Scripts/Integrations/Architectures/    -> System/Architectures/
  - Assets/_Scripts/Integrations/Instrumentation/  -> System/Instrumentation/
  - Assets/_Scripts/Integrations/Playfab/{Authentication,CloudScripts,
    Economy,Groups,PlayStream,PlayerData,Utility}/ -> System/Playfab/
  - Assets/_Scripts/Integrations/SnsShare.cs       (removed)
  - Assets/_Scripts/SSUScripts/Editor/*.cs         -> Editor/ (top-level)
  - Assets/_Scripts/DialogueSystem/{Runtime,Editor}/ -> System/Runtime/, Editor/
  - Assets/_Scripts/Utility/SOAP/Scriptable*       -> ScriptableObjects/SOAP/
  - Assets/_Scripts/Utility/{NetworkMonitor,ProfileImage,FireTrailBlock*,
    Recording/VCamRecorderController}.cs           -> moved in bleeding-edge
  - Assets/_Scripts/SSUScripts/{ImageSSU,InstancerSSU,InteractiveSquishSSU,
    InteractiveWindSSU,MaterialInstancerSSU,ShaderFaderSSU,SpriteSheetSSU,
    UnscaledTimeSSU,WindManagerSSU,WindParallaxSSU}.cs -> moved in bleeding-edge
  - Assets/_Scripts/ScriptableEventNotificationPayload.cs -> System/
  - Orphaned .meta files for now-empty directories

Kept Assets/_Scripts/Game/ for non-code assets (compute shaders, input
action mappings, materials, FlowData/WarpData assets, PRISM_PERFORMANCE_AUDIT.md)
per CLAUDE.md guidance that the directory remains as vestigial for
non-code assets only.

https://claude.ai/code/session_01MjFD7vxrj1nAKtsRiPFeGt

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: e7e083283d

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

/// The component generates icosphere vertex positions at the configured subdivision level,
/// places one capsule at each vertex oriented radially, and renders them every frame.
/// </summary>
public class CapsuleMembrane : MonoBehaviour

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P0 Badge Keep CapsuleMembrane type available to gameplay code

This commit removes CapsuleMembrane, but gameplay still depends on it: Cell.MembraneRadius calls membrane.TryGetComponent<CapsuleMembrane>(...) in Assets/_Scripts/Controller/Environment/Cell.cs and the Assets/_Prefabs/Environment/CapsuleMembrane.prefab asset still exists. With no remaining class CapsuleMembrane definition in this commit, the project hits a missing-type compile break and leaves membrane prefab references as missing scripts.

Useful? React with 👍 / 👎.

Comment on lines +5 to +6
[AddComponentMenu("Soap/EventListeners/EventListener"+nameof(VesselClassType))]
public class EventListenerShipClassType : EventListenerGeneric<VesselClassType>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P0 Badge Import VesselClassType namespace before using SOAP generics

This new event-listener script uses VesselClassType in attributes and generic type parameters, but the file does not import CosmicShore.Data (where the enum is declared in Assets/_Scripts/Data/Enums/VesselClassType.cs). That causes an immediate compile error; the paired ScriptableEventShipClassType.cs added in the same folder has the same unresolved-type issue.

Useful? React with 👍 / 👎.

@@ -0,0 +1,11 @@
using System;
using CosmicShore.Game.UI;

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P0 Badge Reference MiniGameHUD from the correct namespace

ShipHUDData imports CosmicShore.Game.UI, but MiniGameHUD is defined under CosmicShore.UI (Assets/_Scripts/UI/MiniGameHUD.cs). This mismatch makes MiniGameHUD unresolved in the new struct, producing a compile-time failure until the namespace/type reference is corrected.

Useful? React with 👍 / 👎.

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.

4 participants