update
This commit is contained in:
parent
67a7477242
commit
a05c031074
7 changed files with 1781 additions and 385 deletions
88
README.md
88
README.md
|
|
@ -9,7 +9,7 @@ Open `index.html` in a modern browser. No build step or third-party dependency i
|
|||
## Current prototype scope
|
||||
|
||||
- Draw pixel assets in the in-browser editor.
|
||||
- Save assets to the local library.
|
||||
- Save assets to the local collection.
|
||||
- Place static assets and summon dynamic assets onto the island.
|
||||
- Dynamic assets default to right-facing on spawn; left-facing is rendered by mirroring during movement only.
|
||||
- Local voting, hiding, remix/copy edit, and import/export tools are included.
|
||||
|
|
@ -161,12 +161,12 @@ This build does not call a server from the browser. The island display cap is ap
|
|||
This build separates **Asset** and **PlacementObject** more explicitly.
|
||||
|
||||
- Asset: a durable library work. Remix only copies pixels and lineage into the canvas.
|
||||
- PlacementObject: a temporary island exhibition object. It can rotate out while the Asset remains in Library.
|
||||
- PlacementObject: a temporary island exhibition object. It can rotate out while the Asset remains in Collection.
|
||||
- Edit has been removed. To revise a work, remix/copy it, save a new Asset, then delete the old one if desired.
|
||||
- Publishing requires a prototype local account. The first 24 hours allow 5 public placements/hour; day 2+ allows 10/hour.
|
||||
- The island exhibition has 250 visible slots: 150 newest slots and 100 random revival slots.
|
||||
- Upvote rank effect is capped at +50 votes.
|
||||
- Capacity rotation and extreme downvote rotation use the same user-facing explanation: the island exhibition is full, but the work remains in Library.
|
||||
- Capacity rotation and extreme downvote rotation use the same user-facing explanation: the island exhibition is full, but the work remains in Collection.
|
||||
- Server moderation can mark `permanent_hidden` / `violation_hidden`; these are hidden from authors and viewers. Admins can restore them with the Python worker.
|
||||
- Particles are disabled offscreen/when zoomed out and capped at 200 active particles.
|
||||
|
||||
|
|
@ -187,3 +187,85 @@ python server/compression_lab.py exported_world.json
|
|||
```
|
||||
|
||||
Use this to compare minified JSON, gzip, zlib, and Brotli when available. Production should use the compact asset codec plus HTTP gzip/Brotli rather than hand-rolled custom compression first.
|
||||
|
||||
## Phase 5 Exhibition UI polish follow-up
|
||||
- Compressed the account/name card so the top HUD uses less vertical space.
|
||||
- Removed the right-side Pan / Place / Erase HUD; placement is guided through Save + Place and Library actions.
|
||||
- Renamed the liked codex label to Favorite.
|
||||
- Removed the Advanced Draw depth Clear button; depth can still be cleared with Shift/right-click.
|
||||
- Normal Erase now removes Light / Particle / Depth metadata on the first click and removes the pixel color on the next click.
|
||||
- Light rendering and nearby glow are night-only, with subtle random flicker.
|
||||
- Remix previews hide the nearby source work while checking placement, and final placement nudges away from the remix source to avoid doubled sprites.
|
||||
- Depth edge shading now reacts to configured light positions or the current sun/moon direction; object silhouette edges are excluded.
|
||||
|
||||
## v8 polish notes
|
||||
|
||||
- `Save + Place on Island` now auto-generates a local account when needed. The generated account stores an ID, editable display name, and generated password in local storage; users are prompted to change the password.
|
||||
- `Check on Island` and `New` were removed from the finish area. Saved works enter an island placement preview with `Place here` and `Back to canvas`.
|
||||
- Editor Select now clears with right-click. The island also shows the left-click/right-click selection hint.
|
||||
- Basic draw buttons keep a stable layout even when Advanced is open; advanced tools are placed below them.
|
||||
- Draw tools now have distinct colors and compact icons.
|
||||
- Particle editing no longer paints emitter positions. Particle effects emit from the whole sprite, with palette-based color and up/down/left/right direction.
|
||||
|
||||
|
||||
## v9 interaction polish and bug fixes
|
||||
|
||||
- Removed automatic remix-source avoidance: remix children can now be placed near their source without being forced to a different tile.
|
||||
- Animated coastal foam with drift, bob, scale, and opacity pulses.
|
||||
- Removed Collection/Create buttons from the Pixel Island title bar and added a compact cute menu button for the left drawer.
|
||||
- Added a confirmation dialog before clearing the entire canvas.
|
||||
- Palette swatches now handle pointerdown directly so the first palette click is applied reliably.
|
||||
- Particle right-click no longer disables the particle effect; right-click pans/does nothing, while Shift-click can disable.
|
||||
- Added particle range controls: select an area, then press “Use Sel”; “Whole” resets emission to the whole sprite.
|
||||
- Swapped Particle and Depth button order.
|
||||
- Left/Right canvas side buttons no longer mirror the editing canvas view.
|
||||
- Fixed dynamic animal placement preview so the sprite is visible before pressing Place here.
|
||||
|
||||
### v10 interaction / lighting polish
|
||||
|
||||
- Replaced the title-side menu control with a larger bottom `DRAW` button.
|
||||
- Warmed the evening phase with orange/vermilion sky tint and warm darkness overlay.
|
||||
- Increased lamp reflection bleed radius and light radius so nearby sprites glow more softly.
|
||||
- Dynamic sprites now save a canvas marked `Left` by mirroring it into the canonical right-facing asset; runtime facing is driven by the actual movement vector.
|
||||
- Hidden particle range overlays no longer look like an undeletable blue canvas square; the range overlay is shown only while the Particle tool is active.
|
||||
- Remix actions are now displayed as a bottom sheet. Report is inside a small Menu section.
|
||||
- Added teleport-to-remix-source from the selected object sheet.
|
||||
- Object draw order now uses the rendered bottom/contact line, so lower objects consistently draw in front.
|
||||
- 8×8 sprites use their whole sprite bounding box for click selection, including transparent cells.
|
||||
- Coastal foam motion was made more visible.
|
||||
|
||||
|
||||
## v12 lighting/compression notes
|
||||
|
||||
- Night light reflections are now rendered per sprite immediately after the sprite, preserving front/back draw order.
|
||||
- Reflection tint affects both depth and non-depth pixels; depth pixels receive stronger directional response.
|
||||
- Depth no longer uses light-source response unless the night lighting system is actually active.
|
||||
- Strong compression direction for weak servers: store indexed palette pixels as bit-packed palette indices plus an alpha bitmask and RLE/LZ on top; avoid PNG/base64 as the canonical server payload.
|
||||
|
||||
## v13 compression and remix lineage changes
|
||||
|
||||
- Palette index encoding is the canonical pixel format. Each pixel stores `.` for transparent or a one-character palette code.
|
||||
- Compact export now supports `bp6`, a 6-bit packed plane format. Transparent plus the 62 palette codes fit in one 6-bit value.
|
||||
- Compact export chooses the smallest representation per pixel plane: cropped raw, cropped RLE, or cropped 6-bit packing.
|
||||
- Remix delta storage was removed again; remixes are stored as independent packed pixel planes.
|
||||
- Deleting a source asset now cascades through remix descendants. Their island placements, dynamic summons, votes, hidden flags, and moderation rows are removed together.
|
||||
- Sync events now include `asset.delete`; applying that event also cascades to remix descendants on the receiver.
|
||||
|
||||
|
||||
## v14 rollback / interaction polish
|
||||
- Removed remix delta saving and remix-source cascade deletion.
|
||||
- Particles are cell-based again, like Light and Depth: choose color + direction, then paint emitter cells.
|
||||
- Selected dynamic sprites bounce too, with a slight deterministic tilt.
|
||||
- The object speech bubble is kept above the object and away from the DRAW dock.
|
||||
- Added a compact clock in the upper-right corner.
|
||||
- Reworked daylight/moonlight shadow transitions so evening fades sun shadows out before night, moon shadows fade in during night, and pre-dawn moon shadows disappear before sunrise.
|
||||
|
||||
## v14b startup fix
|
||||
- Restored `updateSelectedLabel()` so bootstrap no longer throws `ReferenceError`.
|
||||
|
||||
|
||||
## v15 interaction polish
|
||||
- Restored object speech bubbles above the actual rendered sprite, using sprite draw coordinates instead of tile-center estimates.
|
||||
- Replaced the numeric clock with a fixed analog day-night clock using a sky-color conic gradient and no numbers.
|
||||
- Kept selected-object shadows mirrored from the ground line while the sprite jumps.
|
||||
- Smoothed sky and overlay interpolation across dawn, day, evening, and night.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue