74 lines
5.7 KiB
Markdown
74 lines
5.7 KiB
Markdown
# RuneWaker media batch plan
|
|
|
|
Generated by `npm run effects:rom:plan` from the current primary-five spell manifest and decoded ROS archive. It groups remaining controller and timing work. The manifest generator already attaches source direct audio events at supported phase boundaries.
|
|
|
|
The archive has 170 unique models: 74 ready, 1 partial original, 0 fully decoded but unverified, 95 blocked, and 0 failed. 125 of 129 source spell entries have at least one packaged audio cue.
|
|
|
|
## Shared controller blockers
|
|
|
|
Counts overlap when a model has several controller families. A family should be ported and verified once against representative models before its other users are considered for promotion.
|
|
|
|
| Controller family | Models | Source spell IDs using those models |
|
|
| --- | ---: | ---: |
|
|
| CRuController_EventTrigger | 148 | 124 |
|
|
| CRuController_GlobalAlpha | 47 | 49 |
|
|
| CRuEntity_Particle_Visualizer_Entity | 35 | 44 |
|
|
| CRuController_Particle_Visualizer_Entity | 34 | 43 |
|
|
| CRuController_GlobalColor | 26 | 26 |
|
|
| RuneWaker browser emitter geometry mode | 18 | 21 |
|
|
| CRuController_Decal | 17 | 17 |
|
|
| CRuController_GhostTrail | 11 | 15 |
|
|
| CRuController_Hierarchy | 11 | 12 |
|
|
| CRuController_Entity | 5 | 4 |
|
|
| RuneWaker browser sprite mode | 5 | 5 |
|
|
| CRuController_UVFX | 3 | 3 |
|
|
| CRuController_MaterialTexture | 1 | 1 |
|
|
| CRuController_PolyLine | 1 | 1 |
|
|
|
|
## Fully decoded models awaiting visual review
|
|
|
|
| Source model | Spell-phase references | Sprite layers | Blockers |
|
|
| --- | ---: | ---: | --- |
|
|
|
|
## Event-only models still blocked
|
|
|
|
These models have sprite data but include an event callback outside the validated visual-only set. Effect-spawning and projectile-flight callbacks require browser behavior before their visuals can be promoted.
|
|
|
|
| Source model | Spell-phase references | Sprite layers | Blockers |
|
|
| --- | ---: | ---: | --- |
|
|
| model/fx/skill/ice/act_cone01_c_hand.ros | 3 | 12 | CRuController_EventTrigger |
|
|
| model/fx/skill/fire/act_fireball02_t_hit_point.ros | 1 | 5 | CRuController_EventTrigger |
|
|
| model/fx/skill/holy/act_armorup_c_top.ros | 1 | 8 | CRuController_EventTrigger |
|
|
| model/fx/skill/physical/act_concentration_t_top.ros | 1 | 3 | CRuController_EventTrigger |
|
|
| model/fx/skill/physical/act_focus_c_top.ros | 1 | 4 | CRuController_EventTrigger |
|
|
| model/fx/skill/physical/act_fracture01_t_freeze_hit.ros | 1 | 6 | CRuController_EventTrigger |
|
|
|
|
There are 6 event-only models. The archive also exposes 3 model/phase audio-event candidates missing from the current packaged manifest. They need delayed timing or a later lifecycle phase; an ROS motion name alone is insufficient. Full per-model evidence is in `docs/ROM_MEDIA_BATCH_PLAN.json`.
|
|
|
|
## Largest blocker combinations
|
|
|
|
| Controller signature | Models | Source spell IDs | Example model |
|
|
| --- | ---: | ---: | --- |
|
|
| CRuController_EventTrigger + CRuController_Particle_Visualizer_Entity + CRuEntity_Particle_Visualizer_Entity | 13 | 20 | model/fx/skill/earth/act_casting_c_hand.ros |
|
|
| CRuController_EventTrigger | 9 | 11 | model/fx/skill/fire/act_fireball02_t_hit_point.ros |
|
|
| CRuController_Decal + CRuController_EventTrigger + CRuController_GlobalAlpha + CRuController_GlobalColor | 8 | 8 | model/fx/skill/earth/act_vriusinfection_t_freeze_down_e.ros |
|
|
| CRuController_EventTrigger + CRuController_GlobalAlpha | 6 | 7 | model/fx/skill/fire/act_fireball01_c_hand_i.ros |
|
|
| CRuController_EventTrigger + CRuController_GlobalAlpha + CRuController_Particle_Visualizer_Entity + CRuEntity_Particle_Visualizer_Entity | 5 | 6 | model/fx/skill/holy/act_chain_t_down.ros |
|
|
| CRuController_EventTrigger + CRuController_Particle_Visualizer_Entity + CRuEntity_Particle_Visualizer_Entity + RuneWaker browser emitter geometry mode | 5 | 5 | model/fx/skill/holy/act_moist_t_down.ros |
|
|
| CRuController_EventTrigger + RuneWaker browser emitter geometry mode | 5 | 8 | model/fx/skill/physical/act_deep_thought_c_down_e.ros |
|
|
| CRuController_Particle_Visualizer_Entity + CRuEntity_Particle_Visualizer_Entity | 4 | 10 | model/fx/skill/dark/act_dark_hand_wave_c_hand_e.ros |
|
|
| CRuController_Decal + CRuController_Entity + CRuController_EventTrigger + CRuController_GlobalAlpha + CRuController_GlobalColor | 2 | 1 | model/fx/skill/holy/act_scrifice_healing_c_freeze_down_e.ros |
|
|
| CRuController_Entity + CRuController_EventTrigger | 2 | 2 | model/fx/skill/holy/act_judgement_t_hit_point.ros |
|
|
| CRuController_EventTrigger + CRuController_GhostTrail + CRuController_GlobalAlpha | 2 | 4 | model/fx/skill/fire/act_fireball02_f.ros |
|
|
| CRuController_EventTrigger + CRuController_GhostTrail + CRuController_GlobalAlpha + CRuController_GlobalColor + CRuController_Hierarchy | 2 | 2 | model/fx/skill/physical/act_deflecting_shot_f.ros |
|
|
| CRuController_EventTrigger + CRuController_GhostTrail + CRuController_Particle_Visualizer_Entity + CRuEntity_Particle_Visualizer_Entity | 2 | 2 | model/fx/skill/ice/act_icearrow_f.ros |
|
|
| CRuController_EventTrigger + RuneWaker browser emitter geometry mode + RuneWaker browser sprite mode | 2 | 2 | model/fx/skill/physical/act_attackspeedup_c_down.ros |
|
|
| CRuController_Decal + CRuController_Entity + CRuController_GlobalAlpha + CRuController_GlobalColor + RuneWaker browser emitter geometry mode + RuneWaker browser sprite mode | 1 | 1 | model/fx/skill/physical/act_beckon_holy_c_freeze_down_e.ros |
|
|
|
|
## Batch workflow
|
|
|
|
1. Run `npm run effects:rom:batch` to refresh source links, package audio and ROS graphs, attach verified phases, and rebuild this plan.
|
|
2. Review the remaining event timing candidates and largest shared blocker families above.
|
|
3. Port one controller family in the exporter/WebGL runtime and add a parser check that every promoted graph is renderable.
|
|
4. Regenerate the manifest and media audit, replay representative graphs in the RuneWaker preview, then spot-check distinct motion and attachment patterns in live combat.
|