it needs both. also get rid of these 10+ year deals and stuff like ohtoni and having guys being paid 10 years after they retire. if they do something similar it should count as dead cap like the NFL or something.
the nba floor is 90%. then have a soft cap like them for teams that pay over. have a hard cap way up there. teams willing to pay over the cap should still be allowed to but have the repeater tax so it gets harder for them to each year but still willing to if the team is winning.