« get me outta code hell

hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)Author
6 daysdata: concise thing(), thingList(), wikiData()(quasar) nebula
6 daysdata: make various wiki-properties fn's into compositions(quasar) nebula
6 daysdata: concise-retouch remaining toplevel property descriptors(quasar) nebula
2025-11-27data: Track, Album: concise-retouch toplevel property descriptors(quasar) nebula
notably chopped exitWithoutArtwork and contribsPresent, replaced with new hasArtwork and more exitWithoutDependency
2025-11-27composite, data: positional inputs, V(...)(quasar) nebula
basic backwards-compatible implementation, and a small amount of demo usage
2025-11-27data: CacheableObject: record dependants properly(quasar) nebula
yes
2025-11-27data: Contribution: chop withMatchingContributionPresets(quasar) nebula
2025-11-27data: Language: chop withStrings(quasar) nebula
2025-11-27data: ContentEntry: chop contentArtists(quasar) nebula
2025-11-27data: Track: chop withPropertyFromMainRelease(quasar) nebula
2025-11-27data: Contribution: chop withContributionArtist(quasar) nebula
2025-11-27data: Artwork.artistContribs: recontextualize from thing(quasar) nebula
whoops
2025-11-27data: Content: chop almost everything(quasar) nebula
2025-11-26data: various import / unused cleanup(quasar) nebula
2025-11-26data: Artwork: chop withDate(quasar) nebula
It wasn't even used to compute the date property...
2025-11-26data: constituteFrom, constituteOrContinue(quasar) nebula
2025-11-26data: Artwork: chop withAttachedArtwork & friends(quasar) nebula
2025-11-26data: Artwork: chop withArtTags, withContentWarningArtTags(quasar) nebula
2025-11-26data: Artist: chop artistTotalDuration(quasar) nebula
...and depend on resolved reverse reference lists
2025-11-26data: ArtTag: chop withAllDescendantArtTags, withAncestorArtTagBaobabTree(quasar) nebula
2025-11-26data: TrackSection: chop with{Start,Continue}CountingFrom(quasar) nebula
2025-11-26data: Album: chop withTracks, withCoverArtDate(quasar) nebula
2025-11-25data: Track: chop withPropertyFromAlbum(quasar) nebula
2025-11-25data: Track: chop exitWithoutUniqueCoverArt(quasar) nebula
2025-11-25data: Track: inline alwaysReferenceByDirectory(quasar) nebula
2025-11-25data: Track: chop withTrackNumber(quasar) nebula
one """normative""" change: we're checking availability of #index correctly now (in index mode)
2025-11-25data: Track: chop withDirectorySuffix, withSuffixDirectoryFromAlbum(quasar) nebula
2025-11-25data: Track: chop withOtherReleases(quasar) nebula
2025-11-25data: Track: chop withAllReleases(quasar) nebula
2025-11-25data: Track: chop withMainReleaseTrack(quasar) nebula
probably contains normative changes re: dropping notFoundValue behavior in properties which inherit from main release, but has no effect on good wiki data and maybe those compositions resolve the same anyway...
2025-11-25data: Track: chop withMainRelease(quasar) nebula
2025-11-25data: exitWithoutUpdateValue: validate input(quasar) nebula
2025-11-25data: Track: chop withCoverArtistContribs(quasar) nebula
2025-11-25data: Track: chop withTrackArtDate(quasar) nebula
2025-11-25data: Track: chop withDate(quasar) nebula
2025-11-25data: Track: chop withHasUniqueCoverArt(quasar) nebula
2025-11-25data: spot fixes(quasar) nebula
--precache-mode all succeeds
2025-11-25cacheable-object, data: depend on computed values; initial compat(quasar) nebula
reaches live-dev-server serve with no errors and serves homepage at all and apparently correctly no page navigation performed no full build performed aimed for preserving existing logic should be no subsequent changes to this commit (amend)
2025-11-25composite: nicer input validation error messaging(quasar) nebula
2025-11-25data: factor out getOutputName in withPropertyFrom...(quasar) nebula
2025-11-25data: ~The Forever Fieldtrip~ (no) more adventures(quasar) nebula
2025-11-25data: Artist: fix always having avatar artwork(quasar) nebula
2025-11-25data, yaml: save() -> connect(), Thing.wikiData & friends(quasar) nebula
HOLY GUACAMOLE
2025-11-25data, infra: auto-inherit yaml document specs(quasar) nebula
2025-11-25data: CacheableObject: fix hasPropertyDescriptor(quasar) nebula
can detect stuff from non-null-prototype objects now, but this is for checking the presence of (generally static-queried) descriptors, not listing
2025-11-25data: Adventure (wip!!!! wip!!!! wip!!!! wip!!!!)(quasar) nebula
2025-11-25data, infra: better CacheableObject prototype inheritence(quasar) nebula
Basically, properties (as written in source code) are only registered once EVER, instead of "also" on subclasses, which was previously the case - we were literally copying over the descriptors and then re-evaluating as though they were new. That's the goal, but to make it happen, we had to redo how default property values are initialized. Things no longer self- prepare by making a "storage" for all their cached values with null, or defaults, filled in - instead they create a new object which inherits those defaults from their prototype. This object respectively has the prototype of the superclass' prototype's defaults, and so on. A nice effect is that validating defaults against update.validate specs now happens during prototype finalization, instead of every time any instance is instantiated. We also had to do the same kind of inheritence shenanigans with the full propertyDescriptors specs themselves. The real-world performance boost for this is probably more or less zero RIGHT NOW, because Thing subclassing is used crazy sparingly (and there's still work to make it really nice). But if [[Prototype]] chains don't really take memory, then possibly this cleans up a lot of extremely similar objects where every new Thing property multiplies memory usage across all instances of that thing, regardless how few actually set a value. Maybe! Who knows what V8 really optimizes, but maybe!
2025-11-25data, infra: actually sort subclasses after superclasses(quasar) nebula
critically necessary for literally any inheritence shenanigans
2025-11-25data: link flashes, acts, and sides directly(quasar) nebula
same as 67a936adc308a5bec6c969c90d8811fcbce3009b and 4362324b40da9daa54c9c6c3a821b0cccaec71a0 (combined into one and with more save() cleanup)
2025-11-24can't commit this(quasar) nebula