Commit graph

1750 commits

Author SHA1 Message Date
b03b32c538 Merge branch 'main' into feature/wardrobe-v2
# Conflicts:
#	app/models/outfit.rb
#	spec/models/outfit_spec.rb
2026-01-20 18:53:21 -08:00
04ed182cef First draft of auto-modeling
Run `rails items:auto_model`! We'll set this up on a cron if we continue to be satisfied with the results.
2026-01-20 18:37:17 -08:00
dd2f6be79f Fix HTML5 rendering differences in us vs Neopets
I pulled the source map for the Neopets renderer, and had Claude compare it to ours. It noticed the key issue responsible for a high number of unsolved rendering issues: we weren't setting up the `MotionGuidePlugin`, which I've never heard of before. Whoops!

In addition to this, we made some other minor fixes for consistency:
- Use whatever Stage object the library exports (will sometimes be StageGL)
- Resize the stage rather than the clip (shouldn't matter?)
- Send a callback to the library when done (I'm not aware of any anims that use this but some may!)

The specific item I was debugging was "Food Fight Shower", and it works now! But I also know we've had a solid handful of similar inexplicable wild rendering bugs, which I imagine this solves as well.

We might want to consider auditing our Known Glitches on SWF assets to see how many of them can be removed, now that this is resolved.
2026-01-19 11:00:59 -08:00
6aff39dfed Always show rack-mini-profiler in development 2026-01-17 22:16:33 -08:00
7430e12655 Extend rails pets:load to look up arbitrary pets & items 2026-01-04 18:38:01 -08:00
a9c9f94dde Fix PB item handling for Christmas Varwolf
It says "This item is part of a deluxe paint brush set.", with a period instead of exclamation mark.

There are also a couple cases where the paint brush item additionally has an "inspired by" credit after the first sentence. Rather than get picky about the pattern, we expand the `pb?` method to just check for the sentence as a substring, like the DB filter logic for `Item.is_pb` already does.
2026-01-04 14:22:35 -08:00
4e00f5d1af Add basic item JSON response (with trade values + counts) 2026-01-04 13:55:33 -08:00
55fa50c22a Add basic image generation route /outfits/new.png 2026-01-03 11:44:43 -08:00
f823bac717 Add alt style support to Outfit#visible_layers 2026-01-03 11:05:23 -08:00
f545510edc [WV2] Custom play/pause animations button 2026-01-03 10:44:10 -08:00
23e951edcd Add Lebron links when there is no known trade value
because the new site has useful trade info anyway!
2025-12-27 19:24:09 -08:00
aac3e5a5a9 Update Lebron links to new Stylisher site 2025-12-27 19:09:38 -08:00
cbf69e1189 [WV2] Split template into partials 2025-12-26 23:19:39 -08:00
9ea48f6e8c [WV2] Improve pose picker button styles
Make it more subtle, to create clearer hierarchy between species/color and pose
2025-12-26 23:11:22 -08:00
812e8226bb [WV2] Unify button styles 2025-12-26 23:01:40 -08:00
955aeb984e [WV2] Simplify item search layout 2025-12-26 22:43:17 -08:00
74386b45d7 [WV2] More advanced mobile layout 2025-12-26 22:32:20 -08:00
ba0612b694 [WV2] Fix controls area width on mobile 2025-12-26 22:28:24 -08:00
b36b1577b5 [WV2] Fix cursor for outfit viewer play/pause 2025-12-26 22:19:06 -08:00
fb8fb4b27e [WV2] Fix anchor positioning for pose picker popover 2025-12-26 22:15:57 -08:00
7459037c8a [WV2] Simplify item search pagination
I'll want to do it smarter than this, but for now, just getting rid of the page links altogether seems best
2025-11-26 16:58:38 -08:00
6eace54c34 [WV2] Pose picker popover 2025-11-11 18:07:06 -08:00
76496f8a6d [WV2] Pose picker first draft 2025-11-11 17:41:57 -08:00
78931ddb47 [WV2] Move to a new WardrobeController 2025-11-11 17:21:03 -08:00
ab46d90d6a [WV2] Wearing item unwears incompatible items 2025-11-03 07:50:03 +00:00
e72a0ec72f [WV2] Fix outfit viewer scaling 2025-11-03 07:50:03 +00:00
c4290980ed [WV2] Item search first draft 2025-11-03 07:50:03 +00:00
481fbce6ce [WV2] Remove "Items (N)" header 2025-11-03 06:08:12 +00:00
88797bc165 [WV2] Refactor outfit state params helper 2025-11-03 06:07:35 +00:00
079bcc8d1d [WV2] Add item removal 2025-11-03 00:44:12 +00:00
e8d768961b [WV2] Group items by zone 2025-11-03 00:07:08 +00:00
dad185150c [WV2] Add badges to items 2025-11-02 23:48:39 +00:00
f96569b2bf [WV2] Persist state in URL 2025-11-02 08:55:17 +00:00
58fabad3c2 [WV2] Filter colors, using advanced fallbacks 2025-11-02 08:46:53 +00:00
ddb89dc2fa [WV2] Fix iframe border in outfit-viewer
I think our application reset CSS usually kills this, and maybe our wardrobe v2 CSS should reset too? But seems smart to have it here for consistency.
2025-11-02 08:19:53 +00:00
14298fafa9 [WV2] Extract species-color-picker component 2025-11-02 08:19:16 +00:00
2dc5505147 [WV2] Move species color picker into outfit area 2025-11-02 08:06:27 +00:00
0651a2871c Simplify error handling in wardrobe v2 2025-11-02 07:58:30 +00:00
a00d57bcbb Fix outfit sizing in wardrobe v2 2025-11-02 07:58:11 +00:00
276cc1b5ea Wardrobe V2 initial proof-of-concept 2025-11-02 07:43:54 +00:00
77872311e6 Add support summary UI to alt styles page 2025-11-02 06:12:36 +00:00
c78c0cb237 Oops, only preload alt style manifests we actually need 2025-11-02 06:10:42 +00:00
3dca3fe05a Add logging for alt style changes
There's something fishy going on with alt style IDs perhaps being reused? I want logs to be able to potentially track this down later on…
2025-11-02 04:18:33 +00:00
3582229b47 Update NC Mall scraping for new redesign
First actual feature I'm letting Claude run! We worked the exploration of the updated API together, then it ran with the implementation.

I left this hanging for a long time.... good to finally have it updated!
2025-10-30 12:43:14 +00:00
d72d358135 Add high-level documentation
I'm starting to learn how AI agent stuff works, and a lot of what I'm finding is that rushing them into feature development sets you up for disaster, but that having strong collaboration conversations with helpful context works wonders.

So, I'm starting by creating that context: I had a little "here's the codebase" walkthrough conversation with Claude Code, and it generated these docs as output—which came out solid from the jump, with a few tweaks from me for improved nuance.

My hope is that this can serve both as an improved starting point for human collaborators _and_ if I let future Claude instances play around in here. That's a big theme of what I've found with AI tools so far: don't try to get clever, don't expect the world, just give them the same support you'd give people—and then everybody wins 🤞
2025-10-30 07:31:36 +11:00
234c866e28 Add links to ~lebron petpage 2025-06-27 17:32:16 -07:00
a4dd680445 Use improved NC trade value text in item page 2025-06-27 15:30:36 -07:00
10708de615 Migrate from Owls NC values to Lebron
Owls has retired, and a new team have taken up the mantle! Exciting!
2025-06-27 15:26:38 -07:00
0e57a76ce6 Fix NC style series sort order in search dropdown
Oops, I didn't realize that the MySQL function `SUBSTRING_INDEX` always
returns the full string if the split delimiter isn't found.

This meant that, for series names like "Regal", we read the main name as
"Regal" (correct) and the variant name as "Regal" (incorrect).

This caused sort order to be incorrect for some series, e.g.,
- Prismatic Dawn: Regal
- Prismatic Dusk: Regal
- Prismatic Mirage: Regal
- Regal

whereas the main series name is meant to be first, and *does* come first
in cases like "Festive" where the main name sorts before any of the
variant names!

In this change, we update the variant name definition to return an empty
string. That way, when there's no variant name and it's just the main
series, that one sorts to the top of the series variants.
2025-06-22 12:37:28 -07:00
14be40a292 Fix NC Mall Styling Studio import
They made a small change to the API call! Fixed now!

The other NC Mall syncing stuff to get current NC cost is broken, but
that seems like a MUCH bigger change, so I won't bother just yet.
2025-06-22 12:24:27 -07:00