47 Commits
Author SHA1 Message Date
Lilia_Chen 7c45aa86bc feat(stage-godot): rim light (#2032)
## Description

Adds the Godot Stage rim light pipeline and development observation
tooling.

- Replaces the old avatar glow-only compositor path with a staged
post-process compositor.
- Adds avatar-scoped edge light, glow, material overlay, and final
colour mapping stages.
- Implements a dev observation adapter for exporting
viewport/render-stage artefacts.
- Adds visual verification tooling and baseline docs for Godot Stage
rendering work.
- Documents the technical art workflow and rendering effect behaviour.
2026-07-07 05:21:15 +08:00
Lilia_Chen 5b0568bbb4 feat(stage-tamagotchi-godot): avatar glow NPR effect (#1951)
## Summary

This PR adds the current Stage Godot avatar presentation path:
avatar-only same-frame glow plus tuned toon color mapping.

<img width="994" height="951" alt="屏幕截图 2026-06-02 015159"
src="https://github.com/user-attachments/assets/feb94b95-745f-4b47-aba2-0289dafecd1c"
/>

<img width="1769" height="1279" alt="屏幕截图 2026-06-02 021212"
src="https://github.com/user-attachments/assets/d4437dc2-e859-42ca-b3fd-0a90e55d641b"
/>

## Design

The implementation uses three layers:

1. Base avatar material rendering still comes from the vendored V-Sekai
MToon shader.
2. `StageAvatarGlowRuntime` marks visible avatar meshes through a
depth-tested `MaterialOverlay` stencil pass.
3. `StageAvatarGlowCompositorEffect` reads that stencil mask in the same
frame, extracts avatar pixels, builds the glow pyramid, composites
glare, and applies the current NAES/toon color mapping.

This avoids Godot Environment Glow because that path is global. Here,
source selection needs to be avatar-specific and controlled by the stage
runtime.

It also avoids an extra SubViewport path because prior testing showed
camera-motion lag. The compositor path keeps the effect in the same
render frame.

## Stage Baseline

`StageVisualPreset` now keeps the stage environment neutral for this
effect:

- skybox is visible as background only
- skybox does not drive avatar/ground ambient light
- reflected light is disabled
- Godot Environment Glow is disabled
- Godot tonemap/adjustment stay neutral
- custom color mapping runs in the compositor

## Notes

`StageAvatarGlowCompositorEffect` currently owns both avatar glow and
toon color mapping. That is acceptable for this PR because it is the
only custom stage compositor today.

Before adding rim light, screen-space outlines, or more post effects,
compositor ownership should be split from individual features so effects
can register passes instead of replacing `Camera3D.Compositor`
independently.
2026-06-06 08:20:32 +08:00
Lilia_Chenandautofix-ci[bot] cb5c0783e7 feat(stage-tamagotchi-godot): G1.3 default visual baseline (#1904)
## Summary

Add the G1.3 default visual baseline for `stage-tamagotchi-godot`.

This moves the Godot stage from a model-loading/runtime skeleton toward
a default presentation stage: fixed sky environment, visual grid ground,
centre marker, fixed lighting rig, camera ground constraint, and focused
material/rendering verification.

## Changes

- Add a fixed runtime visual preset for the Godot stage
  - WorldEnvironment with the existing stage-ui-three HDRI skybox
  - visual-only grid ground at world `Y=0`
  - centre `T` marker at the world origin
  - fixed directional light rig replacing the old single `OmniLight3D`

- Reuse the existing three-stage HDRI asset
- resolve
`packages/stage-ui-three/src/components/Environment/assets/sky_linekotsi_23_HDRI.hdr`
from a workspace checkout
  - do not copy or move the asset into Godot `assets/`
  - keep release packaging for the shared HDRI as a follow-up

- Add camera ground constraint in view-state rules
  - clamp camera position `Y` during view-state normalisation / commit
- applies uniformly to local input, settings-driven patches, and future
remote/agent patches

- Patch vendored Godot MToon shader behaviour
  - disable implicit WorldEnvironment ambient light for MToon materials
- use Godot alpha scissor / alpha-to-coverage path for cutout MToon
variants
- document the local vendor patch and removal conditions in
`docs/vendor-patches.md`

- Improve Godot rendering defaults
  - enable 3D MSAA
  - render 3D at 2x scale to avoid low-DPI/viewport scaling aliasing

- Add verification harnesses
- C# engine-local checks for camera ground constraint and HDRI asset
resolution
- Godot material rendering check scene for AvatarSample A/B material
import coverage

- Clean stage root presentation
  - remove the old on-screen runtime status label
  - keep Electron bridge and scene/view runtime wiring intact

## Notes

The HDRI path resolution is intentionally workspace-only in this PR.
Release packaging for sharing the three-stage HDRI with the exported
Godot sidecar remains a follow-up.

The MToon shader changes are deliberate vendor patches, recorded in
`docs/vendor-patches.md`, because `ambient_light_disabled`,
`alpha_to_coverage`, and alpha scissor behaviour are shader-level
changes rather than runtime material parameters.

The material rendering check validates imported material structure, not
visual golden output.

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-05-30 22:42:26 +08:00
Lilia_Chenandautofix-ci[bot] 484fb1f767 fix(stage-ui-three): OrbitControl initialisation (#1877)
## Summary

- Fix the first Live2D -> VRM switch camera regression where
OrbitControls could clamp the camera into the model.
- Remove the VRM render scale control from the model settings panel.
- Remove the now-unused `settings.vrm.render-scale` locale entries.
- Ignore Godot/.NET `bin/` and `obj/` build artifacts under
`engines/stage-tamagotchi-godot`.

## Root Cause

On the first VRM load, `OrbitControls` can mount before the VRM
bootstrap writes a real `modelSize`. The previous watcher copied
`modelSize.z = 0` into `minDistance` and `maxDistance`, so later camera
updates were clamped onto the target before the bootstrap camera pose
finished applying.

## Changes

- Skip OrbitControls distance-bound updates until `modelSize.z` is
finite and non-zero.
- Keep the render scale runtime state intact, but remove the VRM
settings UI entry so it is no longer hot-updated from the panel.
- Add Godot project ignores for local .NET build output.

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-05-27 08:35:43 +08:00
Lilia_Chenandautofix-ci[bot] ecf234c246 feat(stage-tamagotchi-godot): camera control (#1855)
## Summary

This PR adds the first usable camera and view-state loop for the
experimental Godot stage.

The main design direction is that Godot owns the stage view state, while
Electron and the settings page act as lifecycle/transport/control
surfaces. The settings UI can now edit Godot camera state, and camera
changes from the Godot window can flow back to the UI.

## What Changed

- Added the shared Godot view-state contract for camera pose, avatar
bounds, snapshots, patches, and errors.
- Added Electron main bridge APIs for Godot status, scene input, view
snapshots, and view patches.
- Added Godot-side camera runtime:
  - initial camera bootstrap from loaded avatar bounds
  - avatar facing normalisation
  - orbit, pan, wheel movement, and WASD-style camera movement
  - idle persistence for camera position, yaw, pitch, and FOV
- Added settings-page Godot camera controls with coalesced updates,
restart-safe session handling, and stale request protection.
- Kept scene input simple: Electron does not cache the selected model
for replay. Each Godot start receives the current model selection from
the renderer.

## File Guide

Shared contracts:

- `packages/stage-shared/src/godot-stage/view-state.ts` defines the
Godot view-state contract and schema validation.
- `packages/stage-shared/src/godot-stage/index.ts` exports the Godot
shared contract surface.
- `packages/stage-shared/package.json` exposes the new shared entry.

Electron / renderer bridge:

- `apps/stage-tamagotchi/src/shared/eventa/index.ts` adds the Eventa
contracts for Godot status, scene input, view snapshot, patch, and error
events.
- `apps/stage-tamagotchi/src/main/services/airi/godot-stage/index.ts`
owns the Godot sidecar lifecycle, local WebSocket bridge, scene input
forwarding, and view-state forwarding.

Settings page:

- `apps/stage-tamagotchi/src/renderer/pages/settings/models/index.vue`
wires the settings page to Godot status, scene input, snapshots, and
patches.
-
`apps/stage-tamagotchi/src/renderer/pages/settings/models/godot-view-patch-queue.ts`
coalesces high-frequency camera edits before sending them to Godot.
-
`apps/stage-tamagotchi/src/renderer/pages/settings/models/godot-view-session.ts`
tracks renderer-local Godot session epochs so stale async results are
ignored.

Shared settings UI:

-
`packages/stage-ui/src/components/scenarios/settings/model-settings/godot.vue`
renders the Godot camera controls.
-
`packages/stage-ui/src/components/scenarios/settings/model-settings/panel.vue`
routes the model settings panel between Live2D, VRM, and Godot settings.
-
`packages/stage-ui/src/components/scenarios/settings/model-settings/runtime.ts`
resolves model-settings runtime display state and Godot camera control
range.
- `packages/stage-ui/src/components/data-pane/property-number.vue`
updates number control behavior so config changes such as min/max/range
are reflected correctly.

Godot runtime:

- `engines/stage-tamagotchi-godot/scripts/StageRoot.cs` wires scene
loading, view runtime, and transport together.
- `engines/stage-tamagotchi-godot/scripts/scene/StageSceneController.cs`
loads VRM avatars and normalizes avatar facing direction.
- `engines/stage-tamagotchi-godot/scripts/view/StageViewRuntime.cs` owns
Godot view-state updates, snapshots, patch application, and idle
persistence.
-
`engines/stage-tamagotchi-godot/scripts/view/StageCameraPoseController.cs`
computes avatar bounds, bootstraps the camera, applies camera pose, and
handles camera movement math.
-
`engines/stage-tamagotchi-godot/scripts/view/StageCameraInputController.cs`
maps mouse and keyboard input into camera operations.
- `engines/stage-tamagotchi-godot/scripts/view/StageViewStateRules.cs`
centralizes view-state defaults and validation rules.
- `engines/stage-tamagotchi-godot/scripts/view/StageViewStateStore.cs`
persists and loads Godot camera view state.
- `engines/stage-tamagotchi-godot/scripts/transport/StageViewJson.cs`
parses and serializes view-state transport payloads.
-
`engines/stage-tamagotchi-godot/scripts/transport/StageViewPayloads.cs`
defines the C# payload records used by the transport layer.

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-05-21 03:32:59 +08:00
Lilia_Chenandautofix-ci[bot] bc7dda3d5f feat(stage-tamagotchi): add experimental Godot stage sidecar (#1830)
## Summary

Adds the experimental Godot stage sidecar path for `stage-tamagotchi`.

This PR wires the existing Tamagotchi model selection flow into an
external Godot runtime window. The renderer gates Godot scene input to
VRM models, Electron main materialises the selected model bytes to a
local file, and the Godot sidecar receives the native path over a local
WebSocket bridge before importing and displaying the avatar at runtime.

## What Changed

- Added a typed Godot scene input contract with `format: "vrm"`.
- Added renderer-side VRM-only gating before sending selected model data
to Electron main.
- Added Electron main sidecar management for:
  - launching Godot
  - starting the local WebSocket bridge
  - materialising selected VRM bytes under app `userData`
  - forwarding scene apply messages to Godot
  - optional remote debugging support
- Added Godot runtime scripts for:
  - sidecar startup and WebSocket orchestration
  - message envelope parsing
  - avatar import and atomic replacement
  - runtime VRM import through Godot `GLTFDocument`
- Added engine-local docs for runtime import, live debugging, vendor
patches, and current VRM support boundaries.
- Removed temporary tests after using them to verify the glue behaviour
locally, to keep the review surface smaller.

## Vendor Code Note

A large part of this PR is vendored Godot add-on code, not AIRI business
logic.

The bulk of the added files under:

- `engines/stage-tamagotchi-godot/addons/vrm/**`
- `engines/stage-tamagotchi-godot/addons/Godot-MToon-Shader/**`

comes from V-Sekai Godot VRM / MToon add-ons. These files are required
because Godot plugins are project-local source/assets rather than
package-manager dependencies.

The intended review scope for vendor code is limited to:

- source baseline metadata
- license/plugin config
- Godot-generated metadata notes
- the documented local patch in `addons/vrm/vrm_extension.gd`

The application/runtime code to review is mainly under:

- `apps/stage-tamagotchi/src/shared/eventa/index.ts`
- `apps/stage-tamagotchi/src/renderer/pages/settings/models/`
- `apps/stage-tamagotchi/src/main/services/airi/godot-stage/`
- `engines/stage-tamagotchi-godot/scripts/`

## Current Boundary

This is still an experimental G1 Godot sidecar path.

The runtime scene input contract accepts `.vrm` files only. The current
Godot runtime importer covers the VRM 0.x path used by the local fixture
through AIRI’s runtime bridge over the vendored VRM extension. VRM 1.0
editor import support exists in the vendored add-on, but the sidecar
runtime importer does not yet register the full `VRMC_*` extension set,
so this PR does not claim full VRM 1.0 runtime support.

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-05-15 14:37:32 +08:00
Lilia_Chenandautofix-ci[bot] c6c0494998 feat(stage-tamagotchi-godot): add Godot stage G0 sidecar preview (#1724)
## Summary

Add the G0 Godot Stage sidecar preview for `stage-tamagotchi`.

## Design

- Keep Electron as the desktop host and run Godot as a separate sidecar
window by design.
- Use the settings window as the entry point for starting/stopping the
experimental Godot Stage.
- Require explicit `GODOT4` in development mode instead of
auto-discovering local Godot installs.
- Use the packaged sidecar under `process.resourcesPath/godot-stage` in
the packaged runtime.
- Close the Godot WebSocket lifecycle channel on startup failure and
stage shutdown.

## Changes

- Add the Electron main-side Godot Stage lifecycle service.
- Add renderer/settings wiring for switching to the experimental Godot
Stage.
- Add the minimal Godot stage runtime skeleton and WebSocket handshake
path.
- Add Godot export presets for sidecar builds.
- Add sidecar path verification for the Godot export preset and
`electron-builder` resource contract.
- Document the development runtime setup and packaging expectations.

## CI/CD

- Align Godot CI to `4.6.2`.
- Add Linux Godot export smoke coverage as the fastest CI export path.
- Add sidecar contract verification to CI.
- Run packaged sidecar verification after `electron-builder --dir`.

CD is intentionally deferred in this PR. The release workflow still
needs a later step to export the Godot sidecar before packaging release
artefacts.

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-04-25 00:56:03 +08:00
Lilia_Chen 6a61248cd4 refactor(stage-tamagotchi-godot): move to engines dir (#1715) 2026-04-23 19:30:53 +08:00
567fd6666e feat(stage-tamagotchi-godot): initiation of Godot stage (#1697)
## Description

This PR introduces `@proj-airi/stage-tamagotchi-godot` as the initial
Godot C# workspace package for the desktop-only `stage-tamagotchi` stage
runtime track.

The current scope is intentionally limited to G0 bootstrap work:
- add the Godot/.NET project files and workspace wrapper files
- establish the package boundary for the Godot-backed desktop stage
runtime
- add a minimal runnable scene and script so the Godot project can be
opened, built, and executed inside the repo

Concretely, this PR adds:
- the new `packages/stage-tamagotchi-godot` package
- Godot project files (`project.godot`, `.csproj`, `.sln`, editor/config
files)
- a minimal `stage-root` scene and `StageRoot.cs` script
- basic visible scene contents for runtime validation (`Camera3D`,
`OmniLight3D`, `Box`)
- a package README describing scope and ownership boundaries
- minimal package scripts for build/typecheck via `dotnet build`

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: LemonNeko <self@lemonneko.moe>
Co-authored-by: Garfield Lee <Garfield550@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Neko <neko@ayaka.moe>
2026-04-23 01:04:01 +08:00
Lilia-Chen 631a6ba65f fix: decouple vrm loading reason and ThreeScene phase transition reason 2026-04-02 00:11:38 +01:00
Lilia_Chen 522e48b063 fix(stage-ui-three): model offset and camera position setting is now persistent in stage-web app (#1543) 2026-04-02 07:04:03 +08:00
Lilia_Chenandautofix-ci[bot] d9ba2ab40e refactor(stage-ui-three): improved outline logic (#1536)
* refactor(stage-ui-three): improved outline logic

* [autofix.ci] apply automated fixes

* fix(stage-ui-three): restored runtime hooks being exposed

* some type fix

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-04-01 07:48:00 +08:00
Lilia-Chen 718e91a833 refactor(stage-ui-three): add hooks in VRM loading workflow 2026-03-31 00:24:13 +01:00
Lilia-Chen 1037614a89 fix(stage-ui-three): removed duplicated IBL inject 2026-03-26 14:23:55 +00:00
Lilia_Chen 088ce34a2a fix(stage-ui-three): cutout bug fix (#1471)
* fix(stage-ui-three): cutout bug fix

* fix(stage-ui-three): gemini review comment

* fix(stage-ui-three): codex review comment
2026-03-25 08:49:21 +08:00
Lilia_Chenandautofix-ci[bot] 9ae795a831 refactor(tamagotchi/stage-*): remove duplicated scene in the setting page for tamagotchi (#1460)
* refactor(tamagotchi): remove setting window duplicate scene

* refactor(tamagotchi): some changes

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-24 03:46:52 +08:00
Lilia_ChenandGarfield Lee cf3e6a43bd chore(docs): new DevLog for VRM & three.js refactor (#1368)
---------

Co-authored-by-agent: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Garfield Lee <Garfield550@users.noreply.github.com>
2026-03-16 02:11:52 +08:00
dec2b04924 refactor: vrm performance tracing and better lifecycle management (#1194)
* refactor: vrm performance tracing and better lifecycle management

* Apply suggestion from @Lilia-Chen

* Apply suggestion from @Lilia-Chen

* Apply suggestion from @Lilia-Chen

* Apply suggestion from @Lilia-Chen

* Rename lag-visualizer.vue to performance-visualizer.vue

* Apply suggestion from @Lilia-Chen

* Apply suggestion from @Lilia-Chen

* Apply suggestion from @Lilia-Chen

* Apply suggestion from @sumimakito

Co-authored-by: Makito <i@maki.to>

* Apply suggestion from @sumimakito

Co-authored-by: Makito <i@maki.to>

* Apply suggestion from @sumimakito

Co-authored-by: Makito <i@maki.to>

* Apply suggestion from @Lilia-Chen

* Apply suggestion from @Lilia-Chen

* [autofix.ci] apply automated fixes

* Apply suggestion from @Lilia-Chen

* [autofix.ci] apply automated fixes

* Apply suggestion from @Lilia-Chen

* Apply suggestion from @Lilia-Chen

* Apply suggestion from @Lilia-Chen

* Apply suggestion from @Lilia-Chen

* Apply suggestion from @Lilia-Chen

* Apply suggestion from @Lilia-Chen

* Apply suggestion from @Lilia-Chen

* Apply suggestion from @Lilia-Chen

* Apply suggestion from @Lilia-Chen

* Apply suggestion from @Lilia-Chen

* Apply suggestion from @Lilia-Chen

* Apply suggestion from @Lilia-Chen

* Apply suggestion from @Lilia-Chen

* [autofix.ci] apply automated fixes

* Apply suggestion from @Lilia-Chen

* Apply suggestion from @Lilia-Chen

* [autofix.ci] apply automated fixes

* Apply suggestion from @Lilia-Chen

* Apply suggestion from @Lilia-Chen

* Apply suggestion from @Lilia-Chen

* fix: some tiny bugs and model URL lifecycle

* fix: TresCanvas size=0 bug

* Delete .claude/settings.json

* fix: some clean-up

* [autofix.ci] apply automated fixes

* fix: use screen to wrap up TresCanvas

* Delete .claude/settings.json

---------

Co-authored-by: Makito <i@maki.to>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Neko <neko@ayaka.moe>
2026-03-12 09:20:20 +08:00
Lilia_Chenandautofix-ci[bot] 0093803920 feat(stage-ui-*): ACT special tokens for future motion gen (#974)
* feat(stage-ui*):ACT special tokens

* test(stage-ui): llm-marker-parser test updates for ACT tokens

* [autofix.ci] apply automated fixes

* style(stage-ui): apply gemini code review notes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-01-20 09:32:47 +08:00
Lilia-Chen 8787db198a release: v0.8.1-beta.13 2026-01-19 19:51:29 +00:00
Lilia_Chenandautofix-ci[bot] 372f356964 fix(stage-ui-three): lipsync update() (#971)
* bug-fix: lipsync update

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-01-18 20:55:43 +08:00
Lilia_ChenandMakito ecd5eee155 feat(model-driver-mediapipe): integrate MediaPipe as a motion capture tool (#828)
---------

Co-authored-by: Makito <i@maki.to>
2025-12-30 12:11:08 +08:00
Lilia_Chen c74f335253 feat(stage-ui-three-performance-runtime): init new experimental three performance runtime design (#809) 2025-12-17 10:50:06 +08:00
Lilia_Chenandautofix-ci[bot] c19ead966a fix(stage-ui): fixed the system prompt initialisation bug (#796)
* bug-fix(stage-ui): fixed the system prompt not successfully initialised bug

* bug-fix(stage-ui): if it's already initialised, then nothing needs to do in onMounted()

* [autofix.ci] apply automated fixes

* bug-fix(stage-ui): removed onMounted() logic, which is unnecessary

* fix: removed a blank vue playground page in the dev-tool. This should be left for the next PR maybe...

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-12-15 21:53:29 +00:00
c13ada508f feat(stage-ui): Synchronised Emotion Expression and Delay Animation to the TTS AIRI Speaking (#741)
* feat(stage-ui): Synchronised emotion expression and delay animation with the tts speaking

* [autofix.ci] apply automated fixes

* Update packages/stage-ui/src/utils/tts.ts

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* feat(stage-ui): Synchronised emotion expression and delay animation with the tts speaking - code review

* feat(stage-ui): Synchronised emotion expression and delay animation with the tts speaking - code review

* feat(stage-ui): Synchronised emotion expression and delay animation with the tts speaking - code review

* feat(stage-ui): Synchronised emotion expression and delay animation with the tts speaking - code review

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2025-11-16 19:52:44 +00:00
Lilia_Chenandautofix-ci[bot] 02cbbf40ee feat(stage-ui-three): Enhanced Lip Sync Animation (#740)
* feature: enhanced lip sync animation

* [autofix.ci] apply automated fixes

* feature: enhanced lip sync animation - code review

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-11-14 23:49:30 +00:00
Lilia_Chenandgemini-code-assist[bot] 94f4959a99 fix(stage-ui-three): fix the issue VRM model goes too far #642 (#662)
* bug-fix model goes too far

* bug-fix model goes too far gemini-review

* Update packages/stage-ui-three/src/composables/vrm/core.ts

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* bug-fix model goes too far gemini-review

---------

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2025-10-17 21:03:21 +01:00
Lilia_Chen 5459741276 refactor(stage-ui,renderer-three) - three-scene package (#569) 2025-09-25 21:59:29 +08:00
Lilia_Chen 08d579df4a bug fix - VRM - directional light adjustment persistance (#556) 2025-09-05 00:41:48 +01:00
Lilia_Chen d64bfa33fa fix(stage-ui/VRM) Directional light now can adjust rotation (#554)
* bug fix - VRM - directional light can now adjust rotation
2025-09-04 21:51:00 +01:00
Lilia_Chen 6b556019e2 fix&refactor(stage-ui): Shader injection now can correctly deal with MToon material and ShaderMaterial (#542)
* shader fix & refactor
2025-09-02 00:25:54 +01:00
Lilia_Chen d780691043 feat(stage-ui/VRM) Better skybox IBL: irrSH diffusion & Specular reflection (#504)
* better skybox IBL: irrSH diffusion & Specular
2025-08-28 13:11:41 +01:00
Lilia_ChenandNeko f6d6349528 feat(stage-ui): NPR skybox environmental lighting functionality added (#457)
---------

Co-authored-by: Neko <neko@ayaka.moe>
2025-08-26 12:51:02 +08:00
Lilia_Chen 92ae0c0730 feat(stage-ui): Switch between hemisphere light and sky box (#357) 2025-08-14 22:15:21 +08:00
Lilia_Chen 9fbbccc04a chore(stage-ui): queue.ts renaming, tts "..." recognition, and something relates to next and afterNext (#355) 2025-08-07 18:16:40 +08:00
Lilia_Chen d651074096 fix(stage-ui) TTS decimals are now retained, AIRI will no longer say "25" if it's "2.5" (#340) 2025-08-01 20:37:30 +08:00
Lilia_Chen 76ed0ff315 stage-web fix chat history only load the last AIRI'soutput (#334) 2025-07-30 11:06:11 +08:00
97ecbdcc9d feat(stage-ui): LookAt 3 functions: looking at camera; looking at mouse; looking forward (tracking disabled) (#326)
---------

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Neko <neko@ayaka.moe>
2025-07-27 21:32:01 +08:00
Lilia_Chen 1d486655ed feat(stage-ui): Now the VRM model can always look to the camera! (#322) 2025-07-25 19:03:50 +08:00
Lilia_Chen 0e7116c695 doc: contributing: zh-Hans: quick fix (#320) 2025-07-24 19:36:16 +08:00
Lilia_Chen 494bb3a324 fix(stage-ui): In the prod, the camera was not being set correct pos and target (#317) 2025-07-24 13:28:49 +08:00
Lilia_ChenandNeko 7f5a244fbf feat(stage-ui): animation start coordinate anchor + vrm position logic fix (#314)
---------

Co-authored-by: Neko <neko@ayaka.moe>
2025-07-24 01:07:50 +08:00
Lilia_Chen 7c62bb0908 feat(stage-ui): VRM model setting: camera psotion (view scale) (#309) 2025-07-22 12:27:27 +08:00
Lilia_ChenandNeko a8454b4a44 feat(stage-ui): VRM model setting page: FOV and Rotation (#307)
---------

Co-authored-by: Neko <neko@ayaka.moe>
2025-07-21 19:17:06 +08:00
Lilia_Chen 1a2a790ee5 feat(stage-ui): VRM model postioning functionalities (#302) 2025-07-19 22:39:32 +08:00
Lilia_ChenandNeko d2ce04b21b feat(stage-ui): Live2D vs VRM page switch botton and VRM model uploading functionality (#290)
---------

Co-authored-by: Neko <neko@ayaka.moe>
2025-07-19 01:17:41 +08:00
05e83d6ac5 i18n(docs): contribution guide (#285)
---------

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Neko <neko@ayaka.moe>
2025-07-17 17:47:06 +08:00