Dave
ef728331cf
feat: FLIP-style lozenge fly animation when agents are assigned to stories
...
Implements Story 74: agent lozenges now animate as fixed-position overlays
that fly from the roster badge in AgentPanel to the story slot in StagePanel
(and back when the agent is removed), satisfying all acceptance criteria.
Key changes:
- LozengeFlyContext.tsx (new): coordinates FLIP animations via React context.
LozengeFlyProvider tracks pipeline changes, hides slot lozenges during
fly-in (useLayoutEffect before paint), then creates a portal-rendered
fixed-position clone that transitions from roster → slot (or reverse).
z-index 9999 ensures the clone travels above all other UI elements.
- AgentPanel.tsx: RosterBadge registers its DOM element with the context
so fly animations know the correct start/end coordinates.
- StagePanel.tsx: AgentLozenge registers its DOMRect on every render via
useLayoutEffect (for fly-out) and reads pendingFlyIns to stay hidden
while a fly-in clone is in flight. Added align-self: flex-start so the
lozenge maintains its intrinsic width and never stretches in the panel.
- Chat.tsx: right-column panels wrapped in LozengeFlyProvider.
- LozengeFlyContext.test.tsx (new): 10 tests covering fixed width,
fly-in/fly-out clone creation, portal placement, opacity lifecycle,
and idle vs active visual distinction.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-02-23 15:04:10 +00:00
Dave
d5efbc0a53
story-kit: queue 72_bug_story_creation_does_not_quote_yaml_special_characters_in_name for QA
2026-02-23 14:44:46 +00:00
Dave
ebbaed50ac
story-kit: start 72_bug_story_creation_does_not_quote_yaml_special_characters_in_name
2026-02-23 14:42:38 +00:00
Dave
2ab9d1e57b
story-kit: start 72_bug_story_creation_does_not_quote_yaml_special_characters_in_name
2026-02-23 14:42:20 +00:00
Dave
5142584691
story-kit: start 70_story_server_owned_agent_completion_remove_report_completion_dependency
2026-02-23 14:39:11 +00:00
Dave
d6fd446ca5
story-kit: remove 72_bug_story_creation_does_not_quote_yaml_special_characters_in_name
2026-02-23 14:34:42 +00:00
Dave
37fef66fa1
story-kit: start 72_bug_story_creation_does_not_quote_yaml_special_characters_in_name
2026-02-23 14:34:01 +00:00
Dave
79b6cb4f87
story-kit: queue 72_bug_story_creation_does_not_quote_yaml_special_characters_in_name for merge
2026-02-23 14:33:46 +00:00
Dave
a649d08fbe
story-kit: create 75_story_test_story_with_colon
2026-02-23 14:28:30 +00:00
Dave
4499ba8d97
story-kit: accept 73_story_fade_out_completed_agents
2026-02-23 14:27:58 +00:00
Dave
32e1f0d342
story-kit: start 73_story_fade_out_completed_agents
2026-02-23 14:27:15 +00:00
Dave
6297d1643e
story-kit: start 72_bug_story_creation_does_not_quote_yaml_special_characters_in_name
2026-02-23 14:26:52 +00:00
Dave
1795a0853e
story-kit: start 72_bug_story_creation_does_not_quote_yaml_special_characters_in_name
2026-02-23 14:26:20 +00:00
Dave
38e564aaef
story-kit: create 72_bug_story_creation_does_not_quote_yaml_special_characters_in_name
2026-02-23 14:25:38 +00:00
Dave
334071194a
story-kit: accept 72_bug_story_creation_does_not_quote_yaml_special_characters_in_name
2026-02-23 14:24:57 +00:00
Dave
7132291507
story-kit: start 72_bug_story_creation_does_not_quote_yaml_special_characters_in_name
2026-02-23 14:24:17 +00:00
Dave
4ac6c4d114
story-kit: start 70_story_server_owned_agent_completion_remove_report_completion_dependency
2026-02-23 14:23:07 +00:00
Dave
e34dc6fb2c
story-kit: queue 73_story_fade_out_completed_agents for QA
2026-02-23 14:18:47 +00:00
Dave
df94c2fa0b
story-kit: remove 72_bug_story_creation_does_not_quote_yaml_special_characters_in_name
2026-02-23 14:15:50 +00:00
Dave
c672528294
story-kit: queue 70_story_server_owned_agent_completion_remove_report_completion_dependency for QA
2026-02-23 14:15:18 +00:00
Dave
e994a1c738
story-kit: remove 51_story_deterministic_spike_lifecycle_management
2026-02-23 14:13:12 +00:00
Dave
f7183d3271
story-kit: accept 71_bug_server_health_endpoint_missing
2026-02-23 14:12:30 +00:00
Dave
dd5fc48fb6
story-kit: merge 71_bug_server_health_endpoint_missing
2026-02-23 14:12:15 +00:00
Dave
a3183f21db
story-kit: queue 71_bug_server_health_endpoint_missing for merge
2026-02-23 14:12:02 +00:00
Dave
4edf136f38
story-kit: queue 71_bug_server_health_endpoint_missing for QA
2026-02-23 14:09:56 +00:00
Dave
2eddff6642
story-kit: remove 29_story_directory_based_workflow_coordination
2026-02-23 14:09:27 +00:00
Dave
bc2b9f860b
story-kit: create 74_story_agent_lozenges_float_across_ui_during_assignment
2026-02-23 14:07:11 +00:00
Dave
2826ff0349
story-kit: start 72_bug_story_creation_does_not_quote_yaml_special_characters_in_name
2026-02-23 14:06:30 +00:00
Dave
2ed1bd8a00
story-kit: start 71_bug_server_health_endpoint_missing
2026-02-23 14:06:28 +00:00
Dave
ce21aba1d3
story-kit: start 71_bug_server_health_endpoint_missing
2026-02-23 14:05:40 +00:00
Dave
9f6b17bafb
story-kit: start 73_story_fade_out_completed_agents
2026-02-23 14:05:06 +00:00
Dave
23caeb78c0
story-kit: create 73_story_fade_out_completed_agents
2026-02-23 14:04:53 +00:00
Dave
a6b091ece1
story-kit: create 73_story_fade_out_completed_agents
2026-02-23 14:04:52 +00:00
Dave
959090106b
story-kit: create 74_story_agent_lozenges_float_across_ui_during_assignment
2026-02-23 14:02:43 +00:00
Dave
0d7409ac89
story-kit: start 72_bug_story_creation_does_not_quote_yaml_special_characters_in_name
2026-02-23 14:01:15 +00:00
Dave
5d40d08db9
story-kit: queue 72_bug_story_creation_does_not_quote_yaml_special_characters_in_name for merge
2026-02-23 14:01:07 +00:00
Dave
0a9beb3114
story-kit: create 73_story_fade_out_completed_agents
2026-02-23 14:00:58 +00:00
Dave
5fd6cf9c95
story-kit: create 70_story_fade_out_completed_agents
2026-02-23 13:59:40 +00:00
Dave
8fba01d92f
story-kit: queue 72_bug_story_creation_does_not_quote_yaml_special_characters_in_name for QA
2026-02-23 13:58:19 +00:00
Dave
04402274fb
story-kit: start 72_bug_story_creation_does_not_quote_yaml_special_characters_in_name
2026-02-23 13:57:17 +00:00
Dave
82b02171df
story-kit: create 72_bug_story_creation_does_not_quote_yaml_special_characters_in_name
2026-02-23 13:57:11 +00:00
Dave
9379807504
story-kit: create 72_bug_story_creation_does_not_quote_yaml_special_characters_in_name
2026-02-23 13:56:58 +00:00
Dave
594f816cbf
story-kit: start 72_bug_story_creation_does_not_quote_yaml_special_characters_in_name
2026-02-23 13:54:44 +00:00
Dave
17feb44899
story-kit: create 72_bug_story_creation_does_not_quote_yaml_special_characters_in_name
2026-02-23 13:54:05 +00:00
Dave
02c8cfb3a6
story-kit: start 70_story_server_owned_agent_completion_remove_report_completion_dependency
2026-02-23 13:53:04 +00:00
Dave
c6b30d2052
story-kit: create 71_bug_server_health_endpoint_missing
2026-02-23 13:52:10 +00:00
Dave
c63baa79da
story-kit: start 70_story_server_owned_agent_completion_remove_report_completion_dependency
2026-02-23 13:51:32 +00:00
Dave
8b54dc305d
story-kit: create 70_story_server_owned_agent_completion_remove_report_completion_dependency
2026-02-23 13:49:02 +00:00
Dave
add21fd1be
story-kit: accept 69_story_test_coverage_qa_gate
2026-02-23 13:40:25 +00:00
Dave
16989a12fc
story-kit: merge 69_story_test_coverage_qa_gate
2026-02-23 13:40:12 +00:00