Commit Graph

104 Commits

Author SHA1 Message Date
simoleo89 5ea3201e31 Align with Pixi v8: Filter[] union, WebGLRenderer narrow, ImageLike
Four sites where Pixi v8's stricter typing tripped tsgo:

- AvatarImage: container.filters is typed as 'readonly Filter[] | null'
  in v8 (no longer a single-Filter union). The old fallback branch
  'else container.filters = [container.filters, …]' tried to treat a
  readonly array as a single Filter; collapsed to the array-spread
  path which now covers both undefined and non-empty cases. Added
  Filter to the pixi.js import.
- FurnitureBadgeDisplayVisualization.updateSprite() had a 4-arg
  override (sprite, asset, scale, layerId) of the parent's 2-arg
  signature (scale, layerId). The sprite/asset were never used from
  the parameters — the body only mutated 'sprite'. Refactored to
  fetch the sprite via this.getSprite(layerId) inside the override
  body so the signature matches the base.
- ExtendedSprite: 'renderer.gl' / 'glRenderTarget.resolveTargetFramebuffer'
  exist only on WebGLRenderer / GlRenderTarget (not the WebGPU
  variants). The runtime check 'renderer.type === RendererType.WEBGL'
  guarantees this; cast at the boundary to satisfy the typechecker.
- TextureUtils.generateImage: Pixi v8's Extractor.image() returns the
  union ImageLike (HTMLCanvasElement | HTMLImageElement); the public
  signature promises HTMLImageElement. Cast at return — the Pixi
  default backend returns HTMLImageElement here.
2026-05-11 21:09:59 +02:00
simoleo89 ddb7222b66 chore: bump TypeScript pins to ^6.0.3 across all 12 workspaces + thumbmarkjs 1.9 + add CLAUDE.md
Each workspace package was still pinning `typescript: ~5.5.x` or
`~5.8.2` in its own devDependencies even though the root bumped to 6.0.3
in 60b1143. The pins were dead (yarn 1 hoists from root) but they're
misleading when reading a single package.json. Bring them all to
`^6.0.3` to match the root.

Other:
- @thumbmarkjs/thumbmarkjs 1.8.1 → 1.9.0 (root + communication package)
- yarn.lock regenerated from a clean install (vitest 4 hoisting was
  flaking on the patch vite bump; reverted vite to ^8.0.10)

Adds CLAUDE.md at the repo root: short project context for future
sessions — stack, the 12-workspace layout, the React-friendly v2.1.0
additions (`subscribe()`, `subscribeMessage()`, snapshot getters), build
scripts, and known gotchas (`SessionDataManager.getUserData` does NOT
exist; sendChat* expects 3 args; dispatchEvent is sync).
2026-05-10 21:29:50 +02:00
Lorenzune f7fc502685 Improve mobile room interaction handling 2026-05-07 21:21:48 +02:00
Lorenzune 5fc4564467 Merge remote-tracking branch 'duckie/main' into merge-duckie-main-2026-05-06
# Conflicts:
#	packages/communication/src/messages/parser/room/unit/RoomUnitInfoParser.ts
#	packages/communication/src/messages/parser/user/data/UserProfileParser.ts
#	packages/events/src/session/RoomSessionUserFigureUpdateEvent.ts
#	packages/session/src/handler/RoomUsersHandler.ts
2026-05-06 04:23:13 +02:00
duckietm 151a3db2f4 🆙 Fix BlackHoles 2026-05-04 12:53:18 +02:00
duckietm 6ab93ee146 🆙 Fixed the Door not visable when window is on wall 2026-05-04 12:01:45 +02:00
duckietm 43dc054fed 🆙 Floorplan fix 2026-04-30 07:57:31 +02:00
duckietm 853204a5b8 🆕 Effect selection in user dropdown 2026-04-29 13:23:30 +02:00
Lorenzune 9abec36f02 Merge remote-tracking branch 'duckie/main' into duckie-live-merge-2026-04-21 2026-04-25 13:34:15 +02:00
duckietm e1cc87afa3 🆙 Fix background clipping 2026-04-24 13:55:18 +02:00
Lorenzune 7fa8eff751 Merge latest duckie renderer main 2026-04-21 11:53:28 +02:00
Lorenzune 1dede2c098 Merge remote-tracking branch 'duckie-temp/main' into duckie-merge-2026-04-21
# Conflicts:
#	packages/communication/src/NitroMessages.ts
#	packages/communication/src/messages/incoming/IncomingHeader.ts
#	packages/communication/src/messages/outgoing/OutgoingHeader.ts
2026-04-21 11:20:02 +02:00
Lorenzune 7bf552824f Sync renderer safety push 2026-04-21 08:57:35 +02:00
duckietm bbedf2e5fe 🆙 Merge Dev to Prod 2026-04-14 11:57:23 +02:00
duckietm 79d51246ec 🆙 Added username to send badge 2026-04-08 14:08:00 +02:00
Lorenzune 5b69407ecb Merge remote-tracking branch 'origin/main' into merge/duckietm-main-20260407 2026-04-07 15:27:01 +02:00
Lorenzune aacdfe3eae feat/wired-improvements-apr04 2026-04-04 15:58:57 +02:00
DuckieTM dd30606a73 🆙 Redone the userwalk flood detection 2026-04-04 08:47:52 +02:00
Lorenzune 3718e7cf3d feat: tag stack walk helpers for widget support 2026-04-03 13:00:05 +02:00
Lorenzune 24f1d1278a feat: add room control rendering support 2026-04-03 12:09:16 +02:00
Lorenzune ba52f538de Merge remote-tracking branch 'origin/main' 2026-04-03 12:04:39 +02:00
duckietm 5b3c4ad090 🆙 Small updates 2026-04-03 11:43:58 +02:00
duckietm d63be7dd62 🆙 more optimization mem. 2026-04-03 10:48:13 +02:00
Lorenzune cdc53833ed Merge remote-tracking branch 'origin/main' into feature/checkpoint-20260403 2026-04-03 05:25:28 +02:00
Lorenzune c75f1b1258 chore: checkpoint current work 2026-04-03 05:22:24 +02:00
duckietm fd74fd323b 🆙 Some minor mem tweaks 2026-03-31 16:03:21 +02:00
duckietm 44cb722f54 📝 Fixed some memory problems
RenderTexture leak in IsometricImageFurniVisualization, every direction change or thumbnail update leaked a GPU RenderTexture.
Image object leak in FurnitureDynamicThumbnailVisualization, now clears callbacks and src after use.
Image object leak in FurnitureBadgeDisplayVisualization, image objects never cleaned up
2026-03-31 15:20:28 +02:00
duckietm 2138d3a820 🆙 fix some metrics 2026-03-31 14:54:42 +02:00
duckietm 8f1436a81c 🆙 Fix Youtube TV's 2026-03-31 11:41:42 +02:00
Lorenzune 99c4acea38 Expose room, user and furni metadata for wired tools
- parse extra room snapshot data such as hotel time, room item limit and group context

- expose richer furni metadata including flags, dimensions and teleport targets

- expose richer user metadata including room-entry fields and ids needed by inspection tools

- keep session and room engine models aligned with the new wired monitor/inspection flow
2026-03-27 09:37:14 +01:00
Lorenzune 296df767ba Improve wired movement rendering and follow sync 2026-03-25 03:26:27 +01:00
Lorenzune 9962ec8037 Adjust room walking after wired movements 2026-03-24 02:11:54 +01:00
Lorenzune 38a79d4f80 feat: support wired movement packets and room sync 2026-03-22 16:48:51 +01:00
Lorenzune 10b3d64ee0 Merge remote-tracking branch 'origin/main'
# Conflicts:
#	packages/communication/src/NitroMessages.ts
2026-03-21 14:49:08 +01:00
Lorenzune fd61704375 fix(room): support wired click-user controls 2026-03-21 14:27:57 +01:00
DuckieTM ef42c6862d Merge pull request #7 from simoleo89/feature/floorplan-realtime-preview-v2
feat(floorplan): add real-time preview support to FloorplanEditor
2026-03-21 08:46:26 +01:00
duckietm 4e41e9db5c 🆙 Stage 2 reconnect 2026-03-20 17:10:56 +01:00
duckietm 958693fe2e 🆙 Stage 1 reconnect 2026-03-20 16:06:03 +01:00
simoleo89 d45381716f feat(floorplan): add real-time preview support to FloorplanEditor
- Add getMapData() method to expose current floor map state
- Enables real-time preview in the UI floor plan editor
2026-03-20 14:19:35 +01:00
duckietm 5aef7a3de2 🆕 Disconnection handler, when you got disconnected you automatic go back to the room 2026-03-19 15:04:47 +01:00
DuckieTM eee289e8f2 Merge pull request #5 from simoleo89/feature/floorplan-realtime-preview
Add real-time preview support to FloorplanEditor
2026-03-19 09:53:18 +01:00
simoleo89 31de6daac5 Add real-time preview support to FloorplanEditor
Add onTilemapChange callback that fires after every renderTiles() call,
enabling the UI layer to react to tilemap mutations in real-time.

Co-Authored-By: medievalshell <medievalshell@users.noreply.github.com>
2026-03-18 21:03:44 +01:00
Lorenzune 00743a3865 feat(room): add single-click user packet for wired trigger
- add ClickUserMessageComposer and outgoing header wiring\n- send the user click packet from RoomObjectEventHandler for avatar single clicks\n- support wf_trg_click_user in the linked Nitro UI/emulator flow
2026-03-18 17:38:56 +01:00
Lorenzune a0bece2d4a Merge branch 'duckietm:main' into main 2026-03-18 17:20:08 +01:00
duckietm 1162ff84cc 🆙 Camera Security fix / small fix for beds
- Validate data URL format (must start with data:image/png)
- Validate PNG magic bytes on binary data before sending
- Enforce 2MB size limit matching server
- Add try/catch around atob() to handle invalid base64 gracefully
- Fix XSS vulnerability in editor download: replace unsafe window.open()+document.write()
  with safe anchor-based download that also validates data URL scheme
2026-03-18 09:21:36 +01:00
Lorenzune 6399be14b0 feat(room): add single-click user packet for wired trigger
- add ClickUserMessageComposer and outgoing header wiring\n- send the user click packet from RoomObjectEventHandler for avatar single clicks\n- support wf_trg_click_user in the linked Nitro UI/emulator flow
2026-03-17 01:34:51 +01:00
DuckieTM 19857075c0 🆙 Lets make the beds even greater 2026-03-15 15:31:20 +01:00
duckietm 4fac511a09 🆕 Rollers can now go up and down the mountains ! 🗻 2026-03-13 20:52:55 +01:00
duckietm 37bdcf7ef8 🆙 Fix floorplanner 2026-03-11 13:38:50 +01:00
duckietm ec0aef3c41 🆙 Update for the wf_slc_users_neighborhood 2026-03-10 15:40:24 +01:00