The snippets, ordered obscure → unmistakable
- Snippet 1(Generic reactive helper)
- Snippet 2(Composition setup)
- Snippet 3(SFC template (string))
- Snippet 4(Reactivity core)
- Snippet 5(Compiler-sfc snippet)
- Snippet 6(createApp top-level)
Why this project gives itself away
The give-away. Snippet 1's __v_isRef brand is Vue 3's reactivity internal marker. Snippet 2's ref()/computed()/watch() trio + the setup() return object is the Composition API. Snippet 3 is a single-file component template with :class shorthand, @click, and {{ }} mustaches — Vue template syntax. Snippet 4 is the RefImpl class — Vue 3's reactivity core. Snippet 5 names baseCompile + prefixIdentifiers — compiler-sfc options. Snippet 6 is the `createApp` + `app.mount` + `.directive` idiom plus the famous "progressive framework" tagline.
How a Framed puzzle is built
Every Framed project ships exactly six snippets, hand-ordered from deeply obscure to unmistakable. The first snippet must be plausible for a dozen codebases — a generic loop, a small utility, a comment that could appear anywhere. The last snippet carries a project-specific tell: a function name, a code-comment idiom, a file header, a build invocation. Between them sit four snippets that gradually narrow the field. Reading them in order is half the puzzle: a returning Framed player learns to triangulate on indentation conventions, comment voice, naming, and the small-but-distinctive choices that betray a project's era and community.