admin and Claude Opus 4.8
382bfb36df
Refactor scripts: dedup remainder, remove dead code, perf hardening
...
Iteration 4 over Assets/Scripts (no component/file splits, no Unity assets touched):
Dedup:
- Route inline cursor-release, material guards, Ctrl-held and undo/redo
input through existing InputUtil / SetMatFloat helpers
- Add ungated InputUtil.KeyPressedThisFrame; GameplayKeyPressed builds on it
- Unify FindDeep/FindDeepChild into GeometryUtil.FindDeep
Dead code / stale docs:
- Remove unused code-gen bake path (HsvColorPicker.Build, PaintHud factory)
- Drop unreferenced symbols (SubPhaseChanged event, LocalPhaseDuration,
IsLocalSceneMain, MouseSensitivity.Changed, IsPaused, InSession,
NetworkControlled, PreviousPose, JointCount, voxel-count accessors)
- Fix incorrect PlayerRole / PaintHud / Pick / PlayerPose docs
Perf / robustness (behaviour-neutral):
- ConcealmentMeter.Evaluate: reuse vertex/topology buffers, two-pointer
crossing count
- BuildMeshCaches: alloc-free vertex copy, cached topology/UVs
- Guard all PlayerPaintSync LogSync sites behind logSync
- Cache LocalViewerIsHunter / controller / CanShoot / TypingGuard lookups;
dedup LocalIsHunter with MatchHud
- Change-guard RefreshEmissionColor and HeroCutout.Disarm
- Cache scene/countdown string comparisons per frame
- Grow NonAlloc buffers and log-once on saturation
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-02 13:33:18 +02:00
admin and Claude Fable 5
2243cc823e
Refactor: extract shared helpers across scripts, trim remaining doc redundancy
...
Deduplication pass (44 extractions):
- New SmoothedLook: shared smoothed yaw/pitch look tick + view seeding
(FirstPersonController, FreeCamController)
- New CharacterTeleport: disable-CC-around-teleport idiom (rescue,
owner position apply, free-cam sync)
- New GeometryUtil: RescaleToUnitScale + TransformBounds (concealment
meter/volume, skinned collider baker)
- Paint family: canonical map read/write shared between Net and
Persistence, snapshot decode, backend stroke dispatch, RebuildBackend,
ResolveSeed, chunked RPC send/gate/copy, CamoKnobs/HeightKnobs
aggregates, SanitizeFileKey, NewMaskTexture, AdoptAlbedo, FindSlider
- Player/modes: GameMode SetPlayerControl/SetPainting/SetOrbitInputEnabled,
InputUtil.GameplayKeyPressed, NearestClimbHit, ComputeXRay delegates to
ComputeResolutionFreeze, FingerIK TryInPlaneAngle
- Match/misc: UnhookSessionCallbacks, SendEmptyNamedMessage, SwapScenes,
RunSessionOpAsync, CovarianceEigen, CollectClusterPoints, MatchHud
GUIStyle cache, HsvColorPicker rehook, VoxelCenter
Documentation pass: remove 6 triplicated doc blocks and 2 restating
inline comments left after the previous reduction.
Behavior-neutral; hot-path rasterizer loops intentionally untouched.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-02 12:33:48 +02:00
admin and Claude Opus 4.8
d27ee16004
Bind online session browser to canvas, drop IMGUI
...
- OnlineSessionManager: remove OnGUI/IMGUI state; now a logic-only layer
exposing Host/Refresh/Join/Disconnect plus Status/IsBusy/IsConnected/
InSession/Sessions and Changed/SessionsChanged events
- OnlineSessionBrowserUI (new): drives the Servers canvas — 4 buttons,
session list from Entry Template clones (name + players), row selection,
state-driven interactability, status footer
- Main scene: attach binder, add status footer line, wire 8 refs; dev
bootstrap panel disabled
- Online Session Manager.prefab (new)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-28 11:03:26 +02:00
admin and Claude Opus 4.8
f8b11be290
Add UGS Sessions online hosting with no port-forwarding
...
Players can now host and join over the internet without port-forwarding
via Unity Gaming Services Relay + Lobby, exposed through the unified
Multiplayer Services SDK (Sessions API).
- OnlineSessionManager: anonymous auth, CreateSessionAsync (public,
relay-backed), QuerySessionsAsync server browser, JoinSessionByIdAsync,
and session leave wired into the existing net-stop teardown.
- Per-install auth profile derived from the project path
(mirror_<sha1(dataPath)>) so junction-mirror clones get distinct UGS
player ids, avoiding the same-machine 409 LobbyConflict on join.
- Install com.unity.services.multiplayer 2.2.4 (pulls Relay/Lobby/
Authentication/Core) and attach OnlineSessionManager to the
NetworkManager in Main.
Loopback dev flow (NetworkBootstrap H/C/J/K) is left untouched; the
online path is additive. MatchManager and gameplay are unchanged since
Sessions starts the host/client through NGO as before.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-28 10:17:28 +02:00