| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 10 hours | data: break up content.js, flash.js, sorting-rule.js | (quasar) nebula | |
| 11 hours | data: split group.js | (quasar) nebula | |
| 11 hours | data: split album.js | (quasar) nebula | |
| 11 hours | data: split homepage-layout.js | (quasar) nebula | |
| 11 hours | infra: rename singleton-export thing modules | (quasar) nebula | |
| 12 hours | infra: collect things with wildcard exports | (quasar) nebula | |
| Removes checking for duplicate class names. I think that's meant to be an error in ES6 modules (i.e. because two exports would be sharing the same name), but Node.js seemingly is fine with it, so just be careful for now. | |||
| 11 days | data, content, css: basic music video implementation | (quasar) nebula | |
| 2025-11-25 | cacheable-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-25 | data: ~The Forever Fieldtrip~ (no) more adventures | (quasar) nebula | |
| 2025-11-25 | data, infra: auto-inherit yaml document specs | (quasar) nebula | |
| 2025-11-25 | data: Adventure (wip!!!! wip!!!! wip!!!! wip!!!!) | (quasar) nebula | |
| 2025-11-25 | data, 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-25 | data, infra: actually sort subclasses after superclasses | (quasar) nebula | |
| critically necessary for literally any inheritence shenanigans | |||
| 2025-05-16 | data: AdditionalName | (quasar) nebula | |
| 2025-05-16 | data: AdditionalFile | (quasar) nebula | |
| 2025-04-16 | data: LyricsEntry & co | (quasar) nebula | |
| 2025-04-16 | data: CommentaryEntry | (quasar) nebula | |
| Fully integrated, all in one commit! Wow! | |||
| 2025-04-10 | data: Artwork, constitutibleArtwork, etc | (quasar) nebula | |
| Not used in content yet. | |||
| 2025-02-22 | data: process Thing subclasses in order | (quasar) nebula | |
| 2025-02-22 | cacheable-object: don't hit superclass finalized status | (quasar) nebula | |
| Also report errors finalizing properly | |||
| 2025-02-22 | data: SortingRule, DocumentSortingRule | (quasar) nebula | |
| 2025-01-13 | cacheable-object: remove 900,000 functions | (quasar) nebula | |
| 2024-06-18 | data: transparent basic Contribution objects | (quasar) nebula | |
| 2024-05-01 | data: very roughly respect pre-existing property descriptors | (quasar) nebula | |
| This is some nonsense. Should be better integrated later on so as to support general implicit property descriptor inheritance, but this allows for Thing itself to describe properties that every Thing instance should have, at least. | |||
| 2024-05-01 | cacheable-object: define properties on symbol, allow symbol props | (quasar) nebula | |
| This commit really does two separate things: * Move the definition for `propertyDescriptors` from that string key into `Symbol.for('CacheableObject.propertyDescriptors')` * Allow and support descriptors for key-based properties, by iterating over Reflect.ownKeys() instead of Object.entries() | |||
| 2024-02-16 | sugar: move many functions into new #aggregate import | (quasar) nebula | |
| 2024-01-30 | data: tidy things folder & imports, nicer fields yaml spec | (quasar) nebula | |
| 2023-11-14 | data: expose CacheableObject directly via #cacheable-object import | (quasar) nebula | |
| 2023-10-18 | data, test: wrap property value errors with proper class & cause | (quasar) nebula | |
| 2023-09-21 | data: make composites work | (quasar) nebula | |
| 2023-09-20 | data: fix many validation errors | (quasar) nebula | |
| 2023-09-09 | infra, data: cut unneeded boilerplate from top-level compositions | (quasar) nebula | |
| 2023-09-07 | data, infra: import validators directly | (quasar) nebula | |
| 2023-09-07 | infra, data: allow exporting non-classes from things/ files | (quasar) nebula | |
| 2023-08-19 | clean up imports & miscellaneous metastructures across codebase | (quasar) nebula | |
| 2022-11-28 | divide things.js into modular files (hilariously) | (quasar) nebula | |